You are on page 1of 6

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 loại bỏ bằng bất kì những tấn công có chủ đích hay
actively researched and developed by a number of không chủ đích nào trừ khi phá huỷ sản phẩm.
organizations, scientists in both research institution and Nội dung bài viết này đề xuất một thuật toán nhúng
industry as well. It is considered as a key technology for
thuỷ vân vào trong ảnh sao cho thoả mãn các tính chất
copyright protection, authentication and copy control for
và yêu cầu của một hệ thuỷ vân trên ảnh số. Khác với
digital content. This article describes briefly about
các công trình đã công bố, thuật toán trong bài viết tập
requirements of a robust watermarking system and solution
research trends. The main portion of this paper will
trung vào kỹ thuật chọn miền tần số để giấu tin nhằm
propose an algorithm of embedding a watermark into nâng cao tính bền vững của thủy vân.
image using Discret Cosne Transformation DCT domain.
II. THỦY VÂN TRÊN ẢNH SỐ
I. ĐẶT VẤN ĐỀ Thuỷ vân trên ảnh số giống như một ảnh được “dán
Trong kỷ nguyên số, thông tin số được sử dụng tem” sở hữu của người chủ [1,4]. Thuỷ vân phải mang
rộng rãi trong một môi trường mở: tài nguyên được thông tin có ý nghĩa xác định duy nhất người được sở
phân phối cho nhiều người sử dụng, nhu cầu được bảo hữu ảnh đó. Người ta tập trung vào việc làm sao cho
vệ bản quyền và sở hữu trí tuệ các sản phẩm số đã trở thuỷ vân đó thoả hai tính chất quan trọng sau đây:
thành một vấn đề quan trọng và được nhiều cơ sở − Ẩn (hidden): không hiển thị trên nền ảnh, không
nghiên cứu quan tâm [1,2,3,4,5]. Thuỷ ấn hay nhúng làm ảnh hưởng nhiều đến chất lượng tri giác của
thuỷ vân trong một phương tiện là một công nghệ mới ảnh.
được đánh giá mang lại nhiều hứa hẹn trong ứng dụng − Bền vững (robust): Thuỷ vân phải tồn tại bền vững
bảo vệ bản quyền, phát hiện xuyên tạc, điều khiển cùng với sản phẩm, không bị xoá bởi các tấn công
truy cập đối với các dữ liệu đa phương tiện. có chủ đích hay không có chủ đích. Một cách lý
Không giống như các hệ mã mật được sử dụng cho tưởng là để loại bỏ thuỷ vân chỉ còn cách là phá
truyền thông và không ngăn cấm được người dùng sử huỷ ảnh đó.
dụng trái phép những dữ liệu đó, các phương pháp Tính phức tạp của kỹ thuật thuỷ vân thể hiện ở hai
thuỷ vân hứa hẹn một giải pháp cho vấn đề bảo vệ bản tính chất mâu thuẫn lẫn nhau này. Nếu như để đảm
quyền đối với sản phẩm số khi mà sản phẩm đó được bảo tính ẩn thì thuỷ vân phải được giấu trong những
sử dụng trong môi trường mở mà không cần đến việc vị trí ít có ý nghĩa tri giác nhất, ít bị chú ý nhất, nhưng
mã hoá. Tạo thuỷ vân là một phương pháp nhúng một để đảm bảo được tính bền vững thì thuỷ vân phải chịu
lượng thông tin nào đó vào trong dữ liệu đa phương được những phép xử lí ảnh phổ biến như dịch chuyển
tiện cần được bảo vệ sở hữu mà không để lại ảnh ảnh, co giãn ảnh, quay ảnh hoặc nén ảnh. Đơn cử như
hưởng nào đến chất lượng của sản phẩm. Thuỷ vân phép nén JPEG lại loại bỏ ở ảnh những thông tin ít có
phải tồn tại bền vững với sản phẩm số và không thể
tính tri giác nhất để làm giảm kích thước của ảnh mà − Output:
vẫn đảm bảo được chất lượng ảnh. Căn cứ trên các Một ảnh sau khi thuỷ vân.
giải pháp đã được công bố, ta có thể phân loại các kĩ Khoá để giải mã.
thuật hiện nay thành hai nhóm chính:
2. Quá trình Watermarking
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 − Chia ảnh có kích thước m × n thành (m×n)/64 khối
trung vào việc thay đổi trực tiếp lên không gian các 8×8, mỗi bít sẽ được giấu trong một khối.
điểm ảnh và sử dụng các mô hình tri giác và − Chọn một khối bất kì B và biến đổi DCT khối đó
phương pháp hình học. Tuy nhiên, các kĩ thuật này thu được B’
chỉ đảm bảo được thuộc tính ẩn mà không có tính − Chọn hai hệ số ở vị trí bất kì trong miền tần số ở
bền vững. Kĩ thuật này thường được sử dụng trong giữa của khối DCT, giả sử đó là b’(i,j) và b’(p,q).
các ứng dụng nhận thực thông tin, phát hiện xuyên Ta tính:
tạc [6]. d = || b’(i,j)|- |b’(p,q)|| mod a
2. Nhóm các kĩ thuật biến đổi miền tần số ảnh trong đó a là một tham số thoả mãn điều kiện:
(frequency image transforms): Nhóm kĩ thuật này a=2(2t+1), t là một số nguyên dương.
sử dụng một phương pháp biến đổi trực giao nào Bít si sẽ được nhúng sao cho thoả mãn điều kiện
đó, chẳng hạn như Cosine rời rạc, hay Fourier… để sau:
chuyển miền không gian ảnh sang miền tần số. d >= 2t+1 nếu si = 1
Thuỷ vân sẽ được nhúng trong miền không gian tần d < 2t+1 nếu si = 0
số của ảnh theo kĩ thuật trải phổ trong truyền thông. − Nếu d<2t+1 và si = 1 thì một trong hai hệ số DCT
Đây là kĩ thuật phổ biến nhất với nhiều thuật toán b’(i,j) hoặc b’(p,q) có trị tuyệt đối lớn hơn sẽ bị
và được hứa hẹn là một phương pháp tốt giải quyết thay đổi để d>=2t +1 theo công thức sau:
vấn đề đảm bảo hai thuộc tính quan trọng của thuỷ max(|b’(i,j)|, |b’(p,q)|) + (INT(0,75 *a) - d)
vân sau khi giấu. Với hàm max(|b’(i,j)|, |b’(p,q)|) là hàm chọn ra hệ
Ngoài hai nhóm trên, gần đây đã xuất hiện những số có trị tuyệt đối lớn hơn, hệ số được chọn sẽ được
ký thuật dựa trên đặc thù của ảnh [7,8]. 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
III. THUẬT TOÁN NHÚNG THUỶ VÂN công thức:
Thuật toán dưới đây sử dụng phương pháp trải phổ min(|b’(i,j)|, |b’(p,q)|) - (INT(0,25 *a) + d)
trong truyền thông để nhúng thuỷ vân. Giải tần được Với hàm min(|b’(i,j)|, |b’(p,q)|) là hàm chọn ra hệ
sử dụng để chứa tín hiệu thuỷ vân là miền tần số giữa số có trị tuyệt đối nhỏ hơn, hệ số được chọn sẽ bị trừ
của một khối biến đổi cô sin rời rạc DCT (discret đi một lượng là (INT(0,25 *a) + d)
cosne transformation) 8×8. Trong đó, các khối DCT INT() là hàm làm lấy phần nguyên của một số thực.
8×8 là những khối ảnh cùng kích thước đã được chọn − Tương tự, nếu d >= 2t+1 và si = 0 thì một trong hai
ra ngẫu nhiên từ ảnh ban đầu và được áp phép biến hệ số DCT b’(i,j) hoặc b’(p,q) có trị tuyệt đối lớn
đổi cosin rời rạc DCT để chuyển sang miền tần số. hơn sẽ được thay đổi để thoả mãn d<2t +1 như sau:
Mỗi tín hiệu thuỷ vân sẽ được chứa trong một khối. max(|b’(i,j)|,|b’(p,q)|) - (d - INT(0,25*a))
1. Mô tả thuật toán Hàm max(|b’(i,j)|, |b’(p,q)|) là hàm chọn ra hệ số có
− Input: trị tuyệt đối lớn hơn, hệ số được chọn sẽ bị trừ đi một
Một chuỗi các bít thể hiện bản quyền lượng là (d - INT(0,25 *a))

Một ảnh 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
biến đổi DCT
hệ số đã biến đổi, sau đó tính:
d = ||b’(i,j)|-|b’(p,q)|| mod a với (a =2(2t+1)) Watermark Các khối DCT
Nếu d >= 2t+1 thì gán si =1
nhúng thuỷ vân
Nếu d<2t +1 thì gán si = 0
Các khối đã nhúng thuỷ vân
Quá trình giải mã được mô tả trong hình 2.
4. Chứng minh tính đúng đắn của thuật toán. biến đổi IDCT
Xét các trường hợp sau đây: Các khối đã biến đổi ngược IDCT
− 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à ghép ảnh
vì DCT là phép biến đổi thuận nghịch nên khi Ảnh đã nhúng thuỷ vân
giải mã thì ta cũng thu được kết quả chính xác.
Hình 1: Quá trình nhúng thủy vân
− 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 đã nhúng thuỷ vân
như sau:
tách khối
max(|b’(i,j)|,|b’(p,q)|) + (INT(0,75*a) -d)
Khi đó giá trị d mới là: Lấy ra các khối đã chọn
d = (|| b(i, j) | - | b(p, q) || + (INT(0.75 * a) - d)) mod a
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) giải mã
Hoặc ta sử dụng cách biến đổi hai hệ số theo kiểu
Watermarks
khác:
min(|b’(i,j)| - |b’(p,q)|) - (INT(0,25 *a) +d)) Hình 2: Quá trình giải mã
Tính lại d:
+ (INT(0,25*a) mod a)
d’ = (||b’(i,j)|-|b’(p,q)|| - (INT(0,25*a) +d)) mod a
Ù d’= d-d + 0,25*a = 0,25*a < 0,5*a = 2t
Ù d’ = (||b’(i,j)|- |b’(p,q)|| mod a)
+1(dpcm)
- (INT(0,25*a) mod a) - (d mod a)
Ù d’= d-(INT(0,25*a) mod a) - d Hoặc ta sử dụng cách biến đổi khác đối với hai hệ
= - INT(0,25*a) mod a = INT(0,75*a) >2t +1 số DCT:
− Trường hợp d>=2t +1 và si = 0 min(||b’(i,j)|- |b’(p,q)||) + INT(1,25*a) - d
Khi đó tính lại d ta được:
Ta sẽ biến đổi một trong hai hệ số DCT b’(i,j) hoặc
d’ = (||b’(i,j)|-|b’(p,q)|| + INT(1,25*a) -d) mod a
b’(p,q) như sau:
Ù d’= (||b’(i,j))|-|b’(p,q)|| mod a)
max(||b’(i,j)|,|b’(p,q)||) - (d- INT(0,25*a))
+ (INT(1,25*a) mod a) - (d mod a)
Giá trị mới của d sẽ là: Ù d’ = d +INT(0,25*a) -d
d’ = (||b’(i,j)|-|b’(p,q)|| - (d-(INT(0,25*a)) mod a = INT(0,25*a) < 0,5*a = 2t+1
Ù d’= ((||b’(i,j)|-|b’(p,q)||) mod a) - (d mod a) 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. Số bít lỗi 4 6 21 50
KT (a2) 1,4M 363KB 172KB 136KB 78KB
IV. KẾT QUẢ THỰC NGHIỆM C 0,993 0,984 0,967 0,941
Kết quả thực tế cài đặt thử nghiệm được cho trong Số bít lỗi 5 12 25 44
KT (a3) 1,4M 538KB 200KB 157KB 108KB
bảng sau. Các hàng là số lượng bít đã giấu vào ảnh.
C 0,986 0,947 0,953 0,896
Các cột lần lượt là các hệ số a đã chọn. Giao giữa
Số bít lỗi 10 40 34 79
hàng và cột là tỉ lệ lỗi bít được tính bằng tổng số bít
Bảng 2: Thực nghiệm với ảnh Lena.Bmp 512 × 512
lỗi trên tổng số bít đã đem giấu được tính bằng hệ số với các trường hợp nén JPEG
tương quan C (cross- relation)
Tiếp theo là kết quả thu được khi thực hiện phép
Ảnh được giấu là một ảnh đa cấp xám Lena.BMP
lọc, làm sắc ảnh.
cỡ 512 × 512 pixel.
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 a. Ảnh Lena sau khi giấu tin
5000 bit 0,974 0,988 0,994
1000 bit 0,970 0,984 0,994
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. b. Ảnh Lena sau 5 lần tấn công làm sắc
Hình 4
Chất Cuối cùng, khảo sát thực nghiệm với phép tấn công
100 90 80 50
lượng (%) croping ảnh, với các ảnh được chọn ngẫu nhiên và cắt
KT (a1) 1,4M 363KB 156KB 121KB 68KB với các tỉ lệ khác nhau.
C 0,994 0,983 0,972 0,932
Bảng kết quả thu được:
Tỉ lệ cắt 25% 50% 75% thuỷ vân. Mỗi khối sẽ được áp dụng phép biến đổi
C 0,860 0,751 0,641 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
(a) Cắt 25% 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


[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.
(b) Cắt 50%
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
(c) Cắt 75% Technology: Coding and Computing, pp. 16–21,
Hình 5: Các ảnh mô tả cropping March 2000,
[5] T. KOHDA, Y. OOKUBO, AND K. SHINOKURA,
Digital watermarking through CDMA channels
V. KẾT LUẬN
using spread spectrum techniques, in Proc. IEEE
Bài viết đề xuất một thuật toán nhúng thuỷ vân vào International Symposium on Spread-Spectrum
ảnh tĩnh sử dụng kỹ thuật giấu tin trên miền biến đổi Techniques and Applications, vol. 2, pp. 671–674,
cosin rời rạc. Ảnh được chia thành các khối 8×8, các September 2000,
khối này được chọn một cách ngẫu nhiên để nhúng
[6] NGUYỄN XUÂN HUY, BÙI THUÝ HẰNG, Một công trình nghiên cứu - triển khai VT và CNTT”, số
số cải tiến của kĩ thuật giấu dữ liệu trong ảnh, Kỷ 8, 11-2002, 85-92.
yếu Hội nghị Khoa học kỷ niệm 25 năm thành lập [8] VŨ BA ĐÌNH, NGUYỄN XUÂN HUY, ĐÀO
Viện Công nghệ Thông tin, 2001, 553-559. THANH TĨNH, Đánh giá khả năng giấu dữ liệu
[7] VŨ BA ĐÌNH, ĐÀO THANH TĨNH, NGUYỄN trong bản đồ số, TC Tin học và Điều khiển học, T.
XUÂN HUY, Kĩ thuật giấu thông tin trong bản đồ 18, S.4 (2002), 347-353..
số, Tạp Bưu chính Viễn thông, Chuyên san “Các 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. Sinh năm 1980 tại Hà Nội
Nghiên cứu viên cao cấp Viện Tốt nghiệp Khoa Công Nghệ,
Công nghệ thông tin, Trung tâm Đại học Quốc Gia Hà Nội năm
Khoa học Tự nhiên và Công 2001.
nghệ Quốc gia. Hiện công tác tại phòng
Tốt nghiệp Đại học Sư phạm CSDL và Lập Trình, Viện Công
Leningrad (1973), TS (1980), Nghệ Thông Tin, TTKHTN &
TSKH (1990) Trung tâm Tính CNQG
toán viện Hàn lâm Khoa học E-mail:
Liên Xô. Hiện là Trưởng phòng Cơ sở dữ liệu và Lập dungsv01@yahoo.com
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: nxhuy@ioit.ncst.ac.vn

You might also like