Download as pdf or txt
Download as pdf or txt
You are on page 1of 177

XỬ LÝ VÀ TRUYỀN THÔNG

ĐA PHƯƠNG TIỆN
Giảng viên: TS. Vũ Hữu Tiến
Email: tienvh@ptit.edu.vn
Mobile: 0939919396
Nội dung
• Xử lý văn bản
• Xử lý âm thanh
• Xử lý hình ảnh
• Xử lý video

2
XỬ LÝ VĂN BẢN

3
Nội dung phần xử lý văn bản
• Nguyên lý cơ bản
• Các thuật toán liên quan
• Các định dạng phổ biến

4
Nguyên lý cơ bản
• Sơ đồ nguyên lý chung

Dữ Số Mã hóa Truyền Giải mã Giải Dữ


liệu hóa hoặc lưu trữ số liệu
đầu hóa đầu ra
vào
Phần xử lý Phần truyền Phần xử lý
thông

5
Nguyên lý cơ bản
• Sơ đồ nguyên lý cho xử lý văn bản

Thiết bị hiển thị


Thiết bị đầu vào Phần mềm xử lý văn bản
(màn hình, máy
(bàn phím,...) (notepad, MS word,…)
chiếu,...)

6
Nguyên lý cơ bản
• Sơ đồ nguyên lý cho xử lý văn bản
– Bàn phím

7
Nguyên lý cơ bản
• Sơ đồ nguyên lý cho xử lý văn bản
– Phần mềm xử lý văn bản

Định dạng
văn bản

Mã hóa/nén
văn bản

8
Các thuật toán liên quan
• Các thuật toán liên quan đến xử lý văn
bản thường là các thuật toán mã hóa
(nén).
• Và là các thuật toán nén không mất dữ
liệu (lossless) vì nếu mất dữ liệu dù chỉ
một ký tự đơn cũng có thể làm thay đổi ý
nghĩa của một chuỗi các ký tự.

9
Các thuật toán mã hóa
• Mã hóa Runlength
• Mã hóa Huffman
• Mã hóa Lempel-Ziv Welch

10
Mã hóa Run Length
• Mã hóa nén văn bản dựa trên các đặc
trưng của các chữ được dùng trong mỗi từ
và tần suất xuất hiện của chúng
• Ví dụ chuỗi ký tự
AAAABBBAABBBBBBCCCCC
• Sẽ được mã hóa thành
4A3B2A6B5C

11
Nguyên tắc: Không mã hóa các ký tự với
số bit bằng nhau. Ký tự xuất hiện nhiều
sẽ được mã hóa ít bit và ngược lại.
ASCII: 8 bit -> dư thừa về thông tin.

Ví dụ: “ABRACADABRA”
A:5/11, B:2/11, R:2/11, C:1/11, D:1/11
Ví dụ: “ABRACADABRA”
A:5/11, B:2/11, R:2/11, C:1/11, D:1/11
• Ví dụ: Mã hóa choỗi văn bản bằng mã
Huffman biết xác suất xuất hiện của các ký tự
trong văn bản như sau:
A: 10/20, B: 3/20, C: 2:/20, D: 1/20, E: 1/20, F:
1/20, G: 2/20
Mã hóa Run Length
• Đặc điểm:
– Dùng ít nhất 2 ký tự để mã hóa
– Ký tự đầu chỉ số lượng, ký tự sau để chỉ ký tự
được mã hóa
– Dãy ký tự có cụm ký tự càng dài, tỷ lệ nén
càng cao.

15
Mã hóa Huffman
• Thuật toán nén và tạo cây nhị phân:
– Bước 1: Thống kê tần suất xuất hiện của các ký tự
– Bước 2: Sắp xếp các tần suất từ lớn đến bé
– Bước 3: Tính tổng tần suất hai ký tự có trọng số
nhỏ nhất.
– Bước 4: Lặp lại bước 2 và 3 cho đến khi tổng tần
suất của hai ký tự bằng 1.
– Bước 5: Tạo cây nhị phân bằng cách gán 0 và 1
cho các nhánh của cây với quy ước bên trái là 0 và
bên phải là 1.

16
Mã hóa Huffman
• Thuật toán giải:
– Bước 1: Đọc lần lượt từng bít trong tập tin
nén và duyệt cây nhị phân đã được xác định
cho đến khi hết một lá. lấy ký tự ở lá đó ghi ra
tệp giải nén.
– Bước 2: trong khi chưa hết tập tin nén thì
thực hiện bước 1, ngược lại thì thực hiện
bước 3
– Bước 3: Kết thúc thuật toán

17
Mã hóa Huffman
• Đặc điểm của mã Huffman:
– Mã Huffman chỉ thực hiện được khi biết được tần suất xuất hiện
của các ký tự
– Quá trình giải nén phức tạp do chiều dài mã không biết trước
cho đến khi ký tự đầu tiên được tìm ra.
– Phải gửi cả bảng mã vào tập tin nén cho phía nhận thì mới giải
mã được, do đó hiệu suất nén bị ảnh hưởng.

18
Entropy

19
Entropy
• Ví dụ 1:
– Giả sử nguồn tin gồm 2 ký tự {0,1} có tần suất
xuất hiện là {1/2,1/2}. Tính Entropy của nguồn
tin trên.
– Giả sử nguồn tin gồm các ký tự có tần suất
lần lượt là:
{6/15,3/15,2/15,1/15,1/15,1/15,1/15}.
Dùng mã Huffman để mã hóa nguồn tin trên.
Tính độ dư thừa mã hóa.

20
• {6/15,3/15,2/15,1/15,1/15,1/15,1/15}.
• {2/5,1/5,1/5,1/5}
- Tạo mã Huffman
- Tính độ dư thừa của bộ mã
Dư thừa mã hóa
• Ví dụ 2: Cho nguồn tin như sau:
“multimedia includes medium”
- Mã hóa nguồn tin trên bằng mã Huffman.
- Tính độ dư thừa của mã Huffman trung bình
trên mỗi ký tự

23
Dư thừa mã hóa
“multimedia refers to combined contents” : 38
m: 3 space: 4
u: 1 r: 2
l: 1 f: 1
t: 4 s: 2
i: 3 o: 3
e: 5 n: 3
d: 2 b: 1
a: 1 c: 2
H = ( -4.3.log2(3/38) – 5.1.log2(1/38) –
2.4.log2(4/38) – 5.log(5/38) – 4.2.log(2/38) )/38 =
3.4178

24
Dư thừa mã hóa
• Chiều dài trung bình của các từ mã:

l(rk): số bit để mã hóa ký tự rk


pr(rk): xác suất xuất hiện ký tự rk.

• Dư thừa mã hóa:
R = Lavr - H

25
Dư thừa mã hóa
• Ví dụ: Cho đoạn text như sau:
go go gopher
– Tính lượng bit dư thừa khi mã hóa bằng mã
ASCII.
– Tính lượng bit dư thừa khi mã hóa bằng mã
Huffman.

26
Dư thừa mã hóa
• Xác xuất các ký tự:
• g:3/12; o:3/12; p: 1/12; h: 1/12; e:1/12; r: 1/12, space:
2/12
• H=- (3/12log2(3/12) +…)=2,625
• Độ dư thừa của mã ASCII: R = 8 – 2,625 = 5,375
• g:10, o:00, p:1100,h:1101,e:1110,r:1111,space:01
• Lavg=(2.3+3.2+2.2+16)/12=8/3
• Độ dư thừa của Huffman=0,042.

27
Mã hóa Lempel – Zip Welch
• Giới thiệu:
– Mã hóa LZW được xây dựng dựa trên bộ mã
LZ78 (do Lempel và Ziv đề xuất năm 1978) và
được phát triển thêm bởi Welch vào năm 1984.
– LZW xây dựng một từ điển lưu các mẫu có tần số
xuất hiện cao trong dữ liệu.
– Từ điển được xây dựng đồng thời với quá trình
đọc dữ liệu.
– Thuật toán liên tục kiểm tra và cập nhận từ điển
sau mỗi lần đọc một ký tự đầu vào.

28
Mã hóa Lempel - Ziv
• Nguyên tắc chung
– Nhớ tất cả các xâu ký tự đã gặp và gán cho nó
một thẻ riêng (bắt đầu từ 256). Nếu lần sau gặp
lại xâu ký tự đó, thì xâu ký tự sẽ được thay bằng
thẻ đó
– Có 256 (từ 0 -> 255) thẻ đầu tiên dành cho các
ký tự đơn. Thẻ mới được gán bắt đầu từ 256.
– Thực hiện so sánh chuỗi với từ điển khi chuỗi có
nhiều hơn 2 ký tự
– Các ký tự đầu vào được bổ sung vào chuỗi cho
đến khi chuỗi ký tự không có trong từ điển.

29
• CBACCBACCBAC
• ABCABCDABCD
Mã hóa Lempel - Ziv
Ví dụ: Mã hóa dãy ký tự sau:
1. BA is not in the Dictionary; insert BA, output the code for its prefix: code(B)
2. AB is not in the Dictionary; insert AB, output the code for its prefix: code(A)
3. BA is in the Dictionary.
BAA is not in Dictionary; insert BAA, output the code for its prefix: code(BA)
4. AB is in the Dictionary.
ABA is not in the Dictionary; insert ABA, output the code for its prefix: code(AB)
5. AA is not in the Dictionary; insert AA, output the code for its prefix: code(A)
6. AA is in the Dictionary and it is the last pattern; output its code: code(AA)

The compressed message is: <66><65><256><257><65><260>


32
Mã hóa Lempel - Ziv

Nguyên tắc giải mã:


- Nếu từ mã đang giải mã có trong từ điển : Từ mã được cập
nhật vào trong từ điển sẽ bao gồm từ mã trước đó và ký tự
đầu tiên của từ mã đang được giải mã.
- Nếu từ mã đang giải mã chưa có trong từ điển: Từ mã được
cập nhật vào trong từ điển sẽ bao gồm từ mã trước đó và ký
tự đầu tiên của từ mã trước đó.

33
• ACDACDACDBACDB
Mã hóa Lempel - Ziv
Use LZW to decompress the output sequence <66> <65> <256> <257> <65> <260>

1. 66 is in Dictionary; output string(66) i.e. B


2. 65 is in Dictionary; output string(65) i.e. A, insert BA
3. 256 is in Dictionary; output string(256) i.e. BA, insert AB
4. 257 is in Dictionary; output string(257) i.e. AB, insert BAA
5. 65 is in Dictionary; output string(65) i.e. A, insert ABA
6. 260 is not in Dictionary; output
previous output + previous output first character: AA, insert AA
• 66, 65, 256, 257, 65,260
• 67, 65, 256, 66, 257, 65, 260, 261
• 66, 68, 256, 65, 257, 258, 261
• 67, 65, 256, 66,257,65,260,261
Mã hóa Lempel - Ziv
Ví dụ: Mã hóa dãy ký tự sau:
1. BA is not in the Dictionary; insert BA, output the code for its prefix: code(B)
2. AB is not in the Dictionary; insert AB, output the code for its prefix: code(A)
3. BA is in the Dictionary.
BAA is not in Dictionary; insert BAA, output the code for its prefix: code(BA)
4. AB is in the Dictionary.
ABR is not in the Dictionary; insert ABR, output the code for its prefix: code(AB)
5. RR is not in the Dictionary; insert RR, output the code for its prefix: code(R)
6. RR is in the Dictionary.
RRA is not in the Dictionary and it is the last pattern; insert RRA, output code for its prefix:
code(RR), then output code for last character: code(A)

The compressed message is: <66><65><256><257><82><260> <65>


Mã hóa Lempel - Ziv
Decode the sequence <67> <70> <256> <258> <259> <257> by LZW decode algorithm.

1. 67 is in Dictionary; output string(67) i.e. C


2. 70 is in Dictionary; output string(70) i.e. F, insert CF
3. 256 is in Dictionary; output string(256) i.e. CF, insert FC
4. 258 is not in Dictionary; output previous output + C i.e. CFC, insert CFC
5. 259 is not in Dictionary; output previous output + C i.e. CFCC, insert CFCC
6. 257 is in Dictionary; output string(257) i.e. FC, insert CFCCF
Mã hóa Lempel - Ziv
• Thuật toán nén:
w = NIL;
while ( read a character k ) {
If wk exists in the dictionary
w = wk;
else
add wk to the dictionary;
output the code for w;
w = k; }

43
Mã hóa Lempel - Ziv
• Thuật toán giải nén:
read a character k;
output k;
w = k;
while ( read a character k ) /* k could be a character or
a code. */ {
entry = dictionary entry for k;
output entry;
add w + entry[0] to dictionary;
w = entry; }

44
Mã hóa Lempel - Ziv
• Ưu điểm:
– Hệ số nén tương đối cao, trong tập tin nén không cần phải chứa
bảng mã
– Bên nhận có thể tự xây dựng bảng mã mà không cần bên gửi
phải gửi kèm theo bản tin nén
– Thuật toán LZW khắc phục được sự lãng phí về bộ nhớ mà các
thuật toán trước không tận dụng được hết. Đồng thời khắc phục
được sự cứng nhắc của thuật toán nén, góp phần làm thuật toán
nén linh hoạt hơn.
• Nhược điểm:
– Tốn nhiều bộ nhớ, khó thực hiện trên các mảng bé hơn 64KB

45
3. Các định dạng văn bản
• Định dạng văn bản text (*.txt)
• Định dạng văn bản rich text (*.rtf)
• Định dạng văn bản word (*.doc, *.docx)

46
Định dạng văn bản text (*.txt)
• Định dạng text (.txt) là dạng tập tin văn bản đơn
giản nhất trong các loại tập tin văn bản
“formated text”
• Đặc điểm:
– Gồm các mã ký tự xây dựng sẵn, cho phép thay đổi
phông chữ, kích thước chữ, nhưng không thay đổi
mầu chữ, không chèn được hình ảnh vào trong file
– Không có nhiều ký tự điều khiển.
– Không có tiêu đề, không có footer, header

47
Định dạng văn bản text (*.txt)
• Đặc điểm:
– Text sử dụng tập ký tự ASCII chủ yếu cho các ký tự
ngôn ngữ tiếng Anh
– Text hiện nay sử dụng tập ký tự mã hóa Unicode như
UTF-8. Đây là bộ mã được sử dụng rộng rãi bởi nó
có ưu điểm là tương thích ngược với ASCII
– Sử dụng thuật toán mã hóa thống kê Huffman và
LZW

48
Định dạng văn bản text (*.txt)

• Đây là định dạng mở rộng của văn bản text


• Đặc trưng:
• Hỗ trợ các loại phông chữ khác nhau
gồm: mầu chữ, kiểu chữ (thường,
nghiêng, đậm, gạch chân), mầu chữ.
• Chèn hình ảnh với một số định dạng
nhất định và các biểu đồ.
• Hỗ trợ người dùng trình bày tốt hơn
như: Căn lề trái, phải, giữa.

49
Định dạng văn bản rich text (*.rtf)
• Lịch sử:
– 1980: phiên bản đầu tiên ra đời
– 1987: phiên bản RTF 1.0
– 1994: phiên bản RTF 1.3
– 1995: phiên bản RTF 1.4
– 1997: phiên bản RTF 1.5
– 1999: phiên bản RTF 1.6
– 2008: phiên bản RTF 1.9.1

50
Định dạng văn bản rich text (*.rtf)
• Đặc điểm:
– Dùng bộ ký tự ASCII và Unicode UTF-8
– Chứa một số mã điều khiển làm văn bản dễ
đọc
– Hỗ trợ một số định dạng ảnh PNG, JPEG,..
– Hỗ trợ căn lề, tạo chỉ mục,...
– Hỗ trợ một số đối tượng vẽ tay,...

51
Định dạng văn bản word (*.doc, *.docx)

• Định dạng văn bản *.doc hay *.docx là một dạng


siêu văn bản, hỗ trợ các chức năng phong phú
và mở rộng hơn nhiều so với định dạng *.rtf
• Đặc trưng:
– Cho phép tùy biến thay đổi các loại chữ, phông chữ,
kiểu chữ, mầu sắc
– Cho phép chèn các loại hình ảnh, biểu đồ, các hình
vẽ tay vào văn bản
– Cho phép trình bày các trang văn bản theo các mục,
chương, phần và có thể tổ chức thành các dạng khác
nhau từ dạng báo, tạp chí, sách, ấn phẩm khác,...

52
Định dạng văn bản word (*.doc, *.docx)

• Đặc trưng
– Cho phép tạo các header, footer, background
khác nhau
– Cho phép thêm các ghi chú, chú thích vào
văn bản
– Cho phép tạo các mục lục, các liên kết trong
và ngoài văn bản,...
– Hỗ trợ các chương trình macro cho văn bản
– và các tính năng nâng cao khác....

53
Định dạng văn bản word (*.doc, *.docx)

• Lịch sử:
– Gắn liền với sản phẩm Microsoft Office của
Microsoft
– Ban đầu là Office 95
– Gần đây là Office 2016.

54
XỬ LÝ HÌNH ẢNH

55
Xử lý hình ảnh
• Khái niệm về xử lý ảnh
• Chuẩn nén ảnh JPEG
• Các định dạng hình ảnh phổ biến

56
Các bước xử lý ảnh số
Image Morphological
Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Images taken from Gonzalez & Woods, Digital Image Processing (2002)

Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Images taken from Gonzalez & Woods, Digital Image Processing (2002)

Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Images taken from Gonzalez & Woods, Digital Image Processing (2002)

Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Images taken from Gonzalez & Woods, Digital Image Processing (2002)

Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Images taken from Gonzalez & Woods, Digital Image Processing (2002)

Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Images taken from Gonzalez & Woods, Digital Image Processing (2002)

Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Images taken from Gonzalez & Woods, Digital Image Processing (2002)

Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Các bước xử lý ảnh số
Image Morphological
Restoration/ Processing/ Xử
Khôi phục ảnh lý hình thái

Image Segmentation/P
Enhancement/T hân vùng ảnh
ăng cường ảnh

Object
Image Recognition/
Acquisition/ Nhận dạng đối
Thu nhận ảnh tượng

Representation
Problem Domain/ & Description/
Bài toán Biểu diễn và mô
Colour Image Image
tả
Processing/ Xử Compression/
lý ảnh màu Nén ảnh
Khái niệm về ảnh số
• Ảnh nhị phân

67
Khái niệm về ảnh số
• Ảnh xám

68
Khái niệm về ảnh số
• Ảnh màu

69
Ảnh và video
Các tham số trong ảnh số
 Pixels – picture elements in digital images

 Image resolution (spatial) – number of pixels in a digital


image (Higher resolution always yields better quality)

 Color resolution – number of colors on digital images


(Color bit depth: How many bits/pixel to represent
colors)

 Frame rate – the number of frames displayed per


second
Mô hình màu - RGB
Contains both brightness (luminance) and color (chrominance)
component

BLUE

MAGENTA Example: 24 bits/pixel


CYAN
8 bits/component
Black (0,0,0)
Red (255,0,0)
RED GREEN
Yellow (255,255,0)

YELLOW
Mô hình màu - YCrCb
The human visual system (HVS) is less sensitive to color
information than it is to brightness information
Y – luminance = 0.299*R + 0.587*G + 0.114*B
Cb – Chrominance –blue = 0.492 * (B-Y)
Cr – Chrominance –red = 0.877 * (R – Y)

Red component Green component Blue component

Y component Cb component Cr component


Orignal image
Khái niệm về nén ảnh
• Nén không tổn hao
• Nén tổn hao

74
Chuẩn nén JPEG
• Nén không tổn hao:
- File BMP sử dụng thuật toán Run-length
- File GIF, TIFF sử dụng thuật toán LZW
- PNG sử dụng thuật toán Huffman
- JPG sử dụng chuẩn nén JPEG

75
Chuẩn nén JPEG

• Nén không tổn hao:


– Dùng kỹ thuật DPCM (Difference Pulse Code
Modulation) và kết hợp mã hóa entropy

76
Chuẩn nén JPEG

• Nén không tổn hao:

79
200 201 203
• Ví dụ: Cho bức ảnh sau: 𝐼𝐼 = 198 198 200
205 205 207
Biết ảnh I được nén bằng phương pháp nén
không tổn hao. Tính số bit sau khi nén ảnh I.
Chuẩn nén JPEG
• Nén tổn hao:
– Trước khi truyền đi, ảnh được chia thành các khối pixel kích
thước NxN.
– Mỗi khối NxN được biến đổi sang miền tần số bằng phép biến
đổi DCT (Discrete Cosin Transform).
– Các hệ số DCT được lượng tử hóa và được mã hóa Entropy
trước khi được truyền đến phía giải mã.

82
Chuẩn nén JPEG
• Biến đổi DCT
– Công thức tổng quát:

– Áp dụng cho block 8x8:

83
Chuẩn nén JPEG
• Cách biến đổi DCT rút gọn:
– Bước 1: Tính ma trận T:

– Bước 2: Biến đổi DCT: D = T x I x T’


Trong đó T: Ma trận T tính ở bước 1.
I: Khối 8x8 cần biến đổi
T’: Ma trận chuyển vị của ma trận T

84
Chuẩn nén JPEG

87
Chuẩn nén JPEG

88
Chuẩn nén JPEG

89
Chuẩn nén JPEG
Ví dụ: Cho khối ảnh có kích thước 2x2 như sau:

Tính các hệ số DCT của khối ảnh đó.

90
Biến đổi cosine rời rạc (DCT)
• Ví dụ:
Biến đổi cosine rời rạc (DCT)
Chuẩn nén JPEG
• Lượng tử hóa:

• Bảng lượng tử:


16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 99
12 12 14 19 26 58 60 55 18 21 26 66 99 99 99 99
14 13 16 24 40 57 69 56 24 26 56 99 99 99 99 99
14 17 22 29 51 87 80 62 47 66 99 99 99 99 99 99
18 22 37 56 68 109 103 77 99 99 99 99 99 99 99 99
24 35 55 64 81 104 113 92 99 99 99 99 99 99 99 99
49 64 78 87 103 121 120 101 99 99 99 99 99 99 99 99
72 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99

Bảng lượng tử cho kênh chói Bảng lượng tử cho 2 kênh màu
94
Chuẩn nén JPEG
• Mã hóa VLC
– Mã hóa DC:

Mã DC được biểu diễn bởi cặp symbol1 + symbol2


– Symbol1: Tra trong bảng category
– Symbol2:
» Diff > 0: Chuyển Diff sang nhị phân
» Diff<0: Chuyển (Diff – 1) sang nhị phân

95
Chuẩn nén JPEG
• Mã hóa VLC
– Mã hóa DC:

96
Chuẩn nén JPEG
• Mã hóa AC:
Hệ số AC được mã hóa bởi cặp symbol1 và
symbol2:
Symbol1: Mã hóa (RUN, CAT) trong đó RUN là
số số 0 đứng trước hệ số AC, CAT là mã category
của hệ số AC
Symbol2:
AC>0: Symbol2 là mã nhị phân của AC
AC<0: Symbol2 là mã nhị phân của AC – 1

98
Chuẩn nén JPEG
• Mã hóa AC:

99
Ví dụ

100
Ví dụ

011
01111

01111

101
Chuẩn nén JPEG
• Giải nén:

102
Chuẩn nén JPEG
• Ví dụ: DC i-1 = 200
1 1
1 1
  DC
130 113
DCT Q
130 113
AC

1 1
1 1
iDC  
130 113
iQ iDCT
130 113
iAC

103
Một số định dạng ảnh
• JPEG:
– Nén tổn hao
• TIFF:
– Nén không tổn hao
• PNG
– Nén không tổn hao
• GIF:
– Định dạng ảnh chỉ bằng 256 màu.

104
TIFF
• TIFF là định dạng ảnh không tổn thất. Thực tế
TIFF thường được sử dụng như định dạng ảnh
không nén.
• Hầu hết các chương trình đồ họa sử dụng TIFF
không nén. Do đó kích thước file khá lớn (đôi khi
TIFF sử dụng thuật toán nén không tổn thất
LZW nhưng nó không được hỗ trợ rộng rãi).
JPG
• Máy ảnh số và các trang web thông thường sử
dụng file JPG vì JPG nén có tỉ lệ nén rất cao
(kích thước file nhỏ hơn rất nhiều). Để đạt được
điều này, JPG sử dụng các thuật toán nén có
tổn thất.
• Kích thước file càng nhỏ chất lượng ảnh càng
giảm và ngược lại. JPG cho phép lựa chọn giữa
chất lượng cao và kích thước file lớn với chất
lượng kém và kích thước file nhỏ.
GIF
• GIF tạo một bảng tối đa 256 màu trong 16 triệu
màu.
• Nếu một bức ảnh có ít hơn 256 màu, GIF có thể
tạo ra bức ảnh một cách chính xác. Nếu bức
ảnh có nhiều màu, phần mềm có thể tạo ra ảnh
GIF sử dụng các thuật toán để xấp xỉ số màu
trong ảnh với bảng màu giới hạn 256 màu.
GIF
• GIF đạt được khả năng nén theo 2 cách:
– Giảm số màu trong bức ảnh nhiều màu và vì
thế giảm số bit cần cho mỗi pixel.
– Nó thay thế các mẫu lặp lại thường xuyên
(đặc biệt là một vùng lớn đồng màu) bằng
cách viết tắt: “white white white white white
” “5 white”.
• GIF là không tổn thất đối với các ảnh có ít hơn
256 màu, còn đối với các bức ảnh màu chân
thực nó có thể mất 99,998% màu.
PNG
• PNG cũng là một định dạng không tổn thất.
• Nó tìm kiếm các mẫu trong ảnh để có thể sử
dụng để nén file.
• Qúa trình nén là thuận nghịch, do đó có thể khôi
phục bức ảnh một cách chính xác.
• So với TIFF và GIF, PNG có dung lượng nhỏ
hơn một chút nhưng thời gian đọc và ghi chậm
hơn.
Kết luận
• GIF và JPG là các định dạng được sử dụng cho hầu
hết các ảnh web.
• PNG được hỗ trợ bởi hầu hết các trình duyệt thế hệ
mới nhất.
• TIFF không được sự hỗ trợ rộng rãi của các trình
duyệt web và vì vậy ít được sử dụng cho web.
• PNG có thể làm được mọi điều như GIF và thậm chí
tốt hơn, vì vậy trong tương lai PNG có thể thay thế
cho GIF.
• PNG không thể thay thế cho JPG vì JPG có khả năng
nén ảnh tốt hơn nhiều.
XỬ LÝ VIDEO

111
Nội dung phần xử lý video
• Nguyên lý cơ bản
• Các chuẩn hóa và thuật toán liên quan
• Các định dạng video phổ biến

112
Nguyên lý cơ bản

Thu nhận
Mã hóa video
hình ảnh

Network

Thu nhận
Giải mã video
hình ảnh

113
Nguyên lý cơ bản
• Lấy mẫu theo không gian

• Lấy mẫu theo thời gian

114
Frame rate
Dung lượng video
176x144 pixels at 30 frames/sec – 2 hour of 24-bit color movie:

120 Gbits !!!!

Storage:
Need 180 of CD-ROM 659 Mbytes
Or 26 of DVD 4.7 Gbytes
Transmission bandwidth
PSTN: 56 kbps – need 555 hours !!!!
T1: up to 1.54 Mbps – need 22 hours!!!
T3: up to 45 Mbps – need 42 minutes
Dung lượng vs. Chất lượng
Nén video

Make image and video sequence become smaller


Một số chuẩn nén video
• Chuẩn kích thước video
– CIF (352 × 288), SIF (352 x 240)
– QCIF (176 × 144)
– HDTV (1920×1080), HEVC (4096 × 2160)

119
Một số chuẩn nén video
• Tổ chức chuẩn hóa ITU
– H.261 (1990): thoại video có tốc độ bit cố định
– H.263 (1995): thoại video có tốc độ bít thay
đổi
– H.263+ (1998), H.263++ (2001): thoại video
qua mạng khác
– H.264: video qua mạng Internet

120
Một số chuẩn nén video
• Tổ chức ISO:
– MPEG-1 (1993): nén video và audio để lưu
trữ trên các đĩa CD-ROM (tốc độ bit là 1.4
Mbps).
– MPEG-2 (1995): nén và truyền dữ liệu không
dây như DBV television, satellite television
– MPEG-4 (1998): nén và truyền video và audio
qua mạng với tốc độ bit từ 20-30kbps hoặc
cao hơn.

121
Một số chuẩn nén video

• Hợp tác giữa 2 tổ chức ISO và IUT:

5-point 1D DCT
6-point 1D DCT

……
5-point 1D DCT
6-point 1D DCT
……
……
……

122
Kỹ thuật nén video
• Dư thừa về không gian

123
Kỹ thuật nén video
• Dư thừa về không gian

“Intra-Frame
Encoded”

Quantization Zig-Zag Scan,


• major reduction Run-length
• controls ‘quality’ coding
Kỹ thuật nén video
• Dư thừa về không gian

Original (63 kb)

Low (7kb)

Very Low (4 kb)


Kỹ thuật nén video
• Dư thừa về thời gian

950 951 952


126
Kỹ thuật nén video
• Sơ đồ mã hóa video theo MPEG

Ảnh đầu Intra mode Bit


vào Bộ stream
- Inter mode
DCT
lượng tử
VLC Buffer

IQ &
IDCT
Intra mode

Inter mode
+

Bù chuyển Lưu trữ


động frame

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

127
Báo cáo đề tài
– Lý do chọn đề tài:
• Bắt nguồn từ yêu cầu trong thực tế.
• Khảo sát những nghiên cứu trước đây => ưu nhược
điểm/vấn đề còn tồn tại.
• => Nhu cầu cần phải phát triển đề tài
– Hướng giải quyết vấn đề
– Đánh giá sản phẩm/phương pháp đề xuất
Báo cáo đề tài
• Chương 1 Tổng quan/Giới thiệu chung
– Đặt vấn đề
• Lý do chọn đề tài: do yêu cầu thực tế
• Những nghiên cứu trước đây
• Mục tiêu chính của đề tài
– Giới thiệu một số kiến thức/nội dung liên quan:
Kiến thức nền tảng/công cụ phần mềm hỗ trợ phát
triển sản phẩm.
– Kết luận chương
• Chương 2: Mô tả về đề xuất/sản phẩm của đề tài
– Mô tả các bước thực hiện
• Chương 3: Kết quả và đánh giá
– Trình bày thử nghiệm sản phẩm
– Mô tả các số liệu đánh giá sản phẩm (Biểu đồ, số
liệu,…) và phân tích.
• Lưu ý: Format, định dạng báo cáo
• Có hình ảnh, bảng biểu thì phải đánh số, mô tả
Kỹ thuật nén video
• Các chế độ mã hóa của H.264

132
Kỹ thuật nén video
• Các chế độ mã hóa của H.264

133
Dự đoán vector chuyển động

134
Các chế độ mã hóa Intra

135
Giải mã video
• Sơ đồ giải mã video theo MPEG

Dữ liệu Khung hình


mã hóa Giải mã Inverse được tái tạo
Buffer
VLC Quantization
IDCT +

Khung hình Bù chuyển Lưu trữ


dự đoán động frame

Vector chuyển động

136
Mã hóa video

137
Mã hóa video
• Ví dụ 2:
5 6 3 2 7 5 4 3
9 7 9 4 3 7 7 6
𝐼𝐼 = 𝑃𝑃 =
3 5 3 1 7 2 7 6
3 5 2 1 3 5 2 7
– Tìm MV của khối thứ 4 có kích thước 2x2 trong
ảnh P.
– Mã hóa khối thứ 4 biết ma trận 𝑄𝑄 = 12 22 , DCi-1 = 5

139
Một số định dạng video
• Định dạng video phổ biến?

140
Một số định dạng video

• Định dạng AVI là gì?


 Audio Video Interleave
 Microsoft phát triển từ năm 1992
 Chứa dữ liệu âm thanh, hình ảnh trong cùng
1 file
 Có cơ chế đồng bộ giữa dữ liệu hình ảnh và
âm thanh
 Cơ bản là dữ liệu không nén
 Lưu trữ trên CD và DVD
 Công cụ play là Window
141
Media player
Một số định dạng video

• Định dạng .MP4 là gì? Do ai phát triển?


Và dùng ở đâu?
Là định dạng của chuẩn MPEG-4 Part 4
do nhóm MPEG đưa ra
Thường sử dụng trên các máy tính cài
chương trình Quicktime Player
Dùng chuẩn nén H.264 cho video

142
Một số định dạng video

• Định dạng MP4

143
Một số định dạng video

• Định dạng .WMV là gì?, do ai phát


triển,dùng ở đâu?:
– (Windows Media Video)
– Dạng phim nén được phát triển, sở hữu bởi
Microsoft.
– Dùng trên các thiết bị máy tính, điện thoại và
trên Internet
– Hiện nay là WMV 9
– Có thể play bằng WMP (Window media
Player)
144
Một số định dạng video
• Ưu điểm:
– WMV 9 có tỷ lệ nén tốt hơn gấp 2 lần so với
MPEG-4
– WMV 9 có tỷ lệ nén tốt hơn gấp 3 lần so với
MPEG-2
– WMV 9 có hiệu quả nén tốt hơn từ 15-50% so
với WMV 8

145
Một số định dạng video

• Định dạng .SWF là gì?, do ai phát triển,


dùng ở đâu?
 Macromedia Flash do hãng Macromedia phát
triển và bây giờ là của Adobe
 Flash dùng trên các máy tính, trên môi
trường Internet
 Để sử dụng bắt buộc phải cài flash player

146
Một số định dạng video

• Định dạng .SWF


 Flash sử dụng kỹ thuật xử lý vector
 Có khả năng tương tác với người dùng
 Để tạo các định dạng .SWF phải sử dụng
nguồn file dạng .FLA
 Để nhúng định dạng .SWF vào trang web
phải dùng công cụ như Dreamweaver
 Để load file .SWF từ web thì phải dùng công
cụ got flash…
147
Một số định dạng video

• Định dạng MKV? Do ai phát triển? Dùng ở


đâu?
• Là chuẩn mở do nhóm Matroska
phát triển
• Dùng để đóng gói các định dạng khác
trong cùng 1 file và không giới hạn dung
lượng
• Có thể chơi trên các phần mềm thông
dụng như VLC
148
XỬ LÝ ÂM THANH

149
Nội dung phần xử lý âm thanh
• Giới thiệu chung về âm thanh
• Các thuật toán liên quan
• Các định dạng âm thanh phổ biến

150
TỔNG QUAN VỀ NÉN ÂM THANH
• Định nghĩa:
– Âm thanh trong thế giới tự nhiên về bản chất
là những sóng âm được tạo ra từ dao động
của vật thể và được truyền đi trong một môi
trường truyền âm nhất định.
• Tính chất:
– Đối với thính giác của người, âm thanh
thường là sự dao động trong dải tần số từ
20Hz đến 20KHz
– Tai người nhạy nhất trong dải tần từ 500Hz
đến 5000Hz
151
TỔNG QUAN VỀ NÉN ÂM THANH
• Thanh áp
– Hiệu của áp suất khi có nguồn âm và áp suất tĩnh của
không khí tại một điểm trong trường âm gọi là áp suất âm
thanh hay thanh áp. Đơn vị thanh áp trước đây thường
dùng là µbar hoặc Niutơn/m2 (N/m2).
– Trong thực tế ta thường biểu thị thanh áp ở dạng mức (mức
thanh áp) với đơn vị đo là đềxiben:
N = 20lg p/ p0 (dB)
trong đó: p thanh áp, p0 thanh áp lấy làm chuẩn, thanh áp
chuẩn p0 là trị số thanh áp của ngưỡng nghe và bằng 2.105
N/m2.

152
TỔNG QUAN VỀ NÉN ÂM THANH
• Hệ thống thính giác của người

153
TỔNG QUAN VỀ NÉN ÂM THANH
• Hệ thống thính giác của người

154
BIỂU DIỄN TÍN HIỆU ÂM THANH
• Quá trình mã hóa âm thanh

155
SỐ HÓA TÍN HIỆU ÂM THANH

• Lấy mẫu, lượng tử, mã hóa

156
SỐ HÓA TÍN HIỆU ÂM THANH

• Định lý shannon: Tín hiệu có thể khôi phục


nếu được lấy mẫu với tần số >= 2 tần số
lớn nhất của tín hiệu, tức là khoảng cách 2
mẫu thỏa mãn:

• Ví dụ: tín hiệu thoại 0,3 ÷ 3,4 kHz


-> Tần số lấy mẫu là?

157
ĐỊNH DẠNG ÂM THANH
• MP3 (MPEG 1 layer 3): ra đời năm 1980 từ viện nghiên cứu
Fraunhoufer Institute (Đức).
• ACC: Ra đời năm 1997 từ Fraunhofer Institue (Đức) kết hợp với
một số công ty như AT&T, Sony, Dolby, là định dạng cải tiến của
MP3.
• OGG: Là định dạng nguồn mở được Xiph.org Foundation đề
xuất năm 1993, nén tốt và có chất lượng ở tốc độ bit thấp.
• Realaudio: Định dạng của công ty RealNetworks, chủ yếu dùng
cho phát nhạc trực tuyến, định dạng đầu tiên ra đời năm 1995,
đến nay đã có RealAudio 10
• WMA: Định dạng âm thanh của Microsoft, ra mắt năm 1999,
trên lý thuyết có thể nén 96 kbps với chất lượng của MP3 128
kbps. WMA cũNg phổ biến trong thế giới âm thanh phát trực
tuyến.
158
NGUYÊN LÝ NÉN ÂM THANH

Nén không tổn thất


• Mã hóa Huffman

• Mã hóa số học

• Giải thuật Lempel – Ziv – Welch (LZW)

159
NGUYÊN LÝ NÉN ÂM THANH

Nén có tổn thất


• Các phương pháp nén âm thanh đơn giản:
LCP(Linear Predictive Coding)
CELP (Code Excited Linear Predictor)
• Nén âm thanh dùng mô hình âm – tâm lý (Psychoacoustics):
Hệ thống nghe và phát âm của con người
Che tần số
Băng giới hạn
Che nhất thời
• Nén âm thanh MPEG

160
NGUYÊN LÝ NÉN ÂM THANH
• Phương pháp nén dựa trên cảm quan:
– Ngưỡng nghe
– Mặt nạ thời gian
– Mặt nạ tần số

161
TỔNG QUAN VỀ NÉN ÂM THANH
• Ngưỡng nghe:
– Độ nhạy của tai khác nhau đối với các thành phần tần số khác nhau
– Các âm thanh với mức dưới ngưỡng nghe thường không thể được cảm
nhận bởi tai người.
– Bất cứ thành phần nào của tín hiệu âm thanh ở dưới ngưỡng nghe
không cần phải truyền; chúng không có liên quan đến tai người. Hình
dưới đây mô tả mối quan hệ giữa mức ngưỡng nghe và tần số.

162
KỸ THUẬT NÉN ÂM THANH

• Hiệu ứng mặt nạ tần số (Frequency masking):


– Khi nghe hai âm thanh mạnh yếu khác nhau với tần số khác nhau xảy
ra cùng lúc, âm mạnh hơn có thể “che khuất” khiến tai không nghe
được âm yếu hơn. Hiệu ứng này gọi là mặt nạ tần số (frequency
masking).

163
TỔNG QUAN VỀ NÉN ÂM THANH
• Ngưỡng che khuất tần số
– Hình dạng của ngưỡng che giấu phụ thuộc vào tần số của tín
hiệu che giấu. Tần số của tín hiệu che giấu càng cao, dải bị che
giấu càng rộng.

164
TỔNG QUAN VỀ NÉN ÂM THANH

• Hiệu ứng mặt nạ thời gian (Temporal masking):


– Nếu âm yếu hơn được phát ra ngay trước hoặc ngay sau âm
mạnh hơn thì cũng bị “che khuất”. Hiệu ứng này gọi là mặt nạ
thời gian (temporal masking)

165
TỔNG QUAN VỀ NÉN ÂM THANH
• Ngưỡng che khuất thời gian
– Một xung mạnh trong miền thời gian che giấu các tín hiệu âm thanh trước
và sau xung, miễn là các mức của các tín hiệu này nằm dưới một ngưỡng
nào đó.
– Hiệu ứng này, và đặc biệt trước che giấu, khó để tưởng tượng nhưng có
thể được giải thích một cách rất dễ dàng. Đó là do độ phân giải thời gian
hữu hạn của tai người kết hợp với cách các tín hiệu được truyền tải tới bộ
não thông qua các dây thần kinh thính giác.

166
KỸ THUẬT NÉN ÂM THANH
• Mã hóa audio cảm quan (perceptual encoding) là một kỹ thuật lợi dụng những đặc
điểm cảm quan của tai người để đạt được tỷ lệ nén cao với chất lượng nén tốt.
• Nghiên cứu cho thấy: độ nhạy của tai khác nhau đối với các thành phần tần số
khác nhau, nên có thể lợi dụng điều này để lượng tử hóa tín hiệu audio với số bit
khác nhau cho mỗi băng con, dẫn đến số bit trung bình giảm xuống (hình 1) (Trong
vùng từ 3 kHz đến 4 kHz, tai người có độ nhạy tối đa)

167
NGUYÊN LÝ CƠ BẢN

168
NGUYÊN LÝ CƠ BẢN
1. Dùng bộ lọc thông để chia tín hiệu âm thanh thành
các sub-band theo tần số, tương ứng với 32 băng giới
hạn → lọc sub-band.
2. Xác định số lượng che của mỗi band gây bởi các
band lân cận bằng các kết quả bước 1 → mô hình âm
- tâm lý.
3. Nếu mức to của một băng mà nhỏ hơn ngưỡng che
thì không mã hóa nó.
4. Ngược lại, bộ mã hóa sẽ xác định số bit cần thiết để
mã hóa băng con đó.

169
NGUYÊN LÝ CƠ BẢN
Trong một băng con, có một tín hiệu khoảng 5 kHz với mức trên
ngưỡng che giấu. Trong trường hợp băng con này, chỉ giảm một số
các bước lượng tử hóa. Trong băng con khác, chúng ta tìm một tín
hiệu khoảng 10 kHz với mức dưới ngưỡng nghe. Điều này có
nghĩa rằng băng con này bị che giấu hoàn toàn bởi các tín hiệu của
các băng con lân cận và vì vậy có thể bị triệt tiêu hoàn toàn.

170
NGUYÊN LÝ CƠ BẢN
• Sau khi phân tích, 16 band đầu tiên trong số 32 band như
sau:
_________________________________________________________
Band 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Level (dB) 0 8 12 10 6 2 10 60 35 20 15 2 3 5 3 1
_________________________________________________________
• Nếu mức to của âm thứ 8 là 60dB, nó sẽ che band thứ 7 ở
mức 12dB và band thứ 9 ở mức 15dB:
• Mức to ở band 7 là 10dB (<12dB) nên bị bỏ qua, không
mã hóa.
• Mức to band 9 là 35 (> 15dB) nên được tiếp tục xử lý.

171
CHUẨN NÉN MPEG LỚP I,II

172
CHUẨN NÉN MPEG LỚP I,II

• Trong thuật toán mã hóa Layer 1, có 32 băng con, mỗi băng gồm 12
mẫu. Tổng số 384 mẫu được nhóm thành một khung.
• Trong thuật toán mã hóa Layer 1,3, mỗi băng con gồm 36 mẫu.
Tổng số 1152 mẫu được nhóm thành một khung.

173
CHUẨN NÉN MPEG LỚP III

Mã hóa biến đổi Mã hóa lai ghép giữa


biến đổi và băng con

174
CHUẨN NÉN MPEG

175
ĐỊNH DẠNG MP3
• MP3 là một định dạng âm thanh đặc biệt
được thiết kế bởi MPEG. (MPEG1 và
MPEG 2 layer 3).
• Là kỹ thuật nén mất dữ liệu được thiết kế
để giảm khối lượng.
• Các tốc độ bit đưa ra trong MP3 là 32, 40,
48, 56, 64, 80, 96, 112, 128, 160, 192,
224, 256 và 320 kbit/s

176
ĐỊNH DẠNG MP3
• Tỷ lệ: Một file MP3 với tốc độc 128kbit/s,
160kbit/s, 192kbit/s sẽ chỉ bằng 1:11, 1:9,
1:7 của file âm thanh CD nguồn
• Mã hóa: dùng subband ADPCM

177
ĐỊNH DẠNG MP3
• Cấu trúc: tập tin MP3 được tạo ra từ nhiều
khung MP3, mỗi khung bao gồm khối
header và khối dữ liệu.
• MP3 ngày nay chứa thông tin ID3 metadata
(chứa tiêu đề ,nhạc sỹ, album, số bài hoặc
các thông tin khác về file) trước hoặc sau
các khung MP3

178
ĐỊNH DẠNG MP3
• Ví dụ:

179

You might also like