Tính năng Scalable Video Coding (SVC) được bổ sung vào giai đoạn 200507.Video được nén dùng tính năng này sẽ có 1 dòng bit chính và các dòng bit con, dòng bit chính có thể được giải mã bởi bộ H.264AVC codec không hỗ trợ SVC.Tuỳ vào mục đích sử dụng và hệ thống nghe nhìn, các dòng bit con có thể có tần số lấy mẫu thấp hơn hoặc độ phân giải, chất lượng hình ảnh thấp hơn dòng bit chính.
Trang 1Xử lý dữ liệu đa phương tiện - IT4621
Đề 14: Phương pháp tiên tiến nén video AVC và ứng dụng
Trang 2Phân công công việc
Hoàng Anh Đức 20093795 1 Tìm hiểu chung về chuẩn nén video tiên tiến H.264/MPEG-4 AVC
Nguyễn Minh Công 20121339
2 So sánh phương pháp nén video của chuẩn MPEG-4 AVC và MPEG-1
3 Tìm hiểu 1 thuật toán trong chuẩn MPEG-4 AVC và thử nghiệm ứng dụng
Trang 31 Tìm hiểu chung về chuẩn
nén video tiên tiến H.264/MPEG-4 AVC
• Mục đích ra đời: nén video để có video chất
lượng tốt ở tốc độ bit thấp hơn so với các
chuẩn trước (MPEG-2, H.263, MPEG-4 part 2)
Sử dụng được chuẩn 1 cách linh hoạt với
nhiều ứng dụng trên nhiều hạ tầng mạng, hệ thống khác nhau
• Phiên bản đầu tiên của H.264/AVC hoàn
thành vào 5/2003
Trang 41 Tìm hiểu chung về chuẩn
nén video tiên tiến H.264/MPEG-4 AVC
• Tính năng Scalable Video Coding (SVC) được
bổ sung vào giai đoạn 2005-07
Video được nén dùng tính năng này sẽ có 1 dòng bit chính và các dòng bit con, dòng bit chính có thể được giải mã bởi bộ H.264/AVC codec không hỗ trợ SVC
Tuỳ vào mục đích sử dụng và hệ thống nghe nhìn, các dòng bit con có thể có tần số lấy
mẫu thấp hơn hoặc độ phân giải, chất lượng hình ảnh thấp hơn dòng bit chính
Trang 51 Tìm hiểu chung về chuẩn
nén video tiên tiến H.264/MPEG-4 AVC
• Tính năng nổi bật tiếp theo được thêm vào bộ
chuẩn này là Multiview Video Coding (MVC)
Nó cho phép tạo nên các dòng bit biểu diễn
nhiều hơn 1 góc nhìn của đoạn video
1 ứng dụng của MVC là nén video 3D lập thể (tạo ra 2 hình ảnh khác nhau cho mắt trái và mắt phải)
• Multiview Video Coding được hoàn thành vào
11/2009
Trang 61 Tìm hiểu chung về chuẩn
nén video tiên tiến H.264/MPEG-4 AVC
• Các profile: profile định nghĩa một tập hợp các
công cụ & thuật toán có thể được sử dụng để tạo
ra dòng bit của video Nói cách khác, profile cho biết các kỹ thuật cụ thể có thể hay không thể
dùng khi nén video sử dụng profile đó.
• Với ứng dụng video 2D non-scalable, có các
profile: CBP, BP, XP, MP, HiP, PHiP, Hi10P, Hi422P, Hi444PP
• Với máy quay và ứng dụng chỉnh sửa chuyên
nghiệp, có thêm 4 intra-frame-only profile
Trang 71 Tìm hiểu chung về chuẩn
nén video tiên tiến H.264/MPEG-4 AVC
• SVC có các profile: Scalable Baseline Profile, Scalable
Constrained Baseline Profile, Scalable High Profile,
Scalable Constrained High Profile, Scalable High Intra
Profile
• MVC có các profile: Stereo High Profile, Multiview High
Profile, Multiview Depth High Profile
• Khái niệm level: là tập các giới hạn cho biết mức độ hiệu năng của bộ giải mã cần thiết đối với 1 profile Dùng để đánh giá khả năng của bộ giải mã (decoder) Ví dụ, ở cấp
độ (level) 1, bộ giải mã phải làm việc được với video có tốc độ bit tới 64kbit/s nếu nó hỗ trợ Baseline, Extended hoặc Main profile.
Trang 82 So sánh phương pháp nén
video của chuẩn MPEG-4 AVC và
MPEG-1
• Dự đoán giữa các frame: MPEG-4 AVC cho phép có tối đa 16 frame tham chiếu để dự đoán Với MPEG-1, khi dự đoán frame
B chỉ có 1 frame tham chiếu (dự đoán tiến) hoặc 2 (dự đoán
tiến + lùi).
• Với MPEG-4 AVC, trong 1 macroblock 16x16 có thể chia ra
nhiều block để ước lượng chuyển động Block Y (độ sáng) có thể có 7 kích thước 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4
Với MPEG-1, đơn vị nhỏ nhất để ước lượng chuyển động là
macroblock 16x16.
• Chuẩn MPEG-4 AVC cho phép ước lượng sử dụng nhiều vector chuyển động trên 1 macroblock, tối đa = 32 (TH macroblock 16x16 của frame B chứa 16 block 4x4) Với MPEG-1,
macroblock được ước lượng bởi tối đa 2 vector chuyển động.
Trang 92 So sánh phương pháp nén
video của chuẩn MPEG-4 AVC và
MPEG-1
• MPEG-4 AVC: có thể nén các macroblock trong frame B theo mọi kiểu (intra,
dự đoán tiến, dự đoán 2 chiều) Trong MPEG-1, không thể nén macroblock frame B theo kiểu intra.
• MPEG-4 AVC: vector chuyển động có độ chính xác tới 1/4 pixel, cho phép
ước lượng vùng di chuyển chính xác hơn Trong MPEG-1: vector chuyển
động chính xác tới 1/2 pixel.
• MPEG-4 AVC có tính năng “weighted prediction”: khi 1 vật chuyển động với quỹ đạo xác định nhưng độ sáng giảm dần thì không thể ước lượng chuyển động một cách bình thường được Vì vậy WP ra đời, nó sử dụng các tỷ lệ và offset trên ma trận của block Y trước khi tìm kiếm ước lượng chuyển động.
• Block trong MPEG-4 AVC có thể được dự đoán theo không gian: sử dụng
cạnh của các block liền kề để dự đoán toàn bộ block Khi dự đoán kiểu này thì trong ảnh Y của macroblock, có thể chia thành các block kích thước
16x16, 8x8, 4x4 để dự đoán MPEG-1 không có khả năng này.
Trang 102 So sánh phương pháp nén
video của chuẩn MPEG-4 AVC và
MPEG-1
• MPEG-4 AVC cho phép nén macroblock theo kiểu lossless, sau khi
giải mã thu được dữ liệu giống toàn bộ như trước khi nén MPEG-1 không có khả năng này.
• MPEG-4 AVC cho phép nén những video kiểu quét xen kẽ (interlaced scanning), giúp tăng tần số quét cảm nhận mà không tốn thêm
băng thông Trong đó có 2 kiểu nén: theo macroblock (MBAFF) hoặc theo ảnh (PicAFF) MPEG-1 không hỗ trợ video quét xen kẽ.
• Các tính năng mới của MPEG-4 AVC trong giai đoạn biến đổi
(Transform):
Biến đổi sử dụng số nguyên dựa trên nguyên tắc của DCT
Có thể sử dụng biến đổi Hadamard cho thành phần DC của block
chroma
Trang 112 So sánh phương pháp nén
video của chuẩn MPEG-4 AVC và
MPEG-1
• Các tính năng mới của MPEG-4 AVC trong giai đoạn lượng tử hoá:
Các bước lượng tử được hình thành theo hàm logarit: giúp làm giảm tốc
độ bit
Tối ưu quá trình lượng tử hoá theo mô hình cảm quan
• MPEG-4 AVC: sau lượng tử hoá, dữ liệu đi qua 1 bộ lọc (deblocking filter)
để loại bỏ hiện tượng blocking thường thấy với các kỹ thuật nén ảnh dựa trên DCT MPEG-1 không có deblocking filter.
• Giai đoạn mã hoá entropy có những điểm mới: MPEG-4 AVC có các kỹ
thuật mã hoá mới:
Mã hoá số học nhị phân theo bối cảnh (context-adaptive binary arithmetic coding - CABAC)
Mã hoá từ mã độ dài thay đổi theo bối cảnh (context-adaptive variable
length coding - CAVLC)
Kỹ thuật Exponential-Golomb coding.
Trang 122 So sánh phương pháp nén
video của chuẩn MPEG-4 AVC và
MPEG-1
•MPEG-1 dùng chủ yếu ở những video độ phân giải 352x288, 352x240, 320x240, với mục
đích lưu trữ là chính MPEG-4 AVC/H.264 được
sử dụng rộng rãi ở mọi ứng dụng, từ các ứng
dụng streaming qua internet, tốc độ dòng bit thấp, cho đến truyền hình HD và nén các phim điện ảnh, với chất lượng gần đạt tới “lossless”
Trang 133 Tìm hiểu 1 thuật toán trong
chuẩn MPEG-4 AVC và thử nghiệm
ứng dụng
• Thuật toán intra-prediction coding: sử dụng
cạnh của block bên trên và bên trái để dự
đoán toàn bộ block hiện tại
Trang 143 Tìm hiểu 1 thuật toán trong
chuẩn MPEG-4 AVC và thử nghiệm
ứng dụng
• Với block 4x4 có 9 cách (chế độ) dự đoán khác
nhau
Trang 153 Tìm hiểu 1 thuật toán trong
chuẩn MPEG-4 AVC và thử nghiệm
ứng dụng
• Với block 8x8, 16x16 có 4 cách dự đoán
Trang 163 Tìm hiểu 1 thuật toán trong
chuẩn MPEG-4 AVC và thử nghiệm
ứng dụng
Trang 173 Tìm hiểu 1 thuật toán trong
chuẩn MPEG-4 AVC và thử nghiệm
ứng dụng
• Dữ liệu đầu vào: ma trận dữ liệu ảnh, vị trí
của block cần dự đoán trong ảnh đó, kích
thước block dự đoán
• Dữ liệu đầu ra: ma trận dữ liệu của block sau
khi dự đoán, chế độ dự đoán đã chọn và kích thước block dự đoán
Trang 183 Tìm hiểu 1 thuật toán trong
chuẩn MPEG-4 AVC và thử nghiệm
ứng dụng
• Các bước thực hiện:
• B1: đặt N là kích thước block (=4, 8 hoặc 16) Tạo 2 ma trận T
[1x2N], L [2Nx1] tương ứng với các điểm ở hàng phía trên và cột
bên trái block cần dự đoán và điểm LT là điểm ở góc trên bên trái
• B2: Nếu N=4 hoặc 8, tính toán ra 9 ma trận dự đoán tương ứng với 9
chế độ dự đoán bằng cách sử dụng các công thức
• B3: Tính SAD (sum of absolute differences - tổng các sai khác tuyệt
đối) của từng ma trận với ma trận gốc Chọn ma trận ước lượng có SAD thấp nhất và trả về kết quả là ma trận đó.
• B4: Nếu N=16, tạo ra 4 ma trận dự đoán ứng với 4 chế độ Sau đó
thực hiện như B3.