Tải bản đầy đủ (.ppt) (69 trang)

chương iii nén ảnh, video, audio đồng bộ dữ liệu đa phương tiện

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

CHƯƠNG III
NÉN ẢNH, VIDEO, AUDIO
ĐỒNG BỘ DỮ LIỆU ĐA PHƯƠNG TIỆN
Vấn đề nén dữ liệu đa phương tiện
Yêu cầu dung lượng thông tin cần lưu trữ và truyền:
+ Một trang văn bản (text): 2Kbytes
+ Một ảnh màu (800 x 600 x 24bits): 1.4Mbytes
+ 30 phút âm thanh thoại số (8 kHz, 8 bits): 14Mbytes
+ 30 phút Audio CD (44.1kHz, 16bits, stereo): 432Mbytes
+ 30 phút audio (48kHz, 20bits, stereo): 432Mbytes
+ 30 phút video (800x600x24bits, 25 ảnh/s): 64.8 Gbytes
+ Tốc độ dòng video (800x600x24bits, 25 ảnh/s): 275Mbits/s
Các tham số chất lượng nén
Tỷ số nén:
+ Tỷ số nén tĩnh:
C
R
= Kích thước dữ liệu ban đầu/Kích thước dữ
liệu sau khi nén
- Tỷ số bit/pixel đối với ảnh:
Nb = Số bit sau khi nén/Tổng số điểm ảnh (bpp)
- Tỷ số nén tốc độ dòng bit video
Chất lượng nén:
- Nén không mất mát thông tin (lossless)
- Nén có mất mát thông tin (lossy)
Các tham số chất lượng nén
Độ phức tạp:
- Độ phức tạp về thời gian: Nén thời gian thực,
nén thời gian không thực
- Độ phức tạp về không gian, bộ nhớ
Nén ảnh tĩnh


Nén dữ liệu ảnh: Biến đổi dòng thông tin thành từ mã
nhằm giảm độ dư thừa thông tin theo không gian và
thời gian
- Các độ dư thừa thông tin: Dư thừa thông tin về
không gian, về thời gian, độ dư thừa về phổ và dư
thừa do độ cảm nhận
Phân loại ảnh theo thời gian:
- Ảnh tĩnh: là ảnh tự nhiên thu nhận (chụp), ảnh đồ họa
(vẽ), có dư thừa không gian và dư thừa về cảm thụ
- Ảnh động: ảnh video, ảnh động chuyên dụng, hoạt
hình, ảnh động biến thiên theo thời gian, có cả 4 loại
dư thừa
Khái quát về phương pháp nén ảnh tĩnh

Phân loại phương pháp nén ảnh:
+ Nén không mất mát thông tin: các phương pháp
mã hóa dữ liệu
+ Nén có mất mát thông tin: các phương pháp
nén dựa trên phép biến đổi ảnh:
Ảnh đầu vào Xử lý Mã hóa
Giải mã Xử lý Ảnh đầu ra
Dòng dữ liệu
00110101
Các phương pháp mã hóa không mất
mát thông tin – Lossless Compression
1.Mã loạt dài (Run length Encoding -RLE):
2.Dùng số đếm để thay thế các điểm giống nhau
lặp lại. Ý tưởng của phương pháp nén này như
sau:
RLE thay thế các chuỗi ký tự lặp lại nhiều lần

bằng một chuỗi ngắn hơn. Chuỗi ký tự được gọi là
run và thường được mã hóa (encoded) thành 2
bytes: byte đầu tiên biểu diễn số lượng các ký tự
trong run và được gọi là run count.
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Run count có thể chạy từ 1 đến 128 hoặc 256,
thông thường run count = số lượng ký tự - 1
+ Byte thứ hai là ký tự trong run (từ 0 đến 255) và
được gọi là run value
+ Ví dụ: Nếu không nén ta cần 15 bytes để biểu
diễn chuỗi AAAAAAAAAAAAAAA (15 ký tự A),
nếu sử dụng RLE ta sẽ có kết quả 15A, do đó
chỉ cần 2 bytes để biểu diễn.
15A được gọi là RLE packet

Một vài biến thể (variants) của RLE:
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
2. Mã hóa độ dài thay đổi (Variable-Length
Coding –VLC):
Dùng các cụm bit có độ dài thay đổi để mã hóa,
bao gồm mã Shannon-Fano và mã Huffman.
a, Mã Shannon-Fano
+ Ý tưởng của mã Shannon-Fano:
1. Sắp xếp các ký hiệu theo tần suất xuất hiện

2. Lặp lại việc chia các ký hiệu thành 2 phần, mỗi
một phần bằng số lần xuất hiện (xác suất xuất
hiện) của ký hiệu đó, cho đến khi mỗi một phần
chỉ còn lại một ký hiệu
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Ví dụ: Mã hóa từ “HELLO”
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Cây mã hóa của từ “HELLO” bằng mã Shannon-Fano
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Kết quả của mã hóa từ “HELLO” bằng mã Shannon-Fano
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Một cây mã hóa khác của từ “HELLO” bằng mã
Shannon-Fano
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Kết quả
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
b, Mã Huffman:
+ Ý tưởng của mã Huffman:
1. tạo một danh sách (list) gồm các ký tự đã được sắp
xếp theo thứ tự giảm dần của tần suất xuất hiện.
2. Lặp lại cho đến khi danh sách chỉ còn lại một ký tự:
(1) Từ danh sách đã sắp xếp lấy ra 2 ký tự có xác
suất nhỏ nhất để tạo thành một cây Huffman con
(subtree), cây này gồm 2 node là 2 ký tự vừa được

lấy ra và tạo ra một node cha (parent node)
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
(2) Gán tổng xác suất của hai node con cho
node cha và chèn node cha này vào danh sách
sao cho không làm thay đổi thứ tự đã sắp xếp
trong danh sách.
(3) Xóa 2 node con khỏi danh sách
3. Gán một từ mã (codeword) cho mỗi nút lá dự
trên đường đi từ gốc
Ví dụ mã hóa từ “HELLO” sử dụng mã Huffman:
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Cây mã hóa từ “HELLO” sử dụng mã Huffman
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
+ Trong sơ đồ trên các ký hiệu P
1
, P
2
, P3 được tạo
ra và được gọi là các node cha (parent node) và
danh sách sẽ bao gồm:
Sau khi sắp xếp: LHEO
Sau lần lặp thứ nhất: LP
1
H
Sau lần lặp thứ 2: LP
2
Sau lần lặp thứ 3: P3

Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression

Các thuộc tính của mã Huffman:
1. Thuộc tính tiền tố (prefix) duy nhất: Không một mã
Huffman nào lại là tiền tố của một mã Huffman khác 
ngăn không cho giải mã “nhập nhằng”
2. Tối ưu hóa: Mã hóa dư thừa tối thiểu, đó là:
- Hai ký hiệu xuất hiện ít nhất sẽ có độ dài từ mã là như
nhau chỉ khác nhau ở bit cuối cùng
- Các ký hiệu xuất hiện nhiều hơn sẽ có độ dài mã
Huffman ngắn hơn so với các ký hiệu xuất hiện ít hơn
- Độ dài trung bình của các từ mã nhỏ hơn đó là
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression

Ngoài ra ta còn có mã Huffman mở rộng
(Extended Huffman) và mã Huffman thích nghi
(Adaptive Huffman)
3.Mã hóa dựa trên từ điển – Dictionary-based
Coding

Phổ biến nhất là mã Lemple-Ziv, ý tưởng của
phương pháp này là:
+ Sử dụng các từ mã có độ dài cố định để biểu
diễn các các chuỗi có độ dài thay đổi
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
+ LZW encoder và LZW decoder cùng xây dựng
nên một từ điển động (dictionary) khi nhận được

dữ liệu.
+ LZW đặt các đầu vào (entries) dài hơn, lặp lại
nhiều lần vào trong từ điển và sinh ra mã cho
mỗi phần tử nếu như phần tử này đã có trong từ
điển
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression
Giải thuật LZW để nén dữ liệu
Các phương pháp mã hóa không mất mát
thông tin – Lossless Compression

Ví dụ: Sử dụng LZW để nén xâu “ABABBABCABABBA”
+ Bắt đầu bằng một từ điển đơn giản được gọi là “string
table”, ban đầu từ điển này chỉ gồm 3 ký tự với các mã
như sau:
Giải thuật LZW thực hiện như sau:

×