You are on page 1of 28

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA SAU ĐẠI HỌC

--------

TIỂU LUẬN
XỬ LÝ TÍN HIỆU SỐ

ĐỀ TÀI: ỨNG DỤNG CHUỖI MARKOV ẨN TRONG NHẬN DẠNG TIẾNG


NÓI

Giáo viên hướng dẫn: TS. HOÀNG TRỌNG MINH


Học viên: Nguyễn Thị Thuỳ Trang
Lớp: M19CQTE01-B

Hà Nội, tháng 03 năm 2020


Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

MỤC LỤC
DANH MỤC BẢNG BIỂU............................................................................................4
DANH MỤC HÌNH VẼ.................................................................................................5
LỜI MỞ ĐẦU................................................................................................................6
CHƯƠNG 1: TỔNG QUAN VỀ MPEG-4...................................................................7
1.1 Khái niệm và đặc điểm của MPEG-4..............................................................7
1.2 Ưu điểm và nhược điểm của công nghệ MPEG-4..........................................8
1.2.1 Ưu điểm.........................................................................................................8
1.2.2 Nhược điểm.................................................................................................13
CHƯƠNG 2: CÔNG NGHỆ MÃ HOÁ VIDEO TRONG MPEG-4........................14
2.1 Các bộ phận chức năng chính trong các thiết bị MPEG-4..........................15
2.2 Mã hoá hình dạng ngoài (Shape Coder).......................................................17
2.3 Dự đoán và tổng hợp động.............................................................................18
2.3.1 Ước lượng chuyển động..............................................................................18
2.3.2 Kỹ thuật đệm...............................................................................................19
2.4 Giải mã MPEG-4 VOP......................................................................................20
CHƯƠNG 3: CHUẨN NÉN MPEG – AVC..............................................................23
3.1 Cơ chế nén ảnh của MPEG-4 AVC (H.264).....................................................23
3.1.1. Giảm bớt độ dư thừa.................................................................................24
3.1.2. Nén theo miền thời gian.............................................................................24
3.1.3. Nén theo miền không gian.........................................................................25
3.2.2. Ưu điểm của nén thời gian........................................................................26
3.2.3. Kích cỡ khối...............................................................................................26
3.2.4. Ưu điểm về lượng tử hoá và biến đổi........................................................28
3.2.5. Ưu điểm đối với mã hoá entropy..............................................................29
3.2.6. Một ví dụ về ưu thế của MPEG-4 so với MPEG-2..................................29
3.3. Kết luận.............................................................................................................30
CHƯƠNG 4: ỨNG DỤNG CỦA MPEG-4................................................................31
KẾT LUẬN.................................................................................................................. 33

2
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

DANH MỤC THUẬT NGỮ VIẾT TẮT

Thuật ngữ tiếng Anh Thuật ngữ Tiếng Việt Định nghĩa

3
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

DANH MỤC BẢNG BIỂU

Bảng 3.1 biểu diễn mức tiết kiệm tốc độ bit của MPEG-4 AVC so với một số chuẩn
hiện có khác................................................................................................................... 29

4
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

DANH MỤC HÌNH VẼ

Hình 1.1: Công cụ nén mới của MPEG-4 so với MPEG-2............................................10


Hình 1.2: MPEG4 có thể dự đoán các tham số trên 1 hàng, hay các thông số của cột bên
trái từ một khối đầu tiên................................................................................................10
Hình 1.3.a : Đầu vào của bộ mã hóa MPEG-2 là một ảnh hoàn chỉnh được lặp lại theo
tần số ảnh (frame rate)...................................................................................................11
Hình 1.3.b : Bộ mã hóa MPEG-4 có thể xử lý các lệnh đồ họa một cách trực tiếp , do đó
công cụ biểu diễn hình ảnh thực sự nằm trong bộ giải mã MPEG-4..............................11
Hình 1.4: MPEG4 đã chuẩn hóa phương pháp truyền các đối tượng 3 chiều nhờ các đối
tượng lưới...................................................................................................................... 12
Hình 2.1. Cấu trúc của bộ mã hoá và giải mã video MPEG-4.......................................15
Hình 2.2. Sơ đồ cấu trúc giải mã video MPEG-4..........................................................16
Hình 2.3 sơ đồ thuật toán nén ảnh (a)............................................................................17
Hình 2.4 sơ đồ thuật toán nén ảnh (b)............................................................................18
Hình 2.5 Cấu trúc mã hóa một VOP..............................................................................18
Hình 2.6 : Cấu trúc giải mã VOP...................................................................................20
Hình 2.7 : Chất lượng đạt được của mã hóa video MPEG-4 cở sở khi mã hóa các Suzie
chuỗi ở 3 tốc độ bit khác nhau.......................................................................................21
Hình 2.8 Chất lượng đạt được của cả hai H.263 và MPEG-4 tại tốc độ 128 kbit/s........22
(a )baseline MPEG-4 (b) H263..................................................................................22
Hình 3.1 Sơ đồ khối mã hoá MPEG, đường đứt nét đặc trưng cho phần bổ sung của
MPEG-4 AVC trong việc nén theo miền không gian....................................................25
Hình 3.2. MPEG-4 AVC có thể phân chia thành phần chói của từng............................27
Hình 3.3 So sánh chất lượng và tốc độ giữa MPEG-4 và MPEG-2...............................29
Hình 4.1 MPEG-4 và một số giao thức cơ bản trong truyền thông Multimedia trên
Internet.......................................................................................................................... 31

5
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

LỜI MỞ ĐẦU

Ngay khi máy tính ra đời con người đã mơ ƣớc máy tính có thể nói chuyện với
mình. Yêu cầu đơn giản nhất là máy có thể xác định đƣợc từ ngữ mà chúng ta nói với
máy. Đó là mục tiêu của ngành nhận dạng tiếng nói.

Nhận dạng tiếng nói đóng vai trò quan trọng trong giao tiếp giữa ngƣời và máy.
Nó giúp máy móc hiểu và thực hiện các hiệu lệnh của con ngƣời. Hiện nay trên thế
giới, lĩnh vực nhận dạng tiếng nói đã đạt đƣợc nhiều tiến bộ vƣợt bậc. Đã có nhiều
công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói (Speech recognition) trên cơ sở
lý thuyết các hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩm
thƣơng mại nhƣ ViaVoice, Dragon..., các hệ thống bảo mật thông qua nhận dạng tiếng
nói, các hệ quay số điện thoại bằng giọng nói... Triển khai những công trình nghiên cứu
và đưa vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa đặc biệt
trong giai đoạn công nghiệp hoá hiện đại hoá hiện nay của nước nhà.

Nhận dạng tiếng nói là một quá trình nhận dạng mẫu, với mục đích là phân lớp
(classify) thông tin đầu vào là tín hiệu tiếng nói thành một dãy tuần tự các mẫu đã đƣợc
học trƣớc đó và lƣu trữ trong bộ nhớ. Các mẫu là các đơn vị nhận dạng, chúng có thể là
các từ, hoặc các âm vị. Nếu các mẫu này là bất biến và không thay đổi thì công việc
nhận dạng tiếng nói trở nên đơn giản bằng cách so sánh dữ liệu tiếng nói cần nhận dạng
với các mẫu đã đƣợc học và lưu trữ trong bộ nhớ. Khó khăn cơ bản của nhận dạng tiếng
nói đó là tiếng nói luôn biến đổi theo thời gian và có sự khác biệt lớn giữa tiếng nói của
những ngƣời nói khác nhau, tốc độ nói, ngữ cảnh và môi trƣờng âm học khác nhau.
Xác định những thông tin biến thiên nào của tiếng nói là có ích và những thông tin nào
là không có ích đối với nhận dạng tiếng nói là rất quan trọng. Đây là một ứng dụng phổ
biến trong các thiết bị công nghệ hiện nay. Bài tiểu luận gồm 3 chương chính:

Chương 1: Tổng quan về HMM

Chương 2: Tiền xử lý tín hiệu tiếng nói

Chương 3: Mô hình nhận dạng tiếng nói sử dụng HMM

6
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

CHƯƠNG 1: TỔNG QUAN VỀ HMM

Mô hình Markov ẩn (tiếng Anh là Hidden Markov Model - HMM) là mô hình


thống kê trong đó hệ thống được mô hình hóa đƣợc cho là một quá trình Markov với
các tham số không biết trƣớc và nhiệm vụ là xác định các tham số ẩn từ các tham số
quan sát đƣợc, dựa trên sự thừa nhận này. Các tham số của mô hình được rút ra sau đó
có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho các ứng dụng thừa nhận
mẫu.

Trong một mô hình Markov điển hình, trạng thái đƣợc quan sát trực tiếp bởi ngƣời
quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất. Mô hình
Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiện
đầu ra có thể. Vì vậy, nhìn vào dãy của các biểu hiện đƣợc sinh ra bởi HMM không
trực tiếp chỉ ra dãy các trạng thái. Mô hình Markov ẩn (tiếng Anh là Hidden Markov
Model - HMM) là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là
một quá trình Markov với các tham số không biết trước và nhiệm vụ là xác định các
tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này. Các tham số của
mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp, ví dụ cho
các ứng dụng thừa nhận mẫu.

Trong một mô hình Markov điển hình, trạng thái được quan sát trực tiếp bởi người
quan sát, và vì vậy các xác suất chuyển tiếp trạng thái là các tham số duy nhất. Mô hình
Markov ẩn thêm vào các đầu ra: mỗi trạng thái có xác suất phân bổ trên các biểu hiện
đầu ra có thể. Vì vậy, nhìn vào dãy của các biểu hiện được sinh ra bởi HMM không trực
tiếp chỉ ra dãy các trạng thái.

Trong mục này các nội dung cơ bản của mô hình HMM sẽ được giới thiệu bao
gồm: các định nghĩa, các tập hợp tham số, các vấn đề thiết yếu, các thuật toán chính của
mô hình HMM áp dụng vào nhận dạng tiếng nói. Tiếp đó các thành phần chính của hệ
thống nhận dạng, các công đoạn chính của nhận dạng dựa vào mô hình HMM cũng sẽ
được giới thiệu sơ qua.

1.1 Nhắc lại về quá trình Markov


Trong lí thuyết xác suất, quá trình Markov là một quá trình mang tính ngẫu
nhiên (stochastic process) với đặc tính như sau: trạng thái ck tại thời điểm k là một
giá trị trong tập hữu hạn {1,…,M}. Với giả thiết rằng quá trình chỉ diễn ra từ thời
điểm 0 đến thời điểm N và rằng trạng thái đầu tiên và trạng thái cuối cùng đã biết,
chuỗi trạng thái sẽ được biểu diễn bởi 1 vecto hữu hạn C={c 0,…,cN}. Nếu P(ck |

7
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

c0,c1,...,c(k − 1)) biểu diễn xác suất (khả năng xảy ra) của trạng thái ck tại thời điểm k khi
đã qua mọi trạng thái cho đến (k-1). Giả sử trong thời điểm đó ck chỉ phụ thuộc vào
trạng thái trước đó ck-1 và độc lập với các trạng thái trước khác. Quá trình đó gọi là
quá trình Markov bậc một(first order Markov process). Có nghĩa là xác suất để xảy ra
trạng thái ck tại thời điểm k, khi biết trước mọi trạng thái cho đến thời điểm k-1 chỉ
phụ thuộc vào trạng thái trước, ví dụ trạng thái ck-1 tại thời điểm k-1. Khi đó ta có
công thức:

P(ck | c0,c1,...,c(k − 1))= P(ck| c(k − 1))

Nói tóm lại một hệ có thuộc tính Markov được gọi là quá trình Markov (bậc1).

Như vậy, với quá trình Markov bậc n:

P(ck | c0,c1,...,c(k − 1))= P(ck| ck-n,ck-n-1,…,c(k − 1))

Nói chung với giả thuật Viterbi quá trình xảy ra bên dưới được xem là một quá
trình Markov:

 Trạng thái hữu hạn nghĩa là số m là hữu hạn.


 Thời gian rời rạc, nghĩa là việc chuyển từ trạng thái này sang trạng thái khác
cùng mất một đơn vị thời gian.
 Quan sát không tốn bộ nhớ, nghĩa là chuỗi các quan sát có xác suất chỉ phụ
thuộc vào trạng thái ngay trước đó (nên không cần lưu bộ nhớ nhiều).

1.2 Các thông số của mô hình Markov ẩn

Một mô hình Markov ẩn bao gồm các thông số như:


 Số trạng thái ‘state’ N có trong mô hình và các trạng thái này là ẩn. Các
trạng thái này sẽ được biểu thị tương ứng với giá trị S=(S1, …., SN) gọi
là tập tất cả các trạng thái ẩn.
 M, Số symbol trên mỗi dãy quan sát trong một ‘State’. Các symbol này
sẽ được biểu thị tương ứng bởi các giá trị V=(V¬1, …, VM) gọi là tập
tất cả các ký hiệu quan sát được.

8
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

 A= [aij] xác suất chuyển trạng. Trong trường hợp đặc biệt, khi các trạng
thái là như nhau trong một bước đơn, ta có aij > 0 đối với tất cả các giá
trị i và j. Trong một vài loại hình khác của HMM, ta chi aij = 0 cho một
vài căp (i,j).
 B=[bij] xác suất nhả ký hiệu.
 p= [pi] xác suất khởi trạng
 qt - Trạng thái ở thời điểm t.
 Ot= (ký hiệu) Quan sát tại thời điểm t.

Kĩ thuật mã hóa video nén theo hướng đối tượng MPEG-4 mà hiện nay đang đuợc
sử dụng rất nhiều như 1 công cụ mã hóa với nhiều tính năng ưu việt.

1.3 Các chuyển tiếp trạng thái trong mô hình Markov ẩn

Hình 1.1. Ví dụ về mô hình Markov


Trong đó:
x – là các trạng thái trong mô hình Markov
a – là các xác suất chuyển
b – là các xác suất đầu ra

9
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

y – là các dữ liệu quan sát


Ví dụ cụ thể minh hoạ sự chuyển tiếp trạng thái trong mô hình Markov ẩn:
Giả sử tôi có một người bạn sống ở rất xa. Hàng ngày chúng tôi gọi điện thoại
cho nhau và anh ta kể cho tôi nghe anh ta đã làm gì trong ngày. Người bạn tôi chỉ có 3
công việc mà anh thích làm là
1) đi dạo,
2) đi chợ
3) dọn phòng.
Hiển nhiên là sự lựa chọn phải làm gì thì phụ thuộc trực tiếp vào thời tiết hôm
đấy thế nào. Như vậy, tôi không nhận được thông tin cụ thể về thời tiết nơi anh bạn tôi
sống nhưng tôi lại biết về xu hướng chung. Dựa vào lời kể của công việc hàng ngày
của anh ta, tôi có thể đoán về thời tiết hôm đó. Mô hình Markov ẩn 2/4 Như vậy, thời
tiết được vận hành như một chuỗi Markov cụ thể. Có 2 trạng thái thời tiết, "Mưa" và
"Nắng", nhưng tôi không quan sát trực tiếp, do đó, chúng là ẩn đối với tôi. Vào mỗi
ngày, anh bạn tôi sẽ làm một trong các việc sau phụ thuộc vào thời tiết hôm đó là "đi
dạo", "đi chợ" và "dọn phòng". Vì anh bạn tôi đã tường thuật lại hoạt động của mình,
đó là các dữ liệu quan sát. Toàn bộ hệ thống này là một mô hình Markov ẩn (HMM).
Tôi biết được xu hướng thời tiết nói chung và tôi cũng biết bạn tôi thường thích làm
gì. Nói cách khác, các thông số của HMM đã biết. Thực tế, chúng ta có thể mô tả điều
này bằng ngôn ngữ lập trình Python:
trạng thái = ('Mưa', 'Nắng')
dữ liệu quan sát = ('đi dạo', 'đi chợ', 'dọn phòng')
khả_năng_ban_đầu = {'Mưa': 0.6, 'Nắng': 0.4}
khả_năng_chuyển_dịch = { 'Mưa' : {'Mưa': 0.7, 'Nắng': 0.3}, 'Nắn' : {'Mưa': 0.4,
'Nắng': 0.6}, }
khả_năng_loại_bỏ = { 'Mưa' : {'đi dạo': 0.1, 'đi chợ': 0.4, 'dọn phòng': 0.5},
'Nắng' : {'đi dạo': 0.6, 'đi chợ': 0.3, 'dọn phòng': 0.1}, }
Trong đoạn câu lệnh trên, khả_năng_ban_đầu cho thấy tôi không chắc về trạng
thái HMM khi người bạn đầu tiên gọi điện cho tôi (tất cả cái tôi biết là trời có vẻ
mưa). khả_năng_chuyển_dịch cho thấy những thay đổi về thời tiết trong chuỗi
Markov. Trong ví dụ này, chỉ có 30% khả năng ngày mai trời sẽ nắng nếu hôm nay

10
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

trời mưa. Khả_năng_loại_bỏ cho thấy anh bạn thích làm những việc gì mỗi ngày. Nếu
trời mưa thì có đến 50% khả năng anh bạn này sẽ dọn phòng, trong khi trời nắng thì
60% khả năng anh ta sẽ đi dạo.
1.4 Mô hình HMM
Một tiến trình được gọi là quá trình Markov (Markov process) nếu xác suất của một
sự kiện tại một thời điểm bị ràng buộc bởi các sự kiện trong quá khứ xác định. Như vậy,
mô hình Markov là một mô hình thống kê thuần túy. Trạng thái giúp chúng ta hiểu
được sự biến đổi của sự kiện theo thời gian. Biến cố chính trong quá trình Markov là
“đạt trạng thái i tại thời điểm t”. Một quá trình Markov được sử dụng trong các hệ thống
nhận dạng tiếng nói tự động (Automatic Speech Recognition - ASR) tuân theo các điều
kiện sau:

1. Chỉ tồn tại một thời điểm phân biệt trong chuỗi thời gian t=1, 2, …,T;

2. Chỉ có một số lượng trạng thái xác định {st}= {i}, i=1, 2, …, n;

2. Trạng thái hiện tại và quá khứ chỉ là cách nhau một bước:

P(st| st-1,st-2, …, st-k) = P(st | st-1)

Nhiệm vụ chính của quá trình Markov là tạo ra chuỗi trạng thái S=s 1, s2,…,sT. Mô
hình Markov ẩn HMM được phát triển dựa trên mô hình Markov.

1.4.1 Các thành phần chính của HMM

Các thành phần chính của HMM gồm tập trạng thái và các tập hợp tham số chính
sau:

 S={si , i=1,…, n} (với n là số trạng thái của HMM) là tập hợp các trạng thái của mô
hình HMM.
 Tập xác suất phân bố khởi tạo

 = {p1, p2, ..., pN}

 pi là xác suất để trạng thái i được chọn tại thời điểm khởi đầu t=1

 pi = P(q1 = i)

 Tập tham số thứ nhất : Xác suất chuyển trạng thái (transition probabilities) được
định nghĩa như sau:
 aij = P(st =j|st-1=i).

11
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

 Nghĩa của aij là: xác suất chuyển trạng từ trạng thái i tại thời điểm t-1sang trạng thái
j tại thời điểm t. Chúng ta gọi ma trận A={aij} là ma trận chuyển trạng thái. Đối với
mô hình Markov, khi trạng thái trước được xác định thì xác suất chuyển trạng thái
tới trạng thái tiếp theo cũng hoàn toàn xác định.

 Tập tham số thứ hai:

Để áp dụng HMM vào các sóng âm thanh, một hàm thống kê sẽ được gắn vào các
trạng thái. Đầu tiên sóng âm tiếng nói sẽ được chuyển đổi thành chuỗi các vectơ đặc
trưng theo thời gian (sẽ được giới thiệu trong phần trích rút đặc trưng sóng âm). Chuỗi
các vectơ đặc trưng này gọi là chuỗi các vectơ quan sát O=o 1,o2,…,oT , với ot là vectơ
đặc trưng cho chuỗi sóng âm tại t. Xác suất mà hàm thống kê nói trên chính là xác suất
vectơ đặc trưng ot đạt trạng thái j tại thời điểm t. Xác suất này gọi là xác suất quan sát
hay xác suất đầu ra và nó đặc trưng cho tập tham số thứ hai của HMM:

Bj (ot)=P(ot|st=j), (t=1,2,…,T; j=1,2,…,n)

Đặt B={bj (ot)}.

 Bộ ba l = (A, B, p) được coi là ký pháp gọn của một mô hình Markov ẩn. A, B
và p được gọi là những tham số (parameters) của mô hình l.

Tổng quát mô hình HMM có thể khởi tạo tại bất kì trạng thái nào. Xác xuất mô
hình HMM khởi tạo tại trạng thái i kí hiệu là πi. Tập xác suất π={πi}, gọi là tập xác suất
khởi tạo mô hình HMM. Tuy nhiên trong bài toán nhận dạng tiếng nói hầu hết các mô
hình HMM đều khởi tạo tại trạng thái đầu tiên nên chúng ta không cần tới tập xác suất
này.

Như vậy ta trong nhận dạng tiếng nói một mô hình HHM λ sẽ được đặc trưng bởi
tập trạng thái và 2 tập tham số A và B nói trên: λ=(A, B).

Tập hợp các trạng thái và ba tập hợp các tham số xác định một mô hình HMM. Nó
đặc trưng cho một tiến trình không biết trước thứ tự được mô tả

12
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

Hình 1.1 Mô hình HMM 5 trạng thái

1.4.2 Ba vấn đề cơ bản của HMM và cách giải quyết


Giả sử cho một HMM λ=(A, B) và chuỗi quan sát O= O1, O2, …, On Tất cả các ứng
dụng dựa trên mô hình Markov ẩn sẽ phải giải quyết ba vấn đề [1] sau:

i. Vấn đề tính toán: Làm sao để tính được P(O| λ) (xác suất của việc xuất
hiện chuỗi quan sát O trong mô hình HMM) với khối lượng tính toán tối thiểu.
ii. Vấn đề ước lượng tham số cho HMM : Vấn đề này được đặt ra trong quá
trình huấn luyện. Chúng ta sẽ xác định các mô hình λ dựa vào dữ liệu huấn luyện. Làm
sao xác định được các tham số của mô hình HMM λ=(A, B) sao cho P(O|S,λ) (hoặc
P(O,S| λ) ) là lớn nhất.
iii. Vấn đề giải mã (decoding): Cho một mô hình HMM λ đã được huấn
luyện. Làm sao chúng ta tính được chuỗi trạng thái S=s 1, s2, … sT tương ứng với chuỗi
quan sát O sao cho xác suất P(O,S| λ) (chuỗi trạng thái của chuỗi quan sát O trùng với
chuỗi S) là lớn nhất.
1.4.2.1 Giải quyết vấn đề tính toán. Thuật toán tính xuôi và tính ngược
 Thuật toán tính xuôi (The Forward Algorithm)
Hàm forward αt(i) được định nghĩa như sau:
αt(i) = P(O1, O2, …, Ot,st=i| λ)
ý nghĩa của αt(i) là xác suất kết của việc quan sát t vectơ sóng âm đầu tiên đạt trạng
thái i tại thời điểm t .
αt(i) có thể được tính đệ qui như sau:

1. a1(i) = pibi(O1), (1 £ i £ N) (N là số trạng thái s)

13
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

Như vậy chúng ta có thể tính được xác suất:

• Thuật toán tính ngược (The Backward Algorithm):

Hàm backward βt(i) được định nghĩa như sau:

βt(i) = P(Ot+1, Ot+2, …, OT| st=i, λ)

Ý nghĩa của hàm này như sau: nó là xác suất kết của chuỗi vectơ sóng âm thứ i+1
đến vectơ sóng âm thứ T với trạng thái i tại vectơ thứ t và mô hình λ. Nó khác trường
hợp thuật toán forward là trạng thái tại vectơ đặc trưng thứ t (là trạng thái i) là biết
trước.
Chúng ta có thể tính βt (i) đệ qui như sau:

1.4.2.2 Giải quyết vấn đề ước lượng tham số cho mô hình HMM. Thuật toán huấn
luyện Baum-Welch
Có hai thuật toán để giải quyết vấn đề này: đó là thuật toán phân đoạn K-mean
và thuật toán Baum-Welch.
Thuật toán ước lượng tham số Baum-Welch: Ở đây tham số của mô hình
λ=(A,B) được tính toán nhằm tăng xác suất P(O|λ) cho đến khi nó đạt giá trị cực đại.

14
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

Như đã trình bày ở trên việc tính toán P(O|λ) là tính tổng tất cả các P(O,I|λ) trên tất cả
các chuỗi trạng thái I chứ không phải cho một chuỗi riêng biệt nào.

Phần quan trọng của thuật toán Baum-Welchlà hàm cực đại hoá kỳ vọng
(expectation maximization - EM). Thuật toán này được sử dụng để giải quyết tình trạng
thông tin không đầy đủ trong dữ liệu huấn luyện (tức không biết được chuỗi trạng thái).
Hàm EM thường được sử dụng nhất trong nhận dạng tiếng nói là đó là chuẩn hợp lý cực
đại (maximum likelihood - ML). Giải pháp của giải thuật ML là đưa ra các công thức
nhằm cập nhật các giá trị tham số cũ của HMM. Để quá trình huấn luyện đạt được các
tham số tốt thì cần có các tập tham số khởi tạo của HMM tốt, bởi vì Baum-Welch là
một thuật toán chỉ cho kết quả tốt nhất trong cục bộ.

Ý tưởng của ML là ước lượng các tham số của HMM λ sao cho xác suất P(O|λ)
là lớn nhất với tập hợp các chuỗi quan sát {O}. Một điểm nữa của ML là thuật toán
không thực hiện tính P(O|λ) trên tất cả các chuỗi quan sát mà chỉ một số chuỗi S có P(λ|
S) vượt trội. Điều này làm giảm chi phí tính toán rất nhiều nhưng kết quả đạt được
không giảm bao nhiêu. Trong thực tế để thuận tiện cho tính toán người ta không dùng
độ hợp lý (likelihood) nguyên thủy mà dùng xác suất log_likelihood (lấy logarith của
likelihood).
Trong thực tế để ước lượng các tham số của HMM người ta ít sử dụng thuật toán
Baum-Welch nguyên thủy vì chi phi tính toán của nó quá lớn. Thay vào đó thuật toán
Baum-Welch được tính dựa vào thuật toán Forward và Backward. Vì vậy chúng ta
thường hay nhầm thuật toán Baum-Welch với thuật toán Forward- Backward.
1.4.2.3 Giải quyết vấn đề decoding. Thuật toán Viterbi
Thuật toán này tìm ra chuỗi S=s1,s2, …, sT sao cho sự xuất hiện chuỗi vectơ đặc
trưng O=O1, O2, …, OT trong chuỗi trạng thái I là lớn nhất. Có nghĩa là chúng ta phải
tìm chuỗi trạng thái S sao cho P(O,S| λ) là lớn nhất. Đây là một thuật toán qui nạp và nó
được sử dụng trong quá trình nhận dạng sau khi quá quá trình huấn luyện đã tìm ra
được các mô hình HMM. Thuật toán Viterbi tránh được tìm kiếm trên không gian trạng
thái lớn của mô hình HMM nên giảm thiểu được chi phí tính toán.

P(O| λ)=P(O|S, λ)P(S| λ) = bS1(O1) aS1S2 bS2(O2)… aST-1 S T bST(OT)

Thuật toán Viterbi có thể được mô tả như sau:

Giả sử chúng ta đang ở vectơ đặc trưng thứ t trong chuỗi vectơ đặc trưng và đang ở
trạng thái i trong mô hình HMM, chúng ta muốn chuyển qua trạng thái j trong mô hình
HMM. Chi phí để chuyển từ trạng thái i sang trạng thái j là trọng số - ln(aijbj(Ot)) (với
aijbj(Ot) là xác suất chuyển từ trạng thái i sang trạng thái j tại thời điểm t và vectơ đặc
trưng Ot đạt trạng thái j) với Ot là vectơ đặc trưng được chọn trong chuỗi O=O1, O2,

15
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

…, OT khi chuyển tới trạng thái j. Tại thời điểm t=1 trọng số này là –ln(bi(O1)), trọng
số này được gọi là trọng số khởi đầu. Như vậy tổng trọng số của chuỗi trạng thái sẽ là
tổng các trọng số chuyển trạng thái giữa hai trạng thái kề nhau. Như vậy bài toán tìm
chuỗi trạng thái có xác suất cao nhất sẽ tương ứng với bài toán tìm chuỗi trạng thái có
tổng trọng nhỏ nhất.

16
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

CHƯƠNG 2: TIỀN XỬ LÝ TÍN HIỆU TIẾNG NÓI

Để nhận dạng tiếng nói, trước tiên cần thu tiếng nói. Chất lượng tiếng nói thu được
càng tốt thì nhận dạng càng chính xác. Tuy nhiên trên thực tế, dù là trong phòng thí
nghiệm hay môi trường sinh hoạt hàng ngày, người ta vẫn chỉ thu được tiếng nói kèm
theo nhiều tín hiệu không mong muốn khác, bao gồm tiếng ồn (tiếng quạt máy, xe cộ,
…), nhiễu (tiếng nhép môi, tiếng thở, nhiễu do điện từ, tiếng đĩa CD-ROM của PC
quay,…), tiếng vang,… Ngoài ra, âm thanh thu được có thể bị bóp méo do thiết bị
(microphone, card âm thanh,…), âm thanh quá nhỏ, quá lớn,…

Vì vậy, quá trình tiền xử lý được đưa vào quá trình nhận dạng tiếng nói (ngay sau
giai đoạn thu âm thanh) nhằm đưa chất lượng âm thanh lên cao nhất có lợi cho quá trình
nhận dạng sau này (khi học mẫu, nhận dạng,…).

Về mặt kỹ thuật, quá trình tiền xử lý sẽ áp dụng các phương pháp máy học, Thuật
toán hoặc áp dụng một hay nhiều bộ lọc lên tín hiệu tiếng nói vừa mới thu được.

2.1 Qúa trình tiền xử lý tín hiệu tiếng nói


Gọi:

Yi là tín hiệu thu được tại thời điểm i

Xi là tín hiệu thuần tiếng nói tại thời điểm i

Ni là tín hiệu khác (tín hiệu nhiễu, làm méo tiếng, …) tại thời điểm i

ta có:

Yi = Xi + Ni

Trong đó, Ni có thể là tập hợp của M nguồn tín hiệu nhiễu khác nhau:

Như vậy, đầu vào của quá trình tiền xử lý là dãy tín hiệu âm thanh thu được
có chiều dài k:

Y = {Y1, Y2, …, Yk }

17
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

Và đầu ra là dãy tín hiệu tiếng nói lý tưởng có cùng chiều dài:

X = {X1, X2, … , Xk }

Thực hiện tốt quá trình tiền xử lý sẽ nâng cao đáng kể chất lượng nhận dạng.

Tuy nhiên trên thực tế, quá trình tiền xử lý chỉ hạn chế những ảnh hưởng
không mong muốn tác động xấu đến kết quả nhận dạng chứ không thể triệt tiêu
hết được chúng.

2.2 Một số thao tác tiền xử lý tín hiệu

2.3.1 Làm nổi tín hiệu (pre-emphais)


Thực hiện một bộ lọc thông cao nhằm hạn chế việc giảm đi cường độ tín hiệu trong
dữ liệu tiếng nói. Như tên gọi của nó, bộ lọc thông cao giữ lại các thành phần có tần số
cao và loại bỏ đi các thành phần có tần số thấp. Trong tiếng nói, các thành phần có tần
số cao mang năng lượng ít hơn nhiều so với các thành phần có tần số thấp, nhưng
những vùng này lại lưu giữ một phần tín hiệu quan trọng của tiếng nói, vì vậy chúng ta
sẽ tăng cường độ tín hiệu trong vùng tần số cao, làm cân bằng tần số giữa các vùng.
Người ta còn gọi quá trình này là làm phẳng tín hiệu tiếng nói. Quá trình lọc được thực
hiện như sau:
Ứng với mỗi giá trị Xi trong chuỗi dữ liệu đầu vào X = {X1, X2, …,

Xk}, áp dụng công thức:

Yi = Xi – α*Xi-1

Trong đó:

Y = {Y1, Y2, …, Yk}

i = 1..k: chuỗi tín hiệu đã được xử lý

α là hệ số làm nổi, thường được chọn từ 0,95 đến 0,97. Hệ số làm nổi α càng cao,
thành phần có tần số thấp bị loại đi càng nhiều.

18
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

Hình 2.1 Sóng âm của chữ “hai” trước khi (hình trái) và sau khi (hình phải)
được làm phẳng
2.3.2 Lọc tiếng ồn

 Thuật toán Trừ âm phổ phi tuyến (Nonlinear Spectral Subtraction – NSS)
Thuật toán NSS [9] sử dụng đến tỉ lệ tiếng ồn (Signal to noise ratio - SNR) phụ
thuộc tần số. Sử dụng phép trừ phi tuyến, hệ số trừ sẽ giảm ở các thành phần phổ có tỉ
lệ SNR cao và tăng ở các thành phần phổ có tỉ lệ SNR thấp. Thêm vào đó, mô hình
tiếng ồn được mở rộng bằng cách sử dụng cả phổ tiếng ồn trung bình và phổ tiếng ồn
vượt ngưỡng. NSS được thể hiện bằng công thức sau:

trong đó,..

H i (w) phụ thuộc vào ước lượng làm trơn của phổ cường độ tiếng ồn Y (w) , và hệ

số trừ phi tuyến fi (w) ,

Hệ số trừ phi tuyến fi (w) được tính như sau:

Khoảng biến thiên của Φi(ω):

 Thuật toán ước lượng bình phương cực tiểu lỗi (Minimum Mean Square Error
Estimator - MMSE)

Ephraim và Malah đề xuất thuật toán này [9] để áp dụng cho các thành phần biên

độ có phổ tiếng ồn ngắn kỳ. Trong phương pháp này, các thành phần phổ của tiếng nói

19
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

và tiếng ồn được mô hình thành các biến ngẫu nhiên Gauss. Thuật toán ước lượng thành

phần biên độ của phổ thứ k bằng bộ lọc sau:

v k được tính như sau:

ξ k và γ k là các tỉ lệ SNR a priori và a posteriori của thành phần phổ thứ k

2.3 Trích rút đặc trưng

2.3.1 Giới thiệu

Quá trình nhận dạng mẫu (cả ở pha huấn luyện hay pha nhận dạng) đều trải qua
bước trích rút đặc trưng (feature extraction). Bước này thực hiện các phân tích phổ
(spectral analysis) nhằm xác định các thông tin quan trọng, đặc trưng, ổn định của tín
hiệu tiếng nói, tối thiểu hoá ảnh hưởng của nhiễu; xúc cảm, trạng thái, cách phát âm của
người nói; giảm khối lượng dữ liệu cần xử lí...
Mặc dù không mang tính quyết định nhưng giai đoạn trích chọn đặc trưng ảnh
hưởng rất lớn đến hiệu năng nhận dạng. Vì vậy việc lựa chọn đặc trưng cho tín hiệu
tiếng nói rất quan trọng.
Tín hiệu tiếng nói thu được từ micro vốn có kích thước lớn. Máy tính cá nhân
không có đủ tốc độ và bộ nhớ cho quá trình nhận dạng lượng dữ liệu lớn đó. Để giải
quyết vấn đề này, người ta chỉ trích ra và xử lý những thông tin cần thiết nhất từ dãy tín
hiệu thu được. Các tín hiệu trích ra được gọi là đặc trưng của dãy tín hiệu gốc. Đặc
trưng này phải thoả những điều kiện sau:
 Nhỏ hơn rất nhiều so với tín hiệu gốc (để không chiếm bộ nhớ, giảm thời gian khi
xử lý,…)
 Vẫn giữ lại những đặc điểm quan trọng nhất của dãy tín hiệu ban đầu

Có nhiều dạng đặc trưng, có thể chia thành 3 nhóm sau:


 Nhóm 1:
Đặc trưng trích ra nhờ mô phỏng theo mô hình bộ máy phát âm của con người. Các
đặc trưng ở nhóm này sử dụng phương pháp dự báo tuyến tính để rút đặt trưng. Các

20
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

phương pháp thường dùng là: mã hoá dự báo tuyến tính (Linear Predictive Coding –
LPC), tri thức dự báo tuyến tính (Perceptional Linear Prediction - PLP),…
 Nhóm 2:
Đặc trưng trích ra dựa trên khả năng cảm nhận âm của thính giác con người. Các
đặc trưng ở nhóm này sử dụng phương pháp phân tích hệ số cepstral và phổ âm
(spectral), còn gọi là các phương pháp dãy bộ lọc. Phương pháp thường sử dụng là mã
hoá hệ số cepstral tần số mel (Mel Frequency Cepstral Coding - MFCC).
 Nhóm 3:

Một số các đặc trưng âm học khác về cao độ, ngữ điệu, dấu nhấn: thích hợp cho
nhận dạng ngôn ngữ đang nói, thanh điệu, tâm trạng người nói, ….

Các đặc trưng ở nhóm 3 ít được dùng trong việc nhận dạng âm tiết.

Người ta dùng chủ yếu các đặc trưng ở nhóm 1 và nhóm 2.

2.3.2 Một số phương pháp trích rút đặc trưng


2.3.2.1 Phương pháp Mã hoá dự báo tuyến tính (LPC)
Phương pháp mã hoá dự báo tuyến tính LPC là một kỹ thuật được sử dụng khá rộng
rãi vì nó trích rút ra được mô hình tín hiệu tiếng nói tương đối tốt và chạy tương đối
nhanh hơn so với các kỹ thuật dùng dãy bộ lọc. (Tuy nhiên, với các máy tính ngày nay,
tốc độ không còn là vấn đề đáng quan tâm).
Trong phương pháp này, người ta hướng giả định:
 Dây thanh âm độc lập với bộ máy phát âm
 Bộ máy phát âm có cấu tạo tuyến tính
Trong môi trường cộng hưởng của bộ máy phát âm tuyến tính, giá trị của tín hiệu hiện
tại sẽ phụ thuộc vào các giá trị trước đó, tức là tín hiệu s(t) tại thời điểm t được biểu
diễn bằng một phương trình tổng của tích p giá trị tín hiệu trước đó trong khung và các
hệ số:
p
s(t) = a1*s(t - 1)+ a2*s(t - 2) + … + ap*s(t-p)=∑ ai s (t−i)
i=1

Chúng ta không thể tìm ra dãy số ai chính xác mà chỉ có thể ước lượng tìm ra giá trị
gần nhất.

Giả định về các tính giá trị tín hiệu như trên là không chính xác vì tính cộng hưởng
trong cơ quan phát âm biến thiên chậm theo thời gian. Vì vậy, một giá trị lỗi sẽ được
cộng thêm vào kết quả:

21
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

p
S(t)=∑ ai s (t−i)+e (n)
i=1

Hàm truyền được xây dựng bằng bộ lọc toàn cực, có dạng:

Trong đó, p là số lượng cực và a0 ≡ 1 và các hệ số lọc {ai}được chọn sao cho sai số
dự đoán bình phương đạt giá trị tối thiểu. Có 2 phương pháp được sử dụng: tự tương
quan và hiệp phương sai. Phương pháp hiệp phương sai được sử dụng trong tín hiệu
tuần tự. Chúng ta chỉ xem xét đến phương pháp tự tương quan: ứng với mỗi frame, p+1
hệ số tương quan đầu tiên được tính như sau:

Sau đó, các hệ số lọc được tính toán đệ quy sử dụng các hệ số tương phản. Gọi E là
lỗi dự báo. Ban đầu, E = r0, và gọi k(i-1) và a(i-1) lần lượt là hệ số tương phản và hệ số
lọc cho bộ lọc thứ (i-1). Bộ lọc thứ (i) có thể được tính qua 3 bước:

Bước 1: Tạo các hệ số tương phản mới:

Bước 2: Cập nhật năng lượng dự đoán:

Bước 3: Tính các hệ số lọc mới:

Các hệ số lọc được tính qua p bước lập.


2.3.2.2 Phương pháp Mã hoá cepstral tần số Mel (MFCC)
Các hệ nhận dạng tiếng nói thường tách đặc trưng từ tín hiệu bằng cách: chia tín
hiệu thành các đoạn độ dài 5-15 ms, mỗi đoạn gọi là một khung (frame). Trong khoảng
thời gian ngắn như vậy, phổ của tín hiệu đủ ổn định để tiến hành tách đặc trưng. Mỗi
frame sẽ cho đặc trưng là một vectơ và đặc trưng của toàn bộ tín hiệu sẽ là một dãy
vectơ.
Davis và Mermelstein đưa ra thuật ngữ hệ số cepstral theo tần số Mel (Mel-
frequency Cepstral Coefficients - MFCC) vào năm 1980 khi họ kết hợp các bộ lọc cách

22
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

khoảng không đều với biến đổi Cosine rời rạc (DCT) thành một thuật toán đầu-cuối ứng
dụng trong lĩnh vực nhận dạng tiếng nói liên tục. Phương pháp MFCC là một trong
những phương pháp sử dụng dãy bộ lọc.
MFCC là phương pháp trích đặc trưng dựa trên đặc điểm cảm thụ tần số âm của tai
người: tuyến tính đối với tần số nhỏ hơn 1kHz và phi tuyến đối với tần số trên 1kHz
(theo thang tần số mel, không phải theo Hz).
MFCC là phương pháp tách đặc trưng dựa trên sự cảm thụ của con người nên
thường cho kết quả nhận dạng cao nhất (theo [12]). Vì lẽ đó rất nhiều hệ thống nhận
dạng tiếng nói sử dụng MFCC làm đặc trưng.
• Sơ đồ khối của quá trình tính MFCC

Hình 2.2 Sơ đồ khối quá trình trích chọn đặc trưng MFCC
Quá trình tính toán như sau: đầu tiên tín hiệu tiếng nói được chia thành các frame
có độ dài 10ms. Mỗi frame sẽ được nhân với một hàm cửa sổ, thường là cửa sổ
Hamming sau đó được chuyển sang miền tần số nhờ biến đổi Fourier. Tín hiệu ở miền
tần số được nhân với các bộ lọc mel-scale, lấy logarit rồi biến đổi Fourier ngược (để
chuyển sang miền cepstral) sẽ được các hệ số MFCC.
2.3.2.1 Phương pháp Mã hoá cepstral tần số Mel dựa trên LPC (MFCC)
Phương pháp này giống như phương pháp MFCC. Điểm khác biệt là sau bước
phân chia cửa sổ, phổ tín hiệu được tính thông qua phép biến đổi dự báo tuyến
tính LPC thay vì dùng các phép biến đổi Fourier:

23
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

Hình 2.3 Sơ đồ của bộ lọc MFCC dựa trên biến đổi dự báo tuyến tính và các
biến đổi Fourier

24
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

CHƯƠNG 3: MÔ HÌNH HMM NHẬN DẠNG TIẾNG NÓI

3.1 Mô hình nhận dạng


Giai đoạn huấn luyện:

Hình 3.1 Sơ đồ huấn luyện mô hình HMM

Giai đoạn nhận dạng:

Hình 3.2 Sơ đồ nhận dạng từ mô hình HMM đã được huấn luyện

Trong giai đoạn huấn luyện chúng ta sử dụng thuật toán Baum-Welch để ước lượng
tham số cho HMM. Việc huấn luyện nếu thực hiện trên dữ liệu gán nhãn hoặc không có

25
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

dữ liệu gán nhãn. Dữ liệu tiếng nói được gán nhãn theo âm vị là dữ liệu mà trên nó đã
được xác định biên của các âm vị của từng từ trên chuỗi sóng âm. Các nhãn này được
được gán bằng tay. Còn dữ liệu không gán nhãn có nhiều mức độ. Trong bản luận văn
này của chúng tôi thì dữ liệu không gán nhãn được hiểu theo nghĩa là chỉ xác định chuỗi
âm tiết (tương ứng ta xác định được chuỗi âm vị) tương ứng với chuỗi sóng âm.

Quá trình huấn luyện sẽ huấn luyện cho từng mô hình âm vị HMM ứng với tập hợp
tất cả các chuỗi sóng âm được gán nhãn tương ứng với nó.

Các tham số được ước lượng cho HMM là xác suất chuyển trạng thái từ trạng thái i
sang trạng thái j giữa các trạng thái của HMM a i j các tham số của từng trạng thái
vectơ trung bình m và vectơ hiệp phương sai

Trong nhận dạng hệ thống sẽ dựa vào các mô hình HMM học được và mô hình
ngôn ngữ và áp dụng các chiến lược tìm kiếm để chuỗi các âm tiết tương ứng với chuỗi
sóng âm đưa vào. Ta có thể thấy lúc huấn luyện thì chúng ta huấn luyện trên mô hình
âm vị, còn lúc nhận dạng thì chúng ta nhận dạng trên âm tiết. Như vậy quá trình nhận
dạng sẽ đi theo ba cấp như hình HÌNH 4. Chiến lược tìm kiếm được xây dựng dựa trên
thuật toán Viterbi.

Hình 3.3 Mô hình nhận dạng theo 3 cấp

26
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

KẾT LUẬN

MPEG-4 AVC đánh dấu một bước ngoặt trong lĩnh vực nén video, áp dụng các kỹ
thuật tiên tiến nhằm mục đích sử dụng băng thông hiệu quả hơn và đem lại chất lượng
ảnh cao hơn. Với các kỹ thuật này, MPEG-4 AVC có thể giảm tốc độ bit xuống hơn 50%
so với chuẩn MPEG-2. Tuy nhiên, MPEG-4 AVC đòi hỏi một cấp độ phức tạp cao hơn
trong cả quá trình lập mã lẫn giải mã. Mặc dù vậy, thử thách này hoàn toàn có thể chinh
phục được nhờ có những tiến bộ mới liên tiếp trong khả năng xử lý phần mềm cũng như
phần cứng. Ngày này, các công nghệ trong tiêu chuẩn MPEG-4 đã được ứng dụng rộng
rãi trong nhiều lĩnh vực đặc biệt là trong truyền hình, thông tin di động. Nhờ vào sự phát
triển của các ứng dụng truyền thông đa phương tiện mà chúng ta có thể đưa âm thanh,
hình ảnh, hay các đoạn video đi xa một cách nhanh chóng và thuận tiện, tiến gần đến
cuộc cách mạng 4.0.

27
Công nghệ MPEG-4 và ứng dụng Truyền thông đa phương tiện

TÀI LIỆU THAM KHẢO

[1] Xử lý ảnh, PGS.TS Nguyễn Quang Hoan, Học Viện Công Nghệ Bưu Chính Viễn
Thông 2006.

[2] Compressed Video Communications, Biên soạn : Abdul H. Sadka. Trường đại học
Surrey, Guildford UK năm 2002.

[3] H.264 and MPEG-4, Iain E.G.Richardson Trường đại học Robert Gordon
Aberdeen ,UK năm 2003.

[4] Audio & Video số, T.S Đỗ Hoàng Tiến, Nhà xuất bản khoa học và kỹ thuật năm
2002.

28

You might also like