Tải bản đầy đủ (.pdf) (67 trang)

xây dựng một hệ thống nhận dạng nhạc số dựa trên chuỗi đặt trƣng âm thanh có tính ứng dụng

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 (1.07 MB, 67 trang )

I

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của bản thân. Các số liệu, kết
quả trình bày trong luận văn này là trung thực và chƣa từng đƣợc ai công bố trong
bất kỳ công trình luận văn nào trƣớc đây.
Học viên
Phạm Cẩm Ngọc

II

LỜI CẢM ƠN

Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành và biết ơn sâu sắc tới TS.
Nguyễn Hải Châu – ngƣời đã tận tình hƣớng dẫn tôi trong suốt quá trình thực hiện
đề tài. Sự giúp đỡ tận tình, những lời khuyên bổ ích và những góp ý của Thầy đối
với bản luận văn là động lực lớn giúp tôi hoàn thành đề tài của mình.
Tôi xin gửi lời cảm ơn chân thành đến các Thầy Cô trong Trƣờng Đại học
Công nghệ - những ngƣời đã dìu dắt và giúp đỡ tôi trong suốt 2 năm học.
Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, ngƣời thân và bạn bè –
những ngƣời luôn bên tôi những lúc khó khăn nhất, luôn động viên tôi, khuyến
khích tôi trong cuộc sống và trong công việc.
III

MỤC LỤC

LỜI CAM ĐOAN I
LỜI CẢM ƠN II
DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT V
DANH MỤC CÁC BẢNG VI


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ VII
MỞ ĐẦU 1
CHƢƠNG 1. 4
1.1. Giới thiệu 4
1.2. Một số ứng dụng của chuỗi đặc trƣng 5
1.2.1. Giám sát phát thanh 5
1.2.2. Các ứng dụng liên thông âm thanh 6
1.2.3. Các bộ lọc trong ứng dụng dùng chung file 6
1.2.4. Tự động tổ chức thƣ viện âm nhạc 6
1.2.5. Một số ứng dụng khác 7
1.3. Các phƣơng pháp xác định chuỗi đặc trƣng 7
1.3.1. Phƣơng pháp cửa sổ gối 8
1.3.2. Phƣơng pháp cửa sổ gối kết hợp học máy 11
1.3.3. Phƣơng pháp DDA (Distortion Discriminant Analysis) 11
1.3.4. Phƣơng pháp dựa trên wavelet 12
1.4. Ứng dụng của kỹ thuật thị giác máy cho bài toán nhận dạng nhạc số 13
1.4.1. Biểu diễn bài hát dƣới dạng một spectrogram 14
1.4.2. Tính toán đặc trƣng bởi thuật toán Boosting theo cặp (pairware
boosting) 17
1.4.3. Học “Ocllusion Model” với thuật toán EM (Expectation
Maximization) 20
1.4.4. Quá trình nhận dạng nhạc số 22
1.5. Tổng kết chƣơng 23
IV

CHƢƠNG 2. 25
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU POSTGRESQL 25
2.1. Vắn tắt về lịch sử PostgreSQL 26
2.2. Kiến trúc của PostgreSQL 27
2.3. Các hàm mở rộng trong ngôn ngữ C 29

2.3.1. Nạp động (dynamic loading) 30
2.3.2. Các kiểu dữ liệu cơ sở trong C 31
2.3.3. Chuẩn gọi hàm theo phiên bản 0 cho các hàm C 36
2.3.4. Chuẩn gọi hàm phiên bản 1 cho các hàm C 39
2.3.5. Các quy tắc viết chƣơng trình 43
2.3.6. Biên dịch và liên kết tới các hàm động (Dynamically-Loaded
Function) 44
2.3.7. Cơ sở cài đặt (Build Infrastructure) các mở rộng 46
2.4. Tổng kết chƣơng 48
CHƢƠNG 3. 49
3.1. Xây dựng cơ sở dữ liệu các fingerprint 50
3.1.1. Thiết kế cơ sở dữ liệu bài hát trong PostgreSQL 50
3.1.2. Xây dựng các hàm mở rộng trong PostgreSQL để tìm kiếm bản nhạc
52
3.2. Xây dựng tập dữ liệu huấn luyện 53
3.3. Kết quả thực nghiệm 54
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58


V

DANH MỤC CÁC KÍ HIỆU, CÁC CHỮ VIẾT TẮT


Ký hiệu/viết tắt
Mô tả
DDA
Distortion Discriminant
JDBC

Java Database Connectivity
LDA
Linear Discriminant Analysis
LPC
Linear Predictive Coding
MFCC
Mel-Frequency Cepstral Coefficients
ODBC
Open Database Connectivity
OPCA
Oriented Principal Components Analysis
PCA
Principal Components Analysis
UCB
University of California at Berkeley
LUT
LOOK UP TABLE
VI

DANH MỤC CÁC BẢNG

Bảng 2. 1 Các kiểu dữ liệu trong C và các kiểu được định nghĩa tương ứng trong
SQL 35



VII

DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ



Hình 1. 1 Mô hình trích chọn fingerprint của Haitsma 9
Hình 1. 2 (a) fingerprint block của bài hát gốc, (b) fingerprint block của bài hát
sau khi đã bị nén, (c) sự khác nhau giữa (a) và (b) thể hiện trên số bít lỗi màu đen
(BER=0,078). 10
Hình 1. 3 Biểu diễn của 4 ảnh phổ liên tiếp của 2 bài hát khác nhau. Với mỗi bài
hát, dòng đầu: ảnh phổ ban đầu, dòng hai: độ lớn wavelet, dòng 3: 200 wavelet
đầu tiên. 13
Hình 1. 4 Biểu diễn âm thanh theo biên độ, tần số và mã nhị phân 15
Hình 1. 5 Các đặc trưng hình chữ nhật được biểu diễn trong mối quan hệ với các
cửa sổ tìm kiếm bao xung quanh. 16
Hình 1. 6 So sánh phương pháp tính toán đặc trưng của Yanke (thuật toán
Pairwise Boosting) với thuật toán của Haitsma và Haitsma cải tiến. 20
Hình 1. 7 Mô hình phụ thuộc đơn giản được giả lập bởi hệ thống 22
Hình 2. 1 Kiến trúc PostgreSQL 28
Hình 3. 1 Tổ chức cơ sở dữ liệu theo LUT 51
Hình 3. 2 Mô hình cơ sở dữ liệu 52
Hình 3. 3 So sánh kết quả thực nghiệm với các bộ dữ liệu huấn luyện khác nhau 55
Hình 3. 4 Thời gian tìm kiếm trên mỗi bản nhac thu với hệ thống nhận dạng của
Y.Ke. 56
Hình 3. 5 Thời gian tìm kiếm trên mỗi bản nhạc thu âm đối với hệ thống nhận
dạng mới. Error! Bookmark not defined.
1

MỞ ĐẦU

Sự phát triển của máy tính và mạng Internet nhƣ hiện nay dẫn đến nhu cầu
tìm kiếm trên Internet là rất lớn. Nếu nhƣ trƣớc đây ngƣời ta chỉ quan tâm đến tìm
kiếm thông tin, văn bản thì hiện nay nhu cầu tìm kiếm dữ liệu đa phƣơng tiện
(multimedia) cho mục đích giải trí không ngừng tăng lên. Việc tìm kiếm các bản

nhạc theo phƣơng pháp truyền thống chỉ đƣợc thực hiện đơn giản bằng cách nhập
vào máy tìm kiếm các thông tin về tiêu đề bài hát, tên tác giả, ca sĩ thể hiện … để
nhận đƣợc bài hát tƣơng ứng. Tuy nhiên, phƣơng pháp tìm kiếm này không đáp
ứng đƣợc nhu cầu tìm kiếm bản nhạc trong thực tế khi ngƣời sử dụng đơn giản
lắng nghe một bài hát và muốn biết tên của bài hát đó. Xây dựng một hệ thống
nhận dạng âm nhạc nhƣ vậy đã thu hút đƣợc sự quan tâm của các nhà nghiên cứu
và các tổ chức lớn. Đã có nhiều bài báo và công trình khoa học có liên quan đƣợc
công bố, nhƣng chỉ có các phƣơng pháp dựa trên tính toán và so sánh các đặc
trƣng (còn gọi là fingerprint hay local descriptor) trên các bản nhạc là mang lại
hiệu quả hơn cả.
Mục đích chính của việc tính toán này là đƣa ra một cơ chế hiệu quả để ƣớc
lƣợng sự tƣơng tự giữa hai đối tƣợng multimedia: thay vì so sánh trực tiếp bản
thân hai đối tƣợng (thƣờng rất lớn), đơn giản hơn ngƣời ta so sánh các fingerprint
giữa chúng. Trong hầu hết các hệ thống sử dụng công nghệ fingerprint, fingerprint
của các đối tƣợng multimedia cùng với các meta-data liên quan (tên tác giả hay
tiêu đề của album) đƣợc lƣu trữ trong cùng một cơ sở dữ liệu. Các fingerprint này
đóng vai trò nhƣ chỉ mục cho các meta-data. Meta-data của các đối tƣợng
multimedia chƣa biết có thể nhận đƣợc bằng cách tính toán fingerprint của các đối
tƣợng này và sử dụng chúng nhƣ một truy vấn trong cơ sở dữ liệu
fingerprint/meta-data. Có 3 ƣu điểm chính của việc sử dụng fingerprint thay cho
đối tƣợng multimedia gốc:
2

 Giảm thiểu đƣợc các nhu cầu về bộ nhớ/lƣu trữ vì kích thƣớc các
fingerprint tƣơng đối nhỏ;
 Việc so sánh đơn giản hơn do các thông tin dƣ thừa đã đƣợc loại bỏ khỏi
fingerprint;
 Tìm kiếm hiệu quả hơn khi mà tập dữ liệu tìm kiếm là nhỏ.
Một hệ thống fingerprint thông thƣờng bao gồm hai thành phần chính:
phƣơng pháp để tính toán fingerprint và phƣơng pháp tìm kiếm fingerprint có hiệu

quả trong một cơ sở dữ liệu fingerprint.
Mục tiêu của một hệ thống nhận dạng nhạc số dựa trên chuỗi đặc trƣng âm
thanh (audio fingerprint) là từ một bản thu âm ngắn đã bị nhiễu, hệ thống cho phép
tìm kiếm chính xác bài hát gốc của bản thu âm đó. Trong thực tế có thể gặp tình
huống sau, ngƣời sử dụng nào đó lắng nghe một ca khúc qua radio trên xe hơi của
mình hay tại một bữa tiệc. Đây là bài hát nối tiếng mà đã lâu rồi anh ta không
đƣợc nghe nên đã quên mất lời bài hát và tên tác giả bài hát này. Ngƣời này có thể
gửi một đoạn ngắn của bản nhạc đã đƣợc thu âm qua điện thoại di động tới một
server tìm kiếm nhạc số để nhận lại một tin nhắn chứa các thông tin liên quan nhƣ
tên bài hát, lời bài hát hay tác giả của bài hát. Công việc này đặt ra những thách
thức vì những lý do sau đây:
 Bản thu âm bị sai khác so với bản nhạc gốc do ảnh hƣởng nhiễu tín hiệu
của các thiết bị thu âm thông dụng (thƣờng là điện thoại di động) hay do
ảnh hƣởng của tiếng ồn và các tạp âm xung quanh trong quá trình thu âm.
 Bản thu âm chỉ là một đoạn nhạc nào đó thuộc bài hát gốc nên các
phƣơng pháp tính toán đặc trƣng truyền thống trên bản nhạc thu âm
thƣờng cho kết quả là một chuỗi đặc trƣng khác với chuỗi đặc trƣng đƣợc
tính toán trên toàn bộ bài hát gốc.
3

 Hệ thống nhận dạng nhạc số cần phải đáp ứng đƣợc nhu cầu tìm kiếm
trong thực tế là cho kết quả nhanh và chính xác trên một cơ sở dữ liệu
gồm hàng trăm nghìn bài hát.
Trên cơ sở các nghiên cứu gần đây của Haitsma và Kaller [10, 11] và Y. Ke
[5, 6] chúng tôi tiến hành xây dựng một hệ thống nhận dạng nhạc số dựa trên
chuỗi đặt trƣng âm thanh có tính ứng dụng trong thực tế sử dụng phƣơng pháp
trính rút đặc trƣng cửa sổ gối kết hợp học máy. Bên cạnh đó, luận văn tiến tới xây
dựng một bộ dữ liệu huấn luyện cho kết quả tìm kiếm với độ chính xác cao và một
cơ sở dữ liệu meta-dada/fingerprint dựa trên hệ quản trị cơ sở dữ liệu PostgreSQL,
đồng thời luận văn kết hợp xây dựng các hàm mở rộng bằng ngôn ngữ C trong

PostgreSQL để có thể tìm kiếm bài hát bằng các truy vấn SQL đơn giản.
Luận văn này gồm ba chƣơng, nội dung đƣợc mô tả nhƣ dƣới đây:
Chƣơng 1. Chuỗi đặc trưng âm thanh và ứng dụng trong tìm kiếm nhạc số giới
thiệu về chuỗi đặc trƣng âm thành và các ứng dụng của nó, hệ thống nhận
dạng âm thanh của Haitsma [10, 11] và Y. Ke [5, 6].
Chƣơng 2. Hệ quản trị cơ sở dữ liệu PostgreSQL trình bày về hệ quản trị cơ sở
dữ liệu PostgreSQL và cách viết hàm mở rộng bằng ngôn ngữ C trong
PostgreSQL.
Chƣơng 3. Xây dựng và thử nghiệm hệ thống tìm kiếm nhạc số mô tả việc xây
dựng, thử nghiệm hệ thống và các kết quả đạt đƣợc.
Phần kết luận tổng kết và tóm tắt nội dung chính của luận văn
4

CHƢƠNG 1.
CHUỖI ĐẶC TRƢNG ÂM THANH VÀ ỨNG DỤNG
TRONG TÌM KIẾM NHẠC SỐ

1.1. Giới thiệu
Chuỗi đặc trƣng âm thanh (audio fingerprint, acoustic fingerprint) là một bản
tóm tắt của một chuỗi tín hiệu âm thanh. Chuỗi đặc trƣng đƣợc sử dụng để tìm
kiếm các mẫu âm thanh hoặc phát hiện các mẫu âm thanh tƣơng tự nhau trong một
cơ sở dữ liệu âm thanh.
Chuỗi đặc trƣng có nhiều ứng dụng, trong đó có thể kể đến: nhận dạng các
bài hát, các bản thu âm, quảng cáo; giám sát phát thanh; quản lý thƣ viện hiệu ứng
âm thanh, nhận dạng video … Chính vì vậy, chuỗi đặc trƣng đã trở thành đối
tƣợng nghiên cứu đƣợc quan tâm, đồng thời các ứng dụng của chuỗi đặc trƣng
ngày càng phong phú.
Chuỗi đặc trƣng, nhƣ đã nói ở trên, là một bản tóm tắt của một chuỗi tín hiệu
âm thanh. Nhƣ vậy, để có đƣợc chuỗi đặc trƣng của một chuỗi âm thanh, ta cần
xây dựng một hàm  ánh xạ một chuỗi bít  vào một chuỗi bít A

f
có độ dài nhỏ
hơn. Thay vì so sánh mức độ tƣơng tự giữa 2 chuỗi bít (tín hiệu âm thanh) A
1

A
2
, chúng ta so sánh mức độ tƣơng tự của hai chuỗi đặc trƣng tƣơng ứng A
1f

A
2f
. Trong thực tế, một phiên bản chất lƣợng CD gốc của bài hát “Rolling Stones
– Angie” và một phiên bản mp3 120Kb/s đƣợc cảm nhận là giống nhau với hệ
thống thính giác của con ngƣời, tuy nhiên biểu diễn sóng của chúng có thể rất khác
nhau. Vì thế, việc so sánh A
1f
và A
2f
không phải sự so sánh bằng nhau tuyệt đối về
mặt toán học mà là sự so sánh có tính cảm quan.
5

Chúng ta cần có một số tiêu chí để đánh giá hàm  nói trên. Sau đây là một
số tiêu chí thƣờng đƣợc sử dụng:
 Tính bền vững (robustness): Chuỗi đặc trƣng phải ít thay đổi khi tín
hiệu âm thanh bị suy giảm hoặc tín hiệu âm thanh bị nhiễu, bị méo …
Tính chất này làm tăng độ tin cậy khi nhận dạng âm thanh trong môi
trƣờng thực, có nhiễu và tập âm hoặc biên độ tín hiệu nhỏ. Để đạt đƣợc
tính bền vững cao, các fingerprint đƣợc trích chọn cần dựa trên các đặc

trƣng cảm quan, ít bị thay đổi với các loại nhiễu của tín hiệu. Tỉ lệ sai âm
(false negative rate) – xảy ra khi các phiên bản chất lƣợng khác nhau của
cùng một bài hát đƣợc nhận định là khác nhau – thƣờng đƣợc sử dụng để
đo độ bền vững.
 Tính tin cậy (reliability): Chuỗi đặc trƣng cho khả năng nhận dạng đúng
trong nhiều trƣờng hợp. Tỉ lệ sai dƣơng (false negave rate) – xảy ra khi hệ
thống nhận dạng bản nhạc sai – đƣợc dùng để đo độ tin cậy.
 Độ lớn của chuỗi đặc trƣng: Số lƣợng bít của chuỗi đặc trƣng nhỏ giúp
cho tốc độ tìm kiếm đƣợc cải thiện và giảm dung lƣợng lƣu trữ.
 Độ mịn (granularity): Độ dài tối thiểu của chuỗi âm thanh (theo đơn vị
thời gian) để có thể nhận dạng. Hiện nay, một số thuật toán chỉ cần chuỗi
tín hiệu âm thanh có độ dài từ 15 đến 30 giây để tính chuỗi đặc trƣng.
 Tốc độ tìm kiếm và khả năng mở rộng: Đây là các yếu tố quan trọng
khi tìm kiếm âm thanh trong các cơ sở dữ liệu lớn. Tốc độ tìm kiếm
(search speed) và khả năng mở rộng đƣợc (scalability) là hai yếu tố đƣợc
quan tâm hàng đầu trong việc triển khai các hệ thống tìm kiếm âm thanh.

1.2. Một số ứng dụng của chuỗi đặc trƣng
1.2.1. Giám sát phát thanh
6

Giám sát phát thanh (broadcast monitoring) là một ứng dụng quan trọng của
chuỗi đặc trƣng. Trong giám sát phát thanh truyền thống, cơ quan giám sát có các
nhân viên theo dõi trên các kênh phát thanh và so sánh với chƣơng trình phát để
phát hiện sai sót. Các hệ giám sát phát thanh dựa trên chuỗi đặc trƣng thƣờng có 2
loại máy chủ: Máy chủ giám sát và máy chủ trung tâm. Máy chủ trung tâm sử
dụng các chuỗi đặc trƣng này để tìm kiếm trong cơ sở dữ liệu và sinh ra báo cáo
về chƣơng trình phát của các kênh bị giám sát.
1.2.2. Các ứng dụng liên thông âm thanh
Các ứng dụng liên thông âm thanh (connected audio) là thuật ngữ chung chỉ

các ứng dụng dành cho ngƣời dùng có liên quan tới âm thanh/âm nhạc cùng với
các thông tin liên quan. Một ví dụ đặc trƣng nhất là ứng dụng tìm kiếm bản nhạc
qua điện thoại di động. Ngƣời dùng khi nghe một bản nhạc đƣợc phát qua loa,
hoặc đài phát thanh và muốn biết tên bản nhạc, ca sĩ thể hiện. Ngƣời này sẽ gọi tới
một số điện thoại dịch vụ để bản nhạc thu qua điện thoại đƣợc truyền tới server
chứa cơ sở dữ liệu âm nhạc. Server căn cứ vào chuỗi đặc trƣng để tìm tên bản
nhạc, ca sĩ thể hiện … và gửi kết quả cho ngƣời dùng. Đây là một bài toán khó vì
tín hiệu âm thanh sau nhiều lần truyền đã bị suy giảm và có nhiều nhiễu.
1.2.3. Các bộ lọc trong ứng dụng dùng chung file
Trong các ứng dụng dùng chung file, chuỗi đặc trƣng đƣợc sử dụng để nhận
ra các file âm thanh có bản quyền và không cho ngƣời dùng tải về các file này.
Năm 2001, Napster [4] cài đặt bộ lọc dựa trên tên file nhƣng bộ lọc này hoạt động
không hiệu quả bởi vì ngƣời dùng thƣờng cố tình đánh sai tên cho các file có bản
quyền mà họ muốn tải về. Do đó vào tháng 5-2001, Napster đã sử dụng bộ lọc dựa
trên chuỗi đặc trƣng của Relatable [2] cho phép phát hiện ra các file có bản quyền
ngay cả khi ngƣời sử dụng đánh sai tên file.
1.2.4. Tự động tổ chức thƣ viện âm nhạc
7

Chuỗi đặc trƣng có thể đƣợc sử dụng vào việc tự động tổ chức thƣ viện âm
nhạc. Hiện nay, MP3 là khuôn dạng file thƣờng đƣợc sử dụng để lƣu trữ trong các
thƣ viện âm nhạc. Các file MP3 đƣợc tạo ra từ nhiều nguồn khác nhau do đó siêu
dữ liệu (meta-data) kèm theo nhƣ tên tác giả, tác phẩm, ngƣời thể hiện, năm thu
âm không đƣợc đầy đủ và nhất quán. Khi đó, chuỗi đặc trƣng đƣợc sử dụng để
hoàn thiện các thông tin này.
1.2.5. Một số ứng dụng khác
Chuỗi đặc trƣng còn có rất nhiều ứng dụng khác trong thực tiễn. Chuỗi đặc
trƣng có thể đƣợc sử dụng trong các ứng dụng về truyền hình có tƣơng tác mà
không cần sử dụng thêm các thiết bị đặc biệt, hoặc tự động phát hiện và thay thế
các đoạn quảng cáo. Khác biệt so với các công nghệ khác, chuỗi đặc trƣng hƣớng

tới các ứng dụng đa phƣơng tiện với các mục tiêu chính là nhận dạng các đối
tƣợng mà không cần đến các thông tin siêu dữ liệu nhƣ meta-data, watermark.
1.3. Các phƣơng pháp xác định chuỗi đặc trƣng
Nguyên tắc chung cho việc xác định chuỗi đặc trƣng là trích rút các đặc trƣng
từ chuỗi tín hiệu âm thanh. Các đặc trƣng của một bản nhạc thƣờng đƣợc chia
thành hai loại chính: đặc trƣng ngữ nghĩa và đặc trƣng phi ngữ nghĩa.
Các đặc trƣng ngữ nghĩa thƣờng có tính trực quan. Chẳng hạn các đặc trƣng
thể loại (genre) âm nhạc, số nhịp trong một phút (beats per minute - bpm), điệu
tính (mood) là các đặc trƣng ngữ nghĩa. Do các đặc trƣng loại này ít mang tính
toán học, nên thƣờng không đƣợc sử dụng để xác định chuỗi đặc trƣng vì nó cho
kết quả không chính xác và ít nhiều gắn với quan điểm cá nhân (chẳng hạn đặc
trƣng về thể loại). Bởi vậy, ngƣời ta thƣờng tập trung vào việc phân tích các thuật
toán, phƣơng pháp xác định chuỗi đặc trƣng dựa trên các đặc trƣng phi ngữ nghĩa.
Hiện nay có bốn phƣơng pháp chính để xác định chuỗi đặc trƣng dựa vào đặc
trƣng phi ngữ nghĩa. Đó là các phƣơng pháp: cửa sổ gối của Haitsma[10, 11],
8

phƣơng pháp của Y. Ke [5, 6] dựa trên cửa sổ gối kết hợp với học máy, phƣơng
pháp phân tích biệt số méo của tín hiệu DDA [9] và phƣơng pháp dựa trên wavelet
kết hợp với các kỹ thuật thị giác máy (computer vision) [8]. Sau đây là ý tƣởng
chính của từng phƣơng pháp.
1.3.1. Phƣơng pháp cửa sổ gối
Cửa sổ gối (overlay window) là phƣơng pháp xác định chuỗi đặc trƣng phổ
dụng nhất. Phƣơng pháp này sử dụng các cửa sổ gối nhau của chuỗi tín hiệu âm
thanh để trích rút các đặc trƣng [11]. Cửa sổ gối đƣợc sử dụng để duy trì tính bất
biến của hệ số dịch thời gian (time-shift) trong các trƣờng hợp chúng ta không thể
so sánh theo kiểu căn thời gian. Do các frame gối nhau nên các chuỗi đặc trƣng
biến đổi chậm theo thời gian. Khi đó việc so sánh độ tƣơng tự giữa hai bản nhạc sẽ
quy về so sánh các chuỗi đặc trƣng con. Việc so sánh các chuỗi đặc trƣng này là
khá đơn giản khi dựa vào tính khoảng cách Hamming giữa các chuỗi đặc trƣng

con tƣơng ứng. Ƣu điểm của phƣơng pháp này là tính đơn giản và tốc độ tính toán
cao.
Để sử dụng phƣơng pháp cửa sổ gối, tín hiệu âm thanh trƣớc tiên đƣợc chia
thành các frame gối nhau. Một tập các đặc trƣng đƣợc tính toán trên mỗi frame
này. Các đặc trƣng cần đƣợc chọn sao cho nó ít thay đổi với các loại nhiễu tín
hiệu. Các đặc trƣng này thƣờng là hệ số Fourier (Fourier coefficients) [16], Mel-
Frequency Cepstral Coefficients (MFCC) [17], độ mịn quang phổ (spectral
flatness) [15] hay hệ số Linear Predictive Coding (LPC) [15]. Đặc trƣng tính toán
trên mỗi frame đƣợc gọi là một sub-fingerprint. Một sub-fingerprint thƣờng không
có đầy đủ thông tin cho phép nhận dạng bản nhạc, đơn vị cơ sở cho nhận dạng là
các khối đặc trƣng (fingerprint block).
9


Hình 1.1 Mô hình trích chọn fingerprint của Haitsma
Mô hình trích chọn đặc trƣng của Haitsma và các cộng sự [10, 11] dựa trên
cách tiếp cận trên. Theo đó, 32 bit sub-fingerprint đƣợc tính toán cho mỗi khoảng
11,6 mili giây. Một fingerprint block bao gồm 256 sub-fingerprint nối tiếp, tƣơng
ứng với độ mịn (granularity) 3 giây. Nhƣ vậy, trong trƣờng hợp xấu nhất, một sub-
fingerprint của bản nhạc thu âm và sub-fingerprint tƣơng ứng trong cơ sở dữ liệu
có thể sai lệch nhau tối đa 5,8 mili giây.
Bởi vì những đặc trƣng âm thanh cảm quan quan trọng nhất nằm trong miền
tần số nên biểu diễn phổ đƣợc tính toán bởi biến đổi Fourier trên mỗi frame. Do độ
nhạy về pha của biến đổi Fourier với các biên khác nhau trên mỗi frame và do
thực tế là hệ thống thính giác của con ngƣời (Human Auditory System - HAS)
không cảm nhận đƣợc sự thay đổi pha nên chỉ những giá trị dƣơng của quang phổ,
chẳng hạn nhƣ mật độ phổ đƣợc giữ lại. Để tính toán đƣợc một giá trị 32 bit sub-
fingerprint cho mỗi frame, một dải gồm 33 miền tần số không trùng lặp đã đƣợc
Haitsma lựa chọn. Dải tần số này nằm trên miền tần số từ 300 Hz đến 2000 Hz
(miền tần số thích hợp đối với HAS) và có độ dộng đều nhau. Thực nghiệm đã chỉ

ra rằng sự khác nhau về dấu của năng lƣợng (theo trục thời gian và tần số) có tính
10

bền vững với mọi loại biến đổi của tín hiệu. Nếu ta ký hiệu năng lƣợng của miền
tần số  và frame  là (, ) và bit thứ  của sub-fingerprint tƣơng ứng với
frame  là (, ), các bít của sub-fingerprint này đƣợc định nghĩa nhƣ sau:


, 

= 
1 ế 

, 



, + 1

(



1, 



1, + 1



> 0
0 ế 

, 



, + 1

(



1, 



1, + 1


< 0



Hình 1.2 (a) fingerprint block của bài hát gốc, (b) fingerprint block
của bài hát sau khi đã bị nén, (c) sự khác nhau giữa (a) và (b) thể hiện
trên số bít lỗi màu đen (BER=0,078).
Hình 1.2 đƣa ra ví dụ về biểu diễn của một khối fingerprint (bao gồm 256
sub-fingerprint) của bài hát “O Fortuna” thể hiện bởi Carl Orff đƣợc trích chọn
dựa theo mô hình của Haitsma. Các điểm ảnh màu trắng tƣơng ứng với các bit 1,

trong khi đó các điểm ảnh màu đen tƣơng ứng với các bit 0. Hình 1.2a và 1.2b
tƣơng ứng là biểu diễn khối fingerprint của cùng một trích đoạn từ hai phiên bản
nhạc gốc và phiên bản mp3 (32 Kbps). Trong trƣờng hợp lý tƣởng, hai hình 1.2a
và 1.2b sẽ giống hệt nhau, tuy nhiên, do đã bị nén nên một số bit sẽ cho kết quả sai
11

lệch. Những bit lỗi này đƣợc sử dụng nhƣ là độ đo sự tƣơng tự của mô hình trích
chọn và đƣợc thể hiện là các điểm ảnh màu đen trong hình 1.2c.
1.3.2. Phƣơng pháp cửa sổ gối kết hợp học máy
Phƣơng pháp thứ hai đƣợc đƣa ra gần đây, đƣợc xem là mở rộng của cửa sổ
gối. Y. Ke và các cộng sự [5, 6] sử dụng nền tảng tƣơng tự nhƣ J. Haitsma [10, 11]
nhƣng có thêm tính năng học máy khi xác định các đặc trƣng. Một đặc điểm quan
trọng nữa là Y. Ke đã biểu diễn tín hiệu âm thanh 1-D nhƣ một ảnh số khi biểu
diễn trong không gian hai chiều với các trục thời gian–tần số.
Kỹ thuật học máy Y. Ke sử dụng là AdaBoost, là một kỹ thuật khá phổ biến
trong các ứng dụng về thị giác máy, chẳng hạn nhƣ phát hiện mặt ngƣời trong ảnh
[13]. Y. Ke và các cộng sự sử dụng AdaBoost cho phép hệ thống của mình học các
đặc trƣng về năng lƣợng trên một số tần số chọn lọc theo thời gian. Độ dài và tần
số đƣợc chọn thông qua thuật toán AdaBoost, kết quả là có 32 đặc trƣng đƣợc lựa
chọn, từ đó tạo đƣợc chuỗi đặc trƣng con tƣơng ứng có độ dài 32 bit. Khi có yêu
cầu tìm kiếm bản nhạc, hệ thống của Y. Ke trƣớc hết xử lý dữ liệu âm thanh vào
tƣơng tự nhƣ [10, 11] để tạo chuỗi đặc trƣng con. Sau đó, hệ thống tính khoảng
cách Hamming giữa các chuỗi đặc trƣng con để tìm độ tƣơng tự. Hệ thống này sẽ
đƣợc đề cập kỹ hơn trong mục 1.4 của chƣơng.
1.3.3. Phƣơng pháp DDA (Distortion Discriminant Analysis)
Phƣơng pháp dựa trên DDA [9] (Distortion Discriminant Analysis) hay còn
gọi là biệt số méo của tín hiệu là phƣơng pháp trích rút đặc trƣng đƣợc xem nhƣ
bền vững với nhiễu. Các đặc trƣng đƣợc xác định bởi DDA thƣờng phức tạp hơn
các đặc trƣng đƣợc đƣa ra trong các bài báo của J. Haitsma [10, 11] và Y. Ke [5,
6] nhƣng lại cho phép tính đƣợc các chuỗi đặc trƣng của các chuỗi tín hiệu dài hơn

các phƣơng pháp khác. DDA đƣợc dựa trên một biến thể của phƣơng pháp LDA
12

(Linear Discriminant Analysis) đƣợc gọi là Oriented Principal Components
Analysis (OPCA).
OPCA giả thiết có một phiên bản tín hiệu bị méo của các mẫu huấn luyện để
từ đó tìm ra các đặc trƣng ít bị biến đổi khi thực hiện bƣớc tiền xử lý tín hiệu để
làm giảm nhiễu đến mức tối thiểu và tăng tối đa mức tín hiệu. Ngƣợc lại, phƣơng
pháp PCA (Principal Components Analysis) tìm tập các vector trực giao để tăng
tối đa sự biến đổi của tín hiệu. Nhƣ vậy, OPCA tìm đƣợc tập các vector không trực
giao có thể dùng để tính toán nhiễu. Thực nghiệm của Burges và các cộng sự [9]
cho thấy chuỗi đặc trƣng xác định bằng phƣơng pháp DDA ít bị biến đổi với vấn
đề căn thời gian và quan trọng hơn là ít bị biến đổi với các loại nhiễu không có
trong dữ liệu huấn luyện.
1.3.4. Phƣơng pháp dựa trên wavelet
Phƣơng pháp này do các tác giả S. Baluja và M. Covell (Google Inc.) phát
triển [8, 12] dựa trên tiếp cận của Y. Ke [5, 6]: áp dụng các kỹ thuật trong lĩnh vực
thị giác máy vào việc xây dựng chuỗi đặc trƣng và tiếp cận dựa trên wavelet của
C. Jacob [18]. Phƣơng pháp này không sử dụng kỹ thuật học máy mà dùng biến
đổi wavelet để tăng tốc độ tìm kiếm trong cơ sở dữ liệu đa phƣơng tiện lớn. Chuỗi
đặc trƣng do S. Baluja và M. Covell đề xuất dựa trên công trình của J. Haitsma
[10, 11] nhƣng có cải tiến nâng cao để có thể đại diện cho mẫu tín hiệu âm thanh
có độ dài lớn hơn.
Shumeet Baluja và cộng sự [7, 8] cũng bắt đầu quá trình tính toán đặc trƣng
bằng việc biến đổi tín hiệu âm thanh thành một ảnh phổ. Từ các ảnh quang phổ
này, Baluja chọn ra các Haar-wavelet tốt nhất theo cƣờng độ giống nhƣ hệ thống
xác thực ảnh đƣợc đƣa ra trong [18]. Trong nghiên cứu của mình, thay vì so sánh
ảnh trực tiếp dựa vào khoảng cách của điểm ảnh, Jacob và các cộng sự [18] đã
phân tách ảnh dựa vào các Haar-wavelet đa phân giải. Trên cơ sở đó, Shumeet
Baluja tính toán một đặc trƣng wavelet cho mỗi ảnh phổ. Bản thân tập các wavelet

13

này không có đặc tính bất biến với tiếng ồn hay các biến đổi âm thanh, vì vậy, để
giảm ảnh hƣởng của nhiễu trong khi vẫn giữ lại những đặc trƣng quan trọng của
ảnh, Shumeet lựa chọ ra một tập bao gồm  wavelet (theo độ lớn) và loại bỏ phần
còn lại. Trong hình 1.3, khi nhìn vào các biểu diễn wavelet của các ảnh phổ kế tiếp
nhau, chúng ta dễ dàng phân biệt đƣợc những ảnh phổ này, đặc biệt khi  wavelet
tốt nhất đƣợc giữ lại. Bên cạnh đó, thực nghiệm chỉ ra rằng sau khi giữ lại 
wavelet tốt nhất, đặc trƣng về độ lớn của wavelet không quan trọng bằng đặc trƣng
về dấu của nó nên chỉ những giá trị về dấu của wavetlet đƣợc tính đến trong biểu
diễn ảnh phổ.

Hình 1.3 Biểu diễn của 4 ảnh phổ liên tiếp của 2 bài hát khác nhau. Với
mỗi bài hát, dòng đầu: ảnh phổ ban đầu, dòng thứ hai: độ lớn wavelet,
dòng thứ ba: 200 wavelet đầu tiên.
1.4. Ứng dụng của kỹ thuật thị giác máy cho bài toán nhận dạng
nhạc số
14

Kỹ thuật tính toán chuỗi đặc trƣng dựa trên cửa sổ gối kết hợp học máy của
Yanke [5, 6] xem xét ảnh phổ của mỗi bài hát nhƣ là một ảnh 2-D; trên cơ sở đó,
chuyển đổi từ bài toán nhận dạng âm nhạc (music identification) sang bài toán
khôi phục ảnh gốc (sub-image retrieval). Bằng cách áp dụng thuật toán boosting
theo cặp (pairwise boosting) trên một tập các thuộc tính Viola-Jones [13], hệ thống
của Y. Ke học đƣợc một tập các đặc trƣng cho phép đánh chỉ mục hiệu quả. Trong
quá trình nhận dạng, từ một bản thu âm ngắn của bài hát gốc (song snippet), hệ
thống áp dụng thuật toán xác thực hình học kết hợp với mô hình kỳ vọng cực đại
(EM) để định danh đƣợc bài hát gốc của bản nhạc này. Hệ thống mà Y. Ke xây
dựng có khả năng nhận dạng nhanh chóng và chính xác bài hát gốc từ một bản thu
âm tƣơng đối ngắn trong điều kiện thiết bị ghi âm không tốt và có nhiều tiếng ồn.

1.4.1. Biểu diễn bài hát dƣới dạng một spectrogram
Khi nhận đƣợc một bản nhạc thu âm đã bị nhiễu, ngƣời ta mong muốn rằng
hệ thống bằng cách nào đó sẽ tìm ra đƣợc bài hát tƣơng ứng trong một cơ sở dữ
liệu lớn các meta-data/fingerprint một cách nhanh nhất. Hệ thống cần phải đáp ứng
các yêu cầu về tính chính xác, về độ dài bản nhạc truy vấn và tốc độ tìm kiếm.
Tính chính xác yêu cầu hệ thống phải có khả năng phân biệt giữa các bài hát tƣơng
tự nhau bởi vì trong thực tế, một bài hát đƣợc phát qua bộ phát chất lƣợng không
cao, ghi âm sử dụng microphone tích hợp sẵn sẽ rất khác so với chính bài hát đó
đƣợc phát qua một loa có chất lƣợng cao và đƣợc ghi bởi một microphone chất
lƣợng tốt. Bên cạnh đó, việc mỗi bản nhạc truy vấn có thể có độ dài tùy ý và bắt
đầu tại một vị trí bất kỳ thuộc bài hát gốc cũng đặt ra cho hệ thống các yêu cầu về
tính cục bộ với sự dịch chuyển thời gian. Hệ thống cũng cần có khả năng đánh chỉ
mục hiệu quả để có thể tìm kiếm cho kết quả nhanh và chính xác trên một cơ sở dữ
liệu gồm hàng nghìn bài hát.
Trong thực tế, các tín hiệu âm thanh 1-D nguyên bản sẽ thay đổi rất nhiều khi
bị nhiễu và các hệ thống thƣờng khó tính toán đƣợc các đặc trƣng. Y. Ke sử dụng
15

cách tiếp cận chuyển đổi các tín hiệu âm thanh thành các ảnh 2-D theo tần số (gọi
là ảnh phổ - spectrogram) sử dụng phƣơng pháp biến đổi Fourier ngắn (short-term
Fourier transform) [11]. Với các spectrogram này, ngƣời ta dễ dàng nhận thấy
đƣợc sự tƣơng tự giữa các phiên bản khác nhau của cùng một bài hát ngay cả khi
tín hiệu gốc đã bị biến đổi. Trong hình 1.4, các snippet có độ dài 10 giây của 3 bài
hát: melloncamp bản gốc, waterworld, melloncamp bản thu âm đƣợc biểu diễn
theo biên độ, tần số và mã nhị phân. Ta dễ dàng nhận ra đƣợc sự giống nhau giữa
hai phiên bản melloncamp và khác nhau giữa melloncamp và waterworld khi
chúng đƣợc biểu diễn theo tần số và mã nhị phân.

Hình 1. 4 Biểu diễn âm thanh theo biên độ, tần số và mã nhị phân
Mặc dù việc chuyển đổi từ tín hiệu âm thanh theo miền thời gian sang các

spectrogram cho phép dễ dàng nhận biết sự giống và khác nhau giữa các tín hiệu
âm thanh, việc so sánh dựa trên sự tƣơng tự rất chậm và cho kết quả không chính
xác. Y. Ke đã đề xuất cho hệ thống học một tập các bộ lọc (filter) cho phép chỉ giữ
lại các thông tin cần thiết đối với mỗi bài hát mà vẫn đủ để phân biệt giữa các bài
hát khác nhau. Thay vì cố gắng xây dựng thủ công tập các filter này, Y. Ke định
nghĩa một lớp các mẫu lọc (candidate filters) và áp dụng kỹ thuật học máy trên lớp
16

này để đƣa ra đƣợc một tập con các mẫu lọc phù hợp nhất. Tập các mẫu lọc đƣa ra
bởi Viola và Jones [13] đƣợc Y. Ke sử dụng khi xây dựng các mẫu lọc cho hệ
thống của mình.

Hình 1. 5 Các đặc trưng hình chữ nhật được biểu diễn trong
mối quan hệ với các cửa sổ tìm kiếm bao xung quanh.
Cụ thể hơn, các tác giả đã sử dụng 3 loại đặc trƣng nhƣ hình 1.5. Độ lớn của
một đặc trƣng có hai hình chữ nhật là sự khác nhau giữa tổng của các điểm ảnh
trong hai hình chữ nhật. Hai hình chữ nhật này có kích thƣớc bằng nhau và nằm kề
nhau theo trục tung hoặc trục hoành. Tƣơng tự, giá trị của đặc trƣng có ba hình
chữ nhật là tổng của các điểm ảnh bên trong hình chữ nhật trung tâm trừ đi tổng
của các điểm ảnh nằm trong hai hình chữ nhật bên ngoài. Đặc trƣng có bốn hình
chữ nhật sẽ tính toán sự khác nhau về độ lớn điểm ảnh giữ hai cặp hình chữ nhật
chéo nhau.
Các đặc trƣng hình chữ nhật này sẽ đƣợc tính toán nhanh chóng bằng cách sử
dụng phƣơng pháp biểu diễn cho ảnh gọi là “intergral image”. Theo đó, intergral
image ở vị trí ,  là tổng số các điểm ảnh ở trên và bên trái của , :
17



, 


=  



, 


,


<,

<

với 

, 

là intergral image và (, ) là ảnh gốc. Khi sử dụng 2 công thức
sau:


, 

= 

, 1

+ 


, 

(1)


, 

= 

1, 

+ 

, 

(2)
( (, ) là tổng lũy tích hàng, 

, 1

= 0 và 

1, 

= 0), các intergral
image sẽ đƣợc tính toán hiệu quả.
Trong hệ thống của Y. Ke, mỗi bộ lọc có thể thay đổi theo dải tần số từ 1 tới
33, theo dải thời gian từ 1 frame (11.6 ms) tới 82 frame (951 ms), cho kết quả là
có khoảng 25000 bộ lọc ban đầu. Từ tập hợp các filter này, Y. Ke chọn ra M filter

tiêu biểu nhất (M đƣợc chọn bằng 32) và ngƣỡng tƣơng ứng để tạo ra một véc tơ
M bit – gọi là một đặc trƣng (sub-fingerprint, descriptor). Tuy nhiên, mỗi đặc
trƣng này không có đầy đủ các thông tin cần thiết cho phép xác định chính xác bài
hát gốc từ truy vấn trong một cơ sở dữ liệu gồm hàng trăm nghìn bài hát, mà các
signature (là tập các đặc trƣng kế tiếp nhau) mới là đơn vị cơ bản cho so sánh và
tìm kiếm.
1.4.2. Tính toán đặc trƣng bởi thuật toán Boosting theo cặp (pairware
boosting)
Khi xây dựng đặc trƣng cho mỗi bài hát cần đảm bảo rằng các bản nhạc từ
cùng một bài hát sẽ tạo ra những đặc trƣng tƣơng tự, trong khi đó các bản nhạc từ
các bài hát khác nhau sẽ cho đặc trƣng khác nhau. Nói cách khác, hệ thống cần
phải học đƣợc một phân lớp 


1
, 
2

=

1, 1

, với 
1
và 
2
là hai ảnh phổ
bất kỳ và nhãn  chỉ ra rằng hai ảnh phổ đó là thuộc về cùng một bài hát gốc
(= 1) hay hai bài hát khác nhau (y = 1). Một phƣơng pháp phổ biến dùng để
18


xây dựng đặc trƣng trong bài toán nhận dạng đối tƣợng – Adaboost đƣợc Y. Ke sử
dụng và thay đổi để xây dựng tập các bộ lọc của mình. Mỗi bộ phân lớp
(classifier) bao gồm  phân lớp yếu (weak classifier), 



1
, 
2

và một hệ số


. Một weak classifier lại bao gồm một bộ lọc 

và ngƣỡng 

, với




1
, 
2

= [






1

 






2

 


]. Nói theo cách khác, nếu hai
mẫu tạo ra các giá trị tƣơng ứng đƣợc tính toán bởi bộ lọc ở cùng phía với ngƣỡng,
nó đƣợc gán nhãn là nằm tại cùng vị trí trong cùng một bản nhạc, ngƣợc lại, nó
đƣợc cho là hai audio snippet khác nhau. Công thức gán nhãn mà Y. Ke sử dụng
khác với thuật toán Adaboost truyền thống ở chỗ nhãn đƣợc gán theo cặp của các
giá trị lọc. Khi mà các mẫu lọc này đƣợc học bởi hệ thống, một ảnh phổ  sẽ đƣợc
chuyển thành một vec tơ  bit, điều này cho phép việc đánh chỉ mục hiệu quả dựa
trên thuật toán băm.
Cách đánh trọng số của thuật toán Adaboost nguyên bản cho kết quả không
tốt khi áp dụng cho hệ thống trích chọn của Y. Ke, bởi vì thông thƣờng không bộ
phân lớp nào thực hiện việc gán nhãn cho kết quả tốt hơn trƣờng hợp gán nhãn
ngẫu nhiên với những cặp hai mẫu đƣợc chọn khác nhau. Thật vậy, giả sử chúng ta
có mẫu  đƣợc chọn ngẫu nhiên từ tập phân phối  , bộ lọc 


và ngƣỡng 









< 


= , với 0  1. Nếu ta chọn độc lập và ngẫu nhiên hai mẫu
khác nhau 
1
và 
2
từ , khả năng 
1
và 
2
nằm ở hai phía khác nhau của 

đƣợc
chỉ ra bởi:







1
, 
2

= 1

= 2

1 

0,5. (1)

Nhƣ vậy, khả năng các bộ hai mẫu khác nhau đƣợc gán nhãn sai là giống
nhau chiếm ít nhất một nửa các mẫu đƣợc xét trong trƣờng hợp kích thức mẫu đủ
lớn, mâu thuẫn điều kiện bộ phân lớp yếu của Adaboost. Y. Ke khắc phục vấn đề
này bằng cách áp dụng thuật toán phân lớp theo cặp bất đối xứng – chỉ những bộ
mẫu giống nhau đƣợc đánh lại trọng số và trọng số của các bộ giống nhau cũng

×