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

Thuật toán deblocking trong xử lý video nén theo chuẩn h 264

82 771 2

Đ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 82
Dung lượng 2,11 MB

Nội dung

Top field bao gồm các dòng có thứ tự chẵn còn Bottom field bao gồm các dòng có thứ tự lẻ trong một khung hình đầy đủ như được mô tả trong hình vẽ sau: Hình vẽ 1.1: Chuỗi video xen kẽ Vi

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

VŨ TUẤN ANH

THUẬT TOÁN DEBLOCKING TRONG XỬ LÝ

VIDEO NÉN THEO CHUẨN H.264

Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật Điện tử

Mã số: 60 52 70

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC:

TS Lê Vũ Hà

Trang 2

MỤC LỤC

Trang

BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

DANH MỤC CÁC BẢNG

MỞ ĐẦU

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ NÉN VIDEO 1

1.1 Khái niệm về video 1

1.2 Các phương pháp nén video 6

1.2.1 Giảm tốc độ dòng bit dựa trên đặc điểm của thị giác người 6

1.2.2 Nén dòng dữ liệu video số trong miền không gian 7

1.2.3 Nén dữ liệu video số theo miền thời gian 7

1.2.4 Nén hỗn hợp sử dụng tổ hợp của các phương pháp trên 7

1.3 Tham số nén video 8

CHƯƠNG 2: CHUẨN NÉN H.264 9

2.1 Giới thiệu chung về chuẩn nén H.264 9

2.2 Cơ chế nén ảnh của H.264 10

2.2.1 Bộ nén 10

2.2.2 Bộ giải nén 11

2.3 Cấu trúc của H.264 12

2.3.1 Phân chia khung hình thành các MB 13

2.3.2 Dự đoán Inter trong H.264 15

2.3.2.1 Các véc-tơ chuyển động 15

2.3.2.2 Xác định các mẫu nội suy 16

Trang 3

2.3.2.3 Ước lượng véc-tơ chuyển động và bù chuyển động 19

2.3.3 Dự đoán Intra trong H.264 22

2.3.3.1 Các mode dự đoán cho block 4x4 (đối với thành phần độ chói) 23

2.3.3.2 Các mode dự đoán Intra16x16 (đối với thành phần độ chói) 25

2.3.3.3 Các mode dự đoán Intra8x8 (đối với thành phần sắc độ) 26

2.3.3.4 Báo hiệu trong các mode dự đoán Intra 26

2.3.4 Quyết định mode dự đoán 26

2.3.5 Phép biến đổi và lượng tử hóa 30

2.3.5.1 Biến đổi và lượng tử hóa dư thừa 4x4 (các blok 0†15, 18†25) 31

2.3.5.2 Lượng tử hoá 33

2.3.5.3 ReScaling 35

CHƯƠNG 3: THUẬT TOÁN DEBLOCKING 37

3.2 Giới thiệu 37

3.2 Phân tích biên 40

3.2.1 Lỗi phân bố trong block 4x4 40

3.2.2 Tính thích ứng mức đường biên của bộ lọc 40

3.2.3 Tính thích ứng mức mẫu của bộ lọc 41

3.2.4 Lưu đồ thuật toán tính giá trị BS 44

3.3 Hoạt động của bộ lọc 44

3.3.1 Tổng quan về hoạt động lọc 44

3.3.2 Việc lọc đối với các đường biên có BS từ 1†3 45

Trang 4

4.3 Các kết quả lối ra của chương trình 57

4.3.1 Kết quả hình ảnh thu được trong quá trình phân tích khung hình đầu tiên 57 4.3.2 Kết quả hình ảnh thu được trong quá trình phân tích khung hình bất kỳ trong chuỗi video 60

4.4 Đánh giá kết quả và nhận xét 63

4.4.1 Đánh giá kết quả 63

4.4.2 Nhận xét 66

KẾT LUẬN

TÀI LIỆU THAM KHẢO

Trang 5

BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT

CABAC Context-based Adaptive Binary Arithmetic Coding CAVLC Context Adaptive Variable Length Coding

CIF Common Intermediate Format

CODEC COder/DECoder pair

BMA Block Match algorithms

BRR Bit Rate Reduction

BS Boundary strength

DCT Discrete cosine transform

GOP Group of pictures

HDTV High definition television

HVS Human visual system

IDCT Inverse Discrete Cosine Transform

JVT Joint Video Team

LSB Least significant bit

LZC Layered Zero Coding

MAE Mean Absolute Error

MC Motion compensation

MND Minimally noticeable distortion

Trang 6

RD Rate distortion

RGB Red/Green/Blue colour space

SAD Sum of Absolute Differences

SAE Sum of Absolute Errors

SAQ Successive approximation quantization

SI Switching Intra Picture

SP Switching Prediction Picture

SNR Signal-to-noise ratio

SQCIF Sub - Quarter Common Intermediate Format

UTQ Uniform threshold quantization/quantizer

VLC Variable Length Code

VO Video object

VOP Video object plane

YUV A colour space

Trang 7

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

Hình vẽ 1.1: Chuỗi video xen kẽ 1

Hình vẽ 1.2: Cấu trúc lấy mẫu 3

Hình vẽ 1.3: Cấu trúc lấy mẫu 4:2:2 3

Hình vẽ 1.4: Cấu trúc lấy mẫu 4:1:1 4

Hình vẽ 1.5: Cấu trúc lấy mẫu 4:2:0 4

Hình vẽ 1.6: Khung hình video lấy mẫu ở các độ phân giải khác nhau 5

Hình vẽ 2.1: Sơ đồ khối của bộ nén theo chuẩn H.264 11

Hình vẽ 2.2: Sơ đồ khối của bộ giải nén theo chuẩn H.264 12

Hình vẽ 2.3: Các profile trong chuẩn nén H.264 13

Hình vẽ 2.4: Phân chia MB theo các kích thước 16x16, 16x8, 8x16 và 8x8 13

Hình vẽ 2.5: Phân chia MB theo các kích thước 8x8, 4x8, 8x4 và 4x4 14

Hình vẽ 2.6: a) Sai khác giữa hai khung hình liên tiếp 15

b) Khung hình sai khác đã được bù chuyển động 15

Hình vẽ 2.7: Ví dụ về dự đoán véctơ chuyển động 16

Hình vẽ 2.8: Nội suy các vị trí giữa các điểm ảnh 17

Hình vẽ 2.9: Nội suy của các vị trí ¼ khoảng cách điểm ảnh 17

Hình vẽ 2.10: Vùng hình ảnh được nội suy của các vị trí ¼ pixel 18

Trang 8

Hình vẽ 2.14: Vị trí của block hiện tại và vị trí của các block kế cận (khác kích thước)

22

Hình vẽ 2.15: Gán nhãn các mẫu dự đoán (4x4) 23

Hình vẽ 2.16: Các mode dự đoán Intra4x4 (thành phần độ chói) 24

Hình vẽ 2.17: Ví dụ về các mode dự đoán Intra4x4 trong thực tế 24

Hình vẽ 2.18: Các mode dự đoán Intra16x16 (thành phần độ chói) 25

Hình vẽ 2.19: Ví dụ về các mode dự đoán Intra16x16 trong thực tế 25

Hình vẽ 2.20: MSE của dữ liệu dư thừa 29

Hình vẽ 2.21: Lưu đồ của thuật toán quyết định mode 30

Hình vẽ 2.22: Thứ tự truyền của các block dư thừa trong một MB 31

Hình vẽ 3.1: Deblocking với vai trò là một bộ lọc post-filter 38

Hình vẽ 3.2: Loop-filter trong chuẩn nén H.264 39

Hình vẽ 3.3: Mô tả đường biên giữa các block mang tính trực quan 42

Hình vẽ 3.4: Lưu đồ thuật toán tính giá trị BS 44

Hình vẽ 3.5: Lưu đồ thuật toán của bộ lọc Deblocking 48

Hình vẽ 3.6: Lưu đồ thuật toán của bộ lọc Deblocking (tiếp theo) 49

Hình vẽ 4.1: Giao diện chính của chương trình 51

Hình vẽ 4.2: Giao diện chính nhập thông số cho chương trình 52

Hình vẽ 4.3: Sơ đồ khối tổng quát của chương trình 53

Hình vẽ 4.4: Sơ đồ khối thực hiện chức năng Intra coding 54

Hình vẽ 4.5: Sơ đồ khối thực hiện chức năng Inter coding 55

Hình vẽ 4.6: Sơ đồ khối thực hiện chức năng Inter coding (tiếp theo) 56

Hình vẽ 4.7: Khung hình thành phần độ chói đầu tiên trong chuỗi video 57

Hình vẽ 4.8: Khung hình thành phần độ chói sau khi dự đoán Intra4x4 mode DC 58

Hình vẽ 4.9: Khung hình thành phần độ chói sau khi thực hiện DCT và lượng tử hoá 58

Trang 9

Hình vẽ 4.10: Khung hình thành phần độ chói sau khi thực hiện IDCT và lượng tử hóa

ngược 59 Hình vẽ 4.11: Khung hình thành phần độ chói sau khi khôi phục lại nhưng không sử

dụng bộ lọc 59 Hình vẽ 4.12: Khung hình thành phần độ chói sau khi khôi phục lại có sử dụng bộ lọc

60 Hình vẽ 4.13: Khung hình thành phần độ chói trong chuỗi video chưa được xử lý 60 Hình vẽ 4.14: Khung hình thành phần độ chói trong chuỗi video sau khi thực hiện dự

đoán Inter 61 Hình vẽ 4.15: Khung hình thành phần độ chói trong chuỗi video sau khi thực hiện biến

đổi DCT và lượng tử hoá 61 Hình vẽ 4.16: Khung hình thành phần độ chói trong chuỗi video sau khi thực hiện biến

đổi IDCT và lượng tử hoá ngược 62 Hình vẽ 4.17: Hình ảnh trong khung hình thành phần độ chói sau khi khôi phục lại

nhưng không sử dụng bộ lọc 62 Hình vẽ 4.18: Hình ảnh trong khung hình thành phần độ chói sau khi khôi phục lại có

sử dụng bộ lọc 63 Hình vẽ 4.19: Một khung hình thành phần độ chói đại diện cho chuỗi video

“Test1.avi” 64 Hình vẽ 4.20: Một khung hình thành phần độ chói đại diện cho chuỗi video

“Test2.avi” 65

Trang 10

DANH MỤC CÁC BẢNG

Bảng 1.1: Các định dạng khung hình video 5

Bảng 2.1: Một số giá trị tiêu biểu của Qstep 34

Bảng 2.2: Các giá trị MF tương ứng với 6 giá trị QP đầu tiên 35

Bảng 3.1: Bộ lọc deblocking đối với các chuẩn nén khác nhau 37

Bảng 3.2: Ví dụ về các giá trị mẫu trong một block 40

Bảng 3.3: Các điều kiện xác định giá trị BS 41

Bảng 3.4: Các giá trị của α và β sử dụng trong H.264 43

Bảng 3.5: Các giá trị c0 sử dụng trong H.264 47

Trang 11

MỞ ĐẦU

Ngày nay, với sự phát triển vượt bậc về công nghệ trong lĩnh vực điện tử, viễn thông và công nghệ thông tin, các tính năng cũng như các loại hình dịch vụ trong lĩnh vực này đều có xu hướng hội tụ trong một vài thiết bị nhỏ gọn Chẳng hạn, chỉ với một thiết bị cầm tay người sử dụng có thể sử dụng cũng như truy cập được rất nhiều các loại hình dịch vụ của các nhà cung cấp dịch vụ khác nhau như: đàm thoại, truy cập internet, xem truyền hình, chạy các ứng dụng như trên máy tính cá nhân…

Để có được kết quả này là nhờ vào sự phát triển mạnh mẽ của cả lĩnh vực phần cứng cũng như phần mềm Sự ra đời của những chíp vi điều khiển có tốc độ và năng lực xử lý rất cao được đóng gói nhỏ gọn cùng với các thuật toán phần mềm tối ưu làm tăng năng lực tính toán cũng như giảm thiểu được băng thông

Những phát triển quan trọng trong các lĩnh vực về xử lý hình ảnh đã cho ra đời những kỹ thuật nén và phương pháp truyền tải hình ảnh hiệu quả cho phép giải quyết được nhiều vấn đề băng thông Trong đó, nổi bật hơn cả là sự ra đời của chuẩn nén H.264 được xem là chuẩn nén video tốt nhất hiện nay Chuẩn nén H.264 cho phép dữ liệu video được nén với tỉ lệ nén rất cao nhưng vẫn đáp ứng được yêu cầu về chất lượng về hình ảnh

Mục đích của luận văn này là tập trung vào nghiên cứu và lập trình mô phỏng thuật toán Deblocking trong chuẩn H.264 Đây là một thuật toán khôi phục ảnh cho

Trang 12

­ Chương 1: Giới thiệu một số khái niệm tổng quan về video và các kỹ thuật nén

video

­ Chương 2: Trình bày một số nội dung chính của chuẩn nén H.264 Do thuật

toán Deblocking là một thành phần được tích hợp trong trong bộ nén và giải nén nên luận văn sẽ trình bày chi tiết vào các vấn đề chính của H.264 liên quan đến quá trình triển khai và xây dựng phần mềm mô phỏng

­ Chương 3: Trình bày thuật toán Deblocking

­ Chương 4: Chương trình mô phỏng và đánh giá kết qủa

Do thời gian có hạn nên luận văn chỉ mới đề cập được một phần các vấn đề trong kỹ thuật nén H.264 nói chung và thuật toán Deblocking nói riêng do vậy chắc chắn không tránh khỏi thiếu sót Vì vậy, tác giả xin trân trọng những đóng góp của các Thày cô và các đồng nghiệp xa gần để luận văn ngày càng hoàn chỉnh hơn Mọi ý kiến đóng góp xin gửi về cho tác giả theo địa chỉ vtanh78@yahoo.com

Cuối cùng, tôi xin chân thành cảm ơn sự giúp đỡ và sự chỉ bảo tận tình của Thày giáo hướng dẫn luận văn, TS Lê Vũ Hà - Bộ môn Xử lý thông tin - Khoa Điện tử Viễn thông - Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, đã giúp đỡ tôi hoàn thành luận văn này

Hà nội, ngày 02 tháng 11 năm 2009

Trang 14

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ NÉN VIDEO

1.1 Khái niệm về video

Một cảnh video tự nhiên có tính liên tục về không gian và thời gian Khi biểu diễn dưới dạng dữ liệu video số thì video là chuỗi các hình ảnh liên tiếp, còn gọi là khung hình Chuỗi các khung hình xuất hiện liên tục với tốc độ đủ nhanh sẽ cho ta cảm giác chuyển động của một hình ảnh với sự chuyển động của các đối tượng trong khung cảnh (tối thiểu để có cảm giác chuyển động tự nhiên là khoảng 25 khung hình/giây do thời gian lưu ảnh trong võng mạc là khoảng 1/25 giây) [1]

Một tín hiệu video có thể được lấy mẫu đầy đủ một chuỗi các khung hình (lấy mẫu liên tục) hoặc lấy mẫu xen kẽ

Mỗi khung hình được lấy mẫu xen kẽ gồm hai thành phần là Top field và Bottom field Top field bao gồm các dòng có thứ tự chẵn còn Bottom field bao gồm các dòng

có thứ tự lẻ trong một khung hình đầy đủ như được mô tả trong hình vẽ sau:

Hình vẽ 1.1: Chuỗi video xen kẽ

Việc lấy mẫu xen kẽ có ưu điểm là làm cho chuyển động của cảnh trong video ít

bị giật hình hơn

 Không gian màu:

Theo lý thuyết về biểu diễn màu sắc, mỗi một màu sắc tự nhiên đều có thể được tạo từ một tổ hợp của ba màu đơn sắc: màu đỏ, màu lục và màu lam (Còn được gọi là

ba màu cơ sở của không gian màu RGB) Trong không gian màu RGB, các màu khác nhau có thể được mô tả như là các điểm bên trong một hình lập phương đơn vị: Gốc tọa độ (0, 0, 0) biểu diễn cho màu đen và điểm (1, 1, 1) tương ứng với màu trắng; ba

Trang 15

theo ba thành phần RGB rất thuận tiện cho việc hiển thị hình ảnh trên màn hình máy tính hay máy thu hình

Một hệ thống biểu diễn màu khác thường được sử dụng chủ yếu trong lĩnh vực truyền hình là không gian màu YUV, với mỗi màu sắc được biểu diễn bởi một tổ hợp của ba thành phần: Y là độ chói và U, V là hai thành phần biểu diễn sắc độ Biểu diễn hình ảnh video trong không gian màu này cho phép đạt được hiệu suất truyền hình ảnh cao hơn và giữ được tính tương thích giữa các chuẩn truyền hình màu với truyền hình đen trắng Thành phần độ chói (luminance) mang thông tin về cường độ ánh sáng, hai thành phần còn lại mang thông tin về sắc độ (chrominance) của các điểm ảnh

Dưới đây là biểu diễn mối quan hệ giữa hai không gian màu YUV và RGB (theo chuẩn CCIR 601):

Y = 0,299R + 0,587G + 0,114B (1.1)

Trong đó: Y là thành phần chói còn U, V là hai thành phần sắc độ

Một định dạng màu khác tương tự như YUV và cũng hay được sử dụng là

YCBCR Với Y tương tự như trên còn hai thành phần sắc độ được biểu diễn như sau:

Trong đó, các giá trị thành phần sắc độ CB, CR luôn nằm trong khoảng [0, 1]

YCBCR được sử dụng trong các hệ thống truyền hình màu tương tự truyền thống, trong khi YUV được sử dụng trong truyền hình số

 Số hoá tín hiệu video

Trong một chuỗi video với các khung hình có độ phân giải là 720x576 điểm ảnh, tốc độ khung hình là 25Hz hoặc 30Hz Mỗi khung hình trong chuỗi video được lấy

Trang 16

YUV 4:2:0

YUV 4:1:1

Hình vẽ 1.2: Cấu trúc lấy mẫu

Cấu trúc lấy mẫu 4:2:2

Hình vẽ 1.3: Cấu trúc lấy mẫu 4:2:2

Việc lấy mẫu sẽ diễn ra một cách tuần tự như sau: Điểm ảnh đầu lấy mẫu thành phần độ chói (Y) và lấy mẫu hai thành phần sắc độ UvàV Điểm ảnh tiếp theo chỉ lấy mẫu thành phần chói (Y) mà không lấy mẫu hai thành phần sắc độ Khi giải mã, thành phần sắc độ của điểm ảnh bị thiếu phải được suy ra từ điểm ảnh trước đó Cứ như vậy, bốn lần lấy mẫu thành phần Y thì có hai lần lấy mẫu thành phần U và hai lần lấy mẫu thành phần V

Trang 17

Cấu trúc lấy mẫu 4:1:1

text text text text text text text text

text text text text text text text text

Hình vẽ 1.4: Cấu trúc lấy mẫu 4:1:1

Điểm ảnh đầu lấy mẫu đủ các thành phần Y, U, V Ba điểm ảnh kế tiếp chỉ lấy mẫu thành phần độ chói Y mà không lấy mẫu thành phần sắc độ Khi giải mã, thành phần sắc độ của ba điểm ảnh kế tiếp này phải suy ra từ điểm ảnh đầu Tuần tự như vậy,

cứ bốn lần lấy mẫu thành phần Y có một lần lấy mẫu thành phần U và một lần lấy mẫu thành phần V

Cấu trúc lấy mẫu 4:2:0

text text text text text text text text

text text text text text

text

text text text

text text text text text text text text text text

text

Hình vẽ 1.5: Cấu trúc lấy mẫu 4:2:0

Lấy mẫu thành phần độ chói Y tại tất cả các điểm ảnh Với thành phần sắc độ thì

cứ bốn thành phần Y lấy mẫu hai thành phần U và V cách nhau theo từng hàng

 Các định dạng video

Chuẩn nén H.264 có thể thực hiện việc nén đối với các định dạng khung hình video khác nhau Trong thực tế, nó thường thu hoặc chuyển đổi sang các định dạng

Trang 18

Hình vẽ 1.6: Khung hình video lấy mẫu ở các độ phân giải khác nhau

Việc chọn độ phân giải của khung hình tuỳ thuộc vào ứng dụng và khả năng lưu trữ cũng như khả năng truyền dẫn Ví dụ: 4CIF là phù hợp với truyền hình độ nét tiêu chuẩn và video DVD; CIF và QCIF phù hợp cho các ứng dụng video hội nghị; QCIF hoặc SQCIF phù hợp cho các ứng dụng đa phương tiện trên các điện thoại di động Bảng 1.2 mô tả số các bit cần thiết để mã hoá một khung hình theo mỗi định dạng (với cấu trúc lấy mẫu 4:2:0 và 8 bit biểu diễn cho một mẫu)

Một định dạng được sử dụng rộng rãi cho các dữ liệu video số trong các ứng

Trang 19

video được lấy mẫu với tốc độ 13,5MHz và 6,75MHz đối với các thành phần sắc độ để tạo ra các thành phần Y:U:V theo tỷ lệ 4:2:2 Các thông số của tín hiệu video số đã được lấy mẫu phụ thuộc vào tốc độ khung hình (30Hz đối với tín hiệu NTSC và 25Hz đối với tín hiệu PAL/SECAM)

1.2 Các phương pháp nén video

Mục tiêu chính của việc nén dữ liệu video là biểu diễn một nguồn dữ liệu video bởi một số lượng bit ít nhất có thể được mà vẫn đảm bảo yêu cầu chất lượng cảm thụ hình ảnh của mắt người Với tín hiệu video, giới hạn dải thông của tín hiệu video tương tự ở vào khoảng 6MHz Tín hiệu video sau khi số hoá theo tiểu chuẩn CCIR 601 với tốc độ bit là 270Mbit/s chiếm dải thông không dưới 189MHz, tức là lớn hơn 31,5 lần so với dải thông của tín hiệu tương tự Do vậy, giảm dải thông là vấn đề quan trọng với công nghệ video số

Về cơ bản việc giảm yêu cầu về dải thông được thực hiện theo bốn cách:

­ Giảm tốc độ dòng bit (Bit Rate Reduction)

­ Nén dòng dữ liệu video số theo không gian - giảm độ dư thừa trong nội tại một khung hình

­ Nén dòng dữ liệu theo thời gian - giảm độ dư thừa theo thời gian

­ Nén hỗn hợp sử dụng tổ hợp các phương pháp trên

1.2.1 Giảm tốc độ dòng bit dựa trên đặc điểm của thị giác người

Do mắt người thường ít nhạy cảm đối với các thành phần sắc độ hơn là thành phần độ chói của hình ảnh nên trong phương pháp này, người ta có thể giảm bớt độ phân giải của thành phần sắc độ mà không làm ảnh hưởng nhiều đến sự cảm thụ về chất lượng hình ảnh (ví dụ như trong các định dạng YUV 4:2:2, 4:2:0, 4:1:1)

Phần lớn các định dạng video số hiện nay đều sử dụng tần số lấy mẫu 13,5MHz đối với thành phần độ chói Theo chuẩn CCIR 601, nếu hai thành phần sắc độ được lấy mẫu với tần số như thành phần độ chói chúng ta sẽ có định dạng 4:4:4 Định dạng này

Trang 20

Khi lấy mẫu 8 bit: (720 + 360 + 360) x 576 x 8 x 25 = 166 Mbit/s

= 124,4 Mbit/s, tức là phép giảm được 50% tốc độ dòng bit so với nguyên mẫu 4:4:4

1.2.2 Nén dòng dữ liệu video số trong miền không gian

Gần như tất cả các ảnh đều chứa một số lượng lớn các điểm ảnh có giá trị gần giống nhau Các điểm ảnh giống nhau này được lặp lại tạo thành các vùng đồng đều trong một ảnh (ví dụ: bầu trời xanh), tạo nên sự dư thừa về mặt không gian trong dữ liệu (do ta có thể dự đoán giá trị một điểm ảnh từ giá trị các điểm ảnh xung quanh nó)

Để giảm độ dư thừa trong một khung hình, người ta sử dụng các phương pháp nén ảnh trong miền không gian Các phương pháp nén ảnh này có thể chia làm hai loại:

­ Nén không tổn hao (lossless compression): là phương pháp nén mà dữ liệu được nén (mã hoá), sau khi giải nén (giải mã) đối chiếu với dữ liệu gốc thì không có sự khác biệt nào

­ Nén có tổn hao (lossy compression): là phương pháp nén mà dữ liệu được khôi phục sau khi nén và giải nén có sự khác biệt với dữ liệu gốc

Tỉ số nén của các phương pháp nén không tổn hao thường rất thấp Để đạt được

tỉ số nén cao, người ta thường phải sử dụng các phương pháp nén có tổn hao

1.2.3 Nén dữ liệu video số theo miền thời gian

Các khung hình liên tiếp trong một đoạn video có quan hệ mật thiết với nhau Thậm chí một khung hình có thể chỉ thay đổi chút ít so với các khung hình liền kề trước và sau nó, tạo nên sự dư thừa theo thời gian Để giảm bớt lượng dữ liệu truyền tải, người ta làm giảm sự dư thừa đó bằng cách chỉ truyền những phần sai lệch giữa các khung hình kết hợp với việc dự đoán dựa trên khung hình trước

1.2.4 Nén hỗn hợp sử dụng tổ hợp của các phương pháp trên

Để đạt được hiệu quả nén cao mà vẫn đảm bảo chất lượng hình ảnh, người ta sử dụng tổ hợp của các phương pháp trên Phương pháp nén video theo chuẩn H.264 là một phương pháp nén hỗn hợp như vậy

Trang 21

1.3 Tham số nén video

Các tham số nén video được đề cập đến ở đây là định dạng ảnh và tỉ số nén Tỉ số nén cho phép đánh giá hiệu quả của một hệ thống nén dữ liệu Để đánh giá hiệu quả của các hệ thống nén bằng cách so sánh tỉ số nén của chúng với nhau, định dạng ảnh

sử dụng trong các hệ thống nén đó phải giống nhau

Các tham số định dạng ảnh bao gồm:

­ Số dòng/khung hình và số điểm ảnh/dòng

­ Tốc độ khung hình (số khung hình/giây)

­ Cấu trúc lấy mẫu

­ Độ sâu của giá trị mẫu (8, 10 hay 12 bit/mẫu)

­ Hệ số nén được tính bằng tốc độ dữ liệu video gốc (số bit dữ liệu/giây) trên tốc độ dữ liệu video nén

Để đánh giá chất lượng một hệ thống nén, bên cạnh tỷ số nén người ta còn phải xét đến độ sai lệch của dữ liệu sau khi nén so với trước khi nén, thường được đo bằng PSNR:

MSE P

10 dB

)12(log10

(1.6)

Trong đó MSE là sai số bình phương trung bình giữa dữ liệu trước và sau nén, n

là số bit để mã hoá giá trị mỗi điểm ảnh

Trang 22

CHƯƠNG 2: CHUẨN NÉN H.264

2.1 Giới thiệu chung về chuẩn nén H.264

Hiệp hội viễn thông quốc tế (ITU) và Tổ chức tiêu chuẩn quốc tế/Uỷ ban kỹ thuật điện tử quốc tế (ISO/IEC) là hai tổ chức đi đầu trong lĩnh vực nghiên cứu và phát triển các chuẩn nén âm thanh, hình ảnh Theo ITU-T, các chuẩn nén video được coi là các khuyến nghị và gọi tắt là chuẩn H.26x (H.261, H.262, H.263 và H.264) Với tiêu chuẩn ISO/IEC, các chuẩn nén được gọi tắt là MPEG-x (MPEG-1, MPEG-2, MPEG-3

và MPEG-4) [1]

Các khuyến nghị của ITU được xây dựng cho các ứng dụng truyền dữ liệu video thời gian thực như: truyền hình hội nghị (Video Conferencing) hay điện thoại thấy hình Trong khi, MPEG hướng tới mục tiêu truyền và lưu trữ video như: lưu trữ trên đĩa quang DVD; quảng bá video số trên mạng cáp quang, đường truyền số DSL; truyền hình vệ tinh hoặc các ứng dụng truyền tải dòng video trên mạng Internet

Hai nhóm nghiên cứu trên đã cùng nhau thành lập một nhóm cộng tác viết tắt là JVT (Joint Video Team) để xây dựng đề xuất về chuẩn nén H.26L và phát triển thành tiêu chuẩn quốc tế Chuẩn nén này được ấn bản bởi cả ITU-T và ISO/IEC với hai tên gọi là H.264 và MPEG-4 part 10

Dưới đây là một số mốc thời gian về sự phát triển của H.264/MPEG-4 part 10:

1993 ­ Dự án về MPEG-4 được khởi xướng

­ Một số kết quả ban đầu của H.263 đã đạt được

1995

­ MPEG-4 là cơ sở cho các đề xuất bao gồm: nén video hiệu quả với các tính năng dựa theo nội dung

­ H.263 được chọn như là trọng tâm của công cụ nén video

1998 ­ Đưa ra các đề xuất cho H.26L

1999 ­ Chuẩn hình ảnh MPEG-4 được ấn bản

­ Mô hình kiểm tra ban đầu của H.26L được xây dựng

2000 ­ MPEG đưa ra các đề xuất cho các công cụ nén video cải

tiến

2001

­ Phiên bản thứ hai của chuẩn nén MPEG-4 được ấn bản

­ H.26L được chọn như là cơ sở cho MPEG-4

­ JVT được hình thành

2003 ­ H.264/MPEG-4 part 10 được ấn bản

Trang 23

Mục tiêu chính của việc phát triển chuẩn nén H.264 là nhằm cung cấp các nguồn dữ liệu video có tốc độ bít thấp (tỷ lệ nén cao) nhưng vẫn đảm bảo được chất lượng về hình ảnh tốt hơn nhiều so với những chuẩn nén video trước đây Điều này đạt được là nhờ sự kế thừa các ưu điểm của các chuẩn nén video trước đó Đồng thời thực hiện một số những cải tiến quan trọng như:

- Phân chia mỗi khung hình video thành các MB (mỗi MB là một khối hình ảnh

có kích thước 16x16 điểm ảnh) và thực hiện các phân tích, xử lý trên từng MB này

- Khai thác triệt để tính dư thừa về không gian trong các khung hình thông qua

việc sử dụng: các dự đoán Intra, các phép biến đổi DCT/IDCT tương đương, phép lượng tử hoá và mã hoá Entropy (hay mã có độ dài thay đổi VLC)

- Khai thác tính dư thừa về thời gian thông qua việc sử dụng các phép dự đoán

véc-tơ chuyển động và bù chuyển động với các kích thước block thay đổi (tuỳ thuộc vào tính chi tiết của hình ảnh) và với nhiều khung hình tham chiếu khác nhau

- Sử dụng các thuật toán, các phương pháp biến đổi được cải tiến cho phép nâng

cao được năng lực xử lý và chất lượng của hình ảnh lối ra

2.2 Cơ chế nén ảnh của H.264

Bộ nén và giải nén của H.264 cũng bao gồm các thành phần có trong các chuẩn nén trước đó ngoại trừ bộ lọc Deblocking Tuy nhiên, các thành phần này đều có những cải tiến so với các chuẩn trước để đạt được hiệu suất nén tối ưu hơn

2.2.1 Bộ nén

Mỗi khung hình dữ liệu video Fn đưa vào bộ nén sẽ được xử lý theo từng khối 16x16 điểm ảnh (gọi là các MB) Khung hình đầu tiên của một chuỗi video hoặc điểm truy cập ngẫu nhiên được mã hoá theo mode Intra (nén trong ảnh) Mỗi một điểm ảnh trong khối sử dụng mode Intra được dự đoán dựa vào các điểm ảnh liền kề với khối dự đoán và nằm bên trong các khối đã được dự đoán và mã hoá trước đó

Trang 24

Lượng tử hoá ngược

Inter

Intra

Mã hoá entropy

Hình vẽ 2.1: Sơ đồ khối của bộ nén theo chuẩn H.264

Đối với tất cả các khung hình còn lại hoặc các khung hình nằm giữa các điểm truy cập ngẫu nhiên của chuỗi video, các chế độ mã hoá Intra hoặc Inter (nén liên ảnh) được sử dụng tùy thuộc vào mode quyết định thích hợp Mode Inter được sử dụng để khai thác tính liên quan (tính dư thừa theo thời gian) của các vùng ảnh trong các khung hình khác nhau thông qua việc sử dụng phương pháp dự đoán chuyển động và bù chuyển động dựa vào các khung hình tham chiếu Lối ra của mode này là các MB dữ liệu (chứa các thông tin sai khác giữa các MB của khung hình hiện tại với khung hình tham chiếu) cùng với các thông tin điều khiển (như: vị trí MB, mode dự đoán, thông tin về khung hình tham chiếu và sự dịch chuyển…) MB chứa phần sai khác sau đó được thực hiện các biến đổi DCT tương đương và lượng tử hoá kết hợp với bộ mã hoá Entropy để khai thác tối đa các dư thừa về không gian Ngoài ra, dữ liệu của các MB sau bộ biến đổi và lượng tử hoá được thực hiện các biến đổi ngược để khôi phục lại các khung hình tham chiếu cho các xử lý tiếp theo

2.2.2 Bộ giải nén

Bộ giải nén nhận được dòng dữ liệu video nén sẽ thực hiện giải mã hoá Entropy trước tiên Dữ liệu sau giải mã là tập hợp các hệ số đã được lượng tử hóa, sau đó được đưa qua các bộ biến đổi và lượng tử hoá ngược để thu được dữ liệu về các MB chứa thông tin sai khác Dữ liệu trong các MB này được kết hợp với các các thông tin điều khiển gửi kèm theo từ bộ nén để xây dựng lại các MB nguyên gốc và khôi phục lại thành khung hình ban đầu

Trang 25

Intra

Giải mã hoá entropy

+

+

Dữ liệu video nén Dn’

Hình vẽ 2.2: Sơ đồ khối của bộ giải nén theo chuẩn H.264

2.3 Cấu trúc của H.264

H.264 định nghĩa các profile (mô tả) cùng tập hợp các thông số cho phép hỗ trợ các ứng dụng thực tế một cách đa dạng và linh hoạt

Profile xác định tập các công cụ mã hoá hoặc các thuật toán mã hoá có thể được

sử dụng để tạo ra các dòng bit tương thích

Level (mức) đặt ra những giới hạn cho thông số của dòng bit

Có ba profile trong phiên bản thứ nhất: Baseline, Main và Extended

­ Baseline profile: hỗ trợ mã hoá Intra/Inter và mã hoá Entropy CAVLC (mã hoá chiều dài thích nghi ngữ cảnh) áp dụng cho các ứng dụng thời gian thực như: truyền hình tương tác, điện thoại thấy hình…

­ Main profile: bao gồm việc hỗ trợ video quét xen kẽ, mã hoá Inter sử dụng B-slices, mã hoá Inter sử dụng dự đoán có trọng số và mã hoá entropy CABAC Main profile được thiết kế cho các thiết bị lưu trữ số và truyền hình quảng bá

­ Extended profile: không hỗ trợ cho video quét xen kẽ hoặc CABAC nhưng

bổ sung các mode chuyển đổi một cách hiệu quả giữa các dòng bit (SP và

SI slices) và khả năng khắc phục lỗi Extended profile ứng dụng cho các

Trang 26

Hình vẽ 2.3: Các profile trong chuẩn nén H.264

Dưới đây sẽ trình bày những phần chính trong chuẩn nén được sử dụng chung cho các profile cũng như được sử dụng để triển khai các thuật toán phục vụ cho mục đích xây dựng và cài đặt phần mềm mô phỏng của luận văn này

2.3.1 Phân chia khung hình thành các MB

Mỗi khung hình video được chia thành các MB có kích thước cố định gồm 16x16 mẫu cho thành phần độ chói và 8x8 mẫu cho thành phần sắc độ

Tuỳ theo mức độ đồng nhất hay chi tiết của khung hình mà mỗi MB được giữ nguyên hay được phân chia tiếp thành các block nhỏ hơn khi thực hiện các mode dự đoán Ngoài ra, nó còn quyết định đến việc lựa chon các mode Intra hoặc Inter

Trong mode Inter, mỗi MB của thành phần độ chói có thể được phân chia theo bốn cách như hình vẽ 2.4: một MB hoặc hai block 16x8 hoặc hai block 8x16 hoặc bốn block 8x8

Hình vẽ 2.4: Phân chia MB theo các kích thước 16x16, 16x8, 8x16 và 8x8

Trang 27

Nếu phân dạng block 8x8 được chọn, các block 8x8 trong MB có thể được phân chia tiếp theo bốn cách (như hình bên dưới) gồm: hai block 8x4 hoặc hai block 4x8 hoặc bốn block 4x4 Các cách phân chia và các block con thu được làm tăng tính kết hợp bên trong mỗi MB Đây là phương pháp phân chia MB thành các block nhỏ hơn được sử dụng cho quá trình bù chuyển động với các kích thước thay đổi được biết đến như là bù chuyển động cấu trúc cây

Hình vẽ 2.5: Phân chia MB theo các kích thước 8x8, 4x8, 8x4 và 4x4

Các MB sau khi được dự đoán bởi các mode Intra/Inter sẽ chứa thông tin sai khác giữa các block trong MB hiện tại so với các block trong MB thuộc khung hình tham chiếu MB sau đó lại được xử lý theo từng block nhỏ kích thước 4x4 (đối với thành phần độ chói) trong các phép biến đổi DCT tương đương và phép lượng tử hoá Trong cấu trúc dòng dữ liệu, các MB được tổ chức thành các Slice cho phép nâng cao hiệu quả trong vấn đề về truyền thông như sửa lỗi và truyền lại

Thứ tự truyền của các MB phụ thuộc vào thông tin ánh xạ vị trí của MB trong dòng bít và không nhất thiết phải theo thứ tự quét H264/MPEG-4 Part 10 hỗ trợ 5 dạng Slice khác nhau:

­ Slice I: Trong đó tất cả MB được mã hoá không có sự tham chiếu tới các ảnh khác trong dãy video

­ Slice P: Chỉ tham chiếu tới các ảnh trước đó

­ Slice B: Có sự tham chiếu tới các ảnh trước và sau nó

­ SI (Switching I) và SP (Switching P): được dùng cho chuyển mạch giữa các dòng bít được mã hoá ở các tốc độ bít khác nhau

Trang 28

2.3.2 Dự đoán Inter trong H.264

Dự đoán Inter được sử dụng dựa trên đặc điểm về sự liên quan giữa các khung hình liên tiếp trong một chuỗi video Mỗi khung hình video có thể được lặp lại nhiều lần sau đó hoặc các khung hình nếu có sự khác nhau thì cũng có rất nhiều khối hình nhỏ được lặp lại ở các vị trí lân cận trong khung hình trước hoặc sau nó Hiệu của hai khối hình đó sẽ cho kết quả là một khối hình gần đồng nhất và có giá trị trọng số của mỗi điểm là nhỏ rất có ý nghĩa cho các phép biến đổi về sau

Hình vẽ 2.6: a) Sai khác giữa hai khung hình liên tiếp

b) Khung hình sai khác đã được bù chuyển động

Sự khác nhau quan trọng của phép dự đoán Inter trong H.264 so với các chuẩn nén trước là sự hỗ trợ nhiều kích cỡ block khác nhau (16x16, 8x16, 16x8, 8x8, 8x4, 4x8 và 4x4) và các véc-tơ chuyển động với độ phân giải 1/4 điểm (đối với thành phần

độ chói)

2.3.2.1 Các véc-tơ chuyển động

Mỗi MB hoặc block con trong một MB sử dụng phương pháp mã hoá Inter được

dự đoán từ một block cùng kích cỡ trong khung hình tham chiếu Độ dịch chuyển giữa hai block (véc-tơ chuyển động) có độ phân giải 1/4 điểm đối với thành phần độ chói và 1/8 điểm đối với các thành phần sắc độ

Các giá trị mẫu của các thành phần độ chói và thành phần sắc độ ở các vị trí không có sẵn trong khung hình tham chiếu cần phải tạo ra bằng cách nội suy từ các mẫu đã được mã hoá liền kề

Trong hình vẽ 2.7, một block 4x4 trong khung hiện tại (a) được dự đoán từ khung hình tham chiếu ở vị trí bên cạnh vị trí của block trong khung hình hiện tại

Trang 29

a block 4x4 trong khung

Hình vẽ 2.7: Ví dụ về dự đoán véctơ chuyển động

Nếu các thành phần theo chiều ngang và chiều dọc của véc-tơ chuyển động là số nguyên (hình vẽ 2.7 b.) thì các mẫu dự đoán liên quan trong block tham chiếu tồn tại trên thực tế (các điểm xám) Nếu một hoặc cả hai thành phần véc-tơ là các giá trị không nguyên (hình vẽ 2.7 c.) thì các mẫu dự đoán (các điểm xám) được tạo ra bằng việc nội suy từ các mẫu liền kề trong khung hình tham chiếu (các điểm trắng)

2.3.2.2 Xác định các mẫu nội suy

Các mẫu được nội suy từ các mẫu ở vị trí giữa các điểm (1/2 khoảng cách) trong thành phần độ chói của khung hình tham chiếu được tạo ra trước tiên (ô màu xám trong hình vẽ 2.8) Mỗi mẫu ở vị trí giữa các điểm và liền kề với hai mẫu hiện hữu (ví

dụ: b, h, m, s) được nội suy từ các mẫu có vị trí là số nguyên bằng việc sử dụng một

bộ lọc 6-tap FIR với các trọng số (1/32, -5/32, 5/8, 5/8, -5/32, 1/32) Ví dụ: mẫu b

được tính toán từ 6 mẫu E, F, G, H, I và J (theo chiều dọc):

Trang 30

Hình vẽ 2.8: Nội suy các vị trí giữa các điểm ảnh

Một cách tương tự, h được nội suy bằng việc lọc A, C, G, M, R và T Khi tất cả các mẫu nội suy theo chiều dọc và chiều ngang đã được tính toán, giá trị của mẫu j sẽ được tạo ra bằng việc lọc cc, dd, h, m, ee và ff Bộ lọc nội suy 6-tap là tương đối phức

tạp nhưng tạo ra sự chính xác phù hợp với dữ liệu mẫu là các giá trị số nguyên và khi

đó mức độ thực hiện bù chuyển động tốt hơn

Khi tất cả các mẫu ở vị trí 1/2 đã được tính toán, các mẫu ở vị trí 1/4 tiếp tục được tính bằng một phương pháp nội suy tuyến tính Các vị trí 1/4 với hai mẫu ở vị trí

1/2 hoặc vị trí là số nguyên theo chiều dọc hoặc theo chiều ngang (a, c, i, k và d, f, n,

q trong hình vẽ 2.9 được nội suy từ các mẫu liền kề Ví dụ: a = round((G+b)/2)

Hình vẽ 2.9: Nội suy của các vị trí ¼ khoảng cách điểm ảnh

Các vị trí 1/4 còn lại (e, g, p và r ) được nội suy từ các cặp mẫu đối diện theo đường chéo Ví dụ: e được dự đoán từ b và h

Trang 31

Hình vẽ 2.10 biểu diễn ví dụ về kết quả của việc nội suy vùng tham chiếu với độ phân giải 1/4

Hình vẽ 2.10: Vùng hình ảnh được nội suy của các vị trí ¼ pixel

Các véc-tơ chuyển động độ phân giải 1/4 của thành phần độ chói sẽ đi liền với các véc-tơ có độ phân giải 1/8 của thành phần sắc độ (giả sử việc lấy mẫu theo tỷ lệ 4:2:0) Các mẫu nội suy được tạo ra ở các vị trí 1/8 từ các mẫu ở vị trí là số nguyên

trong mỗi thành phần sắc độ bằng việc sử dụng nội suy tuyến tính (mẫu a trong hình

vẽ 2.11) Mỗi vị trí a là một sự kết hợp tuyến tính của các vị trí là số nguyên: A, B, C

và D

a = round([s-dx)(s-dy)A+dx(s-dy)B+(s-dxdyC+dxdyD]/s2

) (2.2) Trong hình vẽ 2.11: s = 8, dx = 2 và dy = 3, do đó:

a = round[30A+10B+18C+6D)/64] (2.3)

Trang 32

Hình vẽ 2.11: Vị trí nội suy 1/8 của các thành phần sắc độ

2.3.2.3 Ƣớc lƣợng véc-tơ chuyển động và bù chuyển động

Để thực hiện bù chuyển động, sự chuyển động của các đối tượng chuyển động được ước lượng trước tiên Điều này được gọi là ước lượng véctơ chuyển động Thông thường kỹ thuật ước lượng véc-tơ chuyển động trong tất cả các chuẩn nén video sử dụng là thuật toán phù hợp khối BMA Với một block kích thước MxN điểm ảnh (trong đó MxN có thể là: 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 hoặc 4x4) trong khung hình hiện tại sẽ được tìm kiếm trong một vùng tìm kiếm với sự dao động kích thước w pixel quanh một vị trí mẫu (kích thước cửa sổ tìm kiếm là w) như được mô tả trong hình vẽ dưới đây [2,5]:

Trang 33

Block MxN phù hợp trong Frame tham chiếu

Hình vẽ 2.12: Mô tả hoạt động ước lượng véc-tơ chuyển động

Để ước lượng véc-tơ chuyển động có hai phương pháp thường được sử dụng đó

là: phương pháp MSE - sử dụng trung bình của bình phương các sai khác giữa các mẫu, và MAE - trung bình của các sai khác tuyệt đối giữa các mẫu

MSE được tính bằng công thức sau:

1 1 2 ) , ( 1 f(m,n) g(m i,n j)

N M

N n M m

1 1 2 ) ,

N M

N n M m

, wi,jw (2.5) Trong đó: f(m,n) biểu diễn giá trị của điểm ảnh trong block hiện tại ở vị trí

Trang 34

Việc mã hoá một véc-tơ chuyển động cho mỗi định dạng của block có thể mất một số bit Các véc-tơ chuyển động của các block liền kề thường có tính tương quan cao hơn Vì vậy, véc-tơ chuyển động của một block thường được được dự đoán từ các véc-tơ chuyển động của các block lân cận đã được mã hoá trước đó Một véc-tơ dự đoán MVp được thực hiện dựa trên các véc-tơ chuyển động đã được tính toán trước đó

là MVD Sự sai khác giữa véc-tơ chuyển động hiện tại và véc-tơ được dự đoán sẽ được

mã hoá và truyền đi Phương pháp thực hiện dự đoán MVpphụ thuộc vào kích cỡ định dạng bù chuyển động và khả năng có sẵn của các véctơ liền kề [1]

Đặt E là block hiện tại (có thể là MB hoặc block con của MB), đặt A là block ngay bên trái của E, đặt B block ngay phía trên E và đặt C là block phía trên bên phải của E Nếu có nhiều hơn một block phía trên E, block ngoài cùng bên trái trong số đó

sẽ được chọn là B Hình vẽ 2.13 minh hoạ sự lựa chọn của các block lân cận khi tất cả

các block có cùng kích cỡ (trong trường hợp này là 16x16) và hình 2.14 chỉ ra một ví

dụ của việc lựa chọn của việc dự đoán các block có các kích cỡ khác nhau so với block

E hiện tại:

Hình vẽ 2.13: Vị trí của block hiện tại và vị trí của các block kế cận

(cùng kích thước block)

Trang 35

Hình vẽ 2.14: Vị trí của block hiện tại và vị trí của các block kế cận

(khác kích thước)

a Nếu các block được truyền bao gồm cả kích thước 16x8 và 8x16, MVp là

trung bình của các véc-tơ chuyển động của các block A, B và C

b Đối với các block 16x8, MVp của block 16x8 phía trên được dự đoán từ B

và MVp của block 16x8 phía dưới được dự đoán từ A

c Đối với các block 8x16, MVp của block 8x16 bên trái được dự đoán từ A và MVp của block 8x16 phía dưới được dự đoán từ C

d Đối với các MB được giữ nguyên, một véctơ 16x16 được tạo ra như trong trường hợp (a) ở trên

Nếu một hoặc nhiều hơn các block được truyền đi trước đó (hình vẽ 2.14) không

có sẵn thì việc chọn lựa MVp sẽ được sửa đổi theo Ở bộ giải mã, véc-tơ được dự đoán MVp được hình thành theo cùng cách và được bổ sung vào véc-tơ sai khác đã được giải mã MVD Trong trường hợp MB được giữ nguyên và không có sai khác, véc-tơ được giải mã và một MB bù chuyển động được tạo ra bằng việc sử dụng MVp như là véc-tơ chuyển động

2.3.3 Dự đoán Intra trong H.264

Trang 36

Bộ nén lựa chọn mode dự đoán cho mỗi block dựa vào sự khác nhau tối thiểu giữa block cần được dự đoán và block sau khi đã được dự đoán

2.3.3.1 Các mode dự đoán cho block 4x4 (đối với thành phần độ chói)

Hình vẽ 2.15 chỉ ra một block 4x4 (thành phần độ chói) cần được dự đoán Các

mẫu a, b, c,…, p của block dự đoán P được tính toán dựa trên các mẫu A, , M Các mẫu A, , M là các mẫu nằm phía trên và bên trái của P (là các mẫu đã được giải mã

hoá và được khôi phục lại) được sử dụng làm thông tin tham chiếu cho dự đoán

Hình vẽ 2.15: Gán nhãn các mẫu dự đoán (4x4)

Các mode dự đoán trong trường hợp này bao gồm:

­ Mode 0: Các mẫu trên A, B, C, D được ngoại suy theo chiều dọc

­ Mode 1: Các mẫu bên trái I, J, K, L được ngoại suy theo chiều ngang

­ Mode 2: Tất cả các mẫu trong P đươc dự đoán là trung bình của các mẫu A,…,

D và I,…, L

­ Mode 3: Các mẫu được nội suy ở góc 450

giữa phía dưới bên trái và phía trên bên phải

­ Mode 4: Các mẫu được ngoại suy ở góc 450 xuống và bên phải

­ Mode 5: Các mẫu được ngoại suy ở góc xấp xỉ 26,60 phía bên trái theo chiều

dọc

­ Mode 6: Ngoại suy ở góc xấp xỉ 26,60 phía bên dưới theo chiều ngang

­ Mode 7: Ngoại suy hoặc nội suy ở góc xấp xỉ 26,60 phía bên phải theo chiều

dọc

­ Mode 8: Nội suy ở góc xấp xỉ 26,60 phía bên trên theo chiều ngang

Trang 37

Hình vẽ 2.16: Các mode dự đoán Intra4x4 (thành phần độ chói)

Các mũi tên trong hình vẽ 2.16 chỉ ra hướng dự đoán trong mỗi mode Đối với các mode 3, , 8, các mẫu dự đoán tạo nên từ một giá trị trung bình mang trọng số của

các mẫu dự đoán A, , M Ví dụ, nếu mode 4 được lựa chọn mẫu phía trên bên phải của P (gán nhãn “d”) được dự đoán bởi: d = round(B/4 + C/2+D/4)

Trang 38

2.3.3.2 Các mode dự đoán Intra16x16 (đối với thành phần độ chói)

Khác với dự đoán Intra4x4, mode dự đoán Intra16x16 của thành phần độ chói

được thực hiện theo bốn mode như sau:

­ Mode 0: Ngoại suy từ các mẫu phía trên (H)

­ Mode 1: Ngoại suy từ các mẫu bên trái (V)

­ Mode 2: Trung bình của các mẫu phía trên và bên trái (H+V)

­ Mode 3: Một hàm tuyến tính “phẳng” sử dụng để lọc đối với các mẫu phía

trên, bên trái H và V Điều này được thực hiện trong các vùng có sự thay đổi

rất ít của thành phần chói

Hình vẽ 2.18: Các mode dự đoán Intra16x16 (thành phần độ chói)

Hình vẽ 2.19: Ví dụ về các mode dự đoán Intra16x16 trong thực tế

Trang 39

2.3.3.3 Các mode dự đoán Intra8x8 (đối với thành phần sắc độ)

Mỗi block 8x8 của thành phần sắc độ sử dụng phương pháp dự đoán Intra được

dự đoán từ các mẫu thành phần sắc độ phía trên và bên trái đã được giải mã trước đó

Cả hai thành phần sắc độ đều sử dụng cùng một mode dự đoán Có bốn mode dự đoán tương tự với bốn mode dự đoán Intra16x16 của thành phần độ chói như đã được trình bày trong phần trước

2.3.3.4 Báo hiệu trong các mode dự đoán Intra

Việc chọn mode dự đoán Intra cho mỗi block 4x4 phải được thông báo cho bộ giải nén và điều này có thể yêu cầu một lượng lớn bit Tuy nhiên, các mode Intra đối với các block 4x4 lân cận thường có liên quan với nhau Chẳng hạn: đặt A, B và E là các block bên trái, phía trên và hiện tại một cách tương ứng (như trong hình 2.13) Nếu các A và B được mã hoá và được dự đoán trước đó bằng việc sử dụng mode 1 thì mode phù hợp nhất cho block E (block hiện tại) cũng là mode 1

Đối với mỗi block E hiện tại, bộ nén và giải nén lựa chọn các mode dự đoán phù hợp nhất có thể Nếu như các block lân cận này không có sẵn (bên ngoài slice hiện thời hoặc không được mã hoá trong mode Intra4x4), giá trị tương ứng A hoặc B được đặt là

rem-là được sử dụng (từ 0 tới 7) để báo hiệu cho mode Intra hiện thời (từ mode 0 tới mode 8)

Mode dự đoán Intra đối với thành phần độ chói hoặc thành phần sắc độ được báo hiệu hoá trong tiêu đề của MB và việc mã hoá của mode là không cần thực hiện trong các trường hợp này

Trang 40

Trong bộ nén, tuỳ thuộc vào đặc tính của các MB trong mỗi khung hình cũng như các khung hình tham chiếu tương ứng mà mode dự đoán Intra hay Inter được lựa chọn Nếu vùng hình ảnh là đồng nhất thì mode dự đoán Intra là phù hợp Nếu vùng hình ảnh chứa các thông tin chi tiết hơn thì phương pháp dự đoán Inter là phù hợp [3]

Trong mode dự đoán Intra có 13 mode dự đoán khác nhau còn trong mode dự đoán Inter cũng có 7 mode dự đoán khác nhau Việc lựa chọn mode thích hợp nhất cho mỗi tình huống dự đoán cho phép bộ nén tối ưu hoá được hiệu quả nén của nó Tuy nhiên, việc sử dụng nhiều mode cũng đồng nghĩa với việc làm tăng độ phức tạp trong tính toán của nén

Đối với chuẩn H.264 các thuật toán quyết định mode được đưa ra cho phép cải thiện được tốc độ tính toán và nâng cao hiệu quả của bộ nén

Các thuật toán quyết định mode của H.264/AVC có thể được phân làm hai loại:

­ Lựa chọn mode thích hợp bằng việc sử dụng một số đặc tính của dữ liệu video

­ Sử dụng mối tương quan giữa các mode và dự đoán mode tốt nhất thông qua các mode đã được kiểm tra

Trong thực tế, thuật toán quyết định mode thường bao gồm cả loại trên

Do sự phức tạp trong tính toán của việc xác định mode, nhiều thuật toán quyết định mode nhanh được đề cập nhằm giảm độ phức tạp tính toán và thời gian mã hóa Mục tiêu là giảm số mode được kiểm tra bằng việc sử dụng các đặc trưng của dữ liệu

hỗ trợ cho việc đưa ra và thực hiện các quyết định mode

Chuẩn nén H.264 sử dụng các phân dạng MB theo cấu trúc cây: tất cả các mode

có thể được phân vào 4 nhóm như sau: {SKIP}, {16x16, 16x8, 8x16}, {8x8, 8x4, 4x8, 4x4} và {INTRA4x4, INTRA16x16} Thông thường mode SKIP được kiểm tra trước tiên bởi vì với mode này có nghĩa là MB 16x16 chuyển động bằng không và không cần mã hoá dữ liệu dư thừa Đây là một mode đơn giản nhất Như vậy ở giai đoạn ban đầu ta có thể loại bỏ hết các tính toán, bù chuyển động và dự đoán intra Nếu mode SKIP được lựa chọn nó sẽ được xem như mode tối ưu nhất

Ngược lại mode tối ưu sẽ được xác định dựa vào thông số:

COSTmode =SAD(cur,ref,mode))+λmode*R(cur,rec,mode) (2.6)

Trong đó:

­ SAD là tổng các sai khác tuyệt đối giữa các mẫu trong các block được kiểm tra

­

Ngày đăng: 03/12/2015, 20:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Iain E.G.Richardson, H.264 and MPEG-4 Video Compression: Video coding for Next-generation Multimedia, Jơnh Wiley&Sons, Ltd.ISBN:0-470-84837-5, 2003 Sách, tạp chí
Tiêu đề: H.264 and MPEG-4 Video Compression: Video coding for Next-generation Multimedia
[2] Mohammed Ghanbari, Standard Codecs: Image Compression to Advanced Video Coding, The Institution of Electrical Engineers, London, United Kingdom, 2003 Sách, tạp chí
Tiêu đề: Standard Codecs: Image Compression to Advanced Video Coding
[3] Jianwen Chen, Yanmei Qu, Yun He, “A Fast Mode Decision Algorithm In H.264”, State Key Lab on Microwave & Digital Communications, Department of Electronics Engineering, Tsinghua University, Beijing, China, 100084 Sách, tạp chí
Tiêu đề: “A Fast Mode Decision Algorithm In H.264”
[4] Thomas Wiegand, Draft IUT-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC), 8 th Meeting: Geneva, Switzerland, 23-27 May, 2003 Sách, tạp chí
Tiêu đề: Draft IUT-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC)
[5] L.Hanzo, P. Cherriman and J. Streit, Video Compression and Communications, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, 2007 Sách, tạp chí
Tiêu đề: Video Compression and Communications
[6] Peter List, Anthony Joch, Jani Lainema, Gisle Bjứntegaard, and Marta Karczewicz, Adaptive Deblocking Filter, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 13, NO. 7, JULY 2003 Sách, tạp chí
Tiêu đề: Adaptive Deblocking Filte
[7] A. Averbuch, A. Schclar, D. L. Donoho, Deblocking of Block-Transform Compressed Images Using Weighted Sums of Symmetrically Aligned Pixels, November 8, 2001 Sách, tạp chí
Tiêu đề: Deblocking of Block-Transform Compressed Images Using Weighted Sums of Symmetrically Aligned Pixels
[8] Gwang Hoon Park, Min Woo Park, Sung-Chang Lim, Woo Sung Shim, and Yung-Lyul Lee, Senior Member, IEEE, Deblocking Filtering for Illumination Compensation in Multiview Video Coding, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 18, NO. 10, OCTOBER 2008 Sách, tạp chí
Tiêu đề: Deblocking Filtering for Illumination Compensation in Multiview Video Coding
[9] Jung-Ah Choi and Yo-Sung Ho, Simple and Efficient Deblocking Algorithm for H.264/AVC Decoder, 15 th International Conference on Systems, Signals and Image Processing, IWSSIP 2008, 25-28 June 2008 Sách, tạp chí
Tiêu đề: Simple and Efficient Deblocking Algorithm for H.264/AVC Decoder
[10] ISO/IEC, Improved deblocking filter for open-loop MCTF in the JSVM, ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) 15th Meeting: Busan, R, 16-22 April, 2005 Sách, tạp chí
Tiêu đề: Improved deblocking filter for open-loop MCTF in the JSVM

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w