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

Một thuật toán thủy vân ảnh trên miền DCT JPEG

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 (564.87 KB, 6 trang )

Một thuật toán thủy vân ảnh trên miền DCT
An Image Watermarking Algorithm Using DCT Domain
Nguyễn Xuân Huy, Trần Quốc Dũng

Abstract: Digital watermarking technology has been
actively researched and developed by a number of
organizations, scientists in both research institution and
industry as well. It is considered as a key technology for
copyright protection, authentication and copy control for
digital content. This article describes briefly about
requirements of a robust watermarking system and solution
research trends. The main portion of this paper will
propose an algorithm of embedding a watermark into
image using Discret Cosne Transformation DCT domain.

I. ĐẶT VẤN ĐỀ
Trong kỷ nguyên số, thông tin số được sử dụng
rộng rãi trong một môi trường mở: tài nguyên được
phân phối cho nhiều người sử dụng, nhu cầu được bảo
vệ bản quyền và sở hữu trí tuệ các sản phẩm số đã trở
thành một vấn đề quan trọng và được nhiều cơ sở
nghiên cứu quan tâm [1,2,3,4,5]. Thuỷ ấn hay nhúng
thuỷ vân trong một phương tiện là một công nghệ mới
được đánh giá mang lại nhiều hứa hẹn trong ứng dụng
bảo vệ bản quyền, phát hiện xuyên tạc, điều khiển
truy cập đối với các dữ liệu đa phương tiện.
Không giống như các hệ mã mật được sử dụng cho
truyền thông và không ngăn cấm được người dùng sử
dụng trái phép những dữ liệu đó, các phương pháp
thuỷ vân hứa hẹn một giải pháp cho vấn đề bảo vệ bản
quyền đối với sản phẩm số khi mà sản phẩm đó được


sử dụng trong môi trường mở mà không cần đến việc
mã hoá. 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. Thuỷ vân
phải tồn tại bền vững với sản phẩm số và không thể

loại bỏ bằng bất kì những tấn công có chủ đích hay
không chủ đích nào trừ khi phá huỷ sản phẩm.
Nội dung bài viết này đề xuất một thuật toán nhúng
thuỷ vân vào trong ảnh sao cho thoả mãn các tính chất
và yêu cầu của một hệ thuỷ vân trên ảnh số. Khác với
các công trình đã công bố, thuật toán trong bài viết tập
trung vào kỹ thuật chọn miền tần số để giấu tin nhằm
nâng cao tính bền vững của thủy vân.
II. THỦY VÂN TRÊN ẢNH SỐ
Thuỷ vân trên ảnh số giống như một ảnh được “dán
tem” sở hữu của người chủ [1,4]. Thuỷ vân phải mang
thông tin có ý nghĩa xác định duy nhất người được sở
hữu ảnh đó. Người ta tập trung vào việc làm sao cho
thuỷ vân đó thoả hai tính chất quan trọng sau đây:
− Ẩn (hidden): không hiển thị trên nền ảnh, không
làm ảnh hưởng nhiều đến chất lượng tri giác của
ảnh.
− Bền vững (robust): Thuỷ vân phải tồn tại bền vững
cùng với sản phẩm, không bị xoá bởi các tấn công
có chủ đích hay không có chủ đích. Một cách lý
tưởng là để loại bỏ thuỷ vân chỉ còn cách là phá
huỷ ảnh đó.
Tính phức tạp của kỹ thuật thuỷ vân thể hiện ở hai

tính chất mâu thuẫn lẫn nhau này. Nếu như để đảm
bảo tính ẩn thì thuỷ vân phải được giấu trong những
vị trí ít có ý nghĩa tri giác nhất, ít bị chú ý nhất, nhưng
để đảm bảo được tính bền vững thì thuỷ vân phải chịu
được những phép xử lí ảnh phổ biến như dịch chuyển
ảnh, co giãn ảnh, quay ảnh hoặc nén ảnh. Đơn cử như
phép nén JPEG lại loại bỏ ở ảnh những thông tin ít có


tính tri giác nhất để làm giảm kích thước của ảnh mà
vẫn đảm bảo được chất lượng ảnh. Căn cứ trên các
giải pháp đã được công bố, ta có thể phân loại các kĩ
thuật hiện nay thành hai nhóm chính:
1. Nhóm các kĩ thuật biến đổi miền không gian ảnh
(spatial image transfroms): nhóm kĩ thuật này tập
trung vào việc thay đổi trực tiếp lên không gian các
điểm ảnh và sử dụng các mô hình tri giác và
phương pháp hình học. Tuy nhiên, các kĩ thuật này
chỉ đảm bảo được thuộc tính ẩn mà không có tính
bền vững. Kĩ thuật này thường được sử dụng trong
các ứng dụng nhận thực thông tin, phát hiện xuyên
tạc [6].
2. Nhóm các kĩ thuật biến đổi miền tần số ảnh
(frequency image transforms): Nhóm kĩ thuật này
sử dụng một phương pháp biến đổi trực giao nào
đó, chẳng hạn như Cosine rời rạc, hay Fourier… để
chuyển miền không gian ảnh sang miền tần số.
Thuỷ 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.
Đây là kĩ thuật phổ biến nhất với nhiều thuật toán

và được hứa hẹn là một phương pháp tốt giải quyết
vấn đề đảm bảo hai thuộc tính quan trọng của thuỷ
vân sau khi giấu.
Ngoài hai nhóm trên, gần đây đã xuất hiện những
ký thuật dựa trên đặc thù của ảnh [7,8].
III. THUẬT TOÁN NHÚNG THUỶ 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 thuỷ vân. Giải tần được
sử dụng để chứa tín hiệu thuỷ vân là miền tần số giữa
của một khối biến đổi cô sin rời rạc DCT (discret
cosne transformation) 8×8. Trong đó, các khối DCT
8×8 là những khối ảnh cùng kích thước đã được chọn
ra ngẫu nhiên 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.
1. Mô tả thuật toán
− Input:
Một chuỗi các bít thể hiện bản quyền
Một ảnh

− Output:
Một ảnh sau khi thuỷ vân.
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.
− Chọn một khối bất kì B và biến đổi DCT khối đó
thu được B’
− 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
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


Ảnh gốc

min(|b’(i,j))|,|b’(p,q)|) + INT(1,25*a) - d
Quá trình nhúng thuỷ vân được mô tả trên hình 1.

tách khối

3. Quá trình giải nhúng để lấy lại thông tin:

Các khối ảnh

Đọc khối DCT từ ảnh chứa thuỷ vân và vị trí hai
hệ số đã biến đổi, sau đó tính:
Watermark
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.

biến đổi DCT
Các khối DCT

nhúng thuỷ vân
Các khối đã nhúng thuỷ vân

biến đổi IDCT


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

Các khối đã biến đổi ngược IDCT

ghép ảnh
Ảnh đã nhúng thuỷ vân
Hình 1: Quá trình nhúng thủy vân

Ảnh đã nhúng thuỷ vân

tách khối
Lấy ra các khối đã chọn

biến đổi DCT

Ù d’ = (||b’(i,j)|- |b’(p,q)|| mod a)+ (INT(0,75*a)
mod a) - (d mod a)


Khối đã biến đổi DCT

Ù 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:
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)

giải mã
Watermarks
Hình 2: Quá trình giải mã

+ (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.
IV. KẾT QUẢ THỰC NGHIỆM
Kết quả thực tế cài đặt thử nghiệm được cho trong
bảng sau. Các hàng là số lượng bít đã giấu vào ảnh.
Các cột lần lượt là các hệ số a đã chọn. Giao giữa
hàng và cột là tỉ lệ lỗi bít được tính bằng tổng số bít
lỗi trên tổng số bít đã đem giấu được tính bằng hệ số
tương quan C (cross- relation)
Ảnh được giấu là một ảnh đa cấp xám Lena.BMP
cỡ 512 × 512 pixel.

Số bít lỗi
KT (a2)
C
Số bít lỗi
KT (a3)
C
Số bít lỗi


1,4M

1,4M

4
363KB
0,993
5
538KB
0,986
10

6
172KB
0,984
12
200KB
0,947
40

21
136KB
0,967
25
157KB
0,953
34

50
78KB

0,941
44
108KB
0,896
79

Bảng 2: Thực nghiệm với ảnh Lena.Bmp 512 × 512
với các trường hợp nén JPEG

Tiếp theo là kết quả thu được khi thực hiện phép
lọc, làm sắc ảnh.
Số lần
1
2
3
4
5
làm sắc
C (a2= 14) 0,950 0,948 0,918 0,878 0,832
C (a2=18) 0,905 0,847 0,780
Bảng 3: Kết quả kiểm nghiệm với phép tấn công
làm sắc ảnh

Hình 3. Ảnh Lena.BMP 512 × 512
a = 10

a=14

a=18


100 bit

0,990

0,993

0,997

200 bit

0,975

0,990

0,995

300 bit

0,973

0,993

0,997

5000 bit

0,974

0,988


0,994

1000 bit

0,970

0,984

0,994

a. Ảnh Lena sau khi giấu tin

Bảng 1: Thực nghiệm với ảnh Lena.Bmp 512 × 512
(chưa nén JPEG)

Dưới đây là kết quả thu được sau khi nén JPEG ảnh
đã được thuỷ vân với tỉ lệ nén lần lượt là 100%, 90%,
80%, 50%. KT là kích thước file ban đầu và sau khi
nén. C là hệ số tương quan giữa thuỷ vân trước khi
giấu và sau khi giấu. Thuỷ vân có độ dài là 1000 bít,
các hệ số a1, a2, a3 lần lượt là 10,14,18.
Chất
lượng (%)
KT (a1)
1,4M
C

100

90


80

50

363KB
0,994

156KB
0,983

121KB
0,972

68KB
0,932

b. Ảnh Lena sau 5 lần tấn công làm sắc
Hình 4

Cuối cùng, khảo sát thực nghiệm với phép tấn công
croping ảnh, với các ảnh được chọn ngẫu nhiên và cắt
với các tỉ lệ khác nhau.
Bảng kết quả thu được:


Tỉ lệ cắt
C

25%

0,860

50%
0,751

75%
0,641

(a) Cắt 25%

thuỷ vân. Mỗi khối sẽ được áp dụng phép biến đổi
cosin rời rạc để chuyển dữ liệu về tần số của khối ảnh.
Miền tần số thấp của khối ảnh đã được chứng minh là
chứa dữ liệu nhìn thấy của ảnh, các thay đổi dữ liệu
trên miền này sẽ dẫn đến thay đổi đáng kể ảnh hiển thị
[1]. Ngược lại, miền tần số cao chứa dữ liệu ảnh
không ảnh hưởng đáng kể đến tri giác ảnh. Đây là
miền tần số cho phép thay đổi mà không gây nhiễu
nhiều đến ảnh. Tuy nhiên, thuỷ vân trong miền này lại
không bền vững với các phép biến đổi ảnh thông
thường. Với thuật toán này, miền được chọn để giấu
tin là miền có tần số ở giữa tần số cao và tần số thấp,
kết quả thực nghiệm của thuật toán cũng cho thấy
thuỷ vân đảm bảo được tính chất ẩn trên ảnh và bền
vững trên một số phép biến đổi ảnh thông thường.
TÀI LIỆU THAM KHẢO

(b) Cắt 50%

(c) Cắt 75%

Hình 5: Các ảnh mô tả cropping

V. KẾT LUẬN
Bài viết đề xuất một thuật toán nhúng thuỷ vân vào
ảnh tĩnh sử dụng kỹ thuật giấu tin trên miền biến đổi
cosin rời rạc. Ảnh được chia thành các khối 8×8, các
khối này được chọn một cách ngẫu nhiên để nhúng

[1] I. J. COX, J. KILIAN, T. LEIGHTON, AND T.
SHAMOON, A secure, robust watermark for
multimedia, in Proc First Int. Workshop on
Information Hiding, R. Anderson, ed., no. 1174 in
Lecture Notes in Computer Science, pp. 185–206,
May/June 1996.
[2] I. J. COX, M. L. MILLER, AND A. L.
MCKELLIPS, Watermarking as communications
with side information, Proceedings of the IEEE 87,
pp. 1127–1141, July 1999.
[3] J. R. HERN´ANDEZ, M. AMADO, AND F.
P´EREZ-GONZ´ALEZ, Dct-domain watermarking
techniques for still images: Detector performance
analysis and a new structure, IEEE Transactions on
Image Processing 9, pp. 55–68, January 2000
[4] D. KUNDUR, Implications for high capacity data
hiding in the presence of lossy compression, in Proc.
IEEE International Conference on Information
Technology: Coding and Computing, pp. 16–21,
March 2000,
[5] T. KOHDA, Y. OOKUBO, AND K. SHINOKURA,
Digital watermarking through CDMA channels

using spread spectrum techniques, in Proc. IEEE
International Symposium on Spread-Spectrum
Techniques and Applications, vol. 2, pp. 671–674,
September 2000,


[6] NGUYỄN XUÂN HUY, BÙI THUÝ HẰNG, Một
số cải tiến của kĩ thuật giấu dữ liệu trong ảnh, Kỷ
yếu Hội nghị Khoa học kỷ niệm 25 năm thành lập
Viện Công nghệ Thông tin, 2001, 553-559.
[7] 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 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.
[8] 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..

Ngày nhận bài: 4/6/2002

SƠ LƯỢC TÁC GIẢ
NGUYỄN XUÂN HUY

TRẦN QUỐC DŨNG

Sinh năm 1944.
Nghiên cứu viên cao cấp Viện

Công nghệ thông tin, Trung tâm
Khoa học Tự nhiên và Công
nghệ Quốc gia.
Tốt nghiệp Đại học Sư phạm
Leningrad (1973), TS (1980),
TSKH (1990) Trung tâm Tính
toán viện Hàn lâm Khoa học
Liên Xô. Hiện là Trưởng phòng Cơ sở dữ liệu và Lập
trình, viện Công nghệ thông tin.
Lĩnh vực quan tâm: cơ sở dữ liệu, thuật toán và
công nghệ phần mềm.
E-mail:

Sinh năm 1980 tại Hà Nội
Tốt nghiệp Khoa Công Nghệ,
Đại học Quốc Gia Hà Nội năm
2001.
Hiện công tác tại phòng
CSDL và Lập Trình, Viện Công
Nghệ Thông Tin, TTKHTN &
CNQG
E-mail:




×