Thủy ấn dạng hiện sử dụng biến đổi DCT
MỤC LỤC
I : Phát biểu bài toán: 2
1.Những khái niệm cở bản về thủy ấn và ứng dụng 2
2. Biến đổi DCT(Discrete Cosin Transform) 4
a. Biến đổi Cosin một chiều : 4
b. Phép biến đổi Cosin rời rạc 2 chiều: 4
II. Hướng giải quyết 6
III. Thuật toán nhúng thủy vân 6
1. Mô tả thuật toán 6
2. Quá trình Watermarking 6
3. Quá trình giải nhúng để lấy lại thông tin: 8
4. Chứng minh tính đúng đắn của thuật toán. 9
5.Mở rộng thuật toán 10
IV.Tài liệu tham khảo 11
Báo Cáo Tiểu Luận
Môn học: Xử Lý Ảnh
Page 1
Thủy ấn dạng hiện sử dụng biến đổi DCT
Đề tài : Thủy ấn dạng hiện sử dụng phép biến đổi DCT
I : Phát biểu bài toán:
Nghiên cứu phương pháp dấu tin trong ảnh bằng kỹ thuật dấu tin watermarking sử dụng
phếp biến đổi DCT ( Discrete Cosin Transform)
1.Những khái niệm cở bản về thủy ấn và ứng dụng
a. Thủy ấn(Tạo thủy vân): Tạo thuỷ vân là một phương pháp nhúng một lượng thông tin
nào đó vào trong dữ liệu đa phương tiện cần được bảo vệ sở hữu mà không để lại ảnh
hưởng nào đến chất lượng của sản phẩm
- watermarking là một trong hai hướng phát triển chính của kỹ thuật giấu tin
- Watermarking (thuỷ ấn) là kỹ thuật nhúng một biểu tượng vào trong ảnh môi trường để
xác định quyền sở hữu ảnh môi trường, chống sự giả mạo và xuyên tạc thông tin.
Kích thước của biểu tượng thường nhỏ (từ vài bit tới vài nghìn bit). Kỹ thuật này cho
phép đảm bảo nguyên vẹn biểu tượng khi ảnh môi trường bị biến đổi bởi các phép thao
tác như lọc (filtering), nén mất dữ liệu (lossy compression), hay các biến đổi hình
học, Tuy nhiên việc đảm bảo nguyên vẹn biểu tượng không kể đến khi có sự tấn công
dựa trên việc hiểu rõ thuật toán và có bộ giải mã trong tay. Thông tin giấu là một định danh
duy nhất, ví dụ định danh người dùng thì khi đó người ta gọi là Fingerprinting (nhận dạng
vân tay, điểm chỉ).
- watermark (thủy vân, thủy ấn) quan tâm nhiều đến ứng dụng giấu các mẩu tin ngắn nhưng
đòi hỏi độ bền vững lớn của thông tin cần giấu (trước các biến đổi thông thường của tệp dữ
liệu môi trường)
- Thuỷ vân số là một phương pháp dùng để bảo vệ các sản phẩm số. Nó có thể được dùng
trong các lĩnh vực bảo vệ bản quyền, chống sao chép, phân biệt giả mạo, Các sản phẩm số
này có thể là văn bản, audio, video, phần mềm, ảnh, .Thuỷ vân số là một phương pháp mới
dựa trên lý thuyết tổng hợp của nhiều lĩnh vực khác nhau như mật mã học, lý thuyết thông
tin, lý thuyết truyền thông và xử lý tín hiệu số, xử lý ảnh. Mục đích của phương pháp này là
dấu thêm một lượng thông tin có ích vào sản phẩm số và lượng thông tin này được gọi là
thuỷ vân.
b. Phân loại: Theo Fabien A. P. Petitcolas đề xuất năm 1999:
*Theo ảnh hưởng các tác động từ bên ngoài:
- Loại thứ nhất: Bền vững với các tác động sao chép trái phép
- Loại thứ hai lại cần tính chất hoàn toàn đối lập: dễ bị phá huỷ trước các tác động nói trên
Page 2
Thủy ấn dạng hiện sử dụng biến đổi DCT
*Theo đặc tính: Một loại cần được che giấu để chỉ có một số người tiếp xúc với nó có thể
thấy được thông tin, loại thứ hai đối lập, cần được mọi người nhìn thấy.
- Xét về tính chất thuỷ ấn giống giấu tin ở chỗ tìm cách nhúng thông tin mật vào một môi
trường. Nhưng về bản chất thì thuỷ ấn có những nét khác ở một số điểm:
+ Mục tiêu của thuỷ ấn là nhúng thông tin không lớn thường là biểu tượng, chữ ký hay các
đánh dấu khác vào môi trường phủ nhằm phục vụ việc xác nhận bản quyền
+ Khác với giấu tin ở chỗ giấu tin sau đó cần tách lại tin còn thuỷ ấn tìm cách biến tin
giấu thành một thuộc tính của vật mang
+ Chỉ tiêu quan trọng nhất của một thuỷ ấn là tính bền vững, của giấu tin là dung lượng
- Điểm khác nữa giữa thuỷ ấn và giấu tin là thuỷ ấn có thể vô hình hoặc hữu hình trên ảnh
mang. Kỹ thuật giấu tin được áp dụng cho các loại dữ liệu ảnh, audio, vidio. Chức
năng của giấu tin trong ảnh sẽ khác nhau tuỳ theo các hình thức xâm phạm dữ liệu ảnh. Ảnh
bị vi phạm bản quyền: nội dung của ảnh giống với nội dung ảnh bản quyền nhưng chúng
được dùng với mục đích mà tác giả không cho phép. Để bảo vệ các sản phẩm chống lại các
hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để “dán tem bản quyền” vào sản
phẩm này. Việc dán tem hay chính là việc nhúng thuỷ vân cần phải đảm bảo không để lại
một ảnh hưởng lớn nào đến việc cảm nhận sản phẩm. Yêu cầu kỹ thuật đối với ứng dụng này
Page 3
Thủy ấn dạng hiện sử dụng biến đổi DCT
là thuỷ vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thuỷ vân này mà không được
phép của người chủ sở hữu thì chỉ có cách là phá huỷ sản phẩm.
Ảnh bị sửa đổi: nội dung của ảnh bị xuyên tạc. Trong trường hợp này giấu tin có tác
dụng phân biệt ảnh bản quyền với ảnh bị sửa đổi nội dung. Áp dụng các bước tách tin
giống nhau với các ảnh khác nhau, ta sẽ tách được dấu bản quyền đã được đăng ký
trước đối với ảnh bị xuyên tạc.
Hầu hết giấu tin được gắn cho ảnh là giấu không nhìn thấy nhưng trên thực tế
tồn tại một loại giấu tin có thể nhìn thấy, chúng không trong suốt hoàn toàn.Tuy nhiên nội
dung của luận văn này tôi chỉ đề cập tới loại giấu tin không nhìn thấy.
2. Biến đổi DCT(Discrete Cosin Transform)
a. Biến đổi Cosin một chiều :
∑
−
=
+
=
1
0
2
)12(
cos)(
2
)(
N
n
k
N
kn
nx
N
kX
π
ε
ở đây:
ε
k
=
1
2
với k = 0
1
1
=
k
ε
với các trường hợp còn lại
và k = 0,1,2, , N.
Phép biến đổi Cosin ngược được cho bởi công thức :
Với
≠
=
=
00
0
2
1
kkhi
kkhi
k
ε
b. Phép biến đổi Cosin rời rạc 2 chiều:
Page 4
∑
−
=
+Π
=
1
0
2
)12(
)()(
N
k
N
nk
Cos
k
kXnx
ε
∑
−
=
∑
−
=
+Π+Π
=
1
0
1
0
2
)12(
2
)12(
),(
4
),(
1
1
2
2
22
1
11
21
21
21
21
2
N
n
N
n
N
kn
Cos
N
kn
Cosnnx
NN
kkX
kk
εε
Thy n dng hin s dng bin i DCT
Trong đó,
1
1
=
k
khi k
1
= 0 và
2
1
1
=
k
khi k
1
= 1,2, ,N
1
-1
1
1
=
k
khi k
2
= 0 và
2
1
2
=
k
khi k
2
= 1,2, ,N
2
-1
Phép biến đổi ngợc đợc định nghĩa bởi công thức:
21
,
kk
nhận các giá trị nh trong công thức biến đổi xuôi.
Để nâng cao tốc độ biến đổi ngời ta đã phát triển các giải thuật biến đổi nhanh Cosin
hai chiều. Cách làm phổ biến nhất là tận dụng phép biến đổi nhanh Cosin một chiều. Ta
biến đổi công thức về dạng:
t:
Cụng thc bin i trờn tr thnh:
Page 5
2
22
1
11
1
1
2
2
221
2
)12(
2
)12(
21
1
0
1
0
),
1
(),(
N
kn
Cos
N
kn
Cos
kk
N
k
N
k
kkXnnx
++
=
=
=
1
11
1
1 2
2
22
21
2
2
1
1
21
2
)12(
1
0
1
0
2
)12(
),(
2
2
),(
2
N
kn
Cos
N
n
N
n
N
kn
Cosnnx
NN
k
kkX
+
=
=
+
=
[ ]
1
11
1
1
21
1
1
21
2
)12(
.
1
0
),('
2
),(
N
kn
Cos
n
knX
N
kkX
N
k
+
=
=
=
+
=
12
02
2
22
21
2
2
21
2
)12(
),(
2
),('
N
n
N
kn
Cosnnx
N
knX
Thủy ấn dạng hiện sử dụng biến đổi DCT
II. Hướng giải quyết.
Sử dụng dụng phương pháp biến đổi trực giao Cosine rời rạc để chuyển miền không
gian ảnh sang miền tần số. Thủy vân sẽ được nhúng trong miền không gian tần số của
ảnh theo kĩ thuật trải phổ trong truyền thông.
III. Thuật toán nhúng thủy vân
Thuật toán dưới đây sử dụng phương pháp trải phổ trong truyền thông để nhúng thông
tin . Giải tần được sử dụng để chứa tín hiệu thông tin là miền tần số giữa của một khối
biến đổi cô sin rời rạc DCT (discrete cosine transformation) 8×8. Trong đó, các
khối DCT 8×8 là những khối ảnh cùng kích thước đã được chia ra từ ảnh ban đầu và
được áp phép biến đổi cosin rời rạc DCT để chuyển sang miền tần số. Mỗi tín
hiệu thuỷ vân sẽ được chứa trong một khối.
Chú ý : Mỗi khối 64 điểm ảnh sau biến đổi DCT thuận sẽ nhận được 64 hệ số
thực DCT (bảng 1). Mỗi hệ số này có chứa một trong 64 thành phần tần số không
gian hai chiều. Hệ số với tần số bằng không theo cả hai hướng (tương ứng với k1 và
k2 bằng 0) được gọi là hệ số một chiều DC, hệ số này chính là giá trị trung bình của
64 điểm ảnh trong khối. 63 hệ số còn lại gọi là các hệ số xoay chiều AC. Hệ số một
chiều DC tập trung phần lớn năng lượng của ảnh.
Mỗi tín hiệu thông tin sẽ được chứa trong một khối.
1. Mô tả thuật toán
− Input:
Một chuỗi các bít thông tin cần dấu:
Một ảnh
− Output:
Một ảnh sau khi dấu tin .
Khoá để giải mã.
2. Quá trình Watermarking
− Chia ảnh có kích thước m × n thành (m×n)/64 khối 8×8, mỗi bít sẽ được giấu trong
một khối.
− Biến đổi DCT các khối B( mỗi khối có kích thước 8x8) trong ma trận ảnh đó thu
được các khối B’ trong ma trận tần số mới.
− Chọn hai hệ số ở vị trí bất kì trong miền tần số ở giữa của khối DCT, giả sử đó
là b’(i,j) và b’(p,q).
Ta tính:
d = || b’(i,j)|- |b’(p,q)|| mod a
Page 6
Thủy ấn dạng hiện sử dụng biến đổi DCT
trong đó a là một tham số thoả mãn điều kiện:
a=2(2t+1), t là một số nguyên dương.
Bít si sẽ được nhúng sao cho thoả mãn điều kiện sau:
d >= 2t+1 nếu si = 1
d < 2t+1 nếu si = 0
− Nếu d<2t+1 và si = 1 thì một trong hai hệ số DCT b’(i,j) hoặc b’(p,q) có trị tuyệt
đối lớn hơn sẽ bị thay đổi để d>=2t +1 theo công thức sau:
max(|b’(i,j)|, |b’(p,q)|) + (INT(0,75 *a) - d)
Với hàm max(|b’(i,j)|, |b’(p,q)|) là hàm chọn ra hệ số có trị tuyệt đối lớn hơn, hệ số được
chọn sẽ được cộng thêm một lượng là (INT(0,75 *a) - d).
Hoặc cũng có thể biến đổi một trong hai hệ số theo công thức:
min(|b’(i,j)|, |b’(p,q)|) - (INT(0,25 *a) + d)
Với hàm min(|b’(i,j)|, |b’(p,q)|) là hàm chọn ra hệ số có trị tuyệt đối nhỏ hơn, hệ số
được chọn sẽ bị trừ đi một lượng là (INT(0,25 *a) + d)
*INT() là hàm làm lấy phần nguyên của một số thực.
− Tương tự, nếu d >= 2t+1 và si = 0 thì một trong hai hệ số DCT b’(i,j) hoặc b’(p,q)
có trị tuyệt đối lớn hơn sẽ được thay đổi để thoả mãn d<2t +1 như sau:
max(|b’(i,j)|,|b’(p,q)|) - (d - INT(0,25*a))
Hàm max(|b’(i,j)|, |b’(p,q)|) là hàm chọn ra hệ số có trị tuyệt đối lớn hơn, hệ số được
chọn sẽ bị trừ đi một lượng là (d - INT(0,25 *a))
Hoặc :
min(|b’(i,j))|,|b’(p,q)|) + INT(1,25*a) - d
Quá trình nhúng thông tin được mô tả trên hình 1:
Tách khối
Biên đổi DCT
Nhúng thông tin cần dấu
Page 7
Ảnh gốc
Các khối ảnh
Các khối DCT
Các khối đã nhúng tin
Watermark
Thủy ấn dạng hiện sử dụng biến đổi DCT
Biến đổi ngược IDCT
Ghép ảnh
Hình 1: Quá trình nhúng thủy vân
3. Quá trình giải nhúng để lấy lại thông tin:
Đọc khối DCT từ ảnh chứa thuỷ vân và vị trí hai hệ số đã biến đổi, sau đó tính:
d = ||b’(i,j)|-|b’(p,q)|| mod a với (a =2(2t+1))
Nếu d >= 2t+1 thì gán si =1
Nếu d<2t +1 thì gán si = 0
Quá trình giải mã được mô tả trong hình 2:
Tách khối
Biến đổi DCT
Giải mã
Page 8
Các khối đã biến đổi ngược
IDCT
Ảnh đã nhúng thủy vân
Ảnh đã nhúng thủy vân
Các khối ảnh
Các khối DCT
Watermarks
Thủy ấn dạng hiện sử dụng biến đổi DCT
Hình 2: Quá trình giải mã
4. Chứng minh tính đúng đắn của thuật toán.
Xét các trường hợp sau đây:
− Nếu d < 2t +1 với si = 0 và d >= 2t+1 với si =1 thì sẽ không thay đổi gì hệ số của khối
DCT, và vì DCT là phép biến đổi thuận nghịch nên khi giải mã thì ta cũng thu được kết
quả chính xác.
− Trường hợp d <2t+1 và si = 1.
Ta biến đổi một trong hai hệ số b’(i,j) và b’(p,q) như sau:
max(|b’(i,j)|,|b’(p,q)|) + (INT(0,75*a) -d)
Khi đó giá trị d mới là:
d=(||b(i,j)|-|b(p,q)||+(INT(0.75*a)-d))mod a
d’ = (||b’(i,j)|- |b’(p,q)|| mod a)+ (INT(0,75*a) mod a) - (d mod a)
d’ = d + INT(0,75*a) - d = INT(0,75 *a)
= > 0,5 *a = 2t +1 (dpcm)
Hoặc ta sử dụng cách biến đổi hai hệ số theo kiểu khác:
min(|b’(i,j)| - |b’(p,q)|) - (INT(0,25 *a) +d))
Tính lại d:
d’ = (||b’(i,j)|-|b’(p,q)|| - (INT(0,25*a) +d)) mod a
d’ = (||b’(i,j)|- |b’(p,q)|| mod a) - (INT(0,25*a) mod a) - (d mod a)
d’= d-(INT(0,25*a) mod a) - d
= - INT(0,25*a) mod a = INT(0,75*a) >2t +1
− Trường hợp d>=2t +1 và si = 0
Ta sẽ biến đổi một trong hai hệ số DCT b’(i,j) hoặc b’(p,q) như sau:
Page 9
Thủy ấn dạng hiện sử dụng biến đổi DCT
max(||b’(i,j)|,|b’(p,q)||) - (d- INT(0,25*a))
Giá trị mới của d sẽ là:
d’ = (||b’(i,j)|-|b’(p,q)|| - (d-(INT(0,25*a)) mod a
d’= ((||b’(i,j)|-|b’(p,q)||) mod a) - (d mod a) + (INT(0,25*a) mod a)
d’= d-d + 0,25*a = 0,25*a < 0,5*a = 2t +1(dpcm)
Hoặc ta sử dụng cách biến đổi khác đối với hai hệ số DCT:
min(||b’(i,j)|- |b’(p,q)||) + INT(1,25*a) - d
Khi đó tính lại d ta được:
d’ = (||b’(i,j)|-|b’(p,q)|| + INT(1,25*a) -d) mod a
d’= (||b’(i,j))|-|b’(p,q)|| mod a) + (INT(1,25*a) mod a) - (d mod a)
d’ = d +INT(0,25*a) -d = INT(0,25*a) < 0,5*a = 2t+1
Vậy với các phép biến đổi trên, ta luôn thoả mãn được điều kiện giấu tin
5.Mở rộng thuật toán
Theo như chứng minh việc dấu thông tin một 1bit trong 1 khối lượng thông tin dấu
được là rất nhỏ . Nhận thấy ma trận sau khi biến đổi DCT cho ta 64 thành phần trong dó
có 1 hệ số 1 chiều DC tập trung phần lớn năng lượng của ảnh con lại 63 thành phần
AC là thành phần 2 chiều sẽ lưu giữ năng lượng của ảnh it hơn. Ta có thể biến đổi
các hệ số trong 63 hệ số AC mà sau khi biến đổi IDCT ta vẫn thu được hình ảnh tốt
đảm bảo tính bản quyền
Tương tự như thuật toán dấu 1 bit so sánh hai vị trí bất kỳ trong khối . Ta có thể
so sánh 31 vị trí trong ảnh so với 31 vị trí khác . ( trừ vị trí k1=0;k2=0 vị trí thành
phần 1 chiều). vì vậy 1 khối ta có thể dấu được tới 31 bit .
Điều kiện là các cặp khác nhau không được trùng nhau :
Ví du : không thể chọn các cặp như sau : ( [2,3],[4,5]),([2,3],[4,6]) tức nhau tại
một vị trí là [2,3].
Vì vậy ta có thể dấu nhiều bit thông tin trong một khối .
Page 10
Thủy ấn dạng hiện sử dụng biến đổi DCT
IV.Tài liệu tham khảo.
1. A Secure Data Hiding Scheme for two color images – Yu-Yuan Chen, Hsiang-Kuang Pan,
and Yu-Chee Tseng.
2. Analysis of LSB image steganography technique – R.Chandramouly, Nasir Memon
Secure and invisible data hiding in two color images – Yu-Chee Tseng, Hsiang-Kuang Pan.
3. “Một cải tiến thuật toán giấu tin trong ảnh nhị phân” của Ts.Đào Thanh Tĩnh, Ts.
Tống Minh Đức .
4. Vũ Ba Đình, Đào Thanh Tĩnh, Nguyễn Xuân Huy, Kĩ thuật giấu thông tin trong bản đồ
số, Tạp chí Bưu chính Viễn thông, Chuyên san “Các công trình nghiên cứu - triển khai
VT và CNTT”, số 8, 11-2002, 85-92.
5. VŨ BA ĐÌNH, NGUYỄN XUÂN HUY, ĐÀO THANH TĨNH, Đánh giá khả năng
giấu dữ liệu trong bản đồ số, TC Tin học và Điều khiển học, T. 18, S.4 (2002), 347-353
Page 11