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

Nghiên cứu kỹ thuật thủy vân bền vững trong Audio (tt)

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.05 MB, 24 trang )

i

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

BỒ THANH LONG

NGHIÊN CỨ KỸ THUẬT THỦY VÂN BỀN VỮNG TRONG AUDIO

Chuyên ngành: Kỹ tuật Viễn thông
Mã số: 8520208

TÓM TẮT LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH – NĂM 2018


ii

Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: TS. Nguyễn Lương Nhật

Phản biện 1: ……………………………………………………………………………
Phản biện 2: …………………………………………………………………………..

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ
Bưu chính Viễn thông
Vào lúc:


....... giờ ....... ngày ....... tháng ....... .. năm ...............

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông


1

MỞ ĐẦU
Sự phát triển nhanh chóng của khoa học kỹ thuật trên nhiều lĩnh vực đặc biệt là trong
lĩnh vực đa phương tiện đã đem lại những bước phát triển vượt bậc trong xã hội. Truyền thông
băng rộng cùng với các định dạng dữ liệu số phong phú đã mở ra nhiều cơ hội và không ít
thách thức. Với sự phát triển của internet, các ấn phẩm số, sản phẩm đa phương tiện như âm
thanh, hình ảnh, video…có thể được thu nhận, sao chép và phân phối một cách dễ dàng bởi
một cái click chuột do các sản phẩm đa phương tiện đa số đều không được bảo mật.
Bên cạnh những mặt tích cực, lại nảy sinh những vấn nạn như: giả mạo, ăn cắp bản
quyền, sao chép trái phép..., những thao tác này thực hiện rất dễ dàng trong xã hội chúng ta
hiện nay. Với mục đích bảo vệ quyền tác giả của các ấn phẩm audio số, em xin chọn đề tài
“Nghiên cứu kỹ thuật thủy vân bền vững trong audio” để làm luận văn tốt nghiệp của mình.
Kỹ thuật thủy vân trong audio số là các phương thức nhúng thông tin thủy vân
(Watermark) vào trong các sản phẩm audio số, mà người nghe không cảm nhận được chất
lượng của sản phẩm audio đó thay đổi. Thông tin thủy vân có thể là các ký tự, logo hay thậm
chí là các đặc điểm sinh trắc của chủ sở hữu như: vân tay, mống mắt…sau khi nhúng vào sản
phẩm audio, sẽ được trích xuất lại để chứng minh quyền sở hữu của sản phẩm đó.
Kỹ thuật nhúng thông tin thủy vân vào audio số có thể thực hiện trực tiếp trên miền
không gian như LSB, hay trên các miền biến đổi như: Fourier rời rạc (DFT), Cosin rời rạc
(DCT), Wavelet rời rạc (DWT). Tùy theo tính trong suốt hay tính bền vững của sản phẩm mà
có thể chọn các phương thức để nhúng trực tiếp trên miền không gian hay trên các miền biến
đổi, nếu nhúng trên miền không gian thì tính trong suốt tốt hơn, còn nhúng trên miền biến đổi
thì tính bền vững cao hơn.

Trong luận văn này, tác giả sẽ nghiên cứu các phương pháp nhúng và trích xuất thông
tin thủy vân trên miền không gian và miền biến đổi, để từ đó đánh giá về tính bền vững của
các phương pháp nhúng. Luận văn được trình bày với bố cục và các nội dung chính như sau:


Chương 1: Tổng quan về kỹ thuật thủy vân và audio số. Chương này giới thiệu

một cách tổng quan về thủy vân và audio số. Giới thiệu đôi nét về kỹ thuật thủy vân âm thanh
số . Giới thiệu về hàm băm MD5.


Chương 2: Giới thiệu kỹ thuật nhúng, trích xuất thủy vân âm thanh trong miển

không gian ( LSB ) và một số kỹ thuật nhúng, trích xuất thủy vân âm thanh trong miền biến
đổi (DCT, DWT, sDWT và mDCT).


2


Chương 3: Chương trình mô phỏng nhúng và trích xuất thủy vân. Chương này

trình bày giải thuật và chương trình mô nhúng, trích xuất thủy vân bằng phần mềm Matlab
cũng như đưa ra kết quả thực nghiệm khi mô phỏng một số tấn công như lấy mẫu lại, nén
DCT, thêm nhiễu, nén mp3.

Chương 1- TỔNG QUAN VỀ KỸ THUẬT THỦY VÂN VÀ
AUDIO SỐ
1.1 Tổng quan về kỹ thuật thủy vân
1.1.1 Giới thiệu

Thủy vân là kỹ thuật nhúng thông tin vào trong một nguồn đa phương tiện nào đó (ví
dụ như ảnh số, tín hiệu audio, video…) mà người dùng không thể nhận biết về sự tồn tại của
thông tin đem nhúng.
Kỹ thuật thủy vân trong tín hiệu âm thanh mới chỉ được chú ý vài năm gần đây do gặp
rất nhiều khó khăn khi tiếp cận với hệ thống thính giác con người (HAS). Bởi vì HAS rất
nhạy cảm và phức tạp hơn so với hệ thống thị giác (HVS). Nhưng bù lại, tiềm năng của lĩnh
vực này là rất lớn, cả trong thương mại lẫn quân sự…

1.1.2 Phân loại
Dựa vào các tính chất khác nhau, lĩnh vực áp dụng, ta có thể phân loại thủy vân thành
các nhóm như sau:
Phân loại theo khả năng cảm nhận:
Dựa vào khả năng cảm nhận của con người trước các thay đổi trên đối tượng chứa sau
khi nhúng thông tin. Nhóm này phân thành hai loại chính là: thủy vân hữu hình và thủy vân
vô hình.
Phân loại theo tính bền vững:
Dựa vào khả năng chống lại các kiểu tấn công của kỹ thuật thủy vân, có thể chia hệ
thống thủy vân thành ba loại: Robust, Fragile và Semi - fragila.
Phân loại theo thuộc tính trích xuất:
Dựa vào các đặc tính trích xuất thông tin mật của phần thu mà ta có thể phân loại thủy
vân như sau: Nonblind Watermarking, Semiblind Watermarking, Blind Watermarking.
Phân loại theo đặc tính của khoá mật:
Căn cứ vào tính chất các loại khoá mà ta chia thành hai loại: khóa công khai, khóa bí
mật.


3

1.1.3 Ứng dụng
Theo dõi phát sóng

Nhận ra người chủ sở hữu/ bằng chứng về quyền sở hữu
Lưu vết giao dịch hay dấu vân tay
Xác nhận nội dung
Kiểm soát sao chép

1.2 Hàm băm
1.2.1 Hàm băm là gì
Hàm băm là hàm chuyển đổi một thông điệp có độ dài bất kỳ thành một dãy bit có độ
dài cố định. Theo [2], các hàm băm nhận một chuỗi bit có chiều dài tùy ý (hữu hạn) làm dữ
liệu đầu vào và tạo ra một chuỗi bit mới có chiều dài cố định n bit (n > 0), được gọi là giá
trị băm hay mã băm. Giá trị của hàm băm là duy nhất, và không thể suy ngược lại được nội
dung thông điệp từ giá trị băm này.
Các tính chất của hàm băm:


Tính kháng tiền ảnh:



Tính kháng tiền ảnh thứ hai:



Tính kháng xung đột:

1.2.2 Hàm băm MD5
MD5 (Message-Digest algorithm 5) là một hàm băm mật mã được sử dụng phổ biến
với giá trị băm dài 128-bit. Là một chuẩn Internet (RFC 1321), MD5 đã được dùng trong
nhiều ứng dụng bảo mật, và cũng được dùng phổ biến để kiểm tra tính toàn vẹn của tập tin.
N x 512 bit

64 bit
Message

512 bit

12 M
2

512

128

F

128

H1

F

128



H2

MN bit

…..


….
.

512



Length

512 bit

512bit

12 M
1

IV (H0)

100…00

N block

512

HN-1

….
.

Hình 1. 1 Sơ đồ thực hiện MD5


F

128



HN
Hash value


4

MD5 chuyển một đoạn thông tin chiều dài thay đổi thành một kết quả chiều dài
không đổi 128 bit. Mẫu tin đầu vào hàm băm được chia thành từng đoạn 512 bit; mẫu tin
sau đó được chèn vào một số bit sao cho chiều dài của nó chia chẵn cho 512. Việc thực hiện
chèn vào như sau: đầu tiên một bit 1 được chèn vào cuối mẫu tin, tiếp theo là một dãy các
bit 0 sao cho chiều dài của mẫu tin lên tới 64 bit ít hơn so với bội số của 512. Những bit còn
lại được lấp đầy bằng một số nguyên 64-bit đại diện cho chiều dài của mẫu tin gốc.
Một bảng băm MD5 128 bit thường được diễn tả bằng một chuỗi 32 số hệ thập lục
phân. Sau đây các ví dụ ngõ vào mã ASCII và bảng băm MD5 tương ứng:
▪ MD5(“”) = “d41d8cd98f00b204e9800998ecf8427e”
▪ MD5(“Well Come to PTIT”) = “3fa94d49ff3e858f0a905bdbdcbda963”
▪ MD5(“WellCome to PTIT”) = “0f27329b43cd3d59ad2df2f47ad6bfaf”

Ta thấy chỉ khác khoảng trống, nội dung giống nhau cũng cho giá trị Hash khác
nhau.

1.3 Tổng quan về âm thanh số
1.3.1 Sơ lược về âm thanh số

Âm thanh đóng một vai trò quan trọng trong đời sống con người với vai trò là công cụ
liên lạc, giao tiếp cũng như cảm nhận thiết yếu nhất. Âm học là ngành chuyên nghiên cứu về
âm thanh. Âm học khảo sát thuộc tính của âm thanh và nhất là những hiểu biết sâu sắc sinh
lý tai nghe con người. Điều này rất có ích trong việc tìm kiếm và thực hiện các phép xử lý tín
hiệu âm thanh số. Do vận tốc giới hạn (khoảng 300 m/s trong môi trường không khí) nên âm
thanh từ một nguồn sẽ được hai tai ghi nhận khác nhau và cho phép phân biệt được vị trí của
nguồn. Sự khác biệt này làm tai người nghe được âm thanh nổi. Một âm thanh bất kỳ được
đặc trưng bởi ba đại lượng cơ bản là: cường độ âm thanh, cao độ ( tần số ) và âm sắc.


Cường độ âm thanh: Là đại lượng phản ánh biên độ dao động của âm thanh,

được biểu diễn bằng năng lượng âm thanh sinh ra ở một khoảng cách L nào đó so với nguồn
âm, trong một đơn vị thời gian (giây), trên một đơn vị diện tích ( m 2 ) của mặt phẳng đặt vuông
góc với chiều truyền âm. Cường độ âm thanh phụ thuộc vào biên độ, tần số và môi trường
truyền âm. Trong thực tế, để so sánh cường độ hai âm thanh người ta dùng đơn vị decibel
(dB)
A= log( P1/ P2)


5
Trong đó:
P1 : cường độ âm thanh thứ nhất.
P2 : cường độ âm thanh thứ hai.


Cao độ âm thanh: chia chia làm hai loại:

Cao độ tuyệt đối được biểu thị bằng giá trị của tần số f. Âm thanh càng cao thì tần số
càng lớn.

Cao độ tương đối là tỷ số giữa âm thanh cần xác định cao độ và âm thanh gốc. Những
tần số cao hơn âm thanh gốc được gọi là bội âm.
Nếu tín hiệu âm thanh tuần hoàn thì số lần lặp lại lớn nhất trong một giây là số đo tần
số của âm thanh đó. Và chu kỳ là thời gian kéo dài cho một lần lặp.


Âm sắc: biểu diễn sự phong phú về tần số do nguồn âm phát ra. Trong thực tế

không có nguồn đơn âm mà tồn tại những nguồn âm phức tạp. Chúng được biểu diễn theo
công thức sau:


P (t )   Pk sin(kt   k )

(1.5)

k 1

Trong mỗi nguồn âm đều tồn tại một thành phần tần số cơ bản:
P(t ) coban  P1 sin(t   k )

(1.6)

Biên độ của âm cơ bản là lớn nhất. Các thành phần còn lại là các hài, hài càng cao thì
năng lượng càng nhỏ. Năng lượng của âm thanh tập trung chủ yếu ở âm cơ bản và lân cận của
nó. Khi đó, nguồn âm có thể biểu diễn gần đúng bằng phương trình:
P (t ) 

N


P
k 1

k

sin(kt   k )

(1.7)

1.3.2 Xử lý âm thanh số
Ở dạng gốc, tín hiệu âm thanh là tín hiệu tương tự liên tục theo biến số thời gian và
biên độ. Tín hiệu âm thanh có thể biểu diễn ở dạng tương tự hoặc ở dạng số


6

Hình 1. 2 Các dạng biễu diễn âm thanh

1.4 Mô hình hệ thống thủy vân trên Audio số
1.4.1 Khái niệm Thủy vân audio số
Các kỹ thuật thủy vân trên âm thanh số hiện nay chủ yếu khai thác khuyết điểm của hệ
thính giác người (Human Auditory System - HAS) – đó là đặc tính ít nhạy cảm với những
thay đổi nhỏ trên miền thời gian và miền tần số.
Thủy vân Audio số được định nghĩa như là một tiến trình nhúng chuỗi bit bí mật vào
âm thanh số mà không ảnh hưởng đến quá trình cảm nhận của người sử dụng.

1.4.2 Quá trình nhúng/ trích xuất thủy vân trên Audio số
Watermark (w)
Âm thanh đã
Âm thanh gốc (S)


Thuật toán nhúng

thủy vân (S’)

Thủy vân
Thuật toán trích xuất

được khôi

thủy vân

phục

thủy vân
Khóa bí mật (k)

Khóa phục hồi (k’)

Khối nhúng thủy vân

Khối tách thủy vân

Hình 1. 3 Hệ thống thủy vân Audio đơn giản
Hệ thống thủy vân Audio bao gồm ít nhất hai khối chính: khối nhúng thủy vân và khối
tách thủy vân. Tiến trình thủy vân cũng giống như quá trình truyền thông, các bản thông tin
chứa thủy vân được truyền đi qua kênh truyền, với tín hiệu âm thanh gốc (s), thủy vân (w)
và khóa bí mật k.
Quá trình nhúng được thực hiện như sau: đầu tiên thủy vân được biến đổi thành các bit
nhị phân (w), sau đó w sẽ được nhúng vào tín hiệu audio gốc (s) tạo ra tín hiệu audio đã được

thủy vân (s’) (quá trình này có thể có hoặc không có khóa k tùy thuộc vào thuật toán nhúng


7
thủy vân mù hay không mù). w được nhúng vào s bằng nhiều cách, nhưng thông dụng nhất
là 3 cách cộng, nhân và không tuyến tính, thể hiện ở công thức (1.9), (1.10), (1.11)

s’ = s + αw

(1.9)

s’ = s (1+αw)

(1.10)

 s w
s '    
 4 

(1.11)

Quá trình tách: Từ tín hiệu audio đã được nhúng thủy vân và sau khi qua khối thực
hiện chức năng tách thủy vân, khóa giải mã k’ (có thế giống với khóa k) và có thể cần tín hiệu
audio gốc nếu thuật toán nhúng thủy vân là không mù. Quá trình tách thường phụ thuộc vào
mức độ bảo mật của ứng dụng và yêu cầu của từng thuật toán cài đặt.

1.4.3 Đánh giá chất lượng hệ thống thủy vân Audio
➢ Chất lượng độ cảm nhận
Chất lượng độ cảm nhận được đo bằng tỉ số tín hiệu trên nhiễu (SNR: Signal-to-Noise
Ratio). Si là tín hiệu audio gốc với chiều dài là N mẫu, Si' là tín hiệu đã được thủy vân, khi đó

SNR được tính như sau:

SNR  10log10




N 1
i 0

N 1 2
i

i 0

s

 si'  si 

2

(1.12)

➢ Tính bền vững
Một thông số để đánh giá sai số của tín hiệu đã thủy vân so với tín hiệu gốc thường
được sử dụng là giá trị sai số bình phương trung bình, ký hiệu là MSE (Mean Squared Error)
và được tính theo công thức:

MSE 


1 N '
[ Si  Si ]2

i 1
N

Với:
Si : biểu thị giá trị tín hiệu gốc.
Si' : biểu thị giá trị tín hiệu đã thủy vân.

N là độ dài của tín hiệu âm thanh.
➢ Thời gian thực hiện:

(1.13)


8
Biểu thị cho tính sẳn sàng của các thuật toán nhúng thủy vân vào đối tượng chứa là
file âm thanh. Thông số này được xét cho quá trình nhúng và quá trình trích xuất thủy vân.
Thời gian càng thấp thì tính sẳn sàng của thuật toán nhúng càng cao.

1.5 Kết luận chương
Chương 1 đã trình bày một cách khái quát về kỹ thuật thủy vân, về âm thanh số và mô
hình thủy vân trên audio số. Chương này giúp chúng ta hiểu rõ kỹ thuật thủy vân và ứng dụng
của thủy vân trong thực tế. Trong âm thanh số, hiểu được quá trình xử lý lý âm thanh, quá
trình nhúng và trích xuất thủy vân trên audio số. Và một số tiêu chí giúp đánh giá hiệu năng
của hệ thống thủy vân âm thanh.

Chương 2- KỸ THUẬT THỦY VÂN BỀN VỮNG TRONG AUDIO
2.1 Thuật toán nhúng thủy vân trên miền không gian

2.1.1

Phương pháp thay thế bit có trọng số thấp - LSB

Thuật toán sử dụng phương pháp thay thế bít trọng số thấp hay còn gọi là phương pháp
mã hóa LSB [3], [4] (Least Significant Bit) là phương pháp nhúng bit thông tin vào các bit có
trọng số thấp của dữ liệu audio, đây là một lựa chọn tự nhiên khi yêu cầu nhúng tin với dung
lượng lớn, nhưng lại kém bền vững đối với các thao tác xử lý tín hiệu. Phương pháp này ra
đời sớm nhất và đơn giản nhất trong các kỹ thuật giấu tin hiện có. Trong phương pháp LSB,
bộ mã hoá sử dụng khoá mật để chọn một tập các mẫu tín hiệu âm thanh gốc sẵn có. Thao tác
thay thế các bit ít quan trọng của mẫu tin bằng bit tin được thực hiện trên tập con này. Quá
trình rút trích tin mật chỉ đơn giản là đọc giá trị của các bit rồi ra quyết định. Do vậy, bộ giải
mã phải cần tất cả các mẫu tín hiệu đã đánh dấu để so sánh và lựa chọn bit thích hợp.
Giả sử một tín hiệu A = 218 ứng với giá trị 8 bit như hình 2.1, khi đó bit bên trái nhất
(có giá trị 1) được gọi là bit có trọng số lớn nhất MSB (Most significant bit), và bit bên phải
nhất (có giá trị là 0) được gọi là bit có trọng số thấp nhất LSB (Least significant bit).

MSB

1

1

0

1

1

0


1

0

LSB

Hình 2. 1 Giá trị 8 bit của tín hiệu A = 218
Với bit LSB khi thay đổi giá trị từ 0 sang 1 hoặc từ 1 sang 0 chỉ làm thay đổi rất ít giá
trị gốc ban đầu. Do vậy khi nhúng thông tin thủy vân vào tín hiệu audio người ta thường


9
nhúng vào bit có trọng số thấp nhất này để không làm ảnh hưởng đến cảm nhận của người
nghe.
Giả sử muốn nhúng một bit có giá trị 1 vào tín hiệu A thì ta được tín hiệu mới B = 219
ứng với giá trị 8 bit như hình 2.2. Ngược lại muốn nhúng một bit có giá trị 0 vào tín hiệu A
thì ta được tín hiệu mới C =218 (giữ nguyên giá trị ban đầu) ứng với 8 bit như hình 2.3, điều
này trong kỹ thuật nhúng thủy vân được hiểu ngầm là đã nhúng.
1

1

0

1

1

0


1

1

Hình 2. 2 Giá trị 8 bit của tín hiệu B=219 sau khi nhúng bit 1 vào LSB của A

1

1

0

1

1

0

1

0

Hình 2. 3 Giá trị 8 bit của tín hiệu C=218 sau khi nhúng bit 0 vào LSB của A

Về mặt toán học, có thể mô tả quá trình nhúng và tách LSB bởi các công thức:
-

Nhúng:


Si'  Si  ( Si mod 2)  wi

(2.1)

-

Tách:

wi'  Si' mod 2

(2.2)

2.1.2

Thuật toán nhúng, trích thủy vân dùng phép biến đổi LSB

2.1.3

Ưu khuyết điểm của thuật toán LSB

2.2 Thuật toán thủy vân Audio số dùng biến đổi Cosin rời rạc
2.2.1 Phép biến đổi cosin rời rạc (DCT)
Phép biến đổi cosin rời rạc (DCT) là kỹ thuật dùng để chuyển đổi một tín hiệu thành
các hệ số bằng hàm cosin dao động ở các tần số khác nhau và các biên độ khác nhau [5],[6],[7].
Ưu điểm của phép biến đổi là có thể tập trung năng lượng tốt và ít độ phức tạp trong tính toán.
Theo [9], đối với tín hiệu rời rạc 1 chiều có chiều dài N mẫu, DCT được biễu diễn dưới dạng
  (2n  1)m 
F (m)  a(m) f (n)cos 

2N


n 0
N 1

(2.3)

Trong đó, m = 0,1,2,…N-1. Đối với tín hiệu rời rạc một chiều, biến đổi DCT ngược
được biểu diễn dưới dạng
N 1
  (2n  1)m 
f (n)   a(m) F (m)cos 

2N

m 0

với m= 0,1,2…N-1.
Trong (2.3) và (2.4), với a(m) là

(2.4)


10



a ( m)  




1
, nếu m = 0
N

(2.5)

2
, nếu m ≠ 0
N

Khi m=0 thì (2.3) trở thành

F (m  0) 

1
N

N 1

 f ( n)

(2.6)

n 0

Hệ số chuyển đổi này là giá trị trung bình của dãy mẫu và được gọi là hệ số DC của
tín hiệu. Tất cả các hệ số biến đổi khác được gọi là các hệ số AC [6].

2.2.2 Thuật toán nhúng và trích xuất thủy vân dùng DCT
Ý tưởng của thuật toán là trước tiên, âm thanh gốc được biến đổi sang miền DCT. Tiếp

theo, thủy vân được nhúng vào các thành phần tần số trung tâm còn các thành phần tần số
thấp và các thành phần tần số cao của DCT được bỏ qua. Các thành phần tần số thấp của tín
hiệu trong miền biến đổi không thể nhúng thủy vân bởi chúng chứa các thông tin quan trọng
của tín hiệu âm thanh gốc và một lượng lớn năng lượng tín hiệu tập trung ở vùng này, nếu
nhúng thủy vân vào vùng này sẽ ảnh hưởng đến âm thanh gốc. Tương tự, các thành phần tần
số cao của tín hiệu cũng không thể nhúng thủy vân vì giá trị năng lượng thấp, nhúng thủy vân
vào vùng này sẽ kém bền vững.
Quá trình nhúng và trích xuất thủy vân dùng biến đổi DCT thực hiện theo các công
thức sau:


Nhúng :

• Tách:

Ai'  Ai   .wi

wi' 

Ai'  Ai



(2.15)
(2.16)

2.2.3 Ưu nhược điểm của thuật toán:
2.3 Thuật toán thủy vân Audio số dùng biến đổi Cosin rời rạc có điều chỉnh
2.3.1 Phép biến đổi Cosin rời rạc có điều chỉnh (mDCT)
Phép biến đổi cosine rời rạc có điều chỉnh (mDCT-modified discrete cosine transform)

là một phép biến đổi lapped dựa trên biến đổi cosine rời rạc loại IV (DCT-IV), với thuộc tính
biến đổi lapped: nó được thiết kế để thực hiện trên các khối liên tiếp của một tập dữ liệu lớn
hơn, các khối tiếp theo chồng lên nhau để nửa cuối cùng của một khối trùng với nửa đầu của
khối tiếp theo. MDCT được sử dụng trong hầu hết các định dạng âm thanh hiện đại như MP3,
AC3, WAV, Vorbis, Windows Media Audio, ATRAC, Cook, AAC và Opus.


11
Là một phép biến đổi lapped, nên mDCT có sự bất thường so với các phép biến đổi
Fourier khác ở chỗ nó có một nửa ngõ ra giống như ngõ vào (thay vì cùng một số). Nó là một
hàm tuyến tính F : R2 N  R N (Trong đó R là tập số thực ). Tập 2N số thực x0,…,x2N-1 được
chuyển thành N số thực X0,…,XN-1 theo công thức sau:
Xk 

2 N 1

x
n 0

n

 
1 N
1 
cos   n    (k  ) , k  0,1, 2,...N  1
2 2
2 
N 

(2.17)


Biến đổi ImDCT thực hiện chuyển N số thực X0,…,XN-1 thành 2N số thực y0,…,y2N-1
theo công thức sau:
1
yn 
N

N 1

X
k 0

k

 
1 N
1 
cos  k  n    (k  ) , n  0,1, 2,...2 N  1
2 2
2 
N 

(2.18)

Trong đó, xn=hnan là tín hiệu ngõ vào cửa sổ, an là tín hiệu ngõ vào của 2N mẫu. hn là
hàm cửa sổ

2.3.2 Thuật toán nhúng và trích xuất thủy vân dùng mDCT
Ý tưởng để thực hiện nhúng thủy vân vào tín hiệu âm thanh chủ dựa trên phép biến đổi
mDCT là nhúng các bit thủy vân vào vùng audio ở tần số trung bình. Cụ thể trong luận văn

này các bit thủy vân được nhúng vào vùng n=3 và 10 như hình 2.6 khi thực hiện biến đổi
mDCT với N=6 (n = 1, 2, …, 12 ứng với n = 0,…2N-1 trong công thức (2.18).
Quá trình nhúng và tách thủy vân dựa trên phép biến đổi mDCT được thực hiện theo
công thức sau:
Công thức nhúng:

Ai'  Ai  Ai . .wi

Công thức tách;

Ai'  Ai
w 
Ai .
'
i

(2.21)
(2.22)

Hệ số nhúng trong luận văn này là α =0.0008. Và điều kiện thực hiện là Ai ≠0.

2.3.3 Ưu khuyết điểm của thuật toán
2.4 Thuật toán thủy vân Audio số dùng biến đổi Wavelet rời rạc
2.4.1 Phép biến đổi Wavelet liên tục
2.4.2 Phép biến đổi wavelet rời rạc
Biến đổi wavelet rời rạc (Discrete Wavelet Transfom – DWT). Việc tính toán các hệ
số wavelet tại tất cả các tỉ lệ là một công việc hết sức phức tạp. Nếu tính toán như vậy sẽ tạo
ra một lượng dữ liệu khổng lồ. Để giảm công việc tính toán người ta chỉ chọn ra một tập nhỏ



12
các giá trị tỉ lệ và các vị trí để tiến hành tính toán. Hơn nữa nếu việc tính toán được tiến hành
tại các tỉ lệ và các vị trí trên cơ sở lũy thừa cơ số 2 thì kết quả thu được sẽ hiệu quả và chính
xác hơn rất nhiều. Biến đổi DWT thực chất là sự rời rạc hóa biến đổi wavelet liên tục (CWT);
việc rời rạc hóa được thực hiện với sự lựa chọn các hệ số a và b như sau:

𝑚, 𝑛 ∈ 𝑍

a = 2m ; b = 2mn

(2.32)

Trong biến đổi wavelet rời rạc, các tham số tỷ lệ và tham số dịch được rời rạc hóa. Lúc
bấy giờ tín hiệu f(n) được phân tích như sau [11]:
𝑗

𝑓 (𝑛) = ∑𝑗,𝑘 𝑐𝑗,𝑘 22 𝜓(𝑛/2𝑗 − k),

j, k là số nguyên

(2.33)

trong đó, cj,k là các hệ số cần được xác định. Trong phân tích đa phân giải wavelet
(MRA) còn gọi là phân ly băng con (SD), tín hiệu f(n) được tách thành các thành phần tần số
thấp biểu diễn bởi hàm tỉ lệ 𝜑(𝑛), và các thành phần tần số cao biểu diễn bởi wavelet 𝜓(𝑛):
𝑗

0
𝑓 (𝑛) = ∑𝑘 ∑𝑗=1
𝑑𝑗 (𝑘)𝜓𝑗,𝑘 (𝑛) + ∑𝑘 𝑎𝑗0 (𝑘 )𝜑𝑗0,𝑘 (𝑛)


(2.34)

trong đó, j=1,2, ... ,j0 là các mức phân giải khác nhau. Hình 2.7 là phân tích đa phân
giải mức 1, trong đó S là tín hiệu nguyên thủy, A (approximation-xấp xỉ) là các thành phần
tần số thấp, và D (detail-chi tiết) là các thành phần tần số cao.
S

S = A1 + D1

A1

D1

Hình 2. 4 Phân tích wavelet đa phân giải mức 1.

Biến đổi Wavelet của hàm f(n) (DWT) được tính bởi:

W ( j , k ) 

W ( j , k ) 

1
M

 f (n)

1
M


 f (n)

i, j

( n)

(2.35)

t

i, j

( n)

(2.36)

t

Và biến đổi DWT nghịch được tính bởi:

f ( n) 

1
M

W (i, j )
k

i, j


( n) 

1
M

W (i, j )

i, j

( n)

(2.37)

k

Có thể hiểu phép biến đổi wavelet rời rạc như là áp dụng các bộ lọc thông cao và thông
thấp, sau đó tín hiệu được lấy mẫu xuống hệ số 2 tạo thành biến đổi wavelet rời rạc mức 1.


13
Sự tổng hợp các thành phần sau khi phân tích được gọi là biến đổi wavelet rời rạc ngược
(Inverse descrete Wavelet Transfrom – IDWT). Quá trình này thực hiện ngược lại với quá
trình phân tích bằng cách lấy mẫu lên hệ số 2 rồi sử dụng các bộ lọc khôi phục L, H. Hình 2.8
sau cho thấy quá trình phân tích và tổng hợp tín hiệu dùng biến đổi wavelet rời rạc mức 1.
L

Xấp xỉ

2


L

2

S
(Tín hiệu)

2

H

S
(Tín hiệu)

Chi tiết

H

2

Phân tích

Tổng hợp

Hình 2. 5 Quá trình phân tích và tổng hợp dùng DWT

Biến đổi Wavelet Haar (một chiều) tín hiệu S có N thành phần được thực hiện theo
(2.38) và (2.39) với i ∈ {0,1,…,(N/2)-1}.

A(i)=


1
1
S(2i)+
S(2i+1)
2
2

(2.38)

D(i)=

1
1
S(2i)S(2i+1)
2
2

(2.39)

➢ Biến đổi Haar 2 chiều:
Phát triển từ biến đổi wavelet rời rạc một chiều, có thể mở rộng định nghĩa biến đổi
hai chiều bằng cách sử dụng các bộ lọc riêng biệt, thực hiện biến đổi một chiều đối với dữ
liệu theo hàng rồi kế tiếp thực hiện theo cột.
DWT
Dữ liệu
đầu vào

DWT
L


Theo hàng

LL

HL

LH

HH

H

Theo cột

Hình 2. 6 Phân tích wavelet 2 chiều

Biến đổi hai chiều Wavelet Haar tín hiệu F với kích thước 2 x N đầu vào sẽ tạo ra các
thành phần A, H, V, D như sau:


14

F1

F2

F3

F4


X1

X2

Theo hàng X3

X4

DWT

DWT

A

H

Theo cột

V

D

Hình 2. 7 Biến đổi DWT2 họ Haar

Các thành phần xấp xỉ - A, ngang - H, dọc - V, và đường chéo - D được khai triển từ
(2.38) và (2.39) như sau:

 A=


 H=



 V=


 D=



1
X1+
2
1
X2+
2
1
X12
1
X22

1
1
X3=  F1+F2+F3+F4 
2
2
1
1
X4=  F1+F3-F2-F4 

2
2

1
1
X3=  F1+F2-F3-F4 
2
2
1
1
X4=  F1+F4-F2-F3 
2
2

1

 F1= 2  A+H+V+D 

 F2= 1  A+V-H-D 

2

F3= 1  A+H-V-D 

2

1
 F4=  A+D-H-V 
2



(2.40)

2.4.3 Thuật toán nhúng và trích xuất thủy vân dùng biến đổi DWT
Thực hiện nhúng thủy vân trên miền biến đổi Wavelet dùng kỹ thuật DWT1 họ Haar
cho đối tượng chứa, sau đó thông tin thủy vân được nhúng trên miền biến đổi Wavelet.
Trước khi nhúng, tín hiệu âm thanh gốc được chia thành N mẫu bằng nhau và thực hiện đưa
các mẫu này về số nguyên dương. Sau khi áp dụng biến đổi DWT1, các thông tin thủy vân
sẽ được nhúng vào thành phần A để đảm bảo đối tượng chứa ít thay đổi nhất.
Quá trình nhúng thủy vân được thực hiện theo công thức

Ai'  Ai  Ai .wi

(2.41)

Các bit watermark wi' được tách từ hệ số xấp xỉ Ai' theo công thức:

log( Ai'  Ai ) 1
w 
.
log( Ai ) 
'
i

(2.42)

Với β là hệ số nhúng. Trong luận văn này, tác giả chọn β=0.123 (hệ số nhúng được lựa
chọn sao cho sự thay đổi trên đối tượng chứa là chấp nhận được cụ thể SNR gần bằng 60 dB,
có thể điều chỉnh sao cho giữa tính vô hình và tính bền vững phù hợp theo từng mục đích
nhúng).



15

2.4.4 Ưu nhược điểm của thuật toán
2.5 Thuật toán đề xuất (sDWT)
Dựa trên cơ sở biến đổi wavelet rời rạc, tác giả đề xuất phương pháp nhúng bền vững
hơn đó là sử dụng thuật toán sDWT (stereo DWT). Trước hết, thực hiện biến đổi Wavelet
dùng kỹ thuật DWT 2 chiều họ Haar mức 1 cho đối tượng chứa, sau đó thông tin thủy vân
được nhúng trên miền biến đổi Wavelet. Do đối tượng chứa là tín hiệu âm thanh stereo có 2
kênh trái và phải, khi áp dụng DWT 2 chiều họ Haar vào tín hiệu âm thanh gốc, xem mỗi
kênh như một tín hiệu một chiều, chia thành từng cặp, một khối với kích thước 2x2. Và thông
tin thủy vân sẽ được nhúng vào thành phần Ai để đảm bảo đối tượng chứa ít thay đổi nhất.
Bít thông tin wi sẽ được nhúng vào các hệ số Ai, theo công thức:

Ai'  Ai   .wi

(2.43)

Bít thông tin wi' sẽ được tách từ các hệ số Ai' , theo công thức:

w 
'
i

Ai'  Ai



(2.44)


Trong thuật toán tác giả đề xuất, để đảm bảo hài hòa giữa tính trong suốt và tính bền
vững, tác giả chọn hệ số nhúng α=0.0005 (đảm bảo SNR lớn hơn 60dB).

2.5.1 Thuật toán nhúng và trích xuất thủy vân sDWT
2.5.2 Ưu khuyết điểm của thuật toán
2.6 Kết luận chương
Trong những năm gần đây, kỹ thuật thủy vân số được áp dụng cho nhiều khía cạnh.
Chủ yếu được sử dụng cho thông tin xác thực, bảo vệ bản quyền …Và Kỹ thuật thủy vân
âm thanh số không dể phát triển do đặc tính thính giác của con người, tuy nhiên ngày càng
được nhiều người nghiên cứu. Trong chương này, tác giả đề xuất một số phương pháp thủy
vân trong miền thời gian (LSB) và miền biến đổi (DCT, mDCT, DWT). Qua đó chỉ ra rằng,
phương pháp thủy vân âm thanh số trong miền biến đổi có tính bền vững, tính bảo mật …tốt
hơn trong miền thời gian.


16

Chương 3- CHƯƠNG TRÌNH MÔ PHỎNG
3.1 Công cụ mô phỏng và mục đích của chương trình mô phỏng
Toàn bộ quá trình thực hiện mô phỏng được xây dựng trên ngôn ngữ lập trình Matlab
và một toolbox của Maple hỗ trợ trong việc tính toán các số nguyên tố lớn.
Mục đích của chương trình mô phỏng là để minh họa cho lý thuyết, đưa ra những kết
quả cụ thể, từ đó làm cơ sở để so sánh và đánh giá kết quả qua các tiêu chí: tính trong suốt
của đối tượng chứa, tính bảo mật và tính toàn vẹn của dữ liệu mật, độ sẳn sàng….

3.2 Mô hình và giải thuật mô phỏng
3.3 Giao diện chương trình và các bước thực hiện mô phỏng
3.3.1 Giao diện chương trình
3.3.2 Các bước thực hiện mô phỏng

Trong chương trình mô phỏng, tác giả đưa vào 5 file âm thanh gốc với tần số lấy mẫu
là 22KHZ và 44 KHz, định đạng là *.wav, 2 kênh, mức mã hóa mỗi mẫu là 16 bit. Thông
tin thủy vân được chọn là: “vnpt.tif”, “rev.tif”, “ieee.tif” với kích thước 128x128, ảnh xám,
8 bit.
Để đơn giản, trong luận văn chỉ đưa ra kết quả khi nhúng thủy vân “vnpt.tif” vào file
âm thanh gốc “1.wav”.

Hình 3. 2 Ảnh thủy vân vnpt và âm thanh chứa “1.wav”

3.4 Kết quả mô phỏng - đánh giá
3.4.1 Thời gian thực hiện
Kết quả thời gian thực hiện quá trình nhúng, tách thủy vân cho 4 thuật toán áp dụng,
thống kê số liệu khi tách thủy vân trên file danhung.wav chưa thực hiện tấn công, cụ thể như
sau:
Bảng 3.1 Thời gian nhúng/ tách của các thuật toán

STT

Thuật toán
nhúng

Thời gian nhúng
(s)

Thời gian tách
(s)

Tổng (s)



17
1

LSB

0.00336808

0.00309648

0.00646456

2

DCT

0.163002

0.139253

0.302255

3

DWT

0.0577591

0.0558157

0.1135748


4

mDCT

1.31889

0.953434

2.272324

5

sDWT

0.141006

0.15131

0.292316

Tời gian thực hiện biểu thị mức độ sẳn sàng của các thuật toán. Căn cứ kết quả thực
nghiệm, trong 4 thuật toán trên, ta thấy thuật toán LSB có độ sẳn sàng tốt nhất (thời gian tổng:
0.00646456 s) và mDCT cho tính sẵn sàng thấp nhất (thời gian tổng: 2.272324 s).

3.4.2 Tỉ số tín hiệu trên nhiễu (SNR)
Bảng 3.2 Tỉ số SNR và phổ tín hiệu âm thanh trước nhúng/ sau nhúng

STT


Thuật toán

SNR (dB)

1

LSB

87.0735

2

DCT

64.9432

3

DWT

63.503

4

mDCT

63.4735

5


sDWT

62.7851

Phổ tín hiệu audio sau khi nhúng thủy vân

Căn cứ theo kết quả thực nghiệm, thuật toán LSB có SNR tốt nhất (SNR=87.0735 dB),
đây là thuật toán có độ trong suốt cao nhất trong 4 thuật toán. Trong khi đó, thuật toán sDWT
có SNR thấp nhất (SNR=62.7851dB).

3.4.3 Sai số bình phương trung bình (MSE)
Kết quả sai số bình phương trung bình thực hiện quá trình tách thủy vân cho 4 thuật
toán áp dụng, thống kê số liệu khi tách thủy vân trên file danhung.wav chưa thực hiện tấn
công, cụ thể như sau: Tất cả các thuật toán đều cho kết quả thủy vân trích xuất sau nhúng
không sai lệch so với thủy vân gốc (MSE=0).


18

3.5 Kết quả mô phỏng tấn công
3.5.1 Tấn công lấy mẫu lại giảm-tăng
Thực hiện mô phỏng tấn công lấy mẫu lại giảm- tăng theo tỉ lệ 92% ( tức là giảm
xuống 92% sau đó tăng lại 100% )khi thực hiện nhúng thủy vân vnpt.tif vào file âm thanh
1.wav. Kết quả như sau:
Bảng 3.3 Kết quả tấn công lấy mẫu lại giảm - tăng

Thuật
STT

toán

nhúng

SNR
(dB)

MSE

0.434509

Thời gian

Thời gian

Thủy vân sau

nhúng (s)

tách (s)

khi tách

1

LSB

87.1055

0.00372928 0.00170575

2


DCT

64.9752 0.0120239

0.158995

0.128545

3

DWT

63.5352

0.121887

0.0478668

0.0535936

4

mDCT 63.5055

0

1.31748

0.948514


5

sDWT 62.8171

0

0.136126

0.156097

Theo kết quả mô phỏng, khi thực hiện tấn công lấy mẫu lại giảm- tăng thì có hai thuật
toán sDWT và mDCT cho kết quả thủy vân sau khi tách ấn tượng hơn hết (MSEsDWT =
MSEmDCT=0) còn thuật toán LSB kém bền vững nhất (MSELSB = 0.434509).


19

3.5.2 Tấn công lấy mẫu lại tăng - giảm
Thực hiện mô phỏng tấn công lấy mẫu lại tăng – giảm theo tỉ lệ 50% (tức tăng lên
200%, sau đó giảm lại 100%) khi thực hiện nhúng thủy vân vnpt.tif vào file âm thanh 1.wav.
Khi thực hiện tấn công lấy mẫu lại tăng - giảm theo tỉ lệ 50% thì cũng giống như lấy mẫu lại
giảm – tăng, hai thuật toán sDWT và mDCT cho kết quả thủy vân sau khi tách không thay
đổi so với thủy vân gốc (MSEsDWT = MSEmDCT =0), tuy nhiên mức độ sẳn sàng của thuật toán
mDCT (ttách=1.31748s) kém hơn sDWT (ttách=0.155939s). Còn thuật toán LSB kém bền vững
nhất (MSELSB=0.30072).

3.5.3 Tấn công bằng thêm nhiễu
Thực hiện mô phỏng tấn công thêm nhiễu với mức thêm 0.03% khi thực hiện nhúng
thủy vân vnpt.tif vào file âm thanh 1.wav. Khi thực hiện tấn công thêm nhiễu với mức thêm

0.03% thì thuật toán sDWT cho kết quả thủy vân sau khi tách rất tốt
(MSEsDWT=0.000854492),

thuật toán LSB cho kết quả

kém bền vững nhất

(MSELSB=0.490784).

3.5.4 Tấn công bằng nén DCT
Thực hiện mô phỏng tấn công bằng nén DCT theo tỉ lệ 2:1 khi thực hiện nhúng thủy
vân vnpt.tif vào file âm thanh 1.wav. Khi thực hiện tấn công bằng nén DCT thì có 03 thuật
toán DCT, sDWT và mDCT cho kết quả thủy vân sau khi tách không thay đổi so với thủy vân
gốc (MSE=0), còn thuật toán LSB kém bền vững nhất (MSELSB = 0.498352).

3.5.5 Tấn công lọc thông thấp
Thực hiện mô phỏng tấn công bằng lọc thông thấp bằng bộ lọc Buterworth, tần số cắt
99% tần số lấy mẫu khi thực hiện nhúng thủy vân vnpt.tif vào file âm thanh 1.wav. Kết quả
như sau:
Bảng 3.4 Kết quả tấn công lọc thông thấp

STT

Thuật
toán
nhúng

1

LSB


SNR
(dB)

87.1055

MSE

0.479919

Thời gian

Thời gian

Thủy vân sau

nhúng (s)

tách (s)

khi tách

0.00372928 0.00256751


20

2

DCT


64.9752

0.024353

0.158995

0.133366

3

DWT

63.5352 0.0697632

0.0478668

0.0503601

4

mDCT 63.5055

0

1.31748

0.9565

5


sDWT

0

0.136126

0.150325

62.8171

Theo kết quả mô phỏng, khi thực hiện tấn công lọc thông thấp thì hai thuật toán sDWT
và mDCT cho kết quả thủy vân sau khi tách hết sức ấn tượng (MSE=0), tuy nhiên mức độ sẳn
sàng của mDCT kém nhất (t=0.9565s). Còn thuật tón LSB là kém bề vững nhất (MSELSB
=0.479919).

3.5.6 Tấn công nén mp3
Thực hiện mô phỏng tấn công nén mp3 với tỉ lệ 5.4:1, với bit rate 256kbps khi thực
hiện nhúng thủy vân vnpt.tif vào file âm thanh 1.wav. Kết quả như sau:
Theo kết quả mô phỏng, khi thực hiện tấn công nén mp3 thì hai thuật toán sDWT và
mDCT cho kết quả thủy vân sau khi tách rất tốt, tuy sDWT kém hơn mDCT về mặt bền vững
nhưng độ sẳn sàng tốt hơn. Còn thuật tóan LSB là kém bền vững nhất (MSELSB =0.545349).

3.6 Kết luận chương
Các nghiên cứu trong luận văn nhằm hiểu rõ về các phương thức nhúng và trích xuất
thủy vân trên miền không gian và miền biến đổi, để từ đó giá tính bền vững của thông tin thủy
vân chứa trong sản phẩm Audio số.
Để kiểm chứng tính đúng đắn của cơ sở lý thuyết, em xây dựng chương trình mô phỏng
hệ thống nhúng, trích xuất thông tin thủy vân trên phần mềm Matlab và so sánh, đánh giá giữa
các phương pháp. Sau cùng, tác giả đã đưa ra kết quả mô phỏng cụ thể cùng với các phân



21
tích, đánh giá thông qua các tiêu chí: tính vô hình của dữ liệu thủy vân, khả năng chứng thực,
tính toàn vẹn và tính sẵn sàng của hệ thống. Các kết quả thực hiện với nhiều loại dữ liệu khác
nhau trên nhiều đối tượng chứa khác nhau, sau đó so sánh với các kết quả trong nhiều công
trình nghiên cứu khác để đảm bảo tính trung thực của luận văn.
Qua kết quả mô phỏng, tùy theo mục đích và ứng dụng mà lựa chọn thuật toán phù
hợp. Mỗi thuật toán có ưu khuyết điểm riêng, ví dụ như LSB thì độ trong suốt và tính sẳn
sàng cao nhưng không bền vững khi bị tấn công còn mDCT thì tính bền vững tốt hơn nhưng
tính sẳn sàng chưa cao. Từ kết quả mô phỏng, chứng minh tính bền vững của các thuật tóan
nhúng trong miền biến đổi tốt hơn hẳn so với miền không gian. Và cũng từ kết quả mô phỏng,
chứng minh thuật toán đề xuất của tác giả bền vững nhất trong các thuật toán.


22

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Với kiến thức quý giá đã lĩnh hội từ các Thầy, Cô trong quá trình học tập và thực hiện
luận văn, cùng với sự định hướng và góp ý tận tình của Thầy Nguyễn Lương Nhật, tác giả đã
hoàn thành luận văn đúng tiến độ và yêu cầu đặt ra. Cụ thể những vấn đề đạt được và những
đóng góp mới mẽ của luận văn bao gồm:


Kiến thức tổng quan về kỹ thuật thủy vân, về hàm băm (MD5), âm thanh số và

các mô hình hệ thống thủy vân trên âm thanh số.


Nghiên cứu các thuật toán nhúng thủy vân trên miền thời gian (LSB) và miền


biến đổi (DCT, mDCT, DWT, sDWT). Trong từng thuật toán, tác giả đề xuất nhúng sao cho
kết quả tách thủy vân thỏa mãn tính trong suốt và tính bền vững.


Xây dựng chương trình mô phỏng (Matlab) các thuật toán với giao diện GUI.

Chương trình có thể thực hiện nhúng dữ liệu thủy vân có các định dạng khác nhau (âm thanh,
hình ảnh, text) vào nhiều định dạng Audio khác nhau.
Tác giả tin rằng, luận văn sẽ đóng góp một phần kiến thức cho lĩnh vực an toàn thông
tin nói riêng và cho nền khoa học nghiên cứu nhúng thủy vân ở Nước ta nói chung.
Tác giả đề xuất hướng nghiên cứu tiếp theo:


Cải tiến thuật toán nhúng mDCT nhằm nâng cao tính sẳn sàng



Kết hợp kỹ thuật mDCT và sDWT để có thuật toán nhúng tối ưu.



×