Bài 2: Dữ liệu đa phương tiện2.1 Mã hóa Huffman Gán ít bít hơn cho các ký tự xuất hiện thường xuyên hơn trong văn bản.. Bài 2: Dữ liệu đa phương tiện2.3 Mã hóa LZW Do Jacov Zi, Abr
Trang 1D Ữ LIỆU ĐA PHƯƠNG TIỆN
Bài 2
PGS.TS Đặng Văn Đức dvduc@ioit.ac.vn
Hà Nội - 2005/14
Trang 2Bài 2: Dữ liệu đa phương tiện
2/48
Trang 3Bài 2: Dữ liệu đa phương tiện
1 Nhắc lại các loại dữ liệu đa phương tiệndvduc-2005/14
Trang 4Bài 2: Dữ liệu đa phương tiện
2 Dữ liệu văn bản
Văn bản thuần túy
Sử dụng mã ASCII 7 bit, 8 bit
Item trong văn bản có thể là ký tự hay từ
Văn bản thuần túy không có thuộc tính
cố định như bản ghi trong CSDL
Mã hóa loạt dài (Run-length)
dvduc-2005/14
4/48
Trang 5Bài 2: Dữ liệu đa phương tiện
2.1 Mã hóa Huffman
Gán ít bít hơn cho các ký tự xuất hiện thường xuyên hơn
trong văn bản.
Quy tắc gán các bít (mã) cho các biểu tượng (ký tự) gọi là
codebook Codebook được biểu diễn trong bảng.
Ví dụ mã hóa Huffman
Tệp văn bản chứa 1.000 ký tự, bao gồm các ký tự e, t, x và z
Xác xuất các ký tự xuất hiện trong văn bản lần lượt là: 0.8, 0.16,
Trang 6Bài 2: Dữ liệu đa phương tiện
Mã hóa Huffman
Thuật toán tìm codebook
1 Liệt kê các ký tự theo thứ tự xác suất xuất hiện trong văn bản
2 Lập cây mà cành của nó là hai ký tự có xác suất nhỏ nhất, gán
nhãn 1 và 0 cho chúng
3 Loại bỏ hai ký tự vừa được sử dụng khỏi danh sách và bổ xung
ký tự mới có xác suất bằng tổng xác suất các cành của chúng
4 Lặp lại bước 2 với danh sách mới cho đến khi hình thành gốc
Trang 7Ví dụ mã hóa Huffman
dvduc-2005/14
Bài 2: Dữ liệu đa phương tiện
7/48
Trang 8Giải nén mã Huffman
Dựng lại cây Huffman từ Codebook
Giải mã dựa vào cây Huffman
1 Khởi động con trỏ pNode để trỏ đến gốc cây
2 Lặp
a Lấy từng bit trong dòng dữ liệu nén
Nếu (bit==1) thì gán Node bên cành phải cho pNode
Ngược lại, gán Node bên cành trái cho pNode
c Nếu pNode là nút lá của cây thì
Lấy ký tự tương ứng trong nút lá
Đặt lại gốc cây Huffman vào con trỏ pNode
Cho đến khi xử lý toàn bộ các bit trong dòng dữ liệu nén.
Bài 2: Dữ liệu đa phương tiện
dvduc-2005/14
8/48
Trang 9Bài 2: Dữ liệu đa phương tiện
Run – Length (RLE)
Ví dụ:
Dãy văn bản “eeeeeeetnnnnnnnn”
Mã hóa với ký tự đặc biệt @: @e7t@n8
Khi nào nén RLE có hiệu quả?
2.2 Mã hóa loạt dài
Trang 10Bài 2: Dữ liệu đa phương tiện
2.3 Mã hóa LZW
Do Jacov Zi, Abraham Lempel và Terry Welch đề xuất
(LZW – Lempel Ziv Welch)
Ý tưởng mã hóa
LZW thay thế các chuỗi ký tự bởi các mã mà không cần thực hiện
phân tích trước các chuỗi ký tự vào
LZW thực hiện xây dựng từ điển câu (nhóm của một hay nhiều ký
tự) từ dòng ký tự vào
Trong khi RLE làm việc ở mức ký tự thì LZW làm việc ở mức câu
Thí dụ: Tệp có 10.000 ký tự
Mã hóa bằng ASCII 8 bít: cần đến 80.000 bít
Giả sử tệp có 2.000 từ (câu), trong đó có 500 từ (câu) khác nhau
Cần 9 bít để mã hóa hay cần 18.000 bít cho toàn bộ tệp
Tỷ lệ nén đến 4.4 lần
LZW áp dụng cho cả nén ảnh.
dvduc-2005/14
10/48
Trang 113 Dữ liệu âm thanh
Tín hiệu âm thanh
Tính chất cơ bản của tín hiệu âm thanh
Tần số dao động con người có thể nghe được: 20-20000 Hz
Biên độ của âm thanh:
Từ ngưỡng nghe: 0.000283 dyne/cm2 của sóng hình sin 1 Khz (0 dB)
Đến ngưỡng đau: Biên độ rất lớn do vậy nó được biểu diễn bằng dB để dễ tính toán Nếu ngưỡng nghe được là 0 dB làm tham chiếu thì ngưỡng đau trong khoảng 100-120 dB.
Bài 2: Dữ liệu đa phương tiện
Trang 13Dữ liệu âm thanh
Tiến trình âm thanh số:
Điều chế xung mã (Pulse Code Modulation - PCM)
Các bước biểu diễn âm thanh số
Lọc: Để loại bỏ những tần số không mong muốn (giữ lại tiếng nói
từ 50 Hz đến 10 KHz, âm nhạc từ 20 Hz đến 20 kHz)
Lấy mẫu: Chuyển đổi thời gian liên tục thành giá trị rời rạc
Lượng tử hóa: Chuyển đổi giá trị mẫu (âm lượng) liên tục thành
Trang 14Bài 2: Dữ liệu đa phương tiện
3.1 Số hóa tín hiệu âm thanh
(a) tín hiệu gốc dạng tương tự, (b) xung mẫu,
(c) giá trị lấy mẫu và lượng tử hóa, (d) dãy số sau khi số hóa.
0 2 4 6 8
Trang 15Bài 2: Dữ liệu đa phương tiện
Biến đổi âm thanh số sang tương tự
0 2 4 6 8
bộ lọc thông thấp dvduc-2005/14
15/48
Trang 16Xác định tốc độ lấy mẫu
Mức độ chính xác của tín hiệu số phụ thuộc vào
Tốc độ (rate) lấy mẫu
Tốc độ lấy mẫu phụ thuộc vào tần số cực đại của tín
hiệu lấy mẫu và tuân thủ định lý Nyquist:
Nếu tín hiệu tương tự chứa thành phần tần số đến f Hz thì tốc
độ lấy mẫu phải ít nhất là 2f Hz.
Thực tế tần số lấy mẫu lớn hơn 2f Hz một chút
Với tần số nghe được 20 kHz, tiếng nói 3.1 kHz thì:
Bài 2: Dữ liệu đa phương tiện
Application channels No of Sampling rate Bits per sample
Trang 17Xác định tổng số mức lượng tử hóa
Khái niệm lỗi (nhiễu) lượng tử hóa:
Hiệu số lớn nhất giữa các giá trị mẫu đã lượng tử hóa với các
giá trị tín hiệu tương tự tương ứng (bước lượng tử hóa)
Tổng số mức lượng tử hóa càng lớn thì nhiễu càng nhỏ
Nếu Q là tổng số bước lượng tử hóa, thì tổng số bít b cần biểu
diễn một mẫu sẽ là
Chất lượng tín hiệu số so với tín hiệu tương tự gốc được đo bởi
signal-to-noise ratio (SNR), tính bằng dB Với S-cường độ tín
hiệu cực đại, N-nhiễu lượng tử hóa thì:
Nếu bước lượng tử hóa là q, thì N=q và S=2bq Ta có:
Nếu sử dụng thêm 1 bít để biểu diễn mẫu thì tỷ lệ SNR tăng 6 dB
Bài 2: Dữ liệu đa phương tiện
b b
SNR = 20 log10 2 ≈ 6
Trang 18Xác định tổng số mức lượng tử hóa
Nhiễu lượng tử hóa phải nhỏ hơn ngưỡng nghe để
không nghe thấy nhiễu.
Ngưỡng đau trong khoảng 100-120 dB, do vậy SNR phải
~100 dB để không thể nghe thấy nhiễu lượng tử hóa.
Với CD-audio: để có SNR= (100-120) dB thì cần 17 bít/mẫu
(6 dB x 17 = 102 dB ) Thực tế sử dụng 16 bit và SNR=96 dB
Bài 2: Dữ liệu đa phương tiện
Application Sampling rate (kHz) Bits per sample SNR (dB)
Trang 19Bài 2: Dữ liệu đa phương tiện
Kỹ thuật lượng tử hóa tuyến tính
Kích thước các bước lượng tử hóa
sử dụng trong tiến trình ADC là như nhau, không quan tâm đến cường
độ tín hiệu
SNR tăng ở vùng với biên độ tín
hiệu cao hơn, nhưng chất lượng cảm nhận âm thanh không tăng vì con người nhậy cảm với các thành phần biên độ thấp
Q(X) Hàm lượng tử hóa đều
(bậc thang)
dvduc-2005/14
19/48
Trang 20Bài 2: Dữ liệu đa phương tiện
Nén âm thanh
Lượng tử hóa phi tuyến
Kích thước bước lượng tử hóa tăng theo hàm loga với biên độ
tín hiệu
Sử dụng bước lượng tử hóa nhỏ hơn khi biên độ tín hiệu thấp
hơn và ngược lại
Trang 21Bài 2: Dữ liệu đa phương tiện
Nén âm thanh
Thực tế: Áp dụng lượng tử hóa đều cho tín hiệu phi tuyến
Khái niệm Companding:
Tiến trình biến đổi tín hiệu tuyến tính sang tín hiệu phi tuyến
Các hàm biến đổi hay được sử dụng:
x: Biên độ tín hiệu vào gốc
y: Biên độ tín hiệu sau biến đổi
A và µ là các hằng số
µ-law (CCITT):
Với chuẩn điện thoại: µ = 255
Với chuẩn điện thoại: A=87.6
dvduc-2005/14
21/48
A
1 x
0
, ln
1
)ln(
1
≤
≤+
+
A
Ax y
) 1
ln(
) 1
Trang 22Bài 2: Dữ liệu đa phương tiện
4 Dữ liệu hình ảnh
Ảnh (Image)?
Là chân dung hay biểu diễn một người, động vật hay vật thể
đuwọc chụp, vẽ, chạm trổ hay cách nào đó để nhìn thấy được
(Dictionary.com)
Màu là gì? (không có định nghĩa hình thức)
Màu là phân bổ bước sóng λ (red: 400 nm, violet: 700 nm) hay
tần số f của sóng điện từ
Là thuộc tính quan sát vật thể, kết quả từ việc vật thể phát ra,
truyền hay phản xạ ánh sang đến mắt người
dvduc-2005/14
22/48
Trang 23Bài 2: Dữ liệu đa phương tiện
4.1 Màu
Ánh sáng (hay màu) mà con người nhận biết là dải tần
hẹp trong quang phổ điện từdvduc-2005/14
23/48
Trang 24Bài 2: Dữ liệu đa phương tiện
Màu
Tính chất ánh sáng
Màu được tạo bởi nhiều bước
sóng
sóng trội (nhận biết màu)
Cần có mô hình màu (không
gian màu):
Ánh xạ dạng sóng vào bộ ba
phần tử số để biểu diễn ba tính chất vật lý: bước sóng gốc
(màu), độ tinh khiết và cường
Trang 25Bài 2: Dữ liệu đa phương tiện
4.2 Mô hình màu
Mô hình màu?
Là mô hình toán học trừu tượng mô tả cách biểu diễn màu mà
con người có thể nhận biết bởi bộ các chữ số (3 hay 4 giá trị) hay bởi các thành phần màu
Là phương pháp định nghĩa màu
Trang 26Bài 2: Dữ liệu đa phương tiện
Mô hình màu RGB
Green (0,1,0)
Yellow (1,1,0) Red (1,0,0)
Magenta (1,0,1)
Blue (0,0,1) Cyan
(0,1,1)
White (1,1,1) dvduc-2005/14
26/48
Trang 27 Hue: Bước sóng gốc của ánh
Biểu diễn độ tinh khiết của màu / độ
tinh khiết cực đại
Value: Cường độ hay độ chói
ánh sáng
Value ∈[0, 1]
V=0 -> màu đen Đỉnh có
cường độ màu cực đại
Bài 2: Dữ liệu đa phương tiện
Trang 28Mô hình màu HSV
Mô hình HSV trực giác hơn RGB
Bắt đầu từ Hue (H cho trước và V=1, S=1)
Thay đổi S: Bổ sung hay bớt trắng
Thay đổi V: Bổ sung hay bớt đen
Cho đến khi có màu mong muốn
Mắt người có thể phân biệt 128 Hues, 130 tints và cực đại
30 shades:
128 x 130 x 30 = 382 720 màu khác nhauBài 2: Dữ liệu đa phương tiện
V
S
Tones (add B&W)
Black
White Tints (add white)
Shades (add black)
Pure Hue dvduc-2005/14
28/48
Trang 29Mô hình màu YUV
Là mô hình màu dành cho TV tương tự (NTSC, PAL và
SECAM)
Y là độ chói (luminance)
U và V là các kênh màu (chrominance channels)
V biểu diễn R-Y và U biểu diễn B-Y
Bài 2: Dữ liệu đa phương tiện
Y = 0.299 R + 0.587 G + 0.114 B
U = 0.564 (B - Y) + 128 = -0.169 R - 0.332 G + 0.500 B + 128
V = 0.713 (R - Y) + 128 = 0.500 R - 0.419 G - 0.0813 B + 128
dvduc-2005/14
29/48
Trang 30Mô hình màu YCbCr
YCbCr là chuẩn (dạng số) của JPEG, MPEG…
Y- Luma (Brighness hay Luminance) Y= 0 1
CbCr – Chroma Blue và Chroma Red: Cb,Cr=-0.5 +0.5
Mắt người nhạy cảm hơn với độ chói (Y)
Bài 2: Dữ liệu đa phương tiện
Trang 31Bài 2: Dữ liệu đa phương tiện
Ví dụ các thành phần trong mô hình màu
Y, I, Q Channels (Europe)
Y, U, V Channels (USA) Original
Original
dvduc-2005/14
(Lena Söderberg)
31/48
Trang 32Mô hình màu CMYK
Mô hình màu xác định bởi các màu cơ sở Cyan,
Magenta và Yellow dành cho máy in màu
Mô hình CMY là bù của mô hình RGB
Yellow (1,1,0) Red (1,0,0)
Magenta (1,0,1)
Blue (0,0,1) Cyan
(0,1,1)
White (1,1,1)
Trang 33Bài 2: Dữ liệu đa phương tiện
4.3 Nén ảnh
Tại sao phải nén ảnh?
Tại sao nén được ảnh?
Khai thác dư thừa trong ảnh (không gian, thời gian, phổ) và đặc
tính cảm nhận của con người
Ảnh nén không cần biểu diễn chính xác các mẫu thông tin gốc
Phân loại:
Nén không mất mát thông tin
Nén mất mát thông tin
Một số kỹ thuật nén ảnh
Lấy mẫu phụ (subsampling) không gian
Mã hóa biến đổi
dvduc-2005/14
33/48
Trang 34Nén ảnh bằng Subsampling các kênh màu
Mục tiêu: Nén ảnh bằng cách lấy ít mẫu hơn
Mắt người nhạy cảm hơn đối với brightness (Y) so với
hue (Cb) hay saturation (Cr)
Lấy nhiều mẫu hơn đối với Y, lấy ít mẫu hơn đối với Cb, Cr
Lấy mẫu phụ được sử dụng nhiều trong nén ảnh, video
Khuôn mẫu 4:4:4
Mỗi pixel có một mẫu Y, 1 mẫu Cb và 1 mẫu Cr
Khuôn mẫu 4:2:2
Mỗi pixel có 1 mẫu Y, mỗi 2 pixel có 1 mẫu Cb và 1 mẫu Cr
Bài 2: Dữ liệu đa phương tiện
dvduc-2005/14
34/48
Trang 35Bài 2: Dữ liệu đa phương tiện
Khái niệm mã hóa biến đổi
Ý tưởng
Miền quan sát – Miền tần số!
1/3
1/5
1/7 Biến đổi Fourier chỉ ra cường độ
và pha của mỗi thành phần sóng hình sin
35/48
Trang 36Bài 2: Dữ liệu đa phương tiện
Biến đổi Fourier
Discrete Fourier Transform (DFT)/IDFT:
/ 2 ) (
1 ) ( N
x
N ixu
e x f N u
) ( )
x
N ixu
e u F x
) (
1 )
x
N ixu
e x
f N
u
Trang 37Qui trình nén ảnh biến đổi
Chọn loại biến đổi
Biến đổi DCT, Wavelet,
Chọn kích thước khối ảnh để áp dụng biến đổi trên
Trang 38Bài 2: Dữ liệu đa phương tiện
Nén ảnh bằng kỹ thuật mã hóa biến đổi
Lược đồ nén ảnh JPEG (Joint Photographic Experts
Group: CCITT-ISO)
DCT f(i, j)
8x8
Lượng tử hóa F(u, v) Fq(u, v)
Bảng lượng tử
Bảng mã hóa
Mã hóa entropy
DPCM RLC
DC
AC
Header Tables Data
YIQ hay YCbCr dvduc-2005/14
38/48
Trang 39Bài 2: Dữ liệu đa phương tiện
Mã hóa biến đổi
0
16
) 1 2
( cos 16
) 1 2
( cos )
( )
( 4
v y
u
x s
v C u C
S
x
xy y
uv
π π
7 ,
0
16
) 1 2
( cos 16
) 1 2
( cos )
( )
( 4
v y
u
x S
v C u C
s
uv xy
π π
2
1)
Trang 4056 69 7 –25 –10 –5 –2 –2 -33 –21 17 8 3 –4 –5 –3 -16 –14 8 2 –4 –2 1 1
0 –5 –6 –1 2 3 1 1
8 5 –6 –9 0 3 3 2
Quantized DCT coefficients
-38 18 1 –3 –1 0 0 0 -9 –8 1 3 1 0 0 0 -3 –2 0 1 0 0 0 0
4 4 0 –1 0 0 0 0 -2 –1 0 0 0 0 0 0 -1 0 0 0 0 0 0 0
Trang 41Bài 2: Dữ liệu đa phương tiện
Mã hóa biến đổi
Luminance quantization
Chrominance quantization dvduc-2005/14
41/48
Trang 42Bài 2: Dữ liệu đa phương tiện
5 Dữ liệu video
Biểu diễn video số
Frame: Là ảnh trong video
Frame rate: Là tổng số ảnh hiển thị trong 1s Nếu hiển thị 10-15
frame/s thì có cảm giác chuyển động
Chuẩn TV Mỹ/Nhật: 30 frames/s, châu Âu: 25 frames/s
Hai đặc trưng chính của dữ liệu video
Có chiều thời gian
Dung lượng khổng lồ, ví dụ
Kích thước frame: 640x480 pixels, 16 bít/pixel, tốc độ trình diễn 30 frame/s, chiều dài 5 phút: 640x480x2x30x5x60 = 5.4 Gbytes.
Nén video: Có rất nhiều thuật toán nén
dvduc-2005/14
42/48
Trang 43Chuẩn nén MPEG 1
MPEG - Moving Picture Experts Group
Nén trên cơ sở giảm thiểu các thuộc tính như
Không gian: Giảm mật độ điểm ảnh
Ví dụ, chuẩn TV châu Âu là 625x417 sau khi nén sẽ còn 352x288 pixels
Mắt người nhạy cảm hơn với sự thay đổi độ sáng
Màu ít quan trọng hơn (dễ nhận biết ảnh với màu đen/trắng)
Mô hình RGB không phù hợp,
Sử dụng mô hình YUV hay YCbCr để mã hóa: Ví dụ chỉ sử dụng 25% dữ liệu thành phần UV.
Ba chuẩn dành cho tốc độ frame:
Phim - 24 FPS, TV Châu Âu - 25 FPS và TV Mỹ - 30 FPS.
Đối với CD cần đạt 25 FPS
MPEG 1 hỗ trợ frame rate thấp hơn cho internet -> Chất lượng kém hơn.
Tỷ lệ nén của MPEG 1 đạt tới 22:1
Bài 2: Dữ liệu đa phương tiện
dvduc-2005/14
43/48
Trang 44Nén không gian trong MPEG 1
Video là trình tự các ảnh Các ảnh có thể nén.
Ví dụ JPEG
Sử dụng lược đồ nén mất mát thông tin Đạt tỷ lệ nén từ 10:1
đến 20:1
Không quan tâm đến tham số thời gian
Gọi nén loại này là intra-coding (intra = within)
Frame sau khi nén được gọi là frame I
Quy trình nén frame I trong MPEG 1 tương tự với nén
JPEG.
Bài 2: Dữ liệu đa phương tiện
dvduc-2005/14
44/48
Trang 45Nén MPEG 1
Các khung hình mã hóa I, B, P trong MPEG1
I-Frame: Mã hóa độc lập (Intracoded) trên cơ sở DCT, không
phụ thuộc vào các frames khác
P-Frame: Mã hóa dự báo (Predictive) bù chuyển động từ frame
B hay frame I, làm tham chiếu cho các dự báo tiếp theo
B-Frame: Là ảnh mã hóa dự báo hai chiều (Bidirectionally) , phụ
thuộc vào hai frame P hoặc I trước đó gần nhất hoặc P hoặc I sau đó gần nhất
Bài 2: Dữ liệu đa phương tiện
dvduc-2005/14
45/48
Trang 46Bài 2: Dữ liệu đa phương tiện
6 Một vài tính chất chung của dữ liệu MM
Các yêu cầu lưu trữ và băng thông
Dữ liệu thô: 1GB đĩa cứng chứa 1,5 giờ âm thanh, 36 s video
chất lượng TV
Dữ liệu nén: tăng từ 10 đến 100 lần
Cấu trúc ngữ nghĩa của thông tin đa phương tiện
Âm thanh, ảnh và video không có cấu trúc ngữ nghĩa rõ ràng
như dữ liệu văn bản
Các yêu cầu về trễ và Jitter
Âm thanh và video là media liên tục, phụ thuộc thời gian
Quan hệ thời gian và không gian giữa các đối tượng
Trang 47Bài 2: Dữ liệu đa phương tiện
Cần trích chọn các đặc trưng ở các mức trừu tượng
khác nhau để phục vụ cho việc chỉ mục và tìm kiếm.
Nhu cầu nén dữ liệu đa phương tiện.
Nhu cầu đảm bảo chất lượng QoS của bộ xử lý, mạng
và lưu trữ.
UI phải mềm dẻo, thân thiện hỗ trợ nhiều loại media
trong truy vấn khác nhau.
dvduc-2005/14
47/48
Trang 48Câu hỏi ôn tập
Biểu diễn văn bản (text) trong máy tính bằng cách nào?
Giải thích nguyên lý cơ bản của tiến trình mã hóa
Huffman.
Hãy tìm Codebook của xâu cho trước với số lần xuất
hiện của các ký tự như sau:
Định nghĩa âm thanh và mô tả các tính chất chủ yếu của
chúng.
Giả sử một ứng dụng âm thanh đòi hỏi chất lượng SNR
là 54 dB Cần bao nhiêu bít để biểu diễn mẫu (sample)
âm thanh cho ứng dụng này?