TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM
HUỲNH MÃ ĐÔNG GIANG LÊ VIỆT HÙNG 9912142 9912030
NGHIÊN CỨU WATERMARKING TRÊN ẢNH SỐ VÀ ỨNG DỤNG
LUẬN VĂN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
T.S DƯƠNG ANH ĐỨC GV TRẦN MINH TRIẾT
NIÊN KHÓA 1999 - 2003
i
LỜI CẢM ƠN
Chúng em xin chân thành cám ơn Khoa Công Nghệ Thông Tin, trường Đại
Học Khoa Học Tự Nhiên TpHCM đã tạo điều kiện tốt cho chúng em thực hiện
đề tài luận văn tốt nghiệp này.
Chúng em xin chân thành cám ơn Thầy Dương Anh Đức, Thầy Trần Minh
Triết đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện đề
tài.
Chúng em xin chân thành cám ơn quý Thầy Cô trong Khoa Công Nghệ
Thông Tin đã tận tình giảng dạy, trang bị cho chúng em những kiến thức quí báu
trong bốn năm học vừa qua.
Chúng con xin nói lên lòng biết ơn sâu sắc đối với Ông Bà, Cha Mẹ đã
chăm sóc, nuôi dạy chúng con thành người.
Xin chân thành cám ơn các anh chị, các bạn và các em đã ủng hộ, giúp đỡ
và động viên chúng em trong thời gian học tập và nghiên cứu.
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả
năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Chúng em
kính mong nhận được sự cảm thông và tận tình chỉ bảo của quý Thầy Cô và các
bạn.
Sinh viên thực hiện
Lê Việt Hùng – Huỳnh Mã Đông Giang
ii
Tháng 7, năm 2003
LỜI NÓI ĐẦU
Trong công cuộc xây dựng và đổi mới của đất nước ta hiện nay, công nghệ
thông tin được xem là một nghành kinh tế mũi nhọn. Tin học hóa đời sống xã hội
đang được nhà nuớc ta quan tâm thực hiện và bước đầu đã gặt hái được nhiều
thành quả to lớn tiến đến mục tiêu 500 triệu USD của ngành phần mềm vào năm
2005.
Một sự kiện đáng lưu ý trong tháng 6 năm 2003 là sự bùng nổ viễn thông
khi Dịch vụ điện thoại internet, Dịch vụ internet băng thông rộng ADSL và mạng
S-fone được Bộ Bưu chính viễn thông chính thức ký quyết định triển khai. Điều
đó cho thấy, cùng với sự bùng nổ của mạng máy tính toàn cầu, mạng internet ở
nước ta giờ đây đã là một phần không thể thiếu trong cuộc sống của người dân
thành thị.
Bên cạnh những lợi ích thiết thực mà mạng máy tinh đem lại, chúng ta cũng
đang đối đầu với những thử thách liên quan đến các vấn đề truyền thông bảo mật
và đặc biệt là vấn đề phân phối các tài liệu đa phương tiện sao cho bảo đảm
quyền sở hữu trí tuệ. Tình trạng sao chép bất hợp pháp, giả mạo các tác phẩm số
hóa gây búc xúc không chỉ riêng các tác giả mà còn cho cả những người làm
pháp luật.
Sau gần 700 năm kể từ khi phát minh watermark trên giấy ra đời ở
Fabriano, Ý [ 3], một khái niệm tương tự áp dụng cho các tài liệu đa phương tiện
đã được đông đảo cộng đồng khoa học quốc tế nghiên cứu và lĩnh vực này thật
sự phát triển mạnh vào những năm cuối của thập niên 90.
Watermarking là một kỹ thuật mới cho phép nhúng thông tin tác giả, gọi là
iii
một watermark, vào các tài liệu số hóa sao cho chất lượng trực quan của tài liệu
không bị ảnh hưởng và khi cần có thể dò lại được watermark đã nhúng nhằm xác
nhận bản quyền.
Watermarking trên ảnh có thể xem là một kỹ thuật ẩn dấu thông tin
(steganography) đặc biệt nhằm đưa các dấu hiệu vào ảnh số. Hai hướng áp dụng
chính của kỹ thuật watermarking trên ảnh là xác nhận (chứng thực) thông tin và
đánh dấu bảo vệ bản quyền.
Hệ thống watermarking được xây dựng chủ yếu trên các kỹ thuật
watermarking. Tuy nhiên, việc lựa chọn các kỹ thuật nào và áp dụng hệ thống
vào ứng dụng cụ thể gì, cũng như cần thiết phải có những công nghệ, thiết bị,
hay một nghi thức gì khác để hỗ trợ hệ thống hoạt động là các vấn đề không kém
phần quan trọng. Ngoài ra khi xây dựng hệ thống phải tính đến các yếu tố khác
như hệ thống được quản lý như thế nào? Được tích hợp vào hệ thống nào khác?
Môi trường ứng dụng? v.v…Hiện thực được các hệ thống này sẽ góp phần làm
phát triển các kỹ thuật watermarking và ngược lại.
Trên thực tế, đã có nhiều quốc gia tiên tiến ứng dụng watermaking vào các
hệ thống chứng thực nội dung, bảo vệ bản quyền, kiểm soát sao chép, nhưng đối
với nước ta lĩnh vực này vẫn còn mới mẻ. Chính vì vậy, chúng em đã tập trung
thực hiện đề tài “Nghiên cứu công nghệ watermarking trên ảnh số và ứng dụng”
với mục tiêu tìm hiểu, thử nghiệm, đánh giá và ứng dụng các phương pháp
watermarking trên ảnh số, trên cơ sở đó, xây dựng một số qui trình công cụ bảo
vệ và xác nhận bản quyền trên ảnh số.
Phần nghiên cứu lý thuyết watermarking, ngoài những nghiên cứu chung về
watermarking, đề tài này sẽ đi sâu vào nghiên cứu những kỹ thuật watermarking
iv
trên ảnh số mới nhất, đó là những kỹ thuật watermarking trên ảnh màu, và những
kỹ thuật watermarking trên miền wavelet rất được quan tâm hiện nay, đặc biệt
phù hợp với xu hướng nén ảnh theo chuẩn mã hóa mới nhất, đó là JPEG2000.
Phần ứng dụng lý thuyết watermarking của đề tài, chúng em phải cài đặt
một số thuật toán watermarking, đồng thời xây dựng một hệ thống dịch vụ
watermarking thực hiện các kỹ thuật watermarking trên ảnh số. Hệ thống này có
thể áp dụng được vào trong việc đáp ứng các nhu cầu như hỗ trợ bảo vệ tác
quyền ảnh số, quản lý việc phân phối các tác phẩm ảnh số của các tác giả, và
giúp xác nhận nội dung ảnh số. Tất cả những nhu cầu này đều là những nhu cầu
bức xúc trong thực tế hiện nay. Một ví dụ nhỏ áp trong lĩnh vực xác nhận (chứng
thực) nội dung ảnh số của hệ thống này là hỗ trợ việc cấp phát bằng cấp bằng
ảnh số.
Ngoài ra, trong quá trình thực hiện đề tài chúng em còn phải nghiên cứu
nhiều vấn đề khác liên quan để thực hiện hệ thống của mình, như các vấn đề về
công nghệ, các vấn đề trong truyền thông mạng, mã hóa thông tin, xử lý ảnh v.v
nhằm phát huy hết những thuận lợi của hệ thống , áp dụng được trong thực tiễn.
Nội dung của luận văn được trình bày bao gồm 10 chương, trong đó, 6
chương đầu trình bày các vấn đề về lý thuyết và 4 chương cuối tập trung vào hệ
thống ứng dụng
Chương 1. Tổng quan về watermarking: Giới thiệu lịch sử phát triển của
watermarking, các tính chất và các lĩnh vực ứng dụng của watermarking.
Chương 2. Các mô hình watermarking: Trình bày các quan điểm khác
nhau khi xem xét một hệ thống watermarking.
Chương 3. Các thuật toán watermarking: Trình bày các tiêu chí phân
v
loại thuật toán và giới thiệu một số thuật toán minh họa.
Chương 4. Watermarking trên miền wavelet: Trình bày đặc điểm của
biến đổi wavelet và các kỹ thuật watermarking trên miền này.
Chương 5. Watermarking trên ảnh màu: Giới thiệu các phương pháp
tiếp cận và một số thuật toán watermarking cụ thể làm việc trên ảnh màu.
Chương 6. Watermark có độ an toàn cao và tấn công watermark: Giới
thiệu các phương pháp tạo ra một watermark có độ an tòan cao, đồng thời giới
thiệu một số tình huống tấn công watermark và cách giải quyết.
Chương 7. Hệ thống watermarking services system WSS: Giới thiệu ứng
dụng WSS.
Chương 8. Phân tích và thiết kế.
Chương 9. Cài đặt và thử nghiệm.
Chương 10: Tổng kết: Là chương cuối cùng của đề tài nhằm đánh giá các
vi
kết quả đã đạt được cùng với hướng mở rộng trong tương lai.
MỤC LỤC
MỤC LỤC ......................................................................................... vii
DANH SÁCH HÌNH ........................................................................ xii
DANH SÁCH BẢNG.........................................................................xv
MỘT SỐ THUẬT NGỮ................................................................. xvii
Chương 1. TỔNG QUAN VỀ WATERMARKING.......................1
1.1 Lịch sử watermarking ...........................................................................1
1.2.1
Tính bảo mật...........................................................................................3
1.2.2
Tính vô hình ...........................................................................................4
1.2.3
Tính vô hình đối với thống kê................................................................4
1.2.4
Tỉ lệ bit ...................................................................................................4
1.2.5 Quá trình dò đáng tin cậy .......................................................................5
1.2.6
Tính mạnh mẽ.........................................................................................5
1.2.7 Nhúng nhiều watermark .........................................................................6
1.2.8 Blind/non-blind, public/private watermarking.......................................6
1.2.9 Watermarking đọc được và dò được ......................................................7
1.2.10 Tính khả đảo và tính thuận nghịch của watermark ................................8
1.2.11 Tính có thể thay đổi tỉ lệ (scalability) ....................................................9
1.2 Các tiêu chí cần có của một thuật toán watermarking mạnh mẽ ..........3
1.3.1
Theo dõi phát sóng ...............................................................................10
1.3.2 Nhận ra người chủ sở hữu ....................................................................12
1.3.3 Bằng chứng về quyền sở hữu ...............................................................14
1.3.4
Lưu vết giao tác hay dấu vân tay..........................................................15
vii
1.3 Các ứng dụng của watermarking ........................................................10
1.3.5 Xác nhận nội dung................................................................................16
1.3.6 Kiểm soát sao chép...............................................................................18
Chương 2. CÁC MÔ HÌNH WATERMARKING........................22
2.1 Mô hình dựa trên quan điểm xem watermarking như một dạng truyền
2.1.1 Mô hình cơ bản.....................................................................................22
2.1.2 Mô hình watermarking theo quan niệm truyền thông với thông tin phụ
ở bộ trung chuyển...............................................................................................24
2.1.3 Mô hình watermarking theo quan niệm truyền thông đa công ............25
thông 22
2.2.1 Các phân phối và miền trong không gian đa phương tiện ...................27
2.2.2 Mô hình watermarking trong không gian nhúng..................................28
2.2 Mô hình dựa trên quan điểm hình học................................................27
Chương 3. CÁC THUẬT TOÁN WATERMARKING ...............31
3.1 Phân loại .............................................................................................31
3.2.1 Dẫn nhập ..............................................................................................33
3.2.2 Các vấn đề liên quan ............................................................................36
3.2.3 Ví dụ: thuật toán Cox ...........................................................................39
3.2 Các thuật toán theo dạng cộng............................................................33
3.3.1 Dẫn nhập ..............................................................................................40
3.3.2 Các vấn đề liên quan ............................................................................42
3.3.3 Ví dụ: thuật toán Koch .........................................................................50
3.3 Các thuật toán theo dạng lượng tử hóa ...............................................40
Chương 4. WATERMARKING TRÊN MIỀN WAVELET........53
4.1 Dẫn nhập.............................................................................................53
4.2.1
Phương pháp.........................................................................................54
viii
4.2 Biến đổi wavelet .................................................................................54
4.2.2 Các đặc tính và các lợi thế....................................................................57
4.3.1 Ví dụ về thuật toán non-blind...............................................................61
4.3.2 Ví dụ về thuật toán blind ......................................................................69
4.3 Các thuật toán ví dụ ............................................................................61
Chương 5. WATERMARKING TRÊN ẢNH MÀU ....................73
5.1 Tổng quan về các thuật toán nhúng watermark trên ảnh màu ............73
5.2.1
Thuật toán nhúng watermark trên kênh xanh da trời (blue).................75
5.2.2
Thuật toán nhúng watermark trên nhiều kênh......................................78
5.2 Các thuật toán ví dụ ............................................................................75
Chương 6. WATERMARK CÓ ĐỘ AN TOÀN CAO VÀ TẤN
CÔNG WATERMARK ....................................................................81
6.1.1 Nhúng thừa, nhúng lặp .........................................................................81
6.1.2 Mã hóa tán phổ.....................................................................................82
6.1.3 Nhúng trong các hệ số quan trọng cảm nhận được ..............................83
6.1.4 Nhúng trong các hệ số được cho là mạnh mẽ ......................................83
6.1.5 Đảo nhiễu trong bộ dò..........................................................................84
6.1 Các phương pháp tiếp cận nhằm tạo Watermark có độ an toàn cao...81
6.2.1 Đặt vấn đề.............................................................................................84
6.2.2 Các cách giải quyết bài toán tác quyền khác nhau của các hệ thống
watermarking khác nhau . ..................................................................................85
6.2 Một kiểu tấn công ...............................................................................84
Chương 7. HỆ THỐNG WATERMARKING SERVICES
SYSTEM - WSS.................................................................................89
7.1.1 Ứng dụng WMServer ..........................................................................89
ix
7.1 Giới thiệu ............................................................................................89
7.1.2 Ứng dụng WMAppClient.....................................................................90
7.1.3 Ứng dụng WMWebClient ....................................................................91
7.2 Tiêu chuẩn của hệ thống watermarking..............................................91
7.3.1 Qui trình tổng quát ...............................................................................92
7.3.2 Qui trình hoạt động giữa WMWebClient và WMServer .....................92
7.3.3 Qui trình hoạt động giữa WMAppClient (Player) và WMServer........93
7.3 Qui trình của hệ thống WSS ...............................................................92
7.4.1 Các tiêu chuẩn mà hệ thống đạt được ..................................................97
7.4.2 Một số thuận lợi khi sử dụng hệ thống WSS .......................................99
7.4 Phân tích qui trình của hệ thống WSS ................................................97
7.5.1
Tranh chấp bản quyền ........................................................................100
7.5.2
Phát hiện phân phối bất hợp pháp ......................................................101
7.5.3 Chứng thực nội dung..........................................................................101
7.5 Phạm vi áp dụng của hệ thống WSS.................................................100
7.6 Đánh giá và kết luận .........................................................................102
Chương 8. Phân tích và thiết kế ...................................................103
8.1.1 Yêu cầu chức năng .............................................................................103
8.1.2 Yêu cầu phi chức năng .......................................................................105
8.1 Các yêu cầu của hệ thống WSS ........................................................103
8.2.1
Lược đồ Use-Case ..............................................................................105
8.2.2 Danh sách Actor .................................................................................106
8.2.3 Danh sách các Use-Case chính ..........................................................106
8.2.4 Đặc tả các Use-Case chính .................................................................108
8.2 Mô hình Use-Case ............................................................................105
8.3.1 Danh sách các lớp chính trong hệ thống ............................................122
x
8.3 Thiết kế lớp và các sơ đồ lớp............................................................122
8.3.2 Các sơ đồ lớp phân theo ứng dụng.....................................................127
8.3.3
Lược đồ tuần tự của một số Use-Case chính......................................131
8.4.1 Danh sách các bảng ............................................................................135
8.4.2 Mối quan hệ giữa các bảng ................................................................136
8.4.3 Chi tiết các bảng.................................................................................136
8.4 Thiết kế dữ liệu.................................................................................135
8.5.1 Các giao diện trong hệ thống .............................................................138
8.5.2 Mô tả các giao diện chính ..................................................................139
8.5 Thiết kế giao diện .............................................................................138
Chương 9. CÀI ĐẶT VÀ THỬ NGHIỆM...................................152
9.1 Công cụ và môi trường phát triển ứng dụng.....................................152
9.2 Mô hình cài đặt .................................................................................153
Chương 10. TỔNG KẾT.................................................................155
10.1 Kết luận .........................................................................................155
10.2 Hướng phát triển ...........................................................................156
TÀI LIỆU THAM KHẢO ............................................................. xvii
xi
DANH SÁCH HÌNH
Hình - 1: Bộ dò không cần ảnh gốc .................................................................22
Hình - 2: Bộ dò cần ảnh gốc .............................................................................23
Hình - 3: Mô hình watermarking theo quan niệm truyền thông với thông
tin phụ ở bộ trung chuyển .........................................................................25
Hình - 4: Mô hình watermarking theo quan niệm truyền thông đa công ...26
Hình - 5: Bộ dò trong mô hình watermarking theo quan niệm hình học trên
không gian nhúng .......................................................................................28
Hình - 6: Bộ nhúng trong mô hình watermarking theo quan niệm hình học
trên không gian nhúng ...............................................................................29
Hình - 7: Quá trình dò ra ngưỡng thích hợp bằng quan sát thực nghiệm
1000 chuỗi kiểm tra ngẫu nhiên. ...............................................................35
Hình - 8: Phép ánh xạ lượng tử input/ouput (a) và lỗi lượng tử hóa (b) của
hàm floor() ..................................................................................................41
Hình - 9: Mô hình truyền thông, trong đó tín hiệu gốc không có sẵn ở phía
đầu thu.........................................................................................................42
Hình - 10: Sự khác nhau của các biến đổi trên thang năng lượng. GTC là
biến đổi làm tăng số lượng mã. .................................................................44
Hình - 11: Điều biến chỉ số lượng tử hóa. Các điểm biểu diễn lại được đánh
dấu là x (nếu m=1) và là o (nếu m=2) và thuộc về hai phép lượng tử
khác nhau. ...................................................................................................46
Hình - 12: Dạng hình kim tự tháp của ảnh “Lena” qua phép phân tích cấp
xii
2....................................................................................................................57
Hình - 13: Ảnh tương đối trơn, “Lena”, ở cột trái; ảnh thô, “Baboon”, ở cột
phải. Quan sát ở biểu đồ (e) và (f) cho thấy ảnh trơn có nhiều đỉnh quan
trọng co hệ số là 0 hơn. Phương sai của ảnh thô cao hơn. ......................58
Hình - 14: Qui trình nhúng watermark được thực hiện giữa WMServer và
AppClient ....................................................................................................94
Hình - 15: Qui trình nhúng watermark được thực hiện giữa WMServer và
WebClient ...................................................................................................95
Hình - 16: Qui trình trích watermark được dùng thống nhất cho cả
AppClient và WebClient với WMServer .................................................96
Hình - 17: Lược đồ Use-Case .........................................................................105
Hình - 18: Mối liên hệ giữa các đối tượng ....................................................127
Hình - 19: Sơ đồ lớp theo ứng dụng WMServer ..........................................128
Hình - 20: Sơ đồ lớp theo ứng dụng WMAppClient....................................129
Hình - 21: Sơ đồ lớp trong ứng dụng WMWebClient .................................130
Hình - 22: Lược đồ tuần tự của Use-Case NewRegister..............................131
Hình - 23: Lược đồ tuần tự của Use-Case Login..........................................132
Hình - 26: Lược đồ tuần tự của Use-Case PlayerHideWM.........................135
Hình - 27: Mối quan hệ giữa các bảng dữ liệu .............................................136
Hình - 28: Màn hình chính của server ..........................................................139
Hình - 29: Màn hình cấu hình server............................................................141
Hình - 30: Màn hình chính của WMAppClient ...........................................142
Hình - 31: Màn hình nhúng watermark trên WMAppClient.....................144
Hình - 32: Màn hình trích watermark trên WMAppClient .......................146
Hình - 33: Màn hình đăng nhập của WMWebClient ..................................147
xiii
Hình - 34: Màn hình các chức năng của thành viên trên WMWebClient.148
Hình - 35: Màn hình nhúng watermark từ WMWebClient .......................150
Hình - 36: Màn hình báo cáo kết quả trích ..................................................151
xiv
Hình - 37: Mô hình cài đặt của hệ thống WSS.............................................153
DANH SÁCH BẢNG
Bảng - 1: Các công ty và sản phẩm trong lĩnh vực watermarking.................3
Bảng - 2: Thuật toán của Cox ..........................................................................40
Bảng - 3: Thuật toán của Koch........................................................................52
Bảng - 4: Thuật toán Wang..............................................................................64
Bảng - 5: Thuật toán Xia..................................................................................66
Bảng - 6: Thuật toán của Zhu..........................................................................68
Bảng - 7: Danh sách các Actor.......................................................................106
Bảng - 8: Danh sách các Use-Case chính ......................................................107
Bảng - 9: Danh sách các lớp trong hệ thống.................................................127
Bảng - 10: Danh sách các bảng ......................................................................135
Bảng - 11: Mô tả bảng USERS ......................................................................137
Bảng - 12: Mô tả bảng WATERMARKS .....................................................137
Bảng - 13: Mô tả bảng PARAMETERS .......................................................138
Bảng - 14: Danh sách các chức năng của server ..........................................140
Bảng - 15: Các chức năng của màn hình cấu hình server...........................141
Bảng - 16: Các chức năng của màn hình chính WMAppClient .................143
Bảng - 17: Các chức năng trên màn hình nhúng watermark trên
WMAppClient ..........................................................................................145
Bảng - 18: Các chức năng của màn hình trích watermark trên
WMAppClient ..........................................................................................145
Bảng - 19: Các chức năng của màn hình đăng nhập WMWebClient ........148
xv
Bảng - 20: Các chức năng trên trang thành viên .........................................149
Bảng - 21: Các chức năng trên màn hình nhúng watermark từ
WMWebClient..........................................................................................151
xvi
Bảng - 22: Cấu trúc các thành phần trong mô hình cài đặt........................154
MỘT SỐ THUẬT NGỮ
DFT (Discrete Fourier biến đổi Fourier rời rạc, biến đổi sử dụng các
Transform): giá trị biến đổi là các số Fourier .
DCT (Discrete Cosine biến đổi cosine rời rạc, biến đổi sử dụng các
Transform): giá trị biến đổi dạng hình sin.
DWT (Discrete Wavelet biến đổi wavelet rời rạc, biến đổi sử dụng
Transform): các giá trị biến đổi dạng sóng.
IDWT (Inverse DWT): biến đổi DWT ngược
HVS (Human Visual System): hệ thống cảm nhận trực quan của con người
Lỗi dò tích cực: lỗi khi dò watermark, không có watermark
nhưng lại báo có
Lỗi dò tiêu cực: lỗi khi dò watermark, có watermark nhưng
lại báo không có
ECC (Error Correction Code): ánh xạ các thông điệp thành các chuỗi ký
hiệu nhưng lại không có khả năng chuyển
chuỗi đó lại thành thông điệp
Tấn công khả đảo: Tấn công bằng cách nhúng một watermark
khác làm mất đi watermark gốc do trung hòa
các giá trị watermark gốc
Biến đổi tăng mã: biến đổi làm tăng số lượng mã để mã hóa
LSB (least significant bits): các bit kém quan trọng
ROI (region – of – interest): vùng quan tâm, vùng cần được bảo vệ nội
xvii
dung trên ảnh
Chương 1. TỔNG QUAN VỀ WATERMARKING
1.1 Lịch sử watermarking
Nghệ thuật làm giấy đã được phát minh ở Trung Quốc cách đây trên một
ngàn năm nhưng mãi đến khỏang năm 1282, các watermark trên giấy mới xuất
hiện đầu tiên dưới hình thức một số vị trí khuôn giấy là các mẫu dây mỏng hơn,
khi đó giấy sẽ mỏng và trong suốt hơn ở những vị trí dây mỏng. Các watermark
giấy nguyên thủy giúp xác nhận xưởng sản xuất hay đơn giản chỉ là để trang trí.
Vào thế kỉ thứ 18, ở châu Âu và Mỹ, watermark trên giấy đã đem lại những lợi
ích thiết thực trong việc xác định nhãn hiệu thương mại, ghi nhận ngày sản xuất,
chống làm tiền giả. Thuật ngữ watermark bắt nguồn từ một loại mực vô hình
được viết lên giấy và chỉ hiển thị khi nhúng giấy đó vào nước. Thuật ngữ digital
watermarking được cộng đồng thế giới chấp nhận rộng rãi vào đầu thập niên
1990. Khoảng năm 1995, sự quan tâm đến watermarking bắt đầu phát triển
nhanh. Năm 1996, hội thảo về che dấu thông lần đầu tiên đưa watermarking vào
phần trình nội dung chính. Đến năm 1999, SPIE đã tổ chức hội nghị đặc biệt về
Bảo mật và watermarking trên các nội dung đa phương tiện [ 25].
Cũng trong khoảng thời gian này, một số tổ chức đã quan tâm đến kỹ thuật
watermarking với những mức độ khác nhau. Chẳng hạn CPTWG thử nghiệm hệ
thống watermarking bảo vệ phim trên DVD. SDMI sử dụng watermarking trong
việc bảo vệ các đoạn nhạc. Hai dự án khác được liên minh châu Âu ủng hộ,
VIVA và Talisman đã thử nghiệm sử dụng watermarking để theo dõi phát sóng.
Vào cuối thập niên 1990, một số công ty đưa watermarking vào thương trường,
1
chẳng hạn các nhà phân phối nhạc trên internet sử dụng Liqid Audio áp dụng
công nghệ của Verance Corporation. Trong lĩnh vực watermarking ảnh,
Photoshop đã tích hợp một bộ nhúng và bộ dò watermark tên là Digimarc.
Ngày nay, các công ty chuyên kinh doanh các hệ thống watermarking đã
tăng đáng kể, dưới đây là một số ví dụ về các công ty và sản phẩm trong lĩnh vực
watermarking:
Các hệ thống watermarking âm thanh
Blue Spike, Inc. Công nghệ watermarking của Giovanni, Blue
Spike có thể được dùng để nhận dang, xác nhận và
kiểm tra các tài liệu âm thanh.
Verance Corporation Verance Corporation - được sát nhập từ ARIS
Technologies, Inc. (Cambridge, Mass) và Solana
Technology Development Corporation - sở hữu công
nghệ watermarking đã có bằng sáng chế Musicode®
và Electronic DNA®.
Các hệ thống watermarking trên ảnh
Signum Một công ty Anh phát triển hệ thống
Technologies watermarking 'SureSign' dùng cho bảo vệ bản quyền
và hệ thống 'VeriData' dùng để xác thự tính toàn vẹn
của các ảnh số.
Digimarc Các công nghệ có bằng sáng chế của Digimarc
cho phép dữ liệu kĩ thuật số được nhúng trong các
tài liệu có giá trị như giấy tờ tài chính, thị thực, giúp
ngăn chặn giả mạo, trộm và sử dụng không được
phép khác.
2
Các hệ thống watermarking trên phim
Alpha Tec. Ltd. - Alpha Tec. Ltd. là một công ty Hy Lạp phát
AudioMark triển AudioMark, gói phần mềm thiết kế cho việc
nhúng các watermark vào tài liệu âm thanh và phim
MediaSec Cung cấp công cụ SysCoP (System for
Technologies Copyright Protection) để nhúng nhãn hiệu tác quyền
vào ảnh và phim (MPEG )
Bảng - 1: Các công ty và sản phẩm trong lĩnh vực watermarking
1.2 Các tiêu chí cần có của một thuật toán watermarking
mạnh mẽ Tùy thuộc vào từng ứng dụng, kỹ thuật watermarking có những đòi hỏi
khác nhau. Tuy nhiên có một số yêu cầu chung mà mà hầu hết các ứng dụng thực
tế phải đạt được.
1.2.1 Tính bảo mật
Giống như trong lĩnh vực mã hóa, tính hiệu quả của một thuật toán không
thể dựa vào giả định là các kẻ tấn công không biết cách mà watermark được
nhúng vào tài liệu đa phương tiện. Tuy nhiên, giả định đó lại được dùng để đánh
giá độ an toàn của các sản phẩm thương mại sử dụng watermarking có giá trị
trên thị trường. Vì vậy với một ứng dụng watermarking, một khi biết được cách
làm việc của bộ nhúng và bộ dò, việc làm cho watermark không đọc được
thường rất dễ dàng. Hơn nữa một số kỹ thuật sử dụng dữ liệu gốc trong quy trình
3
dò và thường thì các giải pháp loại này không khả thi trong thực tế.
1.2.2 Tính vô hình
Những nhà nghiên cứu gần đây đã cố nhúng những watermark bằng cách
sao cho nó không thể được nhận ra. Tuy nhiên yêu cầu này mâu thuẫn với các
yêu cầu khác chẳng hạn sức chịu đựng và độ an toàn chống sự bền vững chống
được giả mạo đặc biệt là các thuật toán nén có mất thông tin. Vì mục đích này
chúng ta phải khảo sát các tính chất của HVS và HAS trong quy trình dò
watermark. Các thuật toán nén được dùng hiện nay cho phép đạt được mục tiêu
đó, tuy nhiên điều này sẽ không khả thi trong tương lai là do thế hệ của thuật
toán nén tiếp theo có thể thay đổi, cần phải cho các người quan sát đã qua huấn
luyện (người được yêu cầu so sánh phiên bản của tài liệu gốc và tài liệu được ấn
dấu) thấy được watermark. Dĩ nhiên đây không phải là khó khăn trong thực tế vì
người dùng thông thường không có khả năng so sánh đó.
1.2.3 Tính vô hình đối với thống kê
Watermark không thể dò được bằng phương pháp thống kê bởi một ngưởi
không được phép. Ví dụ nhiều tác phẩm kỹ thuật số đã được nhúng cùng một
watermark sao cho khi thực hiện tấn công dựa trên thống kê thì không tài nào
trích được watermark. Một giải pháp khả thi là sử dụng watermark phụ thuộc nội
dung [ 26].
1.2.4 Tỉ lệ bit
Tùy thuộc vào ứng dụng, thuật toán watermark có thể cho phép một số
lượng bit cần ẩn được định nghĩa trước. Không tồn tại các quy tắc chung, tuy
nhiên đối với ảnh thì tối thiểu 300 - 400 bit. Trong bất kỳ trường hợp nào thì nhà
thiết kế hệ thống phải nhớ rằng tốt nhất là không nên giới hạn số lượng bit được
4
nhúng vào dữ liệu.
1.2.5 Quá trình dò đáng tin cậy
Thậm chí khi không có các tấn công cũng như các biến dạng tín hiệu, khả
năng không dò được watermark đã nhúng hoặc dò sai watermark phải rất nhỏ.
Thông thường các thuật toán dựa trên thống kê dễ dàng thỏa được các yêu này.
Tuy nhiên một khả năng như vậy phải được đưa lên hàng đầu nếu ứng dụng
watermarking liên quan đến luật pháp vì có như vây mới tạo sự tin cậy chắc chắn
trong các phán quyết cuối cùng..
1.2.6 Tính mạnh mẽ
Việc sử dụng các tín hiệu âm nhạc, hình ảnh và phim dưới dạng kỹ thuật số
thông thường có liên quan tới nhiều kiểu biến dạng, chẳng hạn như nén có mất
thông tin, hay trong trường hợp ảnh là các phép lọc, định lại kích thước, cải tiến
độ tương phản, phép quay, v.v. Để watermarking hữu ích, watermark phải dò
được ngay khi cả các biến dạng xảy ra. Quan điểm chung để đạt được tính mạnh
mẽ chống được các biến dạng tính hiệu là đặt watermark vào các phần quan
trọng của tín hiệu [ 4], [ 10]. Điều này phụ thuộc vào cách xử lý của các thuật
toán nén có mất thông tin ( bỏ qua các phần dữ liệu không quan trọng mà không
làm ảnh hưởng đến chất lượng của dữ liệu được nén. Điều này dẫn đến một
watermark được ẩn trong các dữ liệu không quan trọng khó tồn tại khi bị nén.
Trong trường hợp watermarking trên ảnh, sức chịu đựng với các xử lý hình học
(dịch chuyển, định lại kích thước, quay, xén ) thì vẫn là một vấn đề mở, những
thao tác như vậy rất thông thường và một giải pháp đề ra cần giải quyết được
5
trước khi áp dụng watermark cho bảo vệ tác quyền ảnh.
1.2.7 Nhúng nhiều watermark
Cần phải cho phép nhúng một tập hợp các watermark khác nhau trong cùng
ảnh bằng cách sao cho mỗi watermark có thể dò được bởi người dùng được cấp
quyền. Đặc trưng này thì hữu dụng trong các ứng dụng dấu vân tay, trong đó
thuộc tính tác quyền được truyền từ người sở hữu tác phẩm đến các tác phẩm
khác. Hơn nữa chúng ta có thể ngăn người khác thực hiện watermarking cho một
tác phẩm đã được đóng dấu. Trong một số trường hợp việc sửa một watermark
sau khi nhúng là cần thiết chẳng hạn trong trường hợp của các đĩa DVD, một con
dấu có thể được dùng để chỉ số lượng các bản sao chép được phép. Mỗi lần một
bản sao chép được thực hiện con dấu sẽ được sửa đổi để giảm số. Sự chỉnh sửa
có thể thực hiện được bằng cách xoá bỏ dấu cũ và nhúng dấu mới hoặc là nhúng
một dấu mới chồng lên dấu cũ. Khả năng thứ hai được chọn lựa nhiều hơn bởi vì
một watermark mà có thể xoá được thì yếu và không chịu đựng được các tấn
công giả mạo.
1.2.8 Blind/non-blind, public/private watermarking
Mối quan tâm đặc biệt là cơ chế sử dụng để khôi phục vết ấn từ ảnh. Trong
một số trường hợp để phát triển một thuật toán mạnh mẽ, watermark được trích
bằng cách so sánh các phiên bản đã được đóng dấu vả chưa đóng dấu. Các ví dụ
về cách tiếp cận này được trình bày trong [ 4][ 5][ 6][ 7], trong đó nhiều phương
pháp được đề xuất chịu đựng được nhiều kỹ thuật xử lý ảnh và các tấn công có
thể nhằm vào việc gỡ watermark hay làm cho nó không thể đọc được. Tuy nhiên
thông thường trong thế giới thực, sự có mặt của ảnh gốc trong quá trình dò
không được bảo đảm, do vậy thuật toán cần ảnh gốc để hồi phục vết ấn không
thích hợp cho nhiều ứng dụng thực tế. Ngoài ra loại thuật toán này không thể
6
được dùng cho việc chứng minh quyền sở hữu hoàn toàn trừ khi thỏa một số yêu
cầu phụ khác như không tựa khả đảo (non-quasi-invertibility) của watermark,
vốn rất khó đạt được và hầu như không thể chứng minh. Các kỹ thuật khôi phục
watermark không cần so sánh các tín hiệu được mark và không được mark
thường gọi là oblivious hay blind. Trong các trường hợp khác thuật ngữ public
watermarking được dùng để đối lại với private watermarking . Thực sự, thuật
ngữ public/private watermarking để chỉ một khái niệm khác: một kỹ thuật được
gọi là private nếu chỉ có người sở hữu tài liệu hay người được cấp quyền mới
trích watermark bởi vì anh ta mới là người có thể truy xuất vào ảnh gốc hoặc anh
ta mới là người biết khoá chính xác đúng để trích watermark từ dữ liệu chủ. Trái
lại các kỹ thuật mà cho phép bất kỳ người nào cũng đọc được watermark được
gọi là public. Hầu hết mọi người cho rằng các cơ chế private dường như mạnh
mẽ hơn public ở chỗ là mỗi khi watermark được đọc, kỹ thuật public làm cho các
kẻ tấn công dễ xóa watermark hay làm cho watermark không đọc được chẳng
hạn bằng cách đảo quy trình nhúng hay bằng cách nhúng một watermark đảo
(watermark reversibility). Nói một cách tổng quát trong số các kỹ thuật
watermarking ảnh được đề xuất gần đây, các sản phẩm thương mại thường áp
dụng các hệ thống public trong khi các nghiên cứu lại tập trung vào tiếp cận
private.
1.2.9 Watermarking đọc được và dò được
Một watermark mà có thể dò được chỉ nếu nội dung của nó được biết trước
gọi là một watermark dò được. Ngược lại các kỹ thuật cho phép watermark đọc
được ngay khi nội dung của nó bỏ qua thì gọi là watermark đọc được. Nói cách
khác, theo hướng tiếp cận dò được, người ta có thể chỉ cần biết một watermark
có tồn tại trong dữ liệu hay không. Nếu một người không biết watermark là gì thì
7
không thể phân tích tài liệu đa phương tiện để tìm ra watermark. Điều này không
giống với các kỹ thuật đọc được, trong đó cơ chế nhúng và trích watermark được
thực hiện sao cho bất kỳ ai cũng có thể đọc được watermark. Dĩ nhiên tính chất
đọc được/ dò được của watermark ảnh hưởng nhiều đến cách mà nó được sử
dụng trong các ứng dụng thực tế. Ví dụ giả sử có một tình huống trong đó người
ta muốn biết ai là người sở hữu của một ảnh mà anh ta đã tìm đã tìm thấy đâu đó
trên Internet. Ngoài ra giả sử rằng watermark chỉ ra người sở hữu đã được nhúng
trong ảnh sử dụng kỹ thuật watermarking dò được. Không có cách nào để đọc
được watermark nếu không thực hiện các giả định về người sở hữu có thể, bởi vì
nhờ tính chất dò được của watermark chỉ có thể xác định ảnh có thuộc một tác
giả cụ thể nào đó ( watermark của anh ta được biết ) không.
1.2.10
Tính khả đảo và tính thuận nghịch của watermark Mặc dù tính mạnh mẽ thường được chỉ ra như một yêu cầu chính được thỏa
mãn, mối quan tâm lớn lại tập trung vào tính khả đảo của watermark. Thuật ngữ
khả đảo được dùng với những ý nghĩa khác nhau, nghĩa tự nhiên nhất định nghĩa
một watermark là khả đảo nếu các người dùng được cấp quyền có thể xoá nó
khỏi tài liệu. Trong nhiều ứng dụng tính khả đảo này có thể là một đặc trưng
mong đợi, bởi vì nó có thể cho phép thay đổi tình trạng của một tài liệu cho
trước theo lịch sử của nó mà không cần phải ẩn quá nhiều bit thông tin trong nó.
Tính khả đảo của watermark còn được định nghĩa theo cách khác: đó là khả năng
làm mất hiệu lực thừa nhận quyền sở hữu được hỗ trợ bởi watermarking bằng
cách sử dụng kỹ thuật công nghệ đảo để đảo lại quy trình watermarking. Một mô
hình watermarking để được sử dụng thành công trong ứng dụng bảo vệ quyền sở
hữu, tính không khả đảo của watermark phải được thỏa mãn. Hơn nữa đây chỉ là
một điều kiện cần thiết phải thỏa mãn bởi vì tổng quát hơn tính người ta cần tính
8
không tựa khả đảo của watermark hơn. Ở đây thuật ngữ khả đảo và tựa khả đảo
được hiểu theo nghĩa tự nhiên như đã nói trên. Không cần đi vào chi tiết, chúng
ta có thể nói rằng một watermark là khả đảo nếu nó có thể tạo ra một watermark
ngược (false watermark) và một tài liệu giả mạo tài liệu gốc mà giống như tài
liệu gốc sao cho bằng cách nhúng false watermark vào nó, ta có thể thu được
một tài liệu mà bằng hay gần bằng với tài liệu gốc thực sự đã được đóng dấu.
Trong [ 8], tác giả chỉ ra rằng các mô hình watermarking khả đảo hay tựa khả
đảo ít được dùng trong các ứng dụng thực tế. Phân tích của Craver và các cộng
sự áp dụng chính các kỹ thuật non-blind, mặc dù một ví dụ cho trước mở rộng
thảo luận trường hợp blind. Tuy nhiên, vẫn còn tồn tại một số hoài nghi về việc
[ 9]. Để tránh việc dùng nhập nhằng thuật ngữ invertibility, thuật ngữ
có cần tính không khả đảo và không tựa khả đảo trong càc kỹ thuật private blind
reversibility được đề xuất để chỉ rằng một watermark có thể xóa khỏi ảnh chủ
mỗi khi nội dung của nó được biết.
1.2.11
Tính có thể thay đổi tỉ lệ (scalability)
Trong [ 10], tác giả thảo luận về các yêu cầu tính toán của các thuật toán
watermarking, trong đó có đoạn "Trong các ứng dụng thương mại, chi phí tính
toán cho việc nhúng và trích là rất quan trọng. Trong một số ứng dụng việc chèn
vào chỉ có thể thực hiện một lần và offline”. Do đó, chi phí nhúng có thể ít quan
trọng hơn là chi phí dò, vốn thường phải xảy ra theo thời gian thực, ví dụ như
tốc độ giải mã của các frame video. Các yêu cầu tính toán ràng buột một
watermark phải đơn giản, nhưng sự đơn giản này có thể giảm trầm trọng tính
chịu đựng giả mạo. Hơn nữa, người ta biết rằng tốc độ máy vi tính thì cứ tăng
xấp xỉ gấp đôi sau 18 tháng, để mà những gì được tính toán không thỏa đáng
ngày hôm nay có thể nhanh chóng trở thành hiện thực. Do đó người ta rất mong
9
đợi thiết kế một watermark mà bộ dò tương thích với mỗi thế hệ máy vi tính. Ví
dụ thế hệ thứ nhất của bộ dò có thể có chi phí tính toán rẻ nhưng có thể không
đáng tin cậy bằng bộ dò ở thế hệ tiếp theo mà có thể cấp cho nhiều tính toán hơn
để xử lý với các vấn đề chẳng hạn như các biến dạng hình học.
1.3 Các ứng dụng của watermarking
Phần này trình bày tất cả các ứng dụng của watermarking trên hầu hết các
tài liệu đa phương tiện (ảnh, âm thanh, phim), bao gồm:
(cid:131) Theo dõi phát sóng ( broadcast watermarking )
(cid:131) Nhận ra người chủ sở hữu ( owner identification )
(cid:131) Bằng chứng của quyền sở hữu ( proof of owner ship )
(cid:131) Lưu vết giao tác hay dấu vân tay ( transaction tracking/fingerprinting )
(cid:131) Sự xác nhận nội dung ( content authentication )
(cid:131) Kiểm soát sao chép ( copy control )
1.3.1 Theo dõi phát sóng
Trong thực tế, việc phát sóng các đoạn phim hay âm thanh qua các phương
tiện thông tin đại chúng có những nhu cầu như:
(cid:131) Các nhà quảng cáo muốn chắc chắn rằng đoạn chương trình quảng cáo
của họ được phát đủ thời gian mà họ đã mua từ các nhà phát sóng.
(cid:131) Các diễn viên tham gia đoạn chương trình quảng cáo đó muốn bảo đảm
họ được trả tiền bản quyền ứng với thời lương phát sóng từ các công ty
quảng cáo.
(cid:131) Những người sở hữu một đoạn nhạc hay phim không muốn tác phẩm
của mình bị xâm phạm tác quyền qua việc thu và phát sóng lại.
Một cách để giải quyết điều này là sử dụng hệ thống theo dõi tự động thụ
10
động và chủ động.
Hệ thống theo dõi thụ động mô phỏng như một quan sát viên, nó chứa một
máy tính chuyên theo dõi nội dung phát sóng và so sánh tín hiệu nhận được với
một cơ sở dữ liệu các tác phẩm biết trước. Lợi điểm của nó là không cần bất kỳ
thông tin liên kết vào quá trình phát sóng, và như vậy không đòi hỏi bất kỳ sự
hợp tác nào với các nhà quảng cáo hay các nhà phát sóng. Như vậy có thể áp
dụng nó trong các dịch vụ điều tra thị trường nhằm mục đích cạnh tranh. Khó
khăn của hệ thống này là:
+ Thứ nhất, việc so sánh tín hiệu nhận được với cơ sở dữ liệu không phải
chuyện tầm thường. Về nguyên tắc, cần chia tín hiệu nhận được thành các đơn vị
có thể phân tích được và tìm chúng trong cơ sở dữ liệu. Tuy nhiên mỗi frame của
video chứa hàng ngàn bit thông tin và không thực tế chút nào cho quá trình tìm
kiếm. Như vậy hệ thống trước hết phải xử lý tín hiệu thành những chữ ký nhỏ
hơn sao cho vừa đủ để phân biệt với tài liệu khác và phải đủ nhỏ để lưu được
trong cơ sở dữ liệu.
+ Thứ hai, sự giảm tín hiệu trong quá trình phát sóng là điều không tránh
khỏi, nó thay đổi theo thời gian, tức là sự thu tín hiệu của cùng một nội dung ở
các thởi điểm khác nhau có thể dẫn đến những tín hiệu khác nhau. Vì thế, hệ
thống không thể tìm nó chính xác trong cơ sở dữ liệu mà chỉ có thể tìm dưới
dạng người láng giềng gần nhất, thực tế phức tạp hơn nhiều.
+ Thứ ba, ngay cả khi vấn đề tìm kiếm được giải quyết thì việc lưu trữ và
quản lý cơ sở dữ liệu cũng là vấn đề lớn. Hơn nữa hệ thống phải theo dõi nhiều
vị trí địa lý khác nhau đồng thời, phải truy xuất và giao tiếp cơ sở dữ liệu trung
tâm hoặc là lưu cơ sở dữ liệu cục bộ.
Hệ thống theo dõi chủ động đơn giản hơn về mặt kỹ thuật hơn vì thông tin
11
nhận dạng được giải mã trực tiếp, không cần cơ sở dữ liệu để thông dịch nghĩa
của nó. Một cài đặt của hệ thống này là lưu các mã nhận dạng ở phần đầu file.
Khó khăn là người xử lý trung gian và người phân phối cuối cùng không bảo
đảm phân phát thông tin đầu file nguyên vẹn. Hơn nữa dữ liệu khó sống sót với
sự chuyển đổi định dạng.
Watermarking là một phương pháp mã hoá thông tin nhận dạng cho theo
dõi chủ động. Nó có thuận lợi là watermark tồn tại bên trong nội dung tín hiệu
phát sóng chứ không phải chỉ trong một đoạn đặc biệt của tín hiệu và vì thế hoàn
toàn thương thích với nền tảng thiết bị phát sóng đã được cài đặt bao gồm cả bộ
truyền tải digital và analog. Tuy nhiên, qui trình nhúng dò watermark phức tạp
hơn việc thêm dữ liệu vào đầu file và tìm được một thuật toán sao cho chất lượng
trực quan của nội dung giảm không đáng kể nhưng lại có độ an toàn cao cũng là
một bài toán thu hút nhiều sự quan tâm nghiên cứu. Như vậy, bằng cách nhận
dạng những watermark được nhúng trong nội dung số, có thể chỉ ra khi nào và ở
đâu nội dung đó được phát sóng [ 27][ 28].
1.3.2 Nhận ra người chủ sở hữu
Trong thực tế có trường hợp một tác phẩm đã có tác quyền bị sử dụng sai
mục đích và phán quyết của cơ quan luật pháp rất cần thông báo tác quyền trên
một hình thức hay vị trí nào xem được trên tài liệu được phân phối. Thông báo
tác quyền chúng ta thường thấy trên có các tài liệu khả kiến là “Copyright ngày
người sở hữu”, “© ngày người sở hữu” hay “Corp. ngày người sở hữu”. Trên các
tác phẩm âm thanh các thông báo đó phải được đặt lên bề mặt của đĩa vật lý, tên
nhãn hay trên bao bì. Dễ thấy rằng, giới hạn của nó là việc nhận dạng người sở
hữu tác quyền của một tác phẩm không bảo đảm do người ta không quá khó để
loại bỏ nó ra khỏi một tài liệu khi tiến hành sao chụp lại thậm chí không cần
12
quan tâm rằng đó là một việc làm sai: Chẳng hạn, một giáo viên chụp một số
trang từ quyển sách mà quên chụp luôn thông báo tác quyền ở trang tiêu đề, một
họa sĩ sử dụng một bức hình hợp pháp trong mục quảng cáo của báo có thể xén
đi phần có chứa thông tin tác quyền. Rồi sau đó các công dân tôn trọng luật pháp
muốn dùng tác phẩm có thể không tài nào xác định được tác phẩm có được bảo
vệ tác quyền hay chưa. Một trường hợp khá nổi tiếng là Lena Sjooblom. Đây là
ảnh thử thông thường nhất trong lĩnh vực nghiên cứu xử lý ảnh và đã xuất hiện
không biết bao nhiêu mà kể ở các bào báo hội nghị nhưng không ai tham khảo
tên người sở hữu hợp pháp của nó, đó là hãng Playboy. Ban đầu nó là một ảnh
phóng to lồng giữa các trang của tạp chí Playboy ( Tháng 11- 1972 ). Khi ảnh
được Scan và dùng cho mục đích kiểm thử, hầu hết ảnh đã bị xén chỉ còn khuôn
mặt và vai của Lena. Không may là dòng chữ ghi Playboy là người sở hữu cũng
bị xén mất. Từ đó ảnh được phân phối toàn cầu và hầu hết các nhà nghiên cứu
dùng nó trong các bào báo đã không biết rằng chúng là tác quyền của Playboy.
Thứ hai là vấn đề thẩm mỹ, dù chỉ đặt ở một phần của ảnh nhưng một dòng
chữ thông tin tác quyền có thể làm giảm bớt vẻ đẹp của nó. Với các tài liệu âm
thanh hay phim, vì thông báo tác quyền nằm trên băng đĩa vật lý và bao bì nên sẽ
không có thông báo nào được sao chép cùng với nội dung của nó.
Do các watermark có thể vừa không thể nhận thấy vừa không thể tách rời
tác phẩm chứa nó nên chúng là giải pháp tốt hơn dòng chữ đối với việc nhận ra
người sở hữu nếu người dùng tác phẩm được cung cấp bộ dò watermark.
Digimarc cho ảnh là ứng dụng mà ta đang đề cập. Nó được tích hợp vào
Photoshop. Khi bộ dò của Digimarc nhận ra một watermark, nó liên lạc với cơ sở
dữ liệu trung tâm trên Internet và dùng thông điệp watermark như một khóa để
tìm thông tin liên lạc cho người sở hữu ảnh. Tính hợp pháp của một ứng dụng
13
như vậy chưa được thừa nhận bởi cơ quan pháp luật nhưng nó giúp những người
lương thiện dễ dàng tìm ra người họ muốn liên lạc để dùng ảnh. Như vậy, nhúng
thông tin của người giữ tác quyền của một tác phẩm như là một watermark.
1.3.3 Bằng chứng về quyền sở hữu
Watermark không chỉ được dùng để chỉ ra thông tin tác quyền mà còn được
[ 25] giả sử A tạo một ảnh và post lên mạng với thông tin tác quyền “© 2003 A”.
dùng để chứng minh tác quyền. Thông tin tác quyền có thể dễ bị giả. Chẳng hạn,
Một tên trộm (B) lấy ảnh đó, dùng chương trình xử lý ảnh để thay thông tin tác
quyền đó bằng “© 2003 B” và sau đó tự cho là anh ta là người sở hữu. Vậy giải
quyết tranh luận ra sao. Nếu A đã đăng ký bản quyền tác phẩm của mình với một
cơ quan pháp luật và gửi cho họ ảnh gốc khi vừa mới tạo ra nó thì không có vấn
đề gì. Tuy nhiên nếu A không làm việc đó vì chi phí tốn kém thì A phải đưa ra
bằng chứng chứng tỏ mình đã tạo ra ảnh. Chẳng hạn, là một tấm phim nếu ảnh
được chụp, là một bản phát thảo nếu đó là một bức họa. Vấn đề là B cũng có thể
ngụy tạo bằng chứng. Tệ hơn nữa là nếu ảnh được chụp bằng kỹ thuật số thì
chẳng có phim âm bản cũng như bản phát thảo.
A có thể nào bảo vệ quyền lợi của mình mà không phải tốn phí đăng ký
bằng cách áp dụng watermark vào ảnh của mình? Nếu A dùng Digimarc, vấn đề
không được giải quyết vì bộ dò cũng được kẻ trộm biết. Về lý thuyết, ai dò được
watermark đều có thể xoá bỏ nó. Do đó B có thể dùng bộ dò Digimarc, gỡ
watermark của A và thay vào đó watermark của mình. Để đạt được mức bảo mật
trong bằng chứng tác quyền, cần giới hạn tính khả dụng của bộ dò. Đối với kẻ
trộm không có một bộ dò, việc bỏ watermark thì rất khó khăn phức tạp. Như thế
khi A và B ra tòa, A dùng ảnh gốc và ảnh tranh cãi đưa vào bộ dò và bộ dò sẽ
cho ra watermark của A. Tuy nhiên cũng có một dạng hệ thống watermarking
14
mà B có thể dùng và làm như thể watermark của B nằm trong bản gốc ảnh của
A. Tấn công được gọi là tấn công đảo (inversion attack) hay tấn công khóa chết
(dead lock attack). Không có cách gì để giải quyết quyền sở hữu bản quyền trong
trường hợp này và tòa cũng không thể biết A hay B có ảnh gốc thực sự. Điều này
cho thấy rằng chỉ với một mình watermark mà không có một nghi thức khác hỗ
trợ nó thì sẽ không đủ để giải quyết tình huống bản quyền này.
Bài toán có thể được giải quyết nếu ta thay đổi phần phát biểu nó: Thay vì
cố chứng minh trực tiếp quyền sở hữu bằng cách nhúng một watermark “A sở
hữu ảnh này”, ta nên cố chứng minh một ảnh bắt nguồn từ ảnh khác. Một hệ
thống như vậy cung cấp một bằng chứng gián tiếp rằng khả năng ảnh tranh cãi là
của A cao hơn B, trong đó A là người có phiên bản mà từ đó hai ảnh khác tạo ra.
1.3.4 Lưu vết giao tác hay dấu vân tay
Trong ứng dụng này, watermark lưu lại một hay nhiều giao dịch đã xảy ra
trong những lần sao chép tác phẩm đã có nhúng watermark. Ví dụ, watermark có
thể lưu tên người mua trong mỗi lần mua bán hợp pháp hay phân phối. Người sở
hữu và người tạo ra tác phẩm có thể dùng những watermark khác nhau trong mỗi
bản sao. Nếu tài liệu bị dùng sai mục đích ( phát hành hay phân phối trái phép )
người sở hữu có thể tìm ra người có trách nhiệm.
Một giải pháp thông thường cho watermarking áp dụng cho lưu vết giao tác
là dùng các watermark hữu hình, chẳng hạn các tài liệu thương mại được in có
background có chứa các số lớn hơn màu xám, với mỗi bản sao sẽ chứa một số
khác.
Một ví dụ khác có sử dụng watermarking cho việc theo dõi giao tác đã được
cài đặt bởi DiVX Corporation. DiVX bán một DVD player triển khai theo mô
hình kinh doanh pay-per-view. Họ cài đăt nhiều kỹ thuật để ngăn giả mạo đĩa
15
của họ, một trong số đó là watermark được thiết kế cho lưu vết giao tác. Mỗi
DVD player phải đặt một watermark duy nhất vào mỗi video mà nó chiếu. Nếu
ai đó thu lại đoạn video và bán các bản sao, DiVX có thể lấy được bản copy đó
và tìm ra kẻ phản bội bằng cách giải mã watermark [ 29].
Một ví dụ khác là trong phân phối các nhật báo phim. Suốt quá trình thực
hiện một phim, kết quả các bức hình mỗi ngày được phân phối cho nhiều người
có tham gia vào phim. Nhưng những nhật báo này được yêu cầu giấu bí mật,
không muốn bị lộ ra ngoài. Gặp trường hợp này, trường quay nhanh chónh xác
định được người đã làm rò rỉ thông tinh. Trường quay có thể dùng đoạn văn hữu
hình ở góc màn hình để xác định mỗi bản sao của ảnh. Tuy nhiên, các watermark
được chuộng hơn vì đoạn văn bản dễ bị xóa đi.
1.3.5 Xác nhận nội dung
Các tác phẩm kỹ thuật số ngày nay đứng trước nguy cơ bị làm giả nhiều
hơn, dễ dàng hơn và tinh vi hơn. Nếu ảnh là một bằng chứng quan trọng trong
điều tra của cảnh sát, sự giả mạo có thể gây ra nhiều vấn đề nghiêm trọng.
Bài toán xác nhận thông điệp đã được nghiên cứu rộng rãi trong lĩnh vực
mã hóa (crytography). Một tiếp cận mã hóa thông thường cho bài toán này là tạo
ra một chữ kí điện tử. Thuật toán được dùng là mã hóa khoá bất đối xứng. Chỉ có
tác giả thông điệp mới biết khoá cần để tạo ra các chữ ký. Do vậy, kẻ trộm cố
thay đổi thông điệp thì sẽ không tạo ra được một chữ ký mới. Nếu khi tiến hành
so sánh, thông điệp được sửa đổi khác với chữ ký gốc, ta có thể khẳng định
thông điệp đã bị sửa. Chữ ký điện tử đã được áp dụng cho các camera kỹ thuật số
bởi Fredman, người gợi ý tạo ra một máy ảnh có chữ ký bên trong. Khóa để tạo
chữ kí chỉ có trong máy ảnh mà thôi.
Chữ ký dạng như vậy chung qui là một dạng dữ liệu meta được đi kèm với
16
tài liệu mà chúng xác nhận. Điều này cho thấy rất dễ làm mất các chữ ký. Chẳng
hạn một hệ thống xác nhận ảnh lưu dữ liệu meta vào phần vào phần đầu (header)
của ảnh JPEG. Nếu ảnh được chuyển sang dạng khác, chữ ký sẽ bị mất và dĩ
nhiên tài liệu không còn được chứng thực nữa.
Một giải pháp hay là những chữ ký trực tiếp vào tài liệu dùng kỹ thuật
watermarking. Epson đề ra một hệ thống như vậy trên nhiều máy ảnh kỹ thuật số
của hãng. Ta gọi chữ ký này là chữ kí xác nhận (authentication mark). Chữ kí
xác nhận được thiết kế sao cho trở nên sai lệch dù chỉ gặp sự chỉnh sửa nhỏ nhất
được gọi là các watermark dễ vỡ (fragile watermark).
Mối lo ngại về việc các chữ ký có trong tài liệu hay không giờ đây đã bị
loại trừ. Điều quan tâm lúc này là việc nhúng watermark cần bào đảm không
thay đổi tài liệu nhiều quá để nó còn đúng khi so sánh với chữ ký. Điều này có
thể thực hiện được bằng cách xem tài liệu thành hai phần : Một dùng cho việc
tính toán bằng chữ ký, một dùng cho việc nhúng chữ ký. Ví dụ, nhiều tác giả đề
xuất tính toán một chữ ký từ các bit cao của ảnh và nhúng chữ ký vào các bit
thấp của ảnh [ 26].
Nếu một tài liệu có chứa chữ kí xác nhận bị thay đổi, chữ kí xác nhận cũng
thay đổi theo [ 30]. Điều này mở ra một hướng nghiên cứu mới là tìm hiểu tài
liệu đã bị giả mạo như thế nào. Chẳng hạn nếu một ảnh được chia làm nhiều
khối, mỗi khối có một chữ kí xác nhận, chúng ta dễ phát thảo ra phần nào của
ảnh nguyên trạng và phần nào bị chỉnh sửa.
Một ví dụ rất hay được áp dụng trong điều tra tội phạm của cảnh sát, sử
dụng chữ kí xác nhận khoanh vùng (localized authentication). Cảnh sát nhận
được một đoạn phim theo dõi đã bị giả mạo. Nếu đoạn phim này dùng các
chứng thực chữ ký truyền thống, dễ thấy rằng họ biết phim bị giả mạo và không
17
tin bất cứ điều gì trong phim. Tuy nhiên nếu dùng một watermark theo kiểu xác
nhận khoanh vùng , họ có thể khám phá rằng trong các khung (frame) của phim
vẫn có chỗ tin cậy. Như vậy kẻ có liên quan đến tội ác đã bị gỡ bớt các frame có
dấu vết của hắn.
Khi kiểm tra một chữ kí xác nhận đã bị sửa đổi ta cũng có được thông tin
“Liệu nén có mất có được áp dụng vào tài liệu hay không”. Hầu hết các thuật
toán nén ảnh có mất đều áp dụng sự lượng tử hóa, chính điều này đã để lại các
thay đổi thống kê trong một watermark và có thể nhận diện được.
1.3.6 Kiểm soát sao chép
Các ứng dụng đã đề cập ở trên hầu hết có tác dụng sau khi có ai đó làm sai.
Chẳng hạn theo dõi phát sóng giúp phát hiện nhà phát sóng bất lương đã ăn chặn
tiền sau khi biết họ đã phát sóng không đúng thời lượng. Còn lưu vết giao tác chỉ
ra kẻ phản bội sau khi họ đã làm lộ và phân phối các bản sao bất hợp pháp. Các
kỹ thuật này có tể nói là chữa bệnh chứ không phòng bệnh. Rõ ràng là sẽ tốt hơn
nếu ngăn ngay từ đầu những hành vi bất hợp pháp, như vậy một ứng dụng kiểm
soát sao chép ngăn không cho tạo các bản sao bất hợp pháp từ nội dung đã có
bản quyền.
Mã hóa cũng có thể dùng để cài đặt cho ứng dụng dạng này. Tài liệu được
mã hóa với một khóa duy nhất, nếu không có khóa thì không dùng được. Tuy
nhiên khóa này được cung cấp theo kiểu khó mà sao chép hay phân phối lại
(nhằm hạn chế thếp nhất khả năng khách hàng cho khóa của họ cho người khác
xài miễn phí). Ví dụ, nhiều sóng TV được mã hóa, khóa giải mã được tích hợp
vào một thẻ thông minh (smart card) cho các khách hàng nào trả tiền. Thẻ thông
tin được giấu vào hộp antene của TV. Nếu ai đó cố tình xem hay thu sóng mà
không có thẻ thông minh card chắc chắn chỉ thấy hình nhiễu. Điều đáng quan
18
tâm là mã hóa không thực sự giải quyết tốt ứng dụng này, vì chúng dễ bị phá
bằng ba cách sau: Thứ nhất, cố giải mã tín hiệu với hàng triệu trường hợp khóa
có thể. Tuy nhiên nếu khóa ≥ 50 bit thì điều này không thực hiện được. Thứ hai,
dùng công nghệ đảo phần mềm hay phần cứng chứa khóa. (Giống như crack
phần mềm). Ví dụ như chương trình DeCSS của Jon Johanasen và hai cộng sự
người Đức. CSS ( Content Scrambling System ) là hệ thống mã hoá dùng để
chống ghi DVD bất hợp pháp. Jon đã dùng công nghệ đảo áp dụng cho một đầu
đọc DVD và tìm khóa giải mã của nó. Sau đó bất kỳ video nào đã được mã hóa
cũng có thể được giải mã. Cách thứ ba là trả tiền để có một khóa rồi sao chép nội
dung đã được giải mã. Một kẻ trộm muốn thu và phát lại sóng vệ tinh chỉ cần
đăng ký là khách hàng, mua một thẻ thông minh, nối đầu đọc với đầu thu, cứ thể
thu lại nội dung đã được giải mã. Ví dụ này chỉ ra yếu kém chính của bảo vệ nội
dung sử dụng mã hóa: Một nội dung muốn dùng được cần phải giải mã, khi đã
được giải mã rồi, tất cả các bảo vệ coi như không còn.
Điều chúng ta cần là làm sao cho dữ liệu media xem được nhưng vẫn ngăn
không cho thu lại. Một kỹ thuật làm được điều này, trong trường hợp video
NTSC đó là quy trình chống sao chép videocassette của Marovision. Quy trình
này sửa tín hiệu video sao cho làm rối loạn điều khiển trên VCRs. Tín hiệu thu
được có thể xem tốt trên TV nhưng với VCR nó sẽ tạo ra những thứ kông thể
xem được. Tuy nhiên, kỹ thuật này chỉ áp dụng cho tím hiệu TV tuần tự , không
được cho audio và các kiểu tín hiệu số khác. Do vậy mặc dù hệ thống của
Macrovision thích hợp để chống thu video bất hợp pháp bằng VCRs, nó lại
không dùng được cho đầu DVDs, VCRs số, hay các kỹ thuật thu video số khác.
Do các watermark được nhúng trong nội dung nên chúng có mặt khi có nội
19
dung và như vậy nó cung cấp một phương pháp tốt hơn để cài đặt các ứng dụng
kiểm soát sao chép. Nếu mọi thiết bị thu được gắn bộ dò watermark , việc thu có
thể bị các thiết bị thu ngăn cản khi chúng dò ra một watermark dạng như “không
được chép”. Một hệ thống như vậy đã được “Copy protection Technical
Working Group” (CPTWG) dùng cho đầu video DVD và SDMI dùng cho audio.
Vấn đề đặt ra là làm sao bảo đảm rằng mọi đầu thu chứa bộ dò watermark.
Chẳng có động lực tự nhiên nào để các nhà sản xuất đầu thu lại bỏ thêm chi phí
để tích hợp bộ dò vào sản phẩm của họ. Trong thực tế, theo cách nhìn của khách
hàng thì bộ dò watermark chỉ làm chỉ làm giảm giá trị của đầu thu vì dĩ nhiên họ
muốn thiết bị của mình có thể sao chép được bất kì tài liệu nào họ muốn (Cho dù
điều đó là không hợp pháp).
Giải pháp trực tiếp cho vấn đề này đòi hỏi luật quy định các đầu thu phải có
bộ dò watermark. Tuy nhiên, cho đến bây giờ thì chưa có luật nào như vậy, và
thỏa yêu cầu đó là cả một vấn đề vì nó cần sự tham gia tất cả các quốc gia. Vì lẽ
này, CPTWG và SDMI đều không phụ thuộc luật nói trên. CPTWG và SDMI
đưa ra yêu cầu vào cam kết tác quyền là “Nhà sản xuất đầu thu nào sử dụng kỹ
thuật của họ phải có bộ dò”. Cách tiếp cận này phù hợp ở chỗ nó dưa trên những
luật đã có sẵn trên hầu hết các nước. Bất lợi của nó là nó cho phép nhà sản xuất
tạo ra bộ thu không chứa bộ dò watermark khi họ không dùng kỹ thuật có đề cập
yêu cầu đó. Một giải pháp dung hòa là cho phép lưu hành cả hai hai loại thiết bị
(có và không cài watermarking): Chẳng hạn, đầu đọc không cài watermarking
chỉ đọc được các bản sao chép được đã được giải mã mà không đọc được các bản
sao chép chưa được giải mã, và khi đã đọc được thì nó có thể được thu tiếp bằng
đầu thu không cài watermarking.Đầu đọc có watermarking đọc được các bản sao
chép có mã hóa, không đọc được bản sao đã qua giải mã, và khi đã đọc được thì
20
nó có thể được thu tiếp bằng đầu thu không cài watermarking. Như vậy lợi và hại
của mỗi thiết bị có thể để khách hàng cân nhắc lựa chọn và hy vọng những công
dân có ý thức pháp luật và tôn trọng quyền sở hữu trí tuệ sẽ sử dụng loại có cài
watermarking nhiều hơn.
Từ các phân tích ở trên, có thể thấy rằng watermarking giải quyết các bài
toán về ẩn giấu thông tin linh hoạt hơn những phương pháp truyền thống khác
chẳng hạn như mã hóa nhờ lợi thế thông tin nhúng nằm kèm theo trong tài liệu
chủ. Đó là các ứng dụng chung của watermarking trên các tài liệu đa phương
tiện, riêng đối với ảnh số, bảo vệ bản quyền và xác nhận nội dung là hai ứng
dụng khả thi nhất, quan trọng nhất mà ảnh số có thể áp dụng được và sẽ được
21
nghiên cứu và phân tích sâu trong các chương sau.
Chương 2. CÁC MÔ HÌNH WATERMARKING
Các mô hình watermarking hiện nay chia làm hai nhóm: thứ nhất là các mô
hình dựa trên quan điểm xem watermarking như một phương thức truyền thông,
và các mô hình dựa trên quan điểm hình học.
2.1 Mô hình dựa trên quan điểm xem watermarking như
một dạng truyền thông Có 3 loại và chúng khác nhau ở cách tích hợp của tài liệu chủ vào trong hệ
thống.
2.1.1 Mô hình cơ bản
Trong mô hình này, tài liệu chủ được xem như nhiễu được thêm vào trong
Nhiễu n
Bộ nhúng Watermark
Bộ dò Watermark
Wa
Wn
+
+
Bộ giải mã Waternark
Thông điệp ra mn
Bộ mã hóa Waternark
Thông điệp vào m
Cw
Cwn
Tài liệu gốc c0
Tài liệu gốc c0
Khóa watermark
Khóa watermark
suốt quá trình truyền tín hiệu watermark.
Hình - 1: Bộ dò không cần ảnh gốc
22
Nhiễu n
Bộ nhúng Watermark
Bộ dò Watermark
Wa
+
+
Bộ giải mã Waternark
Thông điệp ra mn
Bộ mã hóa Waternark
Thông điệp vào m
Cw
Cwn
Tài liệu gốc c0
Khóa watermark
Khóa watermark
Hình - 2: Bộ dò cần ảnh gốc
Không quan tâm bộ dò ở đây là blind hay non-blind, qui trình nhúng bao
gồm hai bước:
(cid:131) Trước hết, thông điệp được ánh xạ thành một mẫu thêm (added pattern)
wa có cùng kiểu và kích thước với ảnh chủ c0. Ví dụ, trong
watermarking ảnh, bộ nhúng tạo ra một mẫu các pixel hai chiều cùng
kích thước với ảnh chủ gốc. Sự ánh xạ này được thực hiện với một
khóa watermark. Các mẫu thêm thường được tính qua nhiều bước. Với
các mẫu định nghĩa sẵn và có thể phụ thuộc vào khóa, gọi là mẫu tham
khảo (reference pattern) wr0, wr1, wr2, chúng ta liên kết chúng lại để
tạo ra một mẫu mã hóa, ta gọi là mẫu thông điệp (message pattern),
wm. Mẫu thông điệp này sau đó được chỉnh sửa hay thay đổi tỉ lệ để
23
thu được mẫu thêm.
(cid:131) Sau đó, wa được thêm vào tài liệu chủ, c0, để tạo tài liệu được
watermark (watermarked Work), cw.
Sau khi mẫu thêm được nhúng, giả sử tài liệu được watermark cw bị thay
đổi vì một xử lý nào đó, ta mô hình hóa hiệu ứng xử lý này bằng một nhiễu cộng.
Các kiểu xử lý có thể gồm: Nén, giải nén, phát sóng qua các kênh tuần tự, cải
thiện ảnh hay âm thanh… hay một xử lý bất kì của kẻ trộm nhằm gỡ bỏ
watermark..
2.1.2 Mô hình watermarking theo quan niệm truyền thông với
thông tin phụ ở bộ trung chuyển Tài liệu chủ vẫn được xem là một nhiễu, nhưng qui trình nhúng watermark
cần được cung cấp thêm ảnh chủ đó với vai trò là thông tin phụ. Thông tin phụ
(side information) là thông tin được cung cấp cho bộ trung chuyển hoặc bộ nhận
trong một hệ thống truyền thông, khác với thông điệp được chuyển hay tín hiệu
nhận được cần giải mã. Trong mô hình watermarking này, chúng ta xem ảnh chủ
là một thông tin phụ đối với bộ nhúng.
Trong mô hình trước, giới hạn của nó là vết watermark được mã hóa độc
lập với tài liệu chủ co, điều này không tận dụng triệt để ảnh gốc. Nếu ta cho phép
bộ mã hóa watermark kiểm tra co trước khi mã hóa mẫu thêm thì ta sẽ có thuật
24
toán nhúng hiệu quả hơn.
Nhiễu n
Bộ nhúng Watermark
Bộ dò Watermark
Wa
+
+
Bộ giải mã Waternark
Thông điệp ra mn
Bộ mã hóa Waternark
Thông điệp vào m
Cw
Cwn
Tài liệu gốc c0
Khóa watermark
Khóa watermark
Hình - 3: Mô hình watermarking theo quan niệm truyền thông
với thông tin phụ ở bộ trung chuyển
2.1.3 Mô hình watermarking theo quan niệm truyền thông đa công Ở sơ đồ này, ảnh chủ không còn được xem là một phần của kênh truyền mà
là thông điệp thứ hai được truyền đi cùng với thông điệp watermark trong cùng
tìn hiệu cw. Hai thông điệp co và m sẽ được dò và giải mã bởi 2 nguồn nhận rất
khác nhau: con người và bộ dò watermark.
Bộ nhúng watermark liên kết m và co trong một tín hiệu đơn, cw , tương tự
như việc truyền nhiều thông điệp trên 1 đường dây trong truyền thông truyền
thống như chia thời gian (time - division) , chia tần ( frequency - division) hay
chia mã (code - division) đa công (code division multiplexing là truyền nhiều
thông điệp trên 1 kênh đơn bằng cách thay chúng bằng các tín hiệu trực giao
25
chồng lên nhau theo thời gian, không gian, tần số.
Nhiễu n
Tài liệu nhận được
+
Bộ nhúng Waternark
Cwn
Cw
Bộ giải mã Waternark
Thông điệp ra mn
Tài liệu gốc c0
Khóa watermark
Khóa watermark
Thông điệp vào m
Hình - 4: Mô hình watermarking theo quan niệm truyền thông đa
công
Tuy nhiên, điểm khác biệt là:
(cid:131) Trong truyền thông truyền thống, kỹ thuật cơ bản dùng cho các thông
điệp khác nhau thì giống nhau, các thông điệp được phân biệt nhau
nhờ một tham số đơn ( thời gian, tần số, dãy mã)
(cid:131) Trong watermarking: 2 thông điệp được phân biệt bằng hai kỹ thuật
khác nhau: dò watermark và cảm nhận của con người. Tương ứng ta
nói là: một thông điệp được chia tần và một thông điệp được mã hóa
phổ rộng (frequency division - spread spectrum coding)
Khi xem cwn, con người nhận được một thứ gì đó gần với ảnh chủ không
26
dính dáng gì vào watermark.
Khi dò 1 watermark trong cwn , bộ dò cần lầy thông điệp watermark, không
dính dáng gì đến ảnh chủ. Riêng đối với bộ dò informed, ảnh chủ gốc được cần
đến nhưng với vai trò là một tham số thứ 2.
2.2 Mô hình dựa trên quan điểm hình học
Quan điểm watermarking hình học xem các tài liệu là các điểm trong không
gian đa phương tiện (media space) nhiều chiều. Khi phân tích các thuật toán
phức tạp hơn, ta cần chiếu hay làm biến dạng không gian đó thành không gian
nhúng.
2.2.1 Các phân phối và miền trong không gian đa phương tiện
Trong không gian đa phương tiện có những phân phối xác suất và vùng sau:
(cid:131) Phân phối các tài liệu chưa được nhúng watermark (distribution of
unwatermarked works) tượng trưng cho mỗi tài liệu.
(cid:131) Vùng tương tự cảm nhận được giữa ảnh gốc và ảnh qua xử lý có thể
chấp nhận (Region of acceptable fidelity) là vùng trong đó tất cả các tài
liệu đều là ứng viên tiềm năng của một tài liệu cho trước.
(cid:131) Vùng dò (Detection region) tượng trưng cho cách làm việc của thuật
toán dò.
(cid:131) Phân phối nhúng hay vùng nhúng (Embedding distribution/embedding
region) thể hiện hiệu quả của một thuật toán nhúng.
(cid:131) Phân phối biến dạng (Distortion distribution) thể hiện cách mà tài liệu
27
bị làm biến dạng trong quá trình sử dụng.
2.2.2 Mô hình watermarking trong không gian nhúng
Phần lớn các bộ dò watermark thường được thiết kế để áp dụng được trên
không gian nhúng (marking space), đó là một không gian thu hẹp của không gian
c
v
m
Bộ dò Waternark đơn giản
Bộ trích Waternark
Thông điệp watermark
đa phương tiện qua phép chiếu hoặc phép biến hình.
Vec tơ trong không gian đa phương tiện
Vec tơ trong không gian nhúng
Tài liệu gốc
Hình - 5: Bộ dò trong mô hình watermarking theo quan niệm
hình học trên không gian nhúng
Như hình trên, bộ dò như vậy chứa một qui trình gồm 2 bước:
+ Bước 1: Trích watermark
Áp dụng một hay nhiều tiền xử lý cho tài liệu gốc chẳng hạn biến đổi tần số
(frequency transform), lọc (filtering) , trung bình khối (block averaging) , căn
mép tạm hay hình học (geomatric or temporal registration) và trích đặc trưng
28
(feature extraction). Kết quả thu được một vec tơ (một điểm trong không gian
nhúng) có chiều nhỏ hơn chiều của vec tơ ban đầu. Chúng ta gọi vec tơ này là
vết trích. (extracted mark)
+ Bước 2 : Xác định xem vết trích có chứa watermark không và nếu có thì
giải mã thông điệp được nhúng. Điều này đòi hỏi phải đi so sánh vết trích với
một hay nhiều vết tham khảo được định nghĩa trước (reference mark) . Bước 2
có thể là một bộ dò watermark đơn giản thực hiện trên các vec tơ trong không
gian nhúng.
Đối với các bộ nhúng watermark thường thì chúng không được thiết kế để
Thông điệp
m
V0
C0
Cw
Vw
Bộ dò Waternark đơn giản
Bộ trích Waternark
Tài liệu được watermark
Bộ trích đảo Waternark
Tài liệu gốc
Vec tơ trong không gian đa phương tiện
Vec tơ trong không gian nhúng
dùng trong không gian nhúng nhưng trên thực tế vẫn có thể thực hiện được.
Hình - 6: Bộ nhúng trong mô hình watermarking theo quan niệm
hình học trên không gian nhúng
29
Một bộ dò nhúng như vậy chứa một quy trình 3 bước như hình:
+ Bước 1: Tương tự bước trích trong bộ dò watermark ở trên.
+ Bước 2: Chọn 1 vec tơ mới trong không gian nhúng gần với vết trích và
hy vọng rằng vec tơ này được dò có chứa watermark. Vec tơ mới này ta gọi là
vết thêm (added mark) .Bước 2 này có thể xem như bộ nhúng watermark đơn
giản thực hiện trong không gian nhúng.
+ Bước 3: Đảo ngược quy trình trích, chiếu vec tơ mới trở lại không gian đa
phương tiện để thu được tài liệu được watermark. Nếu không gian nhúng có
cùng chiều với không gian đa phương tiện, phép chiếu có thể được thực hiện
theo cách ánh xạ 1:1. Tuy nhiên, nếu không gian nhúng có chiều nhỏ hơn không
gian đa phương tiện, mỗi điểm trong không gian nhúng phải tương ứng với
không gian đa phương tiện. Do vậy, việc tìm một tài liệu sẽ nhận vec tơ mới như
một vết trích cho ta nhiều tài liệu khác nhau thỏa như vậy. Nói một cách lý tưởng
là, ta tìm một tài liệu mà được cảm nhận là gần với tài liệu gốc nhất. Trong thực
tế, ta dùng một thuật toán xấp xỉ , tức là không cho ta tài liệu gần nhất mà cho tài
liệu phải chăng nhất.
Trong 2 sơ đồ trên, mục tiêu của hàm extraction là nhằm giảm chi phí
nhúng và dò. Thêm nữa là nhằm đơn giản hóa phân phối của những tài liệu
không có watermark, vùng tương tự cảm nhận được giữa ảnh gốc và ảnh qua xử
lý có thể chấp nhận, và phân phối biến dạng để cho các thuật toán watermarking
30
được thực hiện tốt.
Chương 3. CÁC THUẬT TOÁN
WATERMARKING
Gần đây, một số thuật toán watermarking đã được triển khai để hỗ trợ việc
bảo vệ bản quyền ảnh số và xác minh tính toàn vẹn của liệu đa phương tiện. Hầu
hết các thuật toán watermarking biến đổi ảnh chủ thành một miền nào đó thuận
tiện cho việc nhúng thông tin của watermark, làm sao để nó vừa có độ an toàn
cao, vừa vô hình. Các biến đổi thường dùng để làm việc này là DFT, DCT và
mới đây là DWT.
3.1 Phân loại
Nhìn chung, các thuật toán watermarking có thể được phân loại như sau:
* theo miền nhúng/trích:
(cid:131) miền không gian
(cid:131) miền biến đổi cosine rời rạc (DCT)
(cid:131) miền biến đổi Fourier rời rạc (DFT)
(cid:131) miền biến đổi wavelet rời rạc (DWT)
(cid:131) các miền hỗn hợp khác, ví dụ: miền fractal, miền Fourier-Mellin, đặc tả
Histogram, miền biến đổi wavelet phức (CWT), …
* theo dữ liệu cần tham chiếu (thường là ảnh gốc) khi trích watermark:
(cid:131) không tham chiếu dữ liệu (blind)
(cid:131) tham chiếu dữ liệu tương đối (semi-blind)
(cid:131) tham chiếu dữ liệu hoàn toàn (non-blind)
* theo cách sửa đổi dữ liệu ảnh chủ:
31
(cid:131) cộng tuyến tính tín hiệu tán phổ
(cid:131) hợp nhất ảnh (ví dụ nhúng một logo)
(cid:131) lượng tử và thay thế phi tuyến
* theo mô hình cảm quan
(cid:131) không có mô hình
(cid:131) mô hình ẩn qua các thuộc tính miền biến đổi
(cid:131) mô hình HVS tường minh
* theo mục đích của ứng dụng watermarking
(cid:131) bảo vệ bản quyền, theo dõi việc phát hành
(cid:131) xác minh dữ liệu ảnh, xác nhận và phát hiện giả mạo
(cid:131) ẩn dữ liệu và gắn nhãn ảnh
(cid:131) …
* theo kiểu dữ liệu đa phương tiện chủ:
(cid:131) ảnh tĩnh
(cid:131) video
(cid:131) các định dạng đa phương tiện khác như: ảnh hoạt họa, ảnh bản đồ, …
Trong các cách phân loại đó, một trong những cách được quan tâm nhất là
cách bổ sung dữ liệu watermark vào ảnh chủ. Ở đây, chúng tôi xin đề nghị 2 loại
nhúng chủ yếu sau:
i. nhúng cộng tuyến tính
a) chuỗi Gauss
b) hợp nhất ảnh
ii. nhúng lượng tử phi tuyến
a) lượng tử vô hướng
32
b) lượng tử hữu hướng (vector)
Đặc điểm của nhúng cộng là việc sửa đổi tuyến tính ảnh chủ và xử lý
tương quan trong lúc dò, còn nhúng lượng tử thực hiện các sửa đổi phi tuyến và
dò tìm thông điệp nhúng bằng cách lượng tử hóa các mẫu thu được để ánh xạ
chúng vào trong điểm tái tạo gần nhất.
3.2 Các thuật toán theo dạng cộng
3.2.1 Dẫn nhập
Trong các thuật toán watermarking cộng, dữ liệu watermark là một chuỗi
các số wi có chiều dài N được nhúng trong tập con được chọn thích hợp từ các hệ
số dữ liệu tín hiệu chủ, gọi là f. Công thức cơ bản và hay dùng là:
(3-1) f'(m,n) = f(m,n)(1 + α . wi)
Trong đó, α là trọng số và f’ là kết quả có được từ việc sửa đổi hệ số dữ liệu
chủ mang thông tin watermark. Còn có một công thức khác do Cox [11] đề nghị
như sau:
(3-2) f’(m,n) = f(m,n) + α . wi
hoặc dùng hàm logarit như sau:
(3-3) f’(m,n) = f(m,n) . e αwi
Một tính chất quan trọng của các công thức trên là nó có hàm ngược, ví dụ
đối với công thức cơ bản và hay dùng là:
i =
(* nmf nmf ( ), ), − ( . ), nmf α
(3-4) w*
33
Ta có thể tính được w* từ f* và f cho bởi các hệ số chủ của dữ liệu gốc tham chiếu đến. Nhờ vào f*, ta có thể biết được ảnh có chứa watermark w hay không. Bước kế tiếp, chuỗi watermark w* sau khi trích sẽ được so sánh với watermark
gốc w bằng cách dùng độ đo tương quan để biết được sự giống nhau đến đâu
=δ
giữa chúng:
w
w
* . ww * ||.||
||
||
(3-5)
Hệ số tương δ quan thuộc đoạn [-1,1]; một giá trị lớn hơn 0 và gần bằng 1 nói lên rằng chuỗi w* trích ra tương tự như chuỗi w gốc, và do đó, ta có thể kết
luận rằng ảnh đã được nhúng w. Một ngưỡng dò τ có thể được chọn từ thực
nghiệm quan sát sự tương quan của các chuỗi ngẫu nhiên (xem hình Hình - 7)
f
'
τ
=
hoặc từ phân tích lý thuyết. Ví dụ,
N ∑
α NS .
(3-6)
trong đó S là độ lệch chuẩn ( thường bằng 2 hay 3).
Việc lựa chọn ngưỡng này làm ảnh hưởng đến khả năng xảy ra lỗi dò tích
cực hay lỗi dò tiêu cực khi dò watermark. Do vậy, người ta đã nổ lực nghĩ ra các
phương pháp đáng tin cậy để tính toán trước các ngưỡng và hiệu suất của các hệ
thống dò watermark.
Trọng số α không nhất thiết phải là một hằng cho toàn bộ chuỗi watermark,
nhưng có thể được chọn phù hợp với các thuộc tính cục bộ của tín hiệu chủ. Điều
này cho phép có nhiều mức năng lượng trong tín hiệu watermark, và do đó, có
một watermark an toàn hơn. Chẳng hạn, vài đặc tính của HVS như các hiệu ứng
34
mặt nạ có thể được đắp và lột bỏ.
Hình - 7: Quá trình dò ra ngưỡng thích hợp bằng quan sát thực
nghiệm 1000 chuỗi kiểm tra ngẫu nhiên.
Trước khi nhúng watermark, ảnh chủ F thường trải qua biến đổi 2 chiều T
như DCT, DFT hoặc DWT để lấy dữ liệu dưới dạng tần số f, với f = T x F. Sau
đó là sửa đổi (watermarking) trong miền tần số này, không gian biểu diễn ảnh được khôi phục lại nhờ vào biến đổi ngược T -1, F = T -1 x f.
Tổng quát, watermark được nhúng trong miền tần số được chứng minh là
an toàn đối với nhiều dạng tấn công hơn là watermark được nhúng trong miền
không gian. Để thu được một watermark an toàn, watermark phải được nhúng ở
những phần lồi của tín hiệu ảnh chủ. Biểu diễn dưới dạng tần số của tín hiệu chủ
dễ dàng cho phép chọn các hệ số tần trung bình và thấp chứa gần như toàn bộ
năng lượng của tín hiệu ảnh. Sự lựa chọn các hệ số phù hợp của miền biến đổi là
một vấn đề quan trọng, vì nó ảnh hưởng đến độ an toàn của watermark rất nhiều.
Sự khác biệt chính giữa các lược đồ watermark là nằm ở chiến lược lựa chọn các
35
hệ số này.
3.2.2 Các vấn đề liên quan
3.2.2.1 Watermarking phổ rộng
Nhiều kỹ thuật watermarking kết hợp ý tưởng truyền thông phổ rộng với
việc nhúng và trích theo phương pháp cộng một mẫu nhiễu giả ngẫu nhiên. Các
bit thông tin được trải rộng ra bằng một phương pháp lặp đơn giản, có thể dùng
phương pháp mã hóa có chỉnh lỗi (ECC) hoặc vài biến đổi khác, và sau đó chúng
được điều biến với chuỗi nhiễu giả ngẫu nhiên được mã hóa. Chuỗi các biến
Gauss giả ngẫu nhiên là một mẫu tốt về loại nhiễu thường có trong ảnh tự nhiên.
Tuy nhiên, ảnh nhân tạo (do máy tính tạo ra) thì không có bất cứ nhiễu nào.
Trong truyền thông phổ rộng, một tín hiệu băng tần hẹp được trải rộng qua
các tần số băng tần rộng. Điều này có thể thực hiện bằng cách điều biến tín hiệu
băng tần hẹp, thông tin watermark chẳng hạn, với tín hiệu băng tần rộng, ví dụ
nhiễu Gauss. Tín hiệu watermark phổ rộng thường tương tự như nhiễu đã tồn tại
trong tín hiệu ảnh, do đó, nó rất khó dò được.
3.2.2.2 Tạo các số Gauss ngẫu nhiên
Với các số giả ngẫu nhiên đồng đều cho trước, biến đổi Box-Muller có thể
được dùng để biến đổi chúng thành một tập các biến ngẫu nhiên có phân phối
Gauss hay phân phối chuẩn. Có thể minh họa bằng các thuật toán sau:
Thuật toán 1: Biến đổi Box-Muller dùng cho phát sinh các biến ngẫu
nhiên phân phối Gauss từ các biến ngẫu nhiên phân phối đều.
double x1 = randf(), x2 = randf();
36
double y1 = sqrt(-2.0 * ln(x1)) * cos(2.0 * M_PI * x2);
double y2 = sqrt(-2.0 * ln(x1)) * sin(2.0 * M_PI * x2);
Thuật toán 1 phát sinh một dãy Gauss với giá trị trung bình là và độ lệnh
chuẩn là một. Tuy nhiên, nó chậm vì dùng các hàm lượng giác và có thể gặp vấn
đề về trạng thái bền ổn định khi x1 tiến gần về 0.
Thuật toán 2, một hình thức phân cực của biến đổi Box-Muller, khắc phục
yếu điểm trên. randf() biểu thị một bộ phát sinh ngẫu nhiên giả [0,1) tốt, đều.
Thuật toán 2: Hình thức phân cực của thuật toán Box-Muller
double x1, x2, w;
do
{
x1 = 2.0 * ranf() – 1.0;
x2 = 2.0 * ranf() – 1.0;
w = x1 * x1 + x2 * x2;
}
while (w ≥ 1.0);
w = sqrt((-2.0 * log(w)) / w);
double y1 = mean + x1 * w * deviation;
double y2 = mean + x1 * w * deviation;
Dãy được nhúng trong dữ liệu ảnh chủ có thể là dãy nhị phân wi ∈ {-1,1},
37
hay xuất phát từ ảnh khác nhỏ hơn, gọi là “logo” (dùng kỹ thuật hợp nhất ảnh).
3.2.2.3 Trích thông tin
Một đặt tính của các mô hình nhúng watermark theo phương pháp cộng cơ
bản (Cox [11]) đó là ảnh gốc phải cần được tham khảo trong quá trình trích. Hơn
nữa, việc dò thông tin chỉ có thể thông qua sự tương quan. Không thể (hay chí ít
là rất mất thời gian) khám phá thông tin nhúng vì thông tin nhúng này có thể là
hạt giống (thường 32 hay 48 bit) của bộ phát sinh số ngẫu nhiên giả (PRNG). Để
lấy được hạt giống của PRNG, người ta phải thử và tính tương quan tất cả các
giá trị hạt giống có thể có với dãy watermark trích được.
Để khắc phục vấn đề này, chẳng hạn trong trích watermark non-blind, một
phương pháp được đề nghị là tính tương quan dãy w trực tiếp với tất cả các hệ số
N
(
* .), wnmf i
N của tín hiệu ảnh nhận được f* nhờ định lý Central Limit,
∑=∂
N
(3-7)
N
|
nmf
* |),
(
τ
và sau đó so sánh giá trị tương quan δ với một số ngưỡng dò τ,
α ∑= .3 N
(3-8)
Mặt hạn chế chính của phương pháp này đó là tín hiệu ảnh phải bị đối xử
như là nhiễu và điều này làm cho việc dò trở nên khó khăn.
Watermarking semi-blind là một hướng tiếp cận lai ghép, trong đó việc dò
38
watermark chỉ cần một số dữ liệu tham khảo từ ảnh gốc mà không cần toàn bộ.
Vấn đề của dò tương quan và ngưỡng là nó chỉ có thể dò sự có mặt hay
không của dãy watermark đặc biệt. Nếu quan tâm đến các bit thông tin được mã
hóa trong dãy watermark, cần kiểm tra tất cả các dãy có thể (rõ ràng là không thể
làm được với kích thước hạt giống của bộ phát sinh số ngẫu nhiên tối thiểu 32 bit
trong một hệ thống thông thường).
Một giải pháp thực tế được đề xuất là mã hóa các bit thông tin trong một
dãy các số thực xấp xỉ Gauss.
3.2.3 Ví dụ: thuật toán Cox
Watermarking phổ rộng của Cox là một thuật toán nổi tiếng trên miền DCT.
Tác giả Ingemar J. Cox, Joe Kilian, Tom Leighton, Talal G.
Shamoon thuộc viện nghiên cứu NEC, Princeton, NJ, USA.
Watermark Mark là một chuỗi Gauss các số thực ngẫu nhiêu giả,
chiều dài 1000
39
Chọn lựa hệ số 1000 hệ số lớn nhất trong miền DCT
Nhúng Dùng công thức nhúng cộng: f’(m,n) = f(m,n) + α . wi
i =
(* ( ), ), nmf nmf − ( . ), nmf α
Trích Dùng công thức nhúng ngược: w*
Nhận xét Ảnh trước hết được trừ cho một DCT toàn cục (tính toán
tốn kém). Thuật toán thu được sự bền chặt chống được nén và
các tấn công xử lý tín hiệu khác nhờ vào việc chọn các hệ số
miền biến đổi quan trọng cảm nhận được. Tuy nhiên, nó yếu
với các tấn công khả đảo.
Bảng - 2: Thuật toán của Cox
3.3 Các thuật toán theo dạng lượng tử hóa
3.3.1 Dẫn nhập
Quá trình ánh xạ một tập các giá trị lớn (có thể là vô hạn) thành một tập các
giá trị nhỏ hơn được gọi là lượng tử hóa. Do việc lượng tử hóa làm giảm số ký
hiệu phân biệt cần phải mã hóa, nên nó chủ yếu dành cho các mô hình nén mất
40
nhiều năng lượng.
Chúng ta cần phân biệt giữa lượng tử hóa vô hướng và hữu hướng. Trong
trường hợp lượng tử hóa vô hướng, phép lượng tử lấy các giá trị vô hướng làm
đầu vào, còn lượng tử hóa hữu hướng thì làm việc với các vetor.
Một phép lượng tử bao gồm 2 phép ánh xạ: mã hóa và giải mã. Phép mã
hóa chia dãy các giá trị nguồn thành một số khoảng. Mỗi khoảng được tượng
trưng bằng một ký hiệu mã hóa. Phép mã hóa gán tất cả các giá trị nguồn trong
một khoảng bằng ký hiệu mã hóa này. Vì có khả năng có nhiều các mẫu khác
nhau (có thể có nhiều giá trị vô hạn) rơi vào bất kỳ khoảng cho trước nào, nên
phép ánh xạ mã hóa không thể có đảo ngược. Ví dụ, hàm floor() trong C++ ánh
xạ các số thực vào một số nguyên gần nhất, tuy nhiên không thể có hàm ánh xạ
ngược từ một số nguyên ra các số thực gần nó nhất được, vì tính chất vô hạn của
số thực (xem Hình - 8).
(a) (b)
Hình - 8: Phép ánh xạ lượng tử input/ouput (a) và lỗi lượng tử
hóa (b) của hàm floor()
41
3.3.2 Các vấn đề liên quan
3.3.2.1 Giao thoa tín hiệu chủ và ngăn chặn nhiễu tự có
Kỹ thuật watermarking theo kiểu blind truyền đạt thông tin qua dữ liệu chủ
đa phương tiện (ví dụ các ảnh số) trong trường hợp dữ liệu chủ chưa sửa đổi
không có sẵn để dò watermark. Nhiều mô hình watermarking dạng blind bị giao
thoa tín hiệu chủ khi làm tương quan chuỗi watermark với dữ liệu ảnh nhận
được.
Đối với các tấn công nhiễu Gauss cộng, sự giao thoa với tín hiệu chủ có thể
được loại bỏ khi nhúng watermark theo cách phi tuyến, ví dụ qua lượng tử hóa.
Do đó, khả năng theo lý thuyết của các mô hình watermarking dạng blind nằm ở
các phương pháp mà đầu thu truy cập tín hiệu chủ. Một mô hình của bài toán
truyền thông này được miêu tả ở Hình - 9.
Hình - 9: Mô hình truyền thông, trong đó tín hiệu gốc không có
sẵn ở phía đầu thu
Thông điệp m được phát đi với một ràng buộc chặt chẽ (để đảm bảo tính vô
cảm). Các nguồn nhiễu Gauss giao thoa, x (của ảnh chủ) và nhiễu xử lý p (giả sử
42
cũng là một Gauss), không thể giải mã được. Tuy bộ phận mã hóa có thông tin
về x, nhưng phận giải mã sẽ phải giải mã thông điệp watermark m từ tín hiệu tổng hợp x* mà không phải truy cập tín hiệu chủ gốc x.
Kênh truyền thông này có 2 nguồn nhiễu, x – nhiễu có từ ảnh chủ và p –
nhiễu có từ xử lý ảnh (nén, tấn công watermark).
Trong thực tế, người ta thường dùng các phương pháp lượng tử hóa đơn
giản, như các mã hóa theo cấu trúc mắt cáo và các mô hình điều biến dựa trên
lượng tử hóa, để giải quyết bài toán watermarking theo kiểu blind.
3.3.2.2 Phân tích ảnh và phân phối năng lượng
Đối với hầu hết các phân tích ảnh, như DCT, DFT, DWT, các băng tần
(kênh) thấp mang một số lượng lớn năng lượng ảnh, và do đó, chúng là đại diện
chính của ảnh nhiễu và nhiễu tự có. Mặt khác, các băng tần này khó bị tác động
bởi các hoạt động nén ảnh nên chỉ góp phần tạo một ít nhiễu xử lý. Các băng tần
cao, bị hầu hết các nhiễu xử lý ảnh, đóng góp số lượng lớn nhiễu tự có.
Đối với ứng dụng watermarking dạng non-blind, nhiễu ảnh không thành
vấn đề bởi vì nó có thể bị bỏ đi trong bước trích watermark bằng cách trừ đi ảnh
gốc từ ảnh thu được. Nguyên lý này đã thúc đẩy việc chọn các hệ số DCT có tần
số thấp trong mô hình của Cox [11], và hình thành kỹ thuật watermarking an
toàn đối với xử lý ảnh, và hầu hết các tấn công đều bị giới hạn trong các hệ số
tần cao không chứa thông tin watermark.
Nếu ảnh gốc không có sẵn trong qui trình truyền thông watermark, ví dụ mô
hình watermarking dạng blind, việc nhúng watermark trong thành phần tần số
thấp là một lựa chọn không chắc chắn do tính trội của nhiễu tự có. Trong trường
hợp tổng quát, các phương pháp watermarking cộng dạng blind ưa dùng các tần
số trung bình hơn. Với quan điểm này, người ta rất quan tâm đến việc dùng biến
43
đổi, GTC , nào mà không làm tăng nhiều mã hoặc cho phép nén năng lượng ở
mức độ nhỏ. Hình - 10 cho thấy vị trí của các biến đổi khác nhau trên trục nén
năng lượng. Ở đầu trái là biến đổi Identity, còn ở đầu phải là biến đổi Karhunen-
Loéve (KLT) có khả năng nén năng lượng tốt nhất.
Hình - 10: Sự khác nhau của các biến đổi trên thang năng lượng.
GTC là biến đổi làm tăng số lượng mã.
Trái với các phương pháp tuyến tính, có phương pháp nhúng watermark phi
tuyến co khả năng tận dụng những băng tần thấp cho dù ảnh gốc không có sẵn ở
đầu dò. Các mô hình phi tuyến gán cho các hệ số cường độ cao và thấp cùng một
trọng số, do đó nó ngăn chặn được nhiễu ảnh. Không giống như các phương
pháp dò tuyến tính sử dụng xử lý tương quan (không có ý nghĩa nhiều với các hệ
số có biên độ cao), trong trường hợp này, các hệ số có cường độ cao sẽ tác động
đến kết quả của quá trình dò tương tự như các hệ số có cường độ thấp.
3.3.2.3 Các phương pháp điều biến chỉ số lượng tử hóa (quantization index
modulation – QIM)
Một vài thuật toán watermarking đơn giản nhất, hoạt động trên miền không
gian và thay thế các bit kém quan trọng (lest significant bits – LSB) của các điểm
ảnh, cũng thuộc vào loại này. Tuy nhiên, các chiến lược lượng tử – và – thay thế
có nhiều tiến bộ hơn và cho phép watermarking an toàn hơn.
Như chúng ta đã thấy ở Hình - 9, thông điệp watermark m được điều biến
44
thích hợp và được thêm vào tín hiệu chủ x. Quá trình nhúng này có thể được biểu
diễn bằng hàm s(x,m). Tuy nhiên, ta có xem s(x,m) là một tập chọn hoặc toàn bộ
các hàm của x, có chỉ số là m. Để nhấn mạnh, ta có thể biểu diễn tập toàn bộ các
hàm của x có chỉ số m là s(x;m).
Do có ràng buộc về biến dạng và yêu cầu tính vô cảm trong ứng dụng
watermarking, nên tập s(x;m) cần được giới hạn (có tối thiểu tính cảm quan nhất)
xung quanh gần x cho tất cả các chỉ số m (tính xấp xỉ đồng đều). Yêu cầu về độ
an toàn này gợi ý là các điểm trong dãy của một hàm thuộc tập hàm toàn bộ nên
“cách xa” (phân biệt được bằng cảm quan) so với các điểm trong dãy của bất kỳ
hàm nào khác. Tối thiểu nhất là các dãy phải không được giao nhau, nếu không
sẽ không có cách nào xác định m từ s.
Các phép lượng tử, hoặc chuỗi các phép lượng tử, có thể được dùng làm các
hàm xấp xỉ đồng đều để nhúng thông tin watermark. Số giá trị có thể có của m
xác định số phép lượng tử cần có, m đóng vai trò là chỉ số lựa chọn phép lượng
tử được dùng để biểu diễn m. Ví dụ trong trường hợp m = 2 ta có phép lượng tử
nhị phân.
HHHHH5 minh họa quá trình nhúng thông tin QIM. Để nhúng một bit m, m
0 {1,2}, một điểm ảnh được ánh xạ vào điểm biểu diễn lại gần nhất tượng trưng
45
cho thông tin m.
Hình - 11: Điều biến chỉ số lượng tử hóa. Các điểm biểu diễn lại
được đánh dấu là x (nếu m=1) và là o (nếu m=2) và thuộc về hai
phép lượng tử khác nhau.
Khoảng cách dmin nhỏ nhất giữa các tập điểm biểu diễn lại của các phép
d
xs (
j ||);
=
−
min
ixs ( ); i
j
lượng tử khác nhau trong toàn bộ sẽ xác định độ an toàn của việcc nhúng.
min :),( ji i ≠
||min ( , ) xxj i
j
(3-9)
Bằng trực giác, khoảng cách tối thiểu đo được tổng số nhiễu mà hệ thống
có thể chịu đựng được.
3.3.2.4 Lượng tử hóa tán sắc (dithered quantization)
Phương pháp lượng tử hóa tán sắc có thể được coi như là một trường hợp
46
đặc biệt của QIM để ngăn chặn nhiễu tự có. Các phép lượng tử tán sắc là toàn bộ
những lượng tử mà các ô lượng tử hóa và các điểm biểu diễn lại của mỗi phép
lượng tử trong tập toàn bộ là các phiên bản khác được dịch từ vài phép lượng tử
cơ sở Q. Phép dịch này được cho bởi vector tán sắc (dither vector) d.
Lượng tử hóa tán sắc là một quá trình, trong đó vector tán sắc d có chiều dài
L được thêm vào đầu vào x trước khi lượng tử hóa. Đầu ra của quá trình lượng tử
(
d
)
d
+
−
trừ có công thức:
xQs = i
i
i
i
(3-10) với 0# i # L
mdxQmxs ;(
)
(
(
))
md (
)
+
=
−
hoặc dùng ký hiệu giới thiệu ở mục trước:
(3-11)
Ở đây, người ta chỉ quan tâm đến phép lượng tử vô hướng, đồng đều với
kích thước bước là ∆. Toàn bộ tập tán sắc nhị phân có thể được phát ra một cách
giả ngẫu nhiên nhờ vào việc chọn di(1) với phân phối đều trên [-∆/2, ∆/2] và
d
d
2/
∆+
0)1( <
i
i
d
=
2
d2(2) được gán như sau:
d
d
2/
∆−
0)1( ≥
i
i
(3-12) , 0 # i # L
Lỗi lượng tử hóa tán sắc trừ (subtractive dither quantizaion – SDQE) không
phụ thuộc vào đầu vào lượng tử khi tín hiệu tán sắc d có phân phối đều trong
phạm vi một dãy nhị phân lượng tử hóa, di 0 [-∆/2, ∆/2], dẫn tới một độ lệch bình phương kỳ vọng là e2 = ∆2/12.
Thuật toán dưới đây sẽ minh họa lượng tử tán sắc của việc giải mã, cũng
như cách phát ra vector tán sắc nêu trên:
Thuật toán điều biến tán sắc
47
double quantize (double value, double delta)
{
int q = floor(value/delta);
return((value-delta*q)<=(delta*(q+1)-value) ? delta*q : delta*(q+1);
}
void dm_quantize_vector (double x[], double dither[], double delta, int n)
{
for (int i = 0; i < n; i++)
x[i] = quantize (x[i] + dither[i] , delta) – dither[i];
}
double dm_distance (double y[], double dither[], double delta, int n)
{
double sum = 0;
for (int i = 0; i < n; i++)
sum+=sqr(y[i]- (quantize (y[i] + dither[i], delta)-dither[i]));
return sum;
}
int decode_vector (double y[], double **dither, double delta, int n)
{
return(dm_distance (y,dither[0],delta,n) <
dm_distance (y,dither[1],delta,n)?0:1;
}
48
void generate_dither (double **dither, double delta, int n)
{
for (int i = 0; i < n; i++)
{
dither[0][i]=ranf() * delta – (delta / 2.0);
dither[1][i]=dither[0][i]+(dither[0][i]<0.0)?(delta/2.0):(-delta/2.0);
}
}
3.3.2.5 Điều biến tán sắc phân bố biến đổi (spread - transform dither
modulation – STDM)
Phương pháp điều biến này có thể được dùng để chuyển đổi một mô hình
watermarking phổ rộng sẵn có sang một mô hình dựa trên chiến lược lượng tử
hóa – và – thay thế. Điều này có thể làm được bằng cách thay thế đơn giản phép
cộng với một hàm lượng tử hóa. Các hệ thống phổ rộng có một công thức nhúng
dạng,
s(x,m) = x + a(m) . u (3-12)
trong đó u là một vetor giả ngẫu nghiên được bình thường hóa.
uma )).
).~ ux
x
(
(
+
+
−
Công thức nhúng trên có thể được viết lại dưới dạng ~( x (3-13) s(x,m) =
với x~ là phép chiếu của ảnh x lên vector phân bố u, x~ = x . u
Lúc này, phép cộng:
(3-14) s(x,m) = x~ + a(m)
s~ = Q( x~ + d(m)) – dm
có thể được thay thế bằng phép lượng tử hóa
(3-15)
49
Công thức nhúng cuối cùng của mô hình STDM là:
s(x;m) = (Q( x~ + d(m)) – d(m)) . u + (x – x~ . u)
(3-16)
3.3.3 Ví dụ: thuật toán Koch
Đây là một thuật toán điển hình về mô hình watermaking theo chiến lược
lượng tử hóa – và – thay thế.
Tác giả Thuật toán này được phát triển bởi Eckhard Koch và
Jilian Zhao tại viện Fraunhofer Institude for Computer
Graphic, Darmstadt, Đức [12]
Watermark Là một chuỗi các giá trị nhị phân, wi 0 {0,1}
Lựa chọn hệ số Đề nghị khối hệ số DCT 8 x 8 giả ngẫu nhiên. Trong
phạm vi mỗi khối bi , 2 hệ số từ dãy tần trung bình được
chọn ngẫu nhiên trở lại (xem hình dưới). Trong những
mở rộng của mô hình cơ bản này, vài khối hoặc vài cặp
bị loại dựa trên tiêu chuẩn vô hình và an toàn của
50
watermark .
Mô hình watermarking cơ bản của Koch hoạt động
trên các khối hệ số DCT 8 x 8 và tính toán cặp hệ số để
nhúng một bit thông tin watermark
Nhúng Đầu tiên, mỗi khối được lượng tử hóa bằng ma trận
lượng tử hóa JPEG và hệ số lượng tử hóa Q. Sau đó, đặt
fb là khối hệ số DCT 8 x 8 và fb(m1,n1), fb(m2,n2) là các hệ
số được chọn trong khối này. Độ khác nhau tuyệt đối
giữa các hệ số được chọn cho bởi công thức:
∆b = |fb(m1,n1) - fb(m2,n2)|
Để nhúng 1 bit thông tin watermark, wi, trong khối
được chọn bi, cặp hệ số fb(m1,n1), fb(m2,n2) được sửa đổi
if
w
{
∆
=
b
q
if
= i w
0
q ≥ −≤
1 =
i
sao cho:
trong đó, q là thông số điều khiển cường độ nhúng
Nhận xét Mô hình này có thể được mở rộng bằng cách ràng
buộc mối quan hệ giữa 3 (thay vì 2) hệ số. Điều này cho
phép mã hóa bit watermark theo cách an toàn hơn và
cung cấp một kỹ thuật để bỏ qua các khối không phù hợp
cho việc nhúng watermark.
Vì watermark được nhúng trong các khối hệ số DCT
8 x 8, nó có thể bị nhận thấy, nhất là trong vùng trơn. Để
cải tiến, có thể kết hợp các khía cạnh của HVS để khắc
phục vấn đề biến dạng có thể thấy được ở trên. Rất nhiều
51
độ đo đơn giản được đề nghị để giữ tính trơn của khối.
Do vậy, một khối có thể bị loại (không nhúng) hoặc
nhúng với một thông số cường độ q có điều chỉnh.
Bảng - 3: Thuật toán của Koch
52
Chương 4. WATERMARKING TRÊN MIỀN
WAVELET
4.1 Dẫn nhập
Sự phát triển của các kỹ thuật nén ảnh, như JPEG, MPEG và mới đây là
JPEG2000, cho phép sử dụng rộng rãi các ứng dụng đa phương tiện hơn. Các kỹ
thuật watermarking trước đây thường được nghiên cứu trên miền không gian
thường sử dụng các thành phần có tần số thấp để nhúng thông tin watermark,
điều này giúp cho watermark có thể không cảm nhận được (vô hình). Tuy nhiên,
khi đối mặt với yêu cầu về tính an toàn đối với các kỹ thuật nén và tấn công
watermark thì các phương pháp watermarking trên miền không gian tỏ ra rất yếu
kém. Các nghiên cứu gần đây cho thấy rằng các yêu cầu về tính vô hình và độ an
toàn của watermark có thể được thực hiện dễ hơn nếu sử dụng các biến đổi cho
dữ liệu chủ, thông tin watermark sẽ được chứa trong miền biến đổi này.
Nhiều biến đổi ảnh đã được xem xét, nổi lên trong số đó là biến đổi cosine
rời rạc (DCT). Trước đây, biến đổi này đặc biệt ưa chuộng cho các chuẩn mã hóa
video và ảnh. Từ đó, một số lớn kỹ thuật watermarking đã tận dụng biến đổi này.
Ngoài ra, còn có các biến đổi khác cũng được đề nghị dùng trong kỹ thuật
watermarking bao gồm biến đổi Fourier rời rạc (DFT), biến đổi Fourier-Mellin,
…Trong những tác phẩm mới đây nhất, các tác giả thường đề cập đến việc dùng
biến đổi wavelet rời rạc (DWT) cho kỹ thuật watermarking.
Trong lĩnh vực ảnh số, cùng với trào lưu tiêu chuẩn hóa ảnh theo JPEG2000
và dịch chuyển các phương pháp nén ảnh từ dựa trên DCT sang DWT, các mô
53
hình watermark hoạt động trên miền wavelet ngày càng trở nên được quan tâm
hơn. Các yêu cầu mới, như truyền tải từng phần và có tỷ lệ bit thấp, độ phân giải
và tính có thể thay đổi tỷ lệ chất lượng, khả năng phục hồi lỗi và mã hóa vùng
quan tâm (ROI), được đòi hỏi với hiệu suất mã hóa cao hơn và đa năng hơn.
Những yêu cầu này được đáp ứng nhờ vào hệ thống “mã hóa khối được nhúng có
làm tròn tối ưu” (EBCOT) dựa theo wavelet, điều này được chấp nhận với các bổ
sung nhỏ trong chuẩn mã hóa ảnh JPEG2000 sắp tới. Biến đổi wavelet có một
số thuận lợi hơn so với các biến đổi khác, chẳng hạn DCT, là vì nó có thể khai
thác trên cả hai ứng dụng nén ảnh và watermarking.
Dưới đây, chúng tôi sẽ đi vào các kỹ thuật watermarking trên miền wavelet
của một số tác giả điển hình.
4.2 Biến đổi wavelet
4.2.1 Phương pháp
Biến đổi wavelet được nghiên cứu rộng rãi trong thập niên vừa qua. Nhiều
ứng dụng của biến đổi wavelet, như nén, phân tích và xử lý tín hiệu đã được phát
triển. Chúng ta sẽ không đi sâu vào phân tích những ứng dụng như thế, mà sẽ
nghiên cứu những khái niệm cần thiết của DWT để phục vụ cho vấn đề
watermarking.
Ý tưởng cơ bản của DWT cho tín hiệu một chiều có thể miêu tả như sau.
Đầu tiên, tín hiệu được chia thành 2 phần, thông thường là phần của những số
cao và phần của các tần số thấp. Các thành phần biên (cạnh) của tín hiệu được
hạn chế trong phần tần số cao. Phần tần số thấp sau đó được chia tiếp thành 2
phần (phần tần số cao và phần tần số thấp) một lần nữa. Quá trình này cứ tiếp
diễn cho tới khi tín hiệu được phân tích toàn bộ hoặc được dừng trước lúc đó bởi
54
sự kiểm soát của ứng dụng. Đối với các ứng dụng nén và watermarking, thông
thường ít khi dùng quá 5 bước phân tích. Hơn nữa, từ các hệ số DWT, ta có thể
tái tạo lại tín hiệu gốc. Quá trình tái tạo lại này được gọi là DWT ngược (IDWT).
Về mặt toán học, DWT và IDWT có thể được biểu diễn như sau:
jkw
−
wH (
)
k eh .
Đặt
∑= k
(5-1)
jkw
−
và:
wG ( )
k eg .
(5-2)
∑= k
lần lượt làm bộ lọc thông cao và lọc thông thấp, thỏa mãn các điều kiện cho
việc tái tạo được phát biểu ở phần sau. Một tín hiệu, F(n) có thể được phân tích
f
)( k
=
k
)( nf j
2
low j 1 −
theo cách đệ qui như sau:
h ∑ − n n
(5-3)
f
)( k
=
2
k
)( nf j
high 1 j −
và:
g ∑ − n n
(5-4)
với j = J + 1, J, …, J0 ; trong đó fj+1(k) = F(f), k 0 Z. J + 1 là chỉ số mức
f high
)(k
k )(
f low
k )(
f high
k )(
phân giải cao nhất và J0 là chỉ số mức phân giải thấp nhất. Các hệ số:
J
J
J
f high J + 10
0
0
55
, , , …,
f low
k )(
J
0
f high
)(k
được gọi là DWT của tín hiệu F(n), trong đó là phần có mức phân
J
giải thấp nhất của F(n) (tính gần đúng) và là các chi tiết của F(n) tại
nhiều băng tần khác nhau. Đồng thời, tín hiệu F(n) có thể được tái tạo lại từ các
f
)( n
f
)( k
f
)( k
g
=
+
2
2
low j
h n
k
n
k
−
low 1 j −
high 1 j −
−
hệ số DWT đệ qui sau của nó (gọi là IDWT):
∑ k
∑ n
(5-5)
Để đảm bảo mối quan hệ giữa DWT và IDWT ở trên, cần phải có điều kiện
trực giao giữa các bộ lọc H(w) và G(w):
(5-6) |H(w)|2 + |G(w)|2 = 1
−
jwe
wH ( )
Một ví dụ như thế về H(w) và G(w) là:
1 += 2
1 2
(5-7)
−
( ) wG
jwe
và:
1 −= 2
1 2
(5-8)
Ví dụ trên chính là bộ lọc wavelet của Haar. Các bộ lọc thông dụng khác
được dùng trong xử lý ảnh là họ các bộ lọc trực giao Daubechies (D-4, D-6, D-8,
D-10, D-12) và các bộ lọc bi-orthogonal (B-5/3, B-7/9).
DWT và IDWT cho ảnh hai chiều F(m,n) có thể được định nghĩa tương
tựbàng cách thực thi DWT và IDWT một chiều riêng rẽ cho từng chiều m và n,
kết quả là tạo ra một ảnh trình bày theo dạng hình kim tự tháp (hình chóp), ví dụ
56
như Hình - 12.
Hình - 12: Dạng hình kim tự tháp của ảnh “Lena” qua phép phân
tích cấp 2.
4.2.2 Các đặc tính và các lợi thế
Trong Hình - 13, chúng ta thấy có 2 ảnh: “Lena” phía trái và “Baboon” phía
phải. trong khi ảnh “Lena” thì tương đối trơn, ngoại trừ đám lông trên chiếc mũ,
còn ảnh “Baboon” thì có nhiều vùng thô hơn. Sau phép phân tích DWT ở cấp 3,
chúng ta có 10 băng tần con cho mỗi ảnh. Các tần số thấp (thu được qua bộ lọc
thông thấp) được tập trung trong băng tần góc phía trái – trên và nhìn có vẻ
giống như một phiên bản thu nhỏ của ảnh gốc, do vậy, băng tần con này còn
được gọi là băng tần con xấp xỉ. Các thành phần có tần số cao của ảnh được lưu
giữ trong 9 băng tần con chi tiết còn lại.
Biến đổi wavelet có một số đặc tính và thuận lợi so với các biến đổi khác,
57
chẳng hạn DCT, như sau:
(a) “Lena”
(b) “Baboon”
(c) Ảnh phân tích cấp 3
(b) Ảnh phân tích cấp 3
(e) phân phối của các hệ số
(f) phân phối của các hệ số
Hình - 13: Ảnh tương đối trơn, “Lena”, ở cột trái; ảnh thô,
“Baboon”, ở cột phải. Quan sát ở biểu đồ (e) và (f) cho thấy ảnh
58
trơn có nhiều đỉnh quan trọng co hệ số là 0 hơn. Phương sai của
ảnh thô cao hơn.
• Biến đổi wavelet là bản mô tả đa phân của ảnh: quá trình giải mã có
thể được xử lý tuần tự từ phân giải thấp tới các phân giải khác cao
hơn.
• Biến đổi wavelet gần với hệ thống trực quan của con người (HVS)
hơn các biến đổi khác. So với DCT, các tác phẩm được tạo bởi việc
mã hóa theo miền wavelet với tỷ lệ nén cao thì ít gây khó chịu về
mặt cảm quan hơn là tạo từ DCT với cùng một tỷ lệ bit. Thêm vào
đó, trong trường hợp JPEG, các khối tạo ra từ việc mã hóa ảnh theo
DCT bị nhận thấy rõ, vì DCT thường hoạt động trên các khối 8 x 8
độc lập.
• Biến đổi wavelet phát ra một cấu trúc dữ liệu được trình bày theo
phân lớp (nấc) không gian. Trong dạng trình bày ảnh này, các tín
hiệu có tần số cao được đặt hoàn toàn chính xác trong miền điểm
ảnh, trong khi đó các tín hiệu có tần số thấp được bố trí hoàn toàn
trong miền tần số. Phân giải theo không gian này của biến đổi
wavelet tăng dần theo tần số. Do đó các cạnh sắc nét trong ảnh, bị
khoanh vùng không gian và có nội dung có tần số cao quan trọng,
có thể được nhìn thấy trong các băng tần con chi tiết và được thể
hiện dưới dạng các đường viền theo các đối tượng trong ảnh. Trong
khi phân giải theo tần số độc lập với tần số trong miền DCT, thì
59
trong miền wavelet nó là nghịch đảo theo tỷ lệ tần số.
Từ những đặc tính đó, khi xây dựng các mô hình watermarking hoạt động
dựa trên miền wavelet, chúng ta có thể có được những lợi thế sau cho mô hình
này:
* Trình bày theo dạng phân cấp nhờ vào đặc tính đa phân của biến đổi này
đặc biệt thích hợp cho các ứng dụng mà ảnh phải truyền tải từng phần, và có một
số lớn dữ liệu cần được xử lý, lấy ví dụ như các ứng dụng trong video, hoặc
trong các hệ thống thời gian thực.Các thuật toán watermarking nhúng watermark
có dạng phân cấp hoặc có dạng lồng ghép có thể lưu lại nhiều kết quả tính toán
một khi vết watermark có thể được dò ra sớm trong truyền tải từng phần.
* Miền wavelet cho phép có mô hình tốt hơn về HVS. Nó gần với biến đổi
Cortex theo giả thuyết hơn là DCT, vì nó chia tín hiệu thành các băng tần riêng
mà có thể được xử lý độc lập. Ngoài ra, tính trực quan của nhiễu lượng tử hóa và
các khả năng che dấu trong miền wavelet đã được nghiên cứu rộng rãi.
* Như đã nói ở trên, các băng tần con có phân giải cao cho phép xác định
các đặc trưng của ảnh như các cạnh hoặc các vùng thô trong miền biến đổi. Các
mô hình watermarking thường đặt nhiều năng lượng watermark vào các hệ số
DWT lớn, do đó nó tác động đến hầu hết các khu vực như các cạnh và vùng thô,
nhờ vậy HVS không bị hư hỏng. Đây chỉ là một ví dụ về việc che dấu mà có thể
được khai thác trong miền wavelet. Việc hiểu được HVS tuyệt đối là không thể
thiếu để thực hiện watermarking vô cảm có hiệu suất cao là cần thiết. Ví dụ mô
hình watermarking của Su [13] đã tận dụng các lợi thế về tính phân vùng của các
hệ số biến đổi để thực thi mã hóa ROI.
* Biến đổi wavelet có hiệu suất tính toán cao và có thể được tiến hành theo
nhiều cách khác nhau, ví dụ bằng cách thay đổi điều kiện hay bước nhảy của bộ
60
lọc.
* Chuẩn mã hóa JPEG2000, sắp được phát hành tới đây, sẽ dựa trên DWT.
4.3 Các thuật toán ví dụ
Các thuật toán watermarking trên miền wavelet rất đa dạng với nhiều mô
hình khác nhau. Tuy nhiên, thường vấn đề mấu chốt nằm ở kỹ thuật lựa chọn hệ
số nhúng và việc tính toán dò watermark. Ở đây, để cho đơn giản, chúng tôi sử
dụng tiêu chí không tham chiếu dữ liệu (blind) và tham chiếu dữ liệu (non-blind)
để phân chia các thuật toán.
4.3.1 Ví dụ về thuật toán non-blind
4.3.1.1 Thuật toán Wang
Tác giả Thuật toán này được phát triển bởi Houng-Jyh Mike
Wang, Po-Chyi và C.-C. Jay Kuo tại Khoa Điện tử, Đại Học
Sounthern California, USA
Watermark Là chuỗi các số thực Gauss giả ngẫu nhiên phù hợp với
số hệ số được chọn nhúng.
Phân tích Các tác giả không xác định mức phân tích là bao nhiêu
cho ảnh. Tuy nhiên, theo nhận xét thì phải thực hiện ít nhất 5
bước phân tích 5 thì mới tốt.
Lựa chọn Watermark được gắn vào các hệ số có ý nghĩa trong các
hệ số băng tần con trung cao. Nghiên cứu để tìm ra các vị trí này dựa
trên các nguyên lý thiết kế của mã hóa wavelet đa ngưỡng
61
(multi-threshold wavelet coder – MTWC), cụ thể là lượng tử
hóa băng tần con lần lượt (succesive subband quantization –
SSQ) và mã hóa ở mức bit.
Thuật toán chọn các hệ số có cường độ lớn hơn ngưỡng
băng tần con hiện tại, Ts,i. Sau khi watermarking một băng tần
con, thì ngưỡng băng tần con đó sẽ giảm một nửa. Giá trị
ngưỡng ban đầu của băng tần con được xác định theo công
f
|
s
T β= s
0,
s
|max 2
thức:
với βs là trọng số điều chỉnh cho các băng tần con.
Thuật toán dưới đây sẽ bắt đầu với băng tần con có tần số
cao nhất (với ngưỡng ban đầu Ts,0 cao nhất) và lặp cho tới khi
đủ số các hệ số được chọn. Một hệ số được chọn chỉ nhúng
một lần; tuy nhiên, một băng tần con có thể được duyệt nhiều
lần. Chỉ quan tâm tới các băng tần chi tiết (băng tần có tần số
cao hay trung) chứ không quan tâm tới băng tần xấp xỉ (băng
tần có tần số thấp).
Thuật toán chọn các hệ số:
for mỗi băng tần con s
{
tính ngưỡng ban đầu Ts,0
đặt tất cả các hệ số của băng tần vào trạng thái chưa
được chọn
62
}
while còn ký số của watermark để lấy thì
{
chọn Smax là băng tần con có giá trị tối đa là Ts
for mỗi hệ số ci trong Smax
{
if ci là chưa chọn và |ci| > TSmax
{
chọn ci để nhúng ký số watermark này
đánh dấu đã chọn ci
{
{
cập nhật lại ngưỡng của Smax: TSmax = TSmax / 2
}
=
(' nmf ), s
( nmf ), s
α+ s
. wT . i s
Nhúng Sử dụng công thức nhúng:
63
Trích Sử dụng công thức đảo của công thức nhúng, xem mô tả
ở mục 3.2
Nhận xét Trong các bài báo mới đây, các số tác giả tập trung nhiều
hơn về các khía cạnh an toàn và đề nghị sử dụng một mô hình
nhảy theo hệ số phụ thuộc khóa để thu được một biến đổi có
cấu trúc phụ thuộc khóa và không có khả năng đảo ngược (hay
che dấu tốt) vị trí nhúng.
Bằng cách đánh trọng số cho các hệ số wavelet theo mức
cảm nhận qua việc chọn các ngưỡng Ts, việc tạo ra ảnh biến
dạng có thể được ràng buộc theo một hệ số mất mát hợp lý.
Đối với ảnh hoạt họa và ảnh bản đồ có thể bổ sung thêm
phép nhúng trên ảnh bitmap bằng cách lấy băng tần con được
chọn được chia thành vài khối bằng nhau. Mỗi khối chứa 1 bit
thông tin watermark.
Trong tài liệu [13], Su mở rộng mô hình này cho các ứng
dụng watermark ROI và gắn nhãn ảnh. Một bản đồ ROI nhị
phân được xây dựng cho mỗi mức phân giải để chọn vùng cần
nhúng watermark. Cuối cùng, mặt nạ ROI theo miền không
gian phải được thay đổi tỷ lệ để vừa khít với các băng tần con
đa phân giải của biến đổi wavelet. Các giá trị trội của mỗi khối
ROI 2 x 2 được ánh xạ thành hệ số trong bản đồ thô kế tiếp,
quá trình này được lặp đi lặp lại.
Bảng - 4: Thuật toán Wang
64
4.3.1.2 Thuật toán Xia
Tác giả Thuật toán này do Xiang-Gen Xia, Charles G.
Boncelet và Gonzalo R. Arce thuộc khoa công nghệ máy
tính và điện tử, đại học Delaware, Newark, USA, DE, đề
xuất trong tài liệu [14]
Watermark Là một chuỗi Gauss gồm các số thực giả ngẫu nhiên.
Phân tích Sử dụng phân tích cấp 2 và bộ lọc wavelet Haar.
Phân tích DWT theo hình chóp của một ảnh:
Lựa chọn hệ Watermark được nhúng trong các hệ số lớn của băng
số tần cao và trung (gọi chung là băng tần con chi tiết). Băng
tần LL bỏ qua và không mang bất kì một thông tin
watermark nào.
Nhúng
Sử dụng công thức nhúng cộng f’(m,n) = f(m,n) + α . f(m,n)beta wi
Trong đó α là cường độ nhúng và beta là sự khuếch
đại của các hệ số lớn.
65
Trích Sử dụng công thức đảo tương tự như phần 3.2
Nhận xét Thuật toán phát huy được những thuận lợi của hình
thức trình bày theo dạng đa phân giải. Phương pháp phân
rã phân cấp giúp cho qui trình phát hiện watermark tiêt
kiệm được những tính toán không cần thiết khi chữ kí được
phát hiện ngay từ bước phân rã trước đó.
Do các hệ số lớn trong các băng tần con chi tiết thông
thường chỉ các đường biên trong ảnh nên thuật toán này
lưu hầu hết năng lượng watermark trong các vùng có chứa
biên và ảnh thô. Mắt người ít mẫn cảm với các thành phần
tín hiệu có tần số thấp vốn hay nằm trong băng tần con LL
của phép biến đổi.
Các tác giả cũng cho rằng DWT có nhiều thuận lợi
hơn so với DCT trong các tấn công thay đổi lai theo tỉ lệ.
Các hệ số DCT của ảnh được thay đổi lại theo tỉ lệ được
dịch theo hai chiều từ so với các vị trí của ảnh gốc. Nhờ
tính cục bộ hóa của DWT, không chỉ trong miền thời gian
mà cả trong miền tần số, hệ số không bị ảnh hưởng nhiều
như trong trường hợp DCT. Đặc biệt, phương pháp có độ
an toán cao với các biến dạng ảnh thông thường như nén,
nhiễu cộng với phương sai nhiễu lớn, giảm độ phân giải.
Bảng - 5: Thuật toán Xia
4.3.1.3 Thuật toán Zhu
66
Tác giả Thuật toán này cùng được phát triển bởi Wnwu Zhu
thuộc Phòng thí nghiệm Bell, Lucent Techologies, Homdel,
NJ, USA và Zixiang Xiong và Ya-Qin Zhang thuộc khoa
công nghệ điện tử, đại học Hawaii, Honolulu, HI, USA,
xuất bản trong tài liệu tài liệu [15]
Watermark Là một chuỗi Gauss gồm các số thực giả ngẫu nhiên.
Chiều dài của chuỗi watermark bằng số lượng các hệ số
băng tần con chi tiết.
Phân tích Sử dụng phân tích wavelet cấp 4.
Phân tích wavelet cho ra một cách trình bày đa phân
giải của ảnh. Một watermark được nhúng vào các băng
thông cao (các vùng bóng) của mỗi độ phân giải, và
watermark ẩn từ độ phân giải thấp đến độ phân giải cao.
Lựa chọn hệ Tất cả các hệ số bằng thông cao được chọn để nhúng
số không cần đến băng tần LL.
67
Nhúng Sử dụng công thức nhúng cộng được mô tả trong phần
3.2. Chuỗi watermark ở các mức phân giải khác nhau được
ẩn,
…⊂ W3 ⊂ W2 ⊂ W1,
trong đó Wj là chuỗi watermark wi ở mức phân giải j.
2
N
3=
j
j
M 2 2
Chiều dài của Wj được cho bởi công thức:
Trích Sử dụng công thức nhúng đảo tương tự như phần 3.2.
Việc dò sự có mặt hay vắng mặt của watermark nhờ vào hệ
số tương quan đỉnh cho tất cả các mức phân giải.
Nhận xét Do có trúc đơn giản, thuật toán có thể dễ dàng được
tích hợp vào ứng dụng watermarking trên video dựa trên
một biến đổi wavelet 3 chiều.
Các tác giả cũng khẳng định rằng, khi được trích ra từ
một biến dạng ảnh qua phép nén hay halftoning, watermark
tương ứng có thể vẫn còn được nhận ra chính xác ở mỗi độ
phân giải (ngoại trừ độ phân giải thấp nhất) trong miền
wavelet. Thuật toán dựa trên nhờ nền tảng watermarking đa
phân nên tiết kiệm đáng kể chi phí tính toán, đặc biệt là
trong trường hợp video.
Bảng - 6: Thuật toán của Zhu
68
4.3.2 Ví dụ về thuật toán blind
4.3.2.1 Thuật toán Wang
Dựa trên mô hình của Wang ở trên, một vài thuật toán đã đề xuất các dò
blind. Do ảnh gốc không có sẵn trong suốt quá trình dò watermark, nên các hệ số
gốc phải được làm mẫu và ước lượng. Do đó, các thuật toán nhúng và trích dạng
blind dựa trên việc lược bỏ (lượng tử hóa) các hệ số được chọn thành các giá trị
hoàn toàn xác định.
Đặt fs(m,n) là một hệ số được lựa chọn trong băng tần con s, có thể chọn hệ
nmf
,
)
sign
(|
,
|)
=
. ∆
(' s
p
( nmf s
α+ s
. . wT s
i
số này thỏa Ts < |fs(m,n)| < 2.Ts . Sau đó, hệ số này được sửa đổi theo công thức:
trong đó, sign là giá trị gán của hệ số fs(m,n) và phép lượng tử hóa ∆p được
(|
,
|))
1(
.
)
T
∆
=
p
( nmf s
p .2 α+ s
s
định nghĩa là:
với giá trị nguyên p được chọn sao cho khoảng cách |∆p(|fs(m,n)|) - |fs(m,n)||
giữa hệ số được lượng tử hóa và hệ số gốc là nhỏ nhất.
Trong công thức trích watermark dạng blind của Wang, số hạng đại diện
(|
|)),
. sign p∆
* nmf ( s
cho hệ số ảnh gốc được thay bằng con số xấp xỉ:
(|
|)),
−
. sign ∆
* ( nmf ), s
p
* ( nmf s
=
* w i
α s
. T s
69
do đó, ta có thể lấy watermark như sau:
Phân tích các phép dò blind cho thấy hiệu suất dò yếu hơn bốn lần so với
phương pháp non-blind với cùng một giá trị α, và trong sự biến dạng ảnh cũng
tương tự như vậy.
Các tác giả cũng thảo luận đến tính chất kém an toàn của mô hình blind
này. Bởi vì thuật toán chọn hệ số phục thuộc chặt chẽ vào trật tự của các băng
tần con có ý nghĩa (có tần số cao, trung), trật tự này được xác định bởi cường độ
tối đa của chúng, mô hình dò watermark có thể dễ dàng bị lạc hướng khi tính
toán giá trị hệ số tối đa của băng tần con. Các tác giả chỉ ra rằng giá trị tối đa của
hệ số trong băng tần con có thể bị thay đổi chỉ vì một biến dạng rất nhỏ được
them vào ảnh.
4.3.2.2 Thuật toán Lo
Tác giả Thuật toán này được phát triển bởi Hang-Yang Lo,
Sanjeev Topiwala và Joy Wang tại Khoa Kho Học Máy
Tính, Đại Học Cornell, USA, [16]
Watermark Là một ảnh .pgm (portable graymap – ảnh xám) có
kích thước tối đa bằng 1/8 ảnh cần nhúng watermark. Các
tác giả đề nghị nên dùng các ảnh vuông có kích thước là
một số mũ 2, ví dụ: 16 x 16, 32 x 32, 64 x 64, 128 x 128
Phân tích Các ảnh chủ và ảnh watermark được phân tích cùng
cấp theo wavelet Haar, với cấp phân tích tối đa (cho tới khi
còn các băng tần con chỉ còn một hệ số) dựa trên tính toán
kích thước ảnh watermark.
70
Lựa chọn hệ Sau mỗi cấp phân tích, tất cả các hệ số của băng tần
số con có tần số thấp (nằm ở góc phần tư trái trên) đều được
chọn để nhúng.
Nhúng Việc nhúng được thực hiện gần giống như các kiểu
nhúng trên miền không gian trước đây, thông tin
watermark chọn để ẩn vào các hệ số có tần số thấp. Mô
hình nhúng này sử dụng watermark theo kiểu đa phân giải.
Sau mỗi bước phân tích, các hệ số trong băng tần con xấp
xỉ (ở góc trái trên) của watermark được lấy ra, mã hóa
thành dạng bit, và lần lượt được nhúng vào các hệ số trong
vùng tương ứng của ảnh chủ trong có cùng bước phân tích.
Các tác giả cũng đề nghị việc nhúng lặp trong trường hợp
vẫn còn dư thừa các hệ số được chọn của ảnh chủ nhằm
tăng cường độ nhúng. Đồng thời, phép lượng tử hóa để
lược (làm tròn) các hệ số nhúng cũng được sử dụng để đảm
bảo các giá trị của các hệ số là nguyên và thuộc khoảng 0-
255.
Trích Theo mô hình này, quá trình trích được tiến hành
bằng cách phân tích ảnh có dấu watermark theo cùng cấp
lúc nhúng. Ở mỗi cấp các hệ số trong vùng xấp xỉ được lấy
ra và giải mã các bit để rút ra lại các bit thông tin của
watermark.
Nhận xét Các tác giả đã kết hợp ý tưởng wavelet với kỹ thuật
nhúng theo miền không gian, nhờ vậy kỹ thuật
watermarking này an toàn hơn đối với các phép nén và các
71
tấn công watermark. Mô hình này là một mô hình blind rất
tốt, phù hợp cho những ứng dụng truyền tải dữ liệu từng
phần và có lưu trữ kết quả tính toán xử lý như các ứng
dụng trong video, hoặc các ứng dụng trong các hệ thống
thời gian thự. Watermark có thể được nhận diện ngay từ rất
sớm trong phần dữ liệu được truyền.
Tuy nhiên nếu thực hiện các tấn công trên miền
nhúng (vùng băng tần con xấp xỉ) ở các bước phân tích thì
72
watermark bị tác động rất mạnh.
Chương 5. WATERMARKING TRÊN ẢNH MÀU
5.1 Tổng quan về các thuật toán nhúng watermark trên
ảnh màu Hầu hết các nghiên cứu trên lĩnh vực watermarking tập trung thảo luận cách
thực hiện trên ảnh xám, phần mở rộng các thuật toán đó trên ảnh màu thường
được bỏ ngỏ và gợi ý thực hiện trên một số kênh đặc biệt nào đó. Một cách phổ
biến nhất là nhúng watermark vào kênh độ chói của ảnh như trong [17, 18].
Cho trước một ảnh màu theo hệ màu RGB, các kênh màu theo hệ màu YUV
có thể thu được bằng công thức:
(5-1) Y = cRR + cGG + cBB
(5-2) U = B - Y = -cRR - cGG + (1 - cB)B
(5-3) V = R - Y = (1 - cR)R - cGG - cBB
trong đó các giá trị hệ số cR, cG, cB phụ thuộc vào không gian màu được
chọn để hiển thị các màu, thông dụng nhất là bộ hệ số cR = 0.299, cG=0.587, cB
= 0.114. Sau đó thành phần độ chói Y được nhúng watermark. Ảnh Y được xem
như là ảnh xám, và một thuật toán watermarking cổ điển có thể được dùng để thu
được ảnh độ chói được nhúng Yx. Cuối cùng, các ảnh Rx, Gx, Bx, được tính toán
bằng biến đổi ngược:
(5-4) Rx = Yx + V
(5-5) Bx = Yx + U
73
(5-6) Gx = (Yx - cR(Yx + V) - cB(Yx + U))/cG
Một trong các tiếp cận nâng cao là thuật toán của Fleet và Heeger [19], các
tác giả đã đề xuất nhúng watermark vào kênh vàng-xanh của cách hiển thị ảnh
màu dưới dạng hệ màu đối lập. Ảnh được nhúng các tín hiệu dạng sin điều biến
khuếch đại. Giá trị tổng các tín hiệu dạng sin, S(x,y), được thêm vào kênh vàng-
xanh trong cách hiển thị ảnh màu dưới dạng hệ màu đối lập. Tính hiệu S(x,y)
được nhúng đệ qui: ở mỗi vòng lặp, thuật toán tính sự khác nhau về màu giữa
ảnh được nhúng và ảnh không được nhúng, sau đó, tín hiệu khuếch đại được làm
yếu đi ở những chỗ có sự khác nhau quá cao, kết quả thu được một watermark.
Để ước lượng tốt hơn tính khả kiến của watermark, việc tính toán sự khác nhau
về màu được thực hiện trong không gian S-CIELB, không gian này giúp thực
hiện tốt hơn mô hình hóa sự cảm nhận thay đổi màu như phán đoán của một
người quan sát chuẩn.Ở bước dò, bộ giải mã có thể trích tín hiệu sin được nhúng,
bởi chúng được nhúng trong miền tần số trong đó hầu hết ảnh có ít năng lượng
trong băng tần vàng - xanh da trời.
Kutter trong [20] trình bày cách nhúng watermark bằng cách sửa đổi một
tập các giá trị điểm ảnh có chọn lọc trong kênh xanh da trời dựa trên điều biến
khuếch đại. Tuy nhiên, hệ số tương quan giữa các kênh màu bị bỏ qua trong
pha nhúng và trích watermark
Nhược điểm này đã được A. Piva [21] khắc phục: Bằng cách khảo sát các
đặc tính của hệ thống cảm quan của người (HVS) và sự tương quan của các kênh
ảnh RGB, hệ thống của ông đã nhúng watemark tốt hơn vào ảnh và kết quả trích
74
ra cũng rất đáng tin cậy.
Phương pháp nhúng riêng biệt trên mỗi tần màu được đề nghị trong [22,23].
Trong [22], tác giả đề nghị một thuật toán dựa trên dò lý thuyết thống kế trong
đó watermark là một mẫu S nhị phân với kích thước bằng với kích thước ảnh, và
trong mẫu đó số lượng số 0 bằng với số lượng số 1. Mức cường độ của tập A các
điểm ảnh ứng với các số 1 được chỉnh sửa bằng cách thêm vào nó một khoảng k,
trong khi các điểm ảnh B ứng với các số 0 thì được giữ nguyên. Quá trình dò so
sánh giá trị điểm ảnh trung bình trong A với B: nếu sự khác nhau của các giá trị
nàu lớn hơn một ngưỡng tùy trường hợp, bộ dò sẽ quyết định có watermark hay
không.
N. Nikolaidis và I. Pitas đã đề xuất trong [23] một kỹ thuật mở rộng kỹ
thuật trên được mở rộng cho ảnh màu bằng cách phát sinh các mẫu SR, SG, SB
mỗi kênh một dãy, và bằng các áp dụng thuật toán cho mỗi kênh. Trong quá
trình dò, kiểm tra thống kê được sử dụng trong ảnh xám cũng được thực hiện
bằng cách xem xét hội của các tập hợp AR, AG, AB và BR, BG, BB ( ứng với các
tập A và B lần lượt trên các ảnh R, G, B) sao cho số lượng mẫu gấp ba lần số
lượng mẫu trong trường hợp ảnh xám.
5.2 Các thuật toán ví dụ
5.2.1 Thuật toán nhúng watermark trên kênh xanh da trời (blue)
Năm 1997, trong [20] M. Kutter và các cộng sự đề xuất việc sử dụng kênh
xanh da trời để nhúng một watermark phổ rộng (spread spectrum) vào ảnh.
Tác giả Martin Kutter - Frederic Jordan - Frank Bossen – Phòng thí nghiệm
xử lý tín hiệu số, EPFL
75
Loại Blind
Watermark Là một chuỗi m bit
Nhúng Các bit watermark được nhúng bằng cách sửa đổi một tập các giá trị
điểm ảnh chọn lọc trong kênh xanh da trời, do mắt người ít mẫn cảm
với những thay đổi trong băng tần này; để đảm bảo tính an toàn, mỗi
bit được nhúng nhiều lần ở các vị trí ảnh khác nhau. Sự chỉnh sửa
các giá trị điểm ảnh gốc Bij phụ thuộc vào giá trị của bit và cân xứng
với độ chói điểm ảnh Lij: Cho một bit s cần nhúng, B*ij = Bij + (2s -
1) Li,jq trong đó B*ij là giá trị được sửa và q là một tham số xác
định cường độ nhúng.
Trật tự quét ảnh
Các vị trí nhúng được xác định như sau: Với mỗi điểm ảnh, một số x
giả ngẫu nhiên được phát sinh. Nếu x nhỏ hơn q thì thông tin được
nhúng vào điểm ảnh. Ngược lại điểm ảnh không bị thay đổi. Trong
qui trình này, trật tự quét ảnh được sửa đổi làm cho ảnh không phụ
thuộc kích thước. Thay vì quét ảnh theo dòng, cột, thuật toán quét
ảnh theo một đường zig-zag
76
Trích Để trích được bit nhúng mà không cần sử dụng ảnh gốc, thuật toán
sử dụng một dự báo về giá trị gốc của các điểm ảnh được sửa (dự
báo dựa trên liên kết tuyến tính của các giá trị điểm ảnh trong lân cận
hình chữ thập của điểm ảnh). Thuật toán tính toán sự khác nhau giữa
các giá trị điểm ảnh dự báo và giá trị thực và so sánh nó với ngưỡng
thích hợp để quyết định bit được nhúng.
Nhận xét Sở dĩ kênh xanh da trời được chọn vì hệ cảm quan của người (HVS)
ít mẫn cảm với các màu xanh da trời do các hình nón xanh da trời (S-
cone) ít được phân phối dày đặc hơn so với các hình nón xanh lá cây
và đỏ trong phần hố của võng mạc người. Tác giả đã thực hiện nhiều
kiểm nghiệm và phát hiện ra rằng năng lượng watermark trên kênh
xanh da trời lớn gấp 50 lần năng lượng watermark trên kênh độ chói,
tất nhiên cả hai cùng được thử nghiệm trên cùng một tác nhân
(artifact). Điều này nói lên rằng watermark kênh xanh da trời có độ
an toàn cao hơn với các phép tấn công chẳng hạn như lọc (trung
bình, trung tuyến,…) và nhiễu cộng. Hơn nữa tác giả đã khẳng định
dưới phép nén có mất thông tin JPEG, cả hai hướng tiếp cận đều xấp
xỉ nhau. Tuy nhiên vấn đề nảy sinh đối với watermark trên kênh
xanh da trời là nó khó kiểm soát hay tiên đoán các tác nhân. Nghĩa là
tính khả kiến của watermark trên kênh độ chói đồng nhất hơn và ít
phụ thuộc vào ảnh màu. Do đó, thiết kế watermark trên kênh xanh da
trời (hay một kênh nào bất kì) thì tinh xảo hơn và đòi hỏi những mô
hình HVS phức tạp để làm watermark thích ứng tối ưu với độ tương
77
phản, cường độ và màu sắc.
Hình HHHHH5 : Ảnh gốc và ảnh được nhúng
5.2.2 Thuật toán nhúng watermark trên nhiều kênh Tác giả
Alessandro Piva thuộc Khoa Công Nghệ Điện Tử Đại Học Fizenze,
Italy
Watermark Chuỗi các giá trị giả ngẫu nhiên
Phân tích Ảnh được phân tích thành các băng R, G, B tương ứng với các kênh
màu. Sử dụng biến đổi FF-DCT cho mỗi băng R, G, B.
Lựa chọn Các hệ số được sắp lại theo đường zig-zag cho mỗi kênh, và được
hệ số chọn từ vị trí (k+1) tới vị trí (k+n). Số vị trí tương ứng với số giá trị
watermark.
Nhúng Ứng với 3 băng R, G, B có 3 vector chứa các hệ số DCT là Vr, Vg,
Vb. Các vector này sau đó được nhúng vector watermark X = {x1,
v
v
|
v
|
x
=
+
α r
rx
i
r ik +
r ik +
ik +
v
v
|
v
x2, …, xn} theo các qui luật sau:
|
=
+
g
α g
g
gx
i
ik +
ik +
ik +
v
v
|
v
|
x
=
+
α r
bx
i
b ik +
b ik +
ik +
78
x
trong đó i=1..n, và αr, αg, αb xác định cường độ năng lượng nhúng
trong mỗi kênh.
Mô hình watermarking trên ảnh màu của Piva
Theo tính toán của tác giả, thì giữa các hệ số cường độ nhúng phải
a
a
a
a
=
+
+
bgr , ,
b 89.1
g =
g
48.10
=
r aa r aa b
g
thỏa ràng buộc:
Ví dụ, nếu lấy αr,g,b = 0.3 thì αr = 0.042, αg = 0.022, αb = 0.231
Trích Quá trình trích được tiến hành theo qui trình ngược lại. Đầu tiên ảnh
được phân tích thành các băng R’, G’ , B’ sau đó đem áp dụng FF-
DCT lên mỗi băng. Các hệ số của các băng này được sắp lại theo
đường zig-zag, sau đó chọn các hệ số từ (k+1) đến (k+n) để phát ra
79
các vector Vr', Vg', Vb' và tiến hành tính toán theo công thức ngược
lại khi nhúng để lấy lại các thông tin của watermark.
Nhận xét Mô hình này là một mô hình tốt cho kỹ thuật watermarking dựa trên
DCT. Nó khắc phục được nhược điểm của việc nhúng trên miền
DCT là thường gây hại cho HVS, watermark có thể vô hình nếu
chọn được các hệ số α thích hợp.
Tác giả cũng đề nghị cách tính tổng hệ số tương quan giữa các băng
và so sánh tổng này với ngưỡng toàn cục T để khẳng định có
watermark hay không thay vì tính tương quan riêng cho từng băng.
Ảnh Boat gốc và ảnh sau khi được nhúng watermark với α = 0.2, k
= nhúng = 16000, và mặt nạ được xây dựng bằng cách tính phương
80
sai cục bộ một cửa sổ 9x9
Chương 6. WATERMARK CÓ ĐỘ AN TOÀN
CAO VÀ TẤN CÔNG WATERMARK
Trong khi có những nghiên cứu về làm sao có thể tạo ra các watermark có
độ an toàn cao thì cũng có những nghiên cứu tập trung về cách tấn công các mô
hình watermarking. Tấn công watemark lại là một phần không thể bỏ quên khi
sáng tạo ra một mô hình watermarking mới vì nó góp phần phân tích các điểm sơ
hở, chưa thỏa đáng của một thuật toán để đề xuất một cách tiếp cận cao hơn.
6.1 Các phương pháp tiếp cận nhằm tạo Watermark có độ
an toàn cao Trong hầu hết các ứng dụng watermarking, một yêu cầu luôn được đặt lên
hàng đầu đó là làm sao thiết kế một watermark có thể dò ra được ngay cả trong
trường hợp tài liệu được nhúng đã bị sửa đổi xử lý. Một watermark có độ an toàn
cao là watermark có khả năng sóng sót khi nội dung tài liệu bị chỉnh sửa trong
một chừng mực được phép. Người thiết kế phải lường trước các tấn công có thể
xảy ra và giới hạn lại yêu cầu watermark của mình chỉ quan tâm một số xử l í cụ
thể nào đó. Các tiến trình xảy ra giữa khâu nhúng và dò cần được xác định rõ,
chẳng hạn, chúng có thể bao gồm: nén có mất thông tin, chuyển tín hiệu từ tuần
tự sang số và ngược lại, thâu âm thanh, in và quét, giảm nhiễu, chuyển đổi định
dạng.
6.1.1 Nhúng thừa, nhúng lặp
Phương pháp này giúp watermark không bị mất khi ảnh được nhúng bị xử
lý bằng các phép như xén ảnh, lọc, cộng nhiễu. Thông thường, ảnh không phải bị
81
chỉnh sửa tất cả các hệ số hiển thị mà chỉ một phần nào đó. Chẳng hạn, khi một
bộ lọc băng thông được áp dụng vào ảnh, miền không gian của ảnh bị lấy mẫu lại
toàn bộ trong khi miền Fourier chỉ tác động bị tác động vào các băng thông xác
định. Như vậy, có thể nhúng watermark qua nhiều hệ số để cho khi hệ số này bị
hỏng thì vẫn còn những hệ số khác giúp dò ra được.
Một cách khác là kiểm tra watermark trong từng khối của ảnh, nếu tỉ lệ khối
dò được watermark đạt một ngưỡng cố định nào đó, có thể kết luận toàn khối
ảnh có chứa watermark.
Ý tưởng của nhúng lặp, nhúng thừa được phát triển ở một hình thức cấp cao
hơn là nhúng một thông điệp nhiều lần, sử dụng các bộ mã hóa watemark khác
nhau, trong đó mỗi bộ nhúng được thiết kế mạnh mẽ với từng biến dạng. Thông
thường, khả năng ảnh bị thực hiện tất cả các biến đổi là không thể xảy ra và như
vậy sẽ có tối thiểu một watermark sống sót. Tác giả C.S. Lu, H.Y.M. Liao đã gọi
một hệ thống watermarking như vậy với một thuật ngữ rất vui mà chính xác là
“Cocktail watermarking”.
6.1.2 Mã hóa tán phổ
Trong hệ thống truyền thông tán phổ, các thông điệp được mã hóa là một
dãy ký tự. Các ký tự được truyền trong miền thời gian, từng ký tự xem như một
tín hiệu (chip). Các chip là các chuỗi giả ngẫu nhiên 0 và 1. Trong miền tần số,
chúng được truyền trãi rộng trên một khoảng tần số. Nếu có một tiến trình làm
hỏng tín hiệu thì cũng chỉ ảnh hưởng chỉ trên một tần số và như vậy các chíp vẫn
sóng sót vẫn còn nhận được và dùng được.
Truyền thông tán phổ có hai tính chất quan trọng có thể áp dụng vào
watermarking đó là năng lượng được chèn vào bất kì một tần số nào cũng khá
82
nhỏ. Điều này giúp giữ được tính trực quan của anh. Thứ hai, nhờ watermark
phân tán rải rác trên nhiều tần số nên nó có độ an toàn cao với các biến dạng tín
hiệu thông thường.
6.1.3 Nhúng trong các hệ số quan trọng cảm nhận được
Không phải tất cả các hệ số trong cách trình bày của một ảnh đều có ích.
Chẳng hạn, đối với phép tịnh tiến, trong khi thành phần biên độ của phổ Fourier
là không bị ảnh hưởng [ 1] thì miền tần số cao của biến đổi Fourier này lại bị
thay đổi khá nhiều. Trong các pháp xử lý ảnh khác, điều này càng rõ ràng hơn:
nén có mất lượng hóa các tần số cao thành không, phép halftoning cộng các
nhiễu cao tần, quét ảnh áp dụng bộ lọc băng thông thấp trước khi lấy mẫu. Nếu
sử dụng các hệ số không đáng tin cậy đó trong quá trình dò, hệ thống sẽ không
bảo đảm được tính tin cậy. Vậy làm sao quyết định hệ số nào là tin cậy hay
không. Trong [ 11], tác giả đề xuất các hệ số tin cậy là các hệ số quan trọng theo
cảm quan, đó là các hệ số không bao giờ thay đổi trừ khi ảnh bị biến dạng nhận
thấy được.Nói cách khác, watermark không nhất thiết phải sống sót qua các xử
lý làm hỏng chất lượng trực quan vì thông tin tác quyền cho một ảnh chất lượng
xấu, một đoạn âm thanh tồi thì không cần thiết.
Một hướng tiếp cận này là phân tán watermark trong nhiều hệ số quan trọng
cảm quan trong miền tần số [ 4]. Do mã hóa tán phổ cho phép sử dụng năng
lượng nhỏ trong mỗi tần số nên thay đổi trong mỗi hệ số thì nhỏ vừa đủ để không
thể mất chất lượng cảm quan.
6.1.4 Nhúng trong các hệ số được cho là mạnh mẽ
Trong một số ứng dụng, chúng ta không nhất thiết đòi hỏi ảnh phải sóng sót
qua tất cả các xử lý (cách tiếp cận 3) mà chỉ cần mạnh mẽ, an toàn cao với chỉ
83
một số xử lý cụ thể. Cách thông thường là thực hiện các thử nghiệm biến dạng
vào ảnh và đo lường tính mạnh mẽ của nó trong một miền nào đó, từ đó chọn ra
các hệ số được xem là manh mẽ.
6.1.5 Đảo nhiễu trong bộ dò
Trong hướng tiếp cận này, trước khi bộ dò trích watermark từ ảnh mang, nó
tìm và phát hiện các xử lý đã thực hiện trên ảnh, đảo lại các xử lý đó nếu có thể.
Sau cùng mới thực hiện việc trích. Bước khó thực hiện nhất là xác định nhiễu
nào đã xảy ra để thực hiện phép biến đổi ngược. Trong trường hợp tệ nhật thì
một thuật toán tìm vét cạn được chọn. Một số thuật toán sử dụng ảnh gốc trong
quá trình dò để tham khảo và phân tích so sánh với ảnh gốc để phát hiện thay
đổi.
6.2 Một kiểu tấn công
6.2.1 Đặt vấn đề
A là người tạo ra ảnh gốc I.
A đã thêm hai chữ ký SA và Sn và ảnh I để tạo ra ảnh đã được nhúng. Chữ
ký SA xác định người sở hữu (là A).
SA được thêm vào tất cả các bản sao của ảnh
Sn có thể là chữ ký giúp xác định số sơ ri của bản sao. Như vậy mỗi bản sao
có một Sn khác nhau. Thường thì chữ ký được nhúng vào một số miền (như
DCT, DFT, Hadamerd, Wavelet).
Gọi It là các hệ số biến đổi của I. Ảnh được nhúng Î được tính bằng công
thức
Ît = It + SA + Sn Î = ℑ-1 ( Ît)
84
Trong đó ℑ là biến đổi được dùng.
Chuỗi sự kiện xảy ra như sau:
- A bán một bản sao Î cho B.
- B phân phối lại bất hợp pháp các bản sao của Î. B có thể đã sửa bản sao đó
trong một chừng mực nào đó. Ta gọi các bản sao đó là Ĩ1…Ĩk
- A tình cờ gặp bản sao ảnh bất hợp pháp (gọi là Ĩl). A trích được chữ ký Sn
từ bản sao đó và thấy rằng số sơ ri này đã bán cho B.
- A kiện B và A phải chứng minh trước tòa rằng
+ Ảnh nghi vấn Ĩl kia thuộc quyền sở hữu của A.
+ B đã phân phối lại bản sao bất hợp pháp mà các bản sao bất hợp pháp đó
bắt nguồn từ ảnh Î mà B đã mua từ A.
Bây giờ chúng ta xem B vô hiệu hóa các tố cáo của A như thế nào và A
phải làm gì để tố cáo của A thuyết phục trước tòa.
6.2.2 Các cách giải quyết bài toán tác quyền khác nhau của các hệ
thống watermarking khác nhau .
6.2.2.1 Mô hình 1
- A chọn một chữ ký tùy . Nhưng chữ ký được đăng ký với một tổ chức có
thẩm quyền thích hợp (tạm gọi tổ chức X) và được chấp nhận.
- Chữ ký được dò bằng các cách sau:
+ Tính toán các hệ số biến đổi của ảnh gốc của A và ảnh nghi vấn.
It = ℑ(I)
Ĩl t = ℑ(Ĩl)
+ Độ sai khác Ĩlt – It được chuẩn hóa và được tính tương quan với chuỗi SA.
Nếu kết quả tương quan lớn hơn một ngưỡng, từ đó có thể khẳng định có chữ ký
85
(Nếu ℑ tuyến tính, Ĩlt – It = ℑ (Ĩl – I))
* Khi A trích chữ ký SA từ Ĩl, B không nao núng mà đưa ra tranh luận sau:
+ Î là ảnh gốc, B không thích watermarking lên ảnh gốc của mình.
+ A đã trộm một bản sao của Î.
+ A đăng ký chữ ký SA. Sau đó A đã trừ SA khỏi ảnh trộm được Î để tạo ảnh
gốc I của A.
Tuy nhiên, B không thể chứng minh được mình là người sở hữu nhưng đã
đưa ra một nghi ngờ hợp lý và không bị kết án. Lúc này, ai là chủ sở hữu vẫn còn
đang nghi vấn thì tòa cũng không quan tâm đến chữ ký sơ ri (Sn)
6.2.2.2 Mô hình 2
Do mô hình trước có dùng ảnh gốc cho việc trích và bài toán bản quyền
không có lời giải, A nghĩ rằng mô hình đó không hợp l và sửa nó lại như sau:
- A đăng ký chữ ký như mô hình 1.
- Chữ ký được trích như sau:
+ Tính các hệ số biến đổi Ĩl.
+ Tính tương quan giữa chuỗi SA và Ĩlt (chữ ký dò được không cần tham
khảo ảnh gốc).
* Lúc này, vẫn chưa đủ kết tội B vì B biện hộ như sau:
- Î là ảnh gốc.
- A trộm Î. Sau đó A tính toán một chữ ký có độ tương quan cao với Ît, và
chọn nó để đăng ký (SA).
- Do một số phiên bản sửa đổi của Î vẩn rất tương tự với Î nên SA vẫn thu
86
được một độ tương quan cao với tất cả các ảnh dẫn xuất từ Î.
- Nếu A chứng minh rằng giữa SA và I có mối tương quan kém, B vẫn qui
cho A tội trích SA từ Ît để thu được It (và sau đó là I). Như vậy một lần nữa, B đã
thành công trong việc phản biện.
6.2.2.3 Mô hình 3
A nhận ra rằng tất cả rắc rối xảy ra là do chữ ký của A không có một ràng
buột, vì vậy, tổ chức X đã thêm các giới hạn sau:
+ Cần dùng một hàm băm H cố định. Hàm H thao tác trên ảnh gốc I để sinh
ra một hat giống. Một bộ phát sinh chuỗi ngẫu nhiên (cũng cố định) sử dụng hạt
giống này để phát sinh dãy chữ ký (thường gọi là dãy ngẫu nhiên Gauss). Chiều
dài dãy ngẫu nhiên này không bị giới hạn.
+ Quá trình nhúng cần dùng phép phân tích nào cũng được Tuy nhiên
nguyên tắc “không cho phép sắp xếp tùy ý các hệ số” ”là một yêu cầu nghiêm
ngặt cần phải được thỏa nhằm tạo sự cố định của hàm băm và bộ phát sinh số.
Lúc này, A nhúng watermark của mình vào I để thu được Î. Để dò, A cần
lấy Ĩlt trừ đi It trước khi lấy It tính tương quan với SA. SA thu được từ hàm băm cố
định H như sau
SA = H (I)
Lúc này B không thể nói A đã trộm Î, tạo một chữ ký và trừ nó cho Î được
như trong mô hình 1, dễ thấy điều này là do:
SA = H( I ) ≠ H( Î )
Tuy nhiên, khả năng tấn công được mô hình này cũng có thể thực hiện
được, và B có thể thực hiện như sau:
+ Thay đổi Î đáng kể có chú ý đến lỗi bình phương trung bình và vẫn bảo
87
đảm tính tương tự về mặt trực quan giữa ảnh gốc I và ảnh được sửa đổi Îm.
+ Sử dụng một số phần mềm tấn công watermark tiêu chuẩn làm cho A
không thể dò ra chữ ký của mình với độ chính xác cao được.
Ramkumar trong bài báo [24] đã đề ra một phương pháp tấn công thực hiện
cho bước một, đồng thời tác giả cũng tính toán độ phức tạp cho cách tấn công
đó. Dựa vào kết quả chứng minh, tác giả giới thiệu một thuật toán cải thiện cho mô hình tấn công 3 để làm cho độ phức tạp tăng lên đến 10100 lần. Tác giả cũng
kết luận, các mô hình cộng và dò chữ ký tuyến tính không an toàn với tấn công
Stirmark. Đó là vì nó phụ thuộc vào giả định rằng nếu ảnh bị sửa nhiều đáng kể,
chất lượng của ảnh sẽ trở nên xấu đi. Tuy nhiên cách tấn công sửa đổi histogram
và làm cong ảnh không giảm chất lượng trực quan như cách mà Stirmark thực
88
hiện thì ảnh bị sửa nhiều đáng kể nhưng chất lượng ảnh không hề giảm.
Chương 7. HỆ THỐNG WATERMARKING
SERVICES SYSTEM - WSS
7.1 Giới thiệu
Trong thời đại ngày nay, cùng với sự bùng nổ của Internet, việc truyền
thông đa phương tiện cũng ngày càng phát triển. Nhu cầu về bảo mật thông tin,
bảo mật tác quyền cho các nội dung đa phương tiện ngày càng trở nên cấp bách.
Các kỹ thuật watermarking được nghiên cứu để chống lại việc sao chép bất hợp
pháp bằng cách nhúng vào trong dữ liệu số thông tin của tác giả nhằm cung cấp
bằng chứng trong việc khẳng định tác quyền của mình. Tuy nhiên hầu hết các
ứng dụng watermarking hiện nay vẫn còn đang trong quá trình phát triển và đa
số là những ứng dụng riêng rẽ chạy trên một môi trường cô lập. Trong khi đó,
người dùng đang rất cần một hệ thống chung, hoạt động bao quát và rộng khắp,
tích hợp được nhiều kỹ thuật watermarking, cho phép chọn lựa tùy theo nhu cầu
của họ.
Trong phần này, chúng em xin đề xuất một hệ thống cung cấp các dịch vụ
watermarking trên ảnh số cho người dùng thông qua Internet. Hệ thống này cung
cấp một qui trình, và các nghi thức để giúp tác giả quản lý các tác phẩm của
mình và hỗ trợ các khách hàng thẩm tra thông tin chứng thực của ảnh số trong hệ
thống. Hệ thống này tích hợp các lợi thế của Internet với các kỹ thuật
watermarking. Hệ thống bao gồm Server cung cấp các dịch vụ watermarking và
các ứng dụng client (trên nền Windows và web).
7.1.1 Ứng dụng WMServer
89
WMServer là trung tâm điều phối, cung cấp các dịch vụ watermarking của
hệ thống. Nó có chức năng nhận và thực hiện các yêu cầu về dịch vụ
watermarking, như nhúng, trích, thay đổi thông tin bổ sung của ảnh có
watermarking, v.v … WMServer cung cấp nghi thức giao tiếp cho cả
WMWebClient lẫn WMAppClient, đồng thời quá trình truyền nhận dữ liệu giữa
chúng cũng được mã hóa để đảm bảo an toàn.
Cũng như những hệ thống dịch vụ khác, người dùng tham gia vào hệ thống
WSS được cung cấp một bí danh và mật khẩu để đảm bảo quản lý những thông
tin người dùng. WMServer sẽ giám sát và quản lý thông tin về người dùng cũng
như các chữ ký (watermark) của họ.
Bộ nghi thức giao tiếp với WMServer cũng được mở rộng để cho những
ứng dụng (player) khác có thể giao tiếp và sử dụng các dịch vụ trên WSS.
7.1.2 Ứng dụng WMAppClient
Ứng dụng này đóng vai trò như một player, nó cho phép người dùng có
được những chức năng xử lý ảnh mạnh mẽ. Ảnh trong ứng dụng WMClient có
thể thực hiện watermarking tại chỗ hoặc gởi lên WMServer nhờ thực hiện
watermarking.
Để tăng cường khả năng an toàn của watermark, nhất là trong chức năng ẩn
watermark mang tính chất giống datahiding (ẩn dữ liệu có mang thông tin quan
trọng cần phải giữ bí mật), WMAppClient còn kết hợp sử dụng phương pháp mã
hóa AES (Advanced Encyrpiton Standard) vào kỹ thuật watermarking nhằm bảo
vệ an toàn thông tin cho các watermark. AES là chuẩn mã hóa vừa được Viện
Tiêu chuẩn và Công nghệ Hoa Kỳ (NIST) chính thức công bố vào ngày 02 tháng
10 năm 2000. Chuẩn AES, tên gọi trước đây là thuật toán Rijndael, do 2 tác giả
90
Vincent Rijmen và Joan Daeman đề nghị, là thuật toán mã hóa quy ước (mã hóa
khóa đối xứng) xử lý trên đơn vị khối dữ liệu có độ dài linh hoạt (128/192/256
bit) sử dụng mã khóa có độ dài thay đổi được (128/192/256 bit). Thuật toán này
chính thức được chính phủ Hoa Kỳ chọn làm chuẩn công nghiệp thay thế cho
chuẩn mã hóa DES (và phiên bản cải tiến 3DES) đã được sử dụng từ thập niên
1970. [ 2]
7.1.3 Ứng dụng WMWebClient
Đây là một hệ thống website cho phép người dùng có thể sử dụng các dịch
vụ của WMServer qua Internet.
WMWebServer cung cấp những chức năng đăng ký, đăng nhập sử dụng
dịch vụ. Đồng thời WMWebServer cũng cho phép yêu cầu các dịch vụ
watermarking của WSS từ bất cứ nơi đâu.
WMWebServer còn cung cấp các tài liệu về hệ thống WSS, và hỗ trợ người
sử dụng tìm kiếm, và thống kê thông tin về các tác giả, thông tin người dùng, …
có trong hệ thống.
7.2 Tiêu chuẩn của hệ thống watermarking
Một hệ thống dịch vụ watermarking tối thiểu phải thỏa mãn những tiêu
chuẩn sau đây:
+ Phải có môi trường hoạt động rộng, phục vụ bất cứ lúc nào và bất cứ ở
đâu.
+ Cho phép nhiều người sử dụng cùng lúc.
+ Tốc độ hoạt động chung của hệ thống cũng là một yêu cầu quan trọng, vì
người dùng không thể chờ đợi quá lâu cho mong muốn được phục vụ của mình.
+ Hệ thống phải hoạt động ổn định, tạo sự tin tưởng cho người dùng.
91
+ Có các nghi thức chung được qui định rõ ràng để mọi người dễ nắm bắt.
+ Tính dễ sử dụng cũng là một tiêu chuẩn nên phải có, một hệ thống hay
nhưng có cách sử dụng quá phức tạp thì cũng được ít người chấp nhận.
+ Trong hệ thống này, tiêu chuẩn bảo mật là một yêu cần thiết yếu, vì các
thông tin ở đây rất quan trọng và mang tính pháp lý cao.
+ Đối với một hệ thống watermarking thì hiển nhiên cần phải có các kỹ
thuật watermarking, tuy nhiên các kỹ thuật này phải được tổ chức hợp lý để đáp
ứng các yêu cầu của người dùng.
+ Hệ thống cần phải có sự linh hoạt trong việc cho phép người dùng chọn
lựa các dịch vụ, cũng như thay đổi yêu cầu dịch vụ của mình.
+ Cũng như các hệ thống khác, tiêu chuẩn dễ mở rộng và phát triển đặc biệt
quan trọng cho các nhà phát triển.
7.3 Qui trình của hệ thống WSS
7.3.1 Qui trình tổng quát
(Xem Error! Reference source not found.)
7.3.2 Qui trình hoạt động giữa WMWebClient và WMServer
7.3.2.1 Qui trình nhúng
AppClient)
(Xem Hình - 14: Qui trình nhúng watermark được thực hiện giữa WMServer và
(Xem Hình - 16: Qui trình trích watermark được dùng thống nhất cho cả
AppClient và WebClient với WMServer)
92
7.3.2.2 Qui trình trích
7.3.3 Qui trình hoạt động giữa WMAppClient (Player) và
WMServer
7.3.3.1 Qui trình nhúng
WebClient)
(Xem Hình - 15: Qui trình nhúng watermark được thực hiện giữa WMServer và
7.3.3.2 Qui trình trích
AppClient và WebClient với WMServer)
93
(Xem Hình - 16: Qui trình trích watermark được dùng thống nhất cho cả
1a,6
Thông tin đăng nhập
1b,10
Thông tin yêu cầu
1c,12,14
Ảnh cần nhúng
Thông tin phụ về ảnh
1d
2,3,4,17,18,19 Dữ liệu mã hóa
5
Dữ liệu đã giải mã
8
Kết quả truy vấn
7
Thông tin truy vấn
11
Thuật toán được chọn
9
Kết quả đăng nhập
15
Ảnh được nhúng
13
Kết quả kiểm tra
Thông tin phụ về ảnh +
16b,19 Báo cáo + Ảnh được nhúng
16a
thông tin giao dịch
Hình - 14: Qui trình nhúng watermark được thực hiện giữa
WMServer và AppClient
94
1a, 6
Thông tin yêu cầu
1b,8,10
Ảnh cần nhúng
Thông tin phụ về ảnh
2,3,4,13,14,15 Dữ liệu mã hóa
1c
Dữ liệu đã giải mã
7
Thuật toán được chọn
5
Kết quả kiểm tra
11
Ảnh được nhúng
9
Thông tin phụ về ảnh +
12b
Báo cáo + Liên kết đến
12a
thông tin giao dịch
ảnh được nhúng
Báo cáo + Ảnh được
16
nhúng
Hình - 15: Qui trình nhúng watermark được thực hiện giữa
WMServer và WebClient
95
1a,6
Thông tin đăng nhập
1b,10
Thông tin yêu cầu nếu là
tác giả
1c,12
Ảnh cần trích
2,3,4,19,20,21 Dữ liệu đã mã hóa
5
Dữ liệu đã giải mã
7,15
Thông tin truy vấn
8,16
Kết quả truy vấn
9
Kết quả kiểm tra
11
Thuật toán được chọn
13,14
Chữ ký trích được
17
Tác giả được chọn
18,22
Báo cáo + Thông tin phụ
liên quan tác giả dò được
Hình - 16: Qui trình trích watermark được dùng thống nhất cho
cả AppClient và WebClient với WMServer
96
7.4 Phân tích qui trình của hệ thống WSS
7.4.1 Các tiêu chuẩn mà hệ thống đạt được
Nhờ vào môi trường Internet, mà hệ thống WSS có thể dịch vụ cho một số
lượng người lớn, trong một phạm vi rộng, và mang tính đồng thời. Người dùng
có thể sử dụng hệ thống bất cứ lúc nào và bất cứ ở đâu nếu máy tính của họ có
nối mạng Internet.
Hệ thống WSS có một cơ sở dữ liệu chung nhằm phục vụ quá trình quản lý
người dùng, các thông tin cũng như các tác phẩm của các tác giả, đảm bảo tính
toàn vẹn và nhất quán của các thông tin người dùng.
Việc bảo mật trong quá trình truyền nhận dữ liệu của hệ thống WSS được
đảm bảo nhờ việc sử dụng một cơ chế mã hóa mạnh, đây là cơ chế mã hóa/giải
mã mà nhiều môi trường hỗ trợ. Cơ chế mã hóa này được tích hợp vào quá trình
truyền nhận thông tin qua HTTP trên môi trường web của Windows, Linux,
Unix, … Do vậy việc sử dụng WebClient ở đây sẽ tận dụng lợi thế đó. Tuy
nhiên, trên WMAppClient (player) để cho đồng bộ hóa chúng tôi cũng sử dụng
cơ chế mã hóa cho quá trình truyền nhận thông tin.
Tốc độ của hệ thống phụ thuộc nhiều vào tốc độ xử lý của thuật toán
watermarking. Trong những thời gian gần đây, với sự nỗ lực nghiên cứu các
thuật toán watermarking ngày càng tốt hơn cả về mặt kỹ thuật lẫn tốc độ. Đồng
thời, nhờ sử dụng một hệ cơ sở dữ liệu mạnh như MS-SQL nên đã tận dụng được
các ưu điểm của hệ này trong vấn đề quản lý thông tin (tìm kiếm, thêm, xóa, sửa,
tạo ràng buộc, …) được nhanh chóng và đảm bảo. Ngoài ra việc dùng công nghệ
.NET để tạo ra ứng dụng web bằng ASP.NET, giúp cho các trang web hoạt động
97
với tốc độ cao hơn, và hiệu suất tốt hơn nhờ chúng được biên dịch thành các mã
máy (.dll) thay vì phải thông dịch từng dòng mã (dưới dạng script) như trước khi
thực thi trang web.
Tính ổn định của hệ thống được đảm bảo nhờ hệ thống được xây dựng trên
môi trường Windows có tính ổn định cao, sử dụng công nghệ tiên tiến, đáng tin
cậy của .NET, và dùng hệ cơ sở dữ liệu khá mạnh MS-SQL. Bên cạnh đó, hệ
thống còn có khả năng lưu trữ dự trữ và phục hồi lại cơ sở dữ liệu, cho phép bảo
đảm bảo vệ nguồn thông tin quí giá trên WSS.
Các nghi thức để tham gia, sử dụng và khai thác hệ thống WSS là những
nghi thức dễ hiểu, dễ nắm bắt đối với người sử dụng, và được hỗ trợ bằng những
giao diện người dùng thân thiện, hợp lý.
Các kỹ thuật watermarking có trong hệ thống WSS được lựa chọn cho phù
hợp với các tình huống yêu cầu của người sử dụng. Tùy theo ưu thế của từng
thuật toán trong từng lĩnh vực, và tùy theo lĩnh vực mà người sử dụng quan tâm
mà hệ thống sẽ giúp họ có những lựa chọn hợp lý, ví dụ như người dùng muốn
tác phẩm của mình có được watermark an toàn đối với môi trường nén nhuư
JPEG2000 chẳng hạn, thì hệ thống sẽ chọn ra thuật toán tốt nhất cho yêu cầu này
để áp dụng cho tác phẩm của họ.
Ngoài ra với ứng dụng WMAppClient (Player) người dùng có thể sử dụng
các công cụ xử lý ảnh cần thiết để tạo cho mình một tác phẩm hội họa số và đóng
một watermark lên đó hay ẩn vào đó một thông tin quan trọng nào đó (data
hiding). Dĩ nhiên là ứng dụng này cũng cho phép người dùng tham gia sử dụng
các dịch vụ của WMServer.
Mặc dù WSS được xây dựng cho các dịch vụ watermarking trên ảnh, nhưng
nó có thể được nâng cấp để làm dịch vụ cho các dữ liệu đa phương tiện khác, ví
98
dụ trong các ứng dụng video. Hiện nay, với sự ra đời của các kỹ thuật
watermarking mới, nhất là các kỹ thuật dựa trên miền wavelet, dữ liệu được
truyền tải từng phần, nếu kết hợp với watermark đa phân cấp thì watermark có
thể được dò ngay từ rất sớm với những bộ phận dữ liệu đầu tiên.
7.4.2 Một số thuận lợi khi sử dụng hệ thống WSS
Trong lĩnh vực watermarking, việc sử dụng hệ thống này, ngoài những
thuận lợi do lợi thế của Internet mang lại mà những ứng dụng riêng rẽ, cô lập
khác không thể có được, còn mang lại những thuận lợi sau:
* Một trong những thuận lợi nổi bật nhất của WSS chính là nhờ cơ sở dữ
liệu tập trung, ảnh gốc của tác giả được đảm bảo lưu trữ an toàn trong hệ thống,
do đó, đối với các thuật toán non-blind (thường những thuật toán này có khả
năng, hiệu suất watermarking, và watermark có các tính chất như an toàn, vô
hình cao hơn các thuật toán blind) hệ thống WSS hỗ trợ rất tốt. Nó giúp cho việc
sử dụng ảnh gốc để dò ra watermark mọi lúc, mọi nơi dễ dàng, khắc phục được
yếu điểm của các ứng dụng watermarking xây dựng trên mô hình non-lind nhưng
lại hoạt động trong một môi trường bị cô lập trong một không gian hạn hẹp là
khó có được ảnh gốc để dò watermark.
* Một thuận lợi nữa, cũng không kém phần quan trọng, do hệ thống WSS
đem đến chính là chống được sự gian lận watermark mà các ứng dụng khác có
thể mắc phải. Đó chính là tình huống một người A (người chủ thực sự) có ảnh a
đem đi nhúng watermark được a’, sau đó A đem phân phối a’. B là một kẻ trục
lợi, anh ta có thể đem a’ đi nhúng một lần nữa được a”, và dùng a” này làm “ảnh
gốc” cho ảnh nhúng a’’’ của anh ta. Đối với các hệ thống không có lưu trữ
watermark (chữ ký) của người dùng thì đây là một vấn đề nan giải. Tuy nhiên,
nhờ hệ thống này, sự gian lận ấy được chặn đứng ngay từ đầu.Trước khi nhúng,
99
hệ thống sẽ kiểm tra ảnh đem nhúng đã có watermark (chữ ký) tồn tại trong hệ
thống chưa, nếu có rồi WSS sẽ ra thông báo cho biết việc đem ảnh này đi nhúng
là bất hợp lệ, và không thực hiện dịch vụ nhúng cho ảnh này.
* Nhờ cơ chế mã hóa trên đường truyền, các thông tin truyền nhận được
bảo vệ. Đồng thời, với cơ chế đăng ký, đăng nhập để sử dụng, hệ thống WSS có
thể giám sát việc sử dụng các dịch vụ của mình một cách chặt chẽ. Tránh được
tình trạng sử dụng tùy tiện, không kiểm soát được của các ứng dụng
watermarking cài đặt riêng cho cá nhân.
* Hệ quản trị cơ sở dữ liệu cũng cho phép người dùng tìm kiếm, thay đổi
thông tin của mình, cũng như thông tin bổ sung đi kèm với ảnh một cách dễ
dàng. Đồng thời đây cũng có thể là nơi lý tưởng để mọi người trao đổi các tác
phẩm của mình.
7.5 Phạm vi áp dụng của hệ thống WSS
Hệ thống có thể áp dụng trong những lĩnh vực hoạt động có liên quan tới
watermarking. Sau đây là những ví dụ áp dụng cụ thể.
7.5.1 Tranh chấp bản quyền
Đây là một vấn đề thường gặp của watermarking. Trường hợp này, tác giả
A có tác phẩm a đem nhúng watermark qua WSS được a’. Sau đó A đem a’ này
phân phối. Một hôm nào đó, A phát hiện ra B sử dụng bất hợp pháp tác phẩm
của mình. Lúc đó, A sẽ trưng ra bằng chứng thuyết phục là ảnh của A đã được
đóng dấu “sở hữu chủ” trong hệ thống WSS; và bằng cách cho WSS dò ảnh a’
mà B đang sử dụng, A dễ dàng chứng minh điều đó. Còn B dĩ nhiên là không có
bằng chứng thuyết phục nào để chứng minh. Nhờ đó, tác quyền của A được bảo
100
vệ.
7.5.2 Phát hiện phân phối bất hợp pháp
Tác giả A có đăng ký sử dụng dịch vụ trên WSS. A có tác phẩm được
watermark qua hệ thống WSS, thông tin bổ sung và chữ ký của tác phẩm này
được WSS lưu lại. Tác phẩm này A chỉ dành phân phối cho đối tượng B ở địa
chỉ Xb. Tuy nhiên, B lại đem tác phẩm này phân phối lại cho C mà chưa được sự
đồng ý của A. Do đặc điểm của tác phẩm này chỉ dùng được hạn chế trên một số
ứng dụng (player). Nếu các player này được trang bị một cơ chế dò watermark
phù hợp với WSS (sử dụng cùng cách dò với WSS) và có nghi thức để làm việc
với WSS, thì các player này sẽ “âm thầm” gởi đi những watermark (chữ ký) dò
được trên các tác phẩm sử dụng trên nó cùng với thông tin về người sử dụng như
tên, địa chỉ, … (đã cung cấp cho player lúc cài đặt) cho WSS. WSS sẽ dò và xác
định được chữ ký đó là của ai, từ đó truy ra thông tin bổ sung đi kèm để biết
được ai là người được phân phối tác phẩm đó, ở địa chỉ nào. Nhờ đó, trong
trường hợp này, bản phân phối cho C sẽ bị phát hiện là bất hợp pháp.
7.5.3 Chứng thực nội dung
Một vài ví dụ điển hình cho vấn đề này là:
* Đơn vị A phát hành một loại bằng cấp a chẳng hạn. Nếu A đã đăng ký sử
dụng dịch vụ trên WSS, trước khi cấp cho một người nào đó, đơn vị A sẽ sử
dụng WSS để ẩn vào đó một watermark (chữ ký) xa của mình, tiếp đó A nhờ hệ
thống WSS lưu trữ lại chữ ký này cùng với thông tin bổ sung dò theo chữ ký đó,
như tên người được cấp, đơn vị cấp, ngày tháng cấp, mã số bằng, … Sau đó có
một đơn vị tuyển dụng B cần tuyển dụng nhân viên có bằng cấp a do đơn vị A
cấp. Thay vì B yêu cầu nhân viên đó nộp bản sao bằng giấy, thì B có thể yêu cầu
người đó nộp bằng a được số hóa này. Sau đó qua WSS, B có thể trích được chữ
101
ký xa, bằng cách dò theo những chữ ký do A cấp, B dễ dàng lấy được thông tin
bổ sung của tấm bằng đó. Từ đó, B biết được bằng này có phải của người đó
không, mà không phải mất công liên hệ với A để truy dò, một việc mà A lẫn B
không thích tí nào.
* Một vấn đề khác rất được quan tâm tâm trong các cơ quan an ninh, công
an, đó là vấn đề phát hiện sự thay đổi nội dung của các bằng chứng tôi phạm.
Sau khi chụp được ảnh làm bằng chứng phạm tội của một tội phạm B, để tránh
những sự thay đổi nội dung hòng bao che, chạy tội cho B, trước khi chuyển ảnh
được số hóa này về cơ quan điều tra, cảnh sát A có thể sử dụng hệ thống WSS để
gắn vào đó một watermark dễ vỡ (fragile). Nhờ đó nội dung của bức ảnh được dễ
dàng phát hiện nếu có thay đổi.
7.6 Đánh giá và kết luận
Hệ thống WSS là một hệ thống watermarking thiết thực, đảm bảo được các
tiêu chuẩn cần phải có của một hệ thống watermarking.
Có thể nói đây là một hệ thống phù hợp để áp dụng các thuật toán
watermarking trên ảnh hiện có và cả trong tương lai. Một khi các thuật toán
watermarking được nghiên cứu hoàn thiện, đủ sức để đương đầu với mọi phép
nén, tấn công, … thì một hệ thống như vậy là rất cần thiết. Nếu hệ thống này
được xây dựng hoàn thiện tốt trước, thì đây cũng sẽ là một tiền đề để thúc đẩy sự
phát triển của watermarking.
Hệ thống WSS cũng có thể được mở rộng để áp dụng cho các loại phương
102
tiện đa truyền thông khác với những sự thay đổi hợp lý.
Chương 8. Phân tích và thiết kế
8.1 Các yêu cầu của hệ thống WSS
8.1.1 Yêu cầu chức năng
8.1.1.1 Yêu cầu lưu trữ
Hệ thống cần lưu trữ những thông tin sau:
Về phía WMServer:
(cid:131) Thông tin về người dùng: tên, địa chỉ, ngày gia nhập hệ thống dùng cho
quản lý người dùng, bí danh và mật khẩu để đăng nhập hệ thống.
(cid:131) Thông tin bổ sung của tác phẩm do người dùng cung cấp mỗi lần dùng
dịch vụ watermarking, đây là thông tin
(cid:131) Tác phẩm gốc
(cid:131) Watermark (chữ ký) do hệ thống phát sinh mỗi lần thực hiện
watermarking, đây cũng chính là khóa để tra cứu lại thông tin bổ sung
của tác phẩm.
(cid:131) Thời gian dùng dịch vụ của người dùng dùng để tra cứu hoặc tính toán
số lần sử dụng.
8.1.1.2 Yêu cầu tra cứu Về phía WMServer:
(cid:131) Tra cứu thông tin người dùng
(cid:131) Tra cứu thông tin bổ sung của tác phẩm
103
(cid:131) Tra cứu chữ ký (watermark)
(cid:131) Tra cứu các phiên giao dịch của người dùng (theo thời gian dùng dịch
vụ)
8.1.1.3 Yêu cầu tính toán, xử lý
Về phía WMServer:
(cid:131) Thực hiện các thuật toán watermarking để nhúng/trích thông tin
watermark (chữ ký) trên ảnh.
(cid:131) Tính toán, phát ra các watermark giả ngẫu nhiên duy nhất.
(cid:131) Tính toán độ độ tương quan giữa watermark trích ra và các watermark
lưu trữ.
(cid:131) Thực hiện các tính toán, và xử lý phức tạp khác trên ảnh.
(cid:131) Tính toán số lần sử dụng của người dùng
Về phía WMAppClient (Player):
(cid:131) Thực hiện một vài thuật toán watermarking để nhúng/trích thông tin
watermark (chữ ký) trên ảnh.
(cid:131) Thực hiện các tính toán, và xử lý phức tạp khác trên ảnh.
8.1.1.4 Yêu cầu kết xuất Về phía WMServer:
(cid:131) Báo cáo kết quả nhúng watermark sau mỗi lần thực hiện dịch vụ.
(cid:131) Báo cáo kết quả trích watermark.
(cid:131) Báo cáo thống kê về số người sử dụng dịch vụ.
(cid:131) Báo cáo thống kê số lần sử dụng dịch vụ của một người dùng theo một
104
khoảng thời gian.
8.1.1.5 Yêu cầu hệ thống
(cid:131) Hệ thống phải có cơ chế đăng nhập có phân quyền.
(cid:131) Hệ thống có cơ chế mã hóa đảm an toàn khi truyền nhận thông tin.
8.1.2 Yêu cầu phi chức năng
(cid:131) Giao diện thân thiện dễ sử dụng
(cid:131) Hệ thống dễ mở rộng.
8.2 Mô hình Use-Case
8.2.1 Lược đồ Use-Case
CountUsers
ChangeServerSkin
DeleteUser
SaveImage
(from Use Cas...
(from Use Cas...
(from Use Cas...
(from Use Cas...
ChangeServerConfi g (from Use Cas...
DisplayImage
(from Use Cas...
FilterImage
UpdateModifier
ServerExtractWM
(from Use Cas...
(from Use Cas...
(from Use Cas...
Admin
NewRegister
NewImage
(from Actors)
(from Use Cas...
(from Use Cas...
UserStatistics
(from Use Cas...
PlayerHideWM
Registered user (from Actors)
User
(from Use Cas...
(from Actors)
UpdateUser
ClientExtractWM
GetOriginImage
(from Use Cas...
(from Use Cas...
(from Use Cas...
ChangePropertiesImage
ServerHideWM
(from Use Cas...
(from Use Cas...
LookupUser
LookupWM
Login
SaveOriginImage
TransformImage
(from Use Cas...
(from Use Cas...
(from Use Cas...
(from Use Cas...
(from Use Cas...
Hình - 17: Lược đồ Use-Case
105
8.2.2 Danh sách Actor
STT Actor Ý nghĩa
User Người dùng bình thường nói chung. 1
Registered user Người dùng có đăng ký với hệ thống. 2
Admin Người quản trị hệ thống WSS. 3
Bảng - 7: Danh sách các Actor
8.2.3 Danh sách các Use-Case chính
STT Use-Case Ý nghĩa
NewRegister Đăng ký sử dụng dịch vụ của 1
hệ thống WSS
Login Nhập bí danh và mật khẩu để 2
vào hệ thống WSS để sử dụng các
dịch vụ trong hệ thống
ServerHideWM Nhúng watermark vào ảnh trên 3
server
Tra cứu thông tin người dùng LookupUser 4
Tra cứu thông tin watermark LookupWM 5
Cập nhật thông tin người dùng UpdateUser 6
UpdateModifier Cập nhật thông tin bổ sung của 7
watermark
SaveOriginImage Lưu trữ ảnh gốc trên server 8
106
GetOriginImage Lấy lại ảnh gốc của mình lưu 9
trữ trên server.
10 UserStatistics Thống kê và báo cáo số lần sử
dụng của người dùng trong khoảng
thời gian xác định
11 CountUsers Đếm, thống kê số lượng người
dùng
12 DeleteUser Xóa người ra khỏi hệ thống
13 ChangeServerConfig Thay đổi thông số cấu hình
server
14 ChangeServerSkin Thay đổi giao diện server
15 PlayerHideWM Nhúng watermark trên
WMAppClient (Player)
16 NewImage Tạo ảnh mới trên Player
17 DisplayImage Đọc và hiển thị ảnh trên Player
18 SaveImage Lưu ảnh vào định dạng do
người dùng tùy chọn
19 FilterImage Xử lý ảnh bằng các bộ lọc ảnh
20 TransformImage Biếm đổi hình học ảnh
21 ChangePropertiesImage Chỉnh sửa các thuộc tính của
ảnh
22 ServerExtractWM Trích watermark và lấy thông
tin bổ sung của ảnh trên server
23 ClientExtractWM Trích watermark trên client
Bảng - 8: Danh sách các Use-Case chính
107
8.2.4 Đặc tả các Use-Case chính
8.2.4.1 Use-Case NewRegiste
8.2.4.1.1 Tóm tắt
Use-Case nàu cho phép người dùng đăng ký sử dụng các dịch vụ trên hệ
thống WSS.
8.2.4.1.2 Dòng sự kiện
8.2.4.1.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi user chọn trang đăng ký.
2. Hệ thống hiện các mục nhập để user (actor) điền các thông tin cá nhân, bí
danh, mật khẩu của mình vào.
3. Sau khi nhấn nút “Đăng ký”. Hệ thống WSS sẽ kiểm tra thông tin và các
ràng buộc trong cơ sở dữ liệu.
4. Nếu cơ sở dữ liệu cho phép ghi thông tin mới, hệ thống sẽ chấp nhận user
mới này với bí danh và mật khẩu của họ.
8.2.4.1.2.2 Các dòng sự kiện khác
8.2.4.1.2.2.1 Bí danh đã tồn tại
Ở bước 3, trong trường hợp bí danh mà user chọn đã có trong hệ thống,
8.2.4.1.2.2.2 Nhập thiếu thông tin cần thiết
WSS sẽ ra thông báo và quay lại bước 2 để user nhập lại.
Ở bước 3, nếu kiểm tra thấy user nhập thiếu thông tin, WSS sẽ ra thông báo
và quay lại bước 2 để nhập bổ sung.
8.2.4.1.3 Yêu cầu đặc biệt
108
Không có
8.2.4.1.4 Điều kiện tiên quyết
Không có
8.2.4.1.5 Điều kiện hậu quyết
Hệ thống WSS sẽ ra thông báo chúc mừng nếu đăng ký thành công.
8.2.4.1.6 Điểm mở rộng Không có
8.2.4.2 Use-Case Login
8.2.4.2.1 Tóm tắt
Use-Case này mô tả cách đăng nhập vào hệ thống WSS của một người
dùng.
8.2.4.2.2 Dòng sự kiện
8.2.4.2.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi user (actor) chọn trang chức năng đăng
nhập hệ thống.
2. Hệ thống hiện ra các hộp thoại để user nhập bí danh và mật khẩu
của mình vào.
3. Sau khi user nhấn nút “Đăng nhập”, hệ thống kiểm tra bí danh và
mật khẩu xem có đúng không.
4. Nếu kiểm tra trên là đúng. Hệ thống sẽ cấp quyền cho user và cho
phép user sử dụng các chức năng với quyền xác định.
8.2.4.2.2.2 Các dòng sự kiện khác
8.2.4.2.2.2.1 Bí danh không đúng
Ở bước 3, nếu hệ thống kiểm tra bí danh nhập vào không có trong hệ thống,
109
WSS sẽ ra thông báo và quay lại bước 2 cho user nhập lại.
8.2.4.2.2.2.2 Mật khẩu không đúng
Ở bước 3, nếu WSS kiểm tra mật khẩu không phù hợp với bí danh thì nó sẽ
ra thông báo. User quay lại bước 2 để nhập lại.
8.2.4.2.3 Yêu cầu đặc biệt
Không có
8.2.4.2.4 Điều kiện tiên quyết
User đã qua bước NewRegister thành công.
8.2.4.2.5 Điều kiện hậu quyết
Nếu Use-Case thành công, user có thể sử dụng các chức năng khác của hệ
thống theo quyền của mình.
8.2.4.2.6 Điểm mở rộng Không có
8.2.4.3 Use-Case ServerHideWM
8.2.4.3.1 Tóm tắt
Use-Case này cho phép người dùng đã đăng nhập nhúng một watermark
(chữ ký) do hệ thống phát vào ảnh của mình.
8.2.4.3.2 Dòng sự kiện
8.2.4.3.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi registered user (actor) chọn trang chức
năng nhúng watermark vào ảnh của mình.
2. WSS sẽ hiện ra các mục để người dùng chọn ảnh để watermark,
110
nhập thông tin bổ sung cho ảnh, chọn loại thuật toán.
3. Sau khi registered user nhấn nút “Đồng ý”, hệ thống sẽ tải các thông
tin, dữ liệu lên server và kiểm tra lại các thông tin, dữ liệu được
cung cấp.
4. Nếu các thông tin và dữ liệu cung cấp là hợp lệ, WSS sẽ phát ra một
chữ ký giả ngẫu nhiên duy nhất và ẩn vào trong ảnh.
5. Sau khi ẩn xong, hệ thống sẽ lưu lại ảnh gốc, ra thông báo xác nhận
và trả về ảnh đã có watermark.
8.2.4.3.2.2 Các dòng sự kiện khác
8.2.4.3.2.2.1 Thiếu thông tin / dữ liệu
Ở bước 3, nếu WSS kiểm tra thấy thông tin là thiếu, thì nó sẽ ra thông báo
8.2.4.3.2.2.2 Yêu cầu đặc biệt
và quay lại bước 2 cho actor nhập lại.
8.2.4.3.2.2.3 Điều kiện tiên quyết
Kích thước tệp ảnh tối đa để upload là 1MB.
User đã qua bước Login thành công.
8.2.4.3.3 Điều kiện hậu quyết
Sau khi thực hiện thành công, người dùng sẽ nhận được thông báo xác
nhận và ảnh có watermark.
8.2.4.3.4 Điểm mở rộng Không có
8.2.4.4 Use-Case LookupUser
8.2.4.4.1 Tóm tắt
Use-Case này cho phép người sử dụng tìm kiếm thông tin về các người
111
dùng khác trong hệ thống.
8.2.4.4.2 Dòng sự kiện
8.2.4.4.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi người sử dụng chọn trang chức năng tìm
kiếm người dùng.
2. Hệ thống sẽ hiện ra mục nhập tên, bí danh, ngày gia nhập hệ thống
để người dùng nhập.
3. Sau khi registered user nhấn nút “Tìm”. Hệ thống sẽ tìm kiếm trên
cơ sở dữ liệu.
4. Sau đó, WSS xuất ra kết quả tìm kiếm.
8.2.4.4.2.2 Các dòng sự kiện khác
8.2.4.4.2.2.1 Thiếu thông tin để tìm
Ở bước 3, nếu hệ thống kiểm tra thấy người dùng không nhập thông tin nào
thì sẽ ra thông báo và quay lại bước 2.
8.2.4.4.3 Yêu cầu đặc biệt
Không có
8.2.4.4.4 Điều kiện tiên quyết
Người dùng đã qua bước Login thành công.
8.2.4.4.5 Điều kiện hậu quyết
Nếu tìm kiếm có thông tin, WSS sẽ ra thông bào và hiển thị các thông tin
tìm kiếm được cho người dùng thấy.
8.2.4.4.6 Điểm mở rộng Không có.
112
8.2.4.5 Use-Case LookupWM
8.2.4.5.1 Tóm tắt
Use-Case này cho phép người dùng tìm kiếm các thông tin về tác giả, thông
tin bổ sung dựa trên watermark mà người dùng cung cấp.
8.2.4.5.2 Dòng sự kiện
8.2.4.5.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi người sử dụng chọn trang chức năng tra
cứu watermark.
2. WSS sẽ hiển thị mục nhập để người chọn tệp chứa watermark.
3. Sau khi registered user chọn nút “ Tìm”. Hệ thống sẽ tải tệp chứa
watermark lên server để tìm kiếm.
4. Hệ thống tiến hành tìm kiếm, đối chiếu watermark.
5. Ra thông báo kết quả tìm kiếm
8.2.4.5.2.2 Các dòng sự kiện khác
8.2.4.5.2.2.1 Không có dữ liệu watermark
Ở bước 3, nếu hệ thống kiểm tra không thấy có tệp dữ liệu watermark thì hệ
thống sẽ ra thông báo và quay lại bước 2.
8.2.4.5.3 Yêu cầu đặc biệt
Tệp chứa watermark phải có định dạng văn bản chuẩn (plain text).
8.2.4.5.4 Điều kiện tiên quyết
Người dùng đã qua bước đăng nhập thành công
8.2.4.5.5 Điều kiện hậu quyết
Nếu tìm thấy thông tin về watermark, WSS sẽ hiển thị báo cáo kết quả các
113
thông tin lấy được cho người dùng.
8.2.4.5.6 Điểm mở rộng Không có
8.2.4.6 Use-Case UpdateUser
8.2.4.6.1 Tóm tắt
Use-Case này cho phép người dùng đã đăng ký cập nhật lại thông tin của
mình trên hệ thống.
8.2.4.6.2 Dòng sự kiện
8.2.4.6.2.1 Dòng sự kiện chính
1. Use-Case bắt đầu khi rigistered user (actor) chọn trang chức năng
cập nhật lại thông tin cá nhân.
2. Hệ thống hiện ra bảng nhập các thông tin cá nhân cho registered
user nhập lại.
3. Sau khi người dùng nhấn nút “Cập nhật”. Hệ thống sẽ kiểm tra các
thông tin do người dùng cung cấp.
4. Nếu phù hợp, hệ thống sẽ ghi lại thông tin mới về người dùng.
8.2.4.6.2.2 Các dòng sự kiện khác
8.2.4.6.2.2.1 Thiếu thông tin
Ở bước 3, nếu WSS kiểm tra thấy thiếu thông tin bắt buộc thì sẽ ra thông
báo và quay về bước 2.
8.2.4.6.3 Yêu cầu đặc biệt
Không có
8.2.4.6.4 Điều kiện tiên quyết
114
Người dùng đã qua bước đăng nhập thành công
8.2.4.6.5 Điều kiện hậu quyết
Cập nhật thành công thì ra thông báo cho người dùng biết
8.2.4.6.6 Điểm mở rộng Không có
8.2.4.7 Use-Case UpdateModifier
8.2.4.7.1 Tóm tắt
Use-Case này cho phép người dùng cập nhật lại thông tin bổ sung của một
ảnh đã thực hiện watermarking trên hệ thống WSS.
8.2.4.7.2 Dòng sự kiện
8.2.4.7.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi registered user chọn trang chức năng cập
nhật lại thông tin phụ.
2. Hệ thống hiện ra các mục nhập để người dùng nhập vào thông tin
phục và chọn ảnh có watermark cần thay đổi thông tin phụ.
3. Sau khi người dùng nhấn nút “Cập nhật”. Hệ thống sẽ kiểm tra dữ
liệu và tải ảnh do người dùng cung cấp lên server.
4. Hệ thống tiến hành trích watermark có trong ảnh đem đối chiếu với
các watermark trong hệ thống.
5. Nếu watermark đã tồn tại (hợp lệ), hệ thống tiến hành cập nhật lại
thông tin bổ sung do người dùng cung cấp.
8.2.4.7.2.2 Các dòng sự kiện khác
8.2.4.7.2.2.1 Thiếu thông tin/dữ liệu
115
Ở bước 3, nếu WSS kiểm tra người dùng cung cấp thiếu thông tin/dữ liệu
8.2.4.7.2.2.2 Ảnh không có watermark hợp lệ
thì sẽ ra thông báo và quay lại bước 2.
Ở bước 4, nếu hệ thống không trích được watermark hoặc watermark này
chưa tồn tại trong hệ thống thì hệ thống sẽ ra thông báo cho người dùng biết và
quay lại bước 2.
8.2.4.7.3 Yêu cầu đặc biệt
Ảnh upload không quá 1MB.
8.2.4.7.4 Điều kiện tiên quyết
Người dùng đã qua bước Login thành công, và ảnh cung cấp phải có
watermark rồi.
8.2.4.7.5 Điều kiện hậu quyết
Cập nhật thành công sẽ ra thông bào cho người dùng biết
8.2.4.7.6 Điểm mở rộng Không có
8.2.4.8 Use-Case UserStatistics
8.2.4.8.1 Tóm tắt
Use-Case này cho phép thống kê số lần, thời gian sử dụng dịch vụ của một
người dùng.
8.2.4.8.2 Dòng sự kiện
8.2.4.8.2.1 Dòng sự kiện chính
1. Use-Case bắt đầu khi registered user chọn trang chức năng thống kê
116
về việc sử dụng dịch vụ của người dùng.
2. Hệ thống sẽ hiện ra mục nhập khoảng thời gian sử dụng của người
dùng.
3. Sau khi nhấn nút “Thông kê”. WSS sẽ kiểm tra tính hợp lệ của thời
gian.
4. WSS sẽ tiến hành dò tìm các thời gian (lần) sử dụng của người
dùng, tính toán số lần sử dụng.
5. Xuất ra báo cáo kết quả thống kê.
8.2.4.8.2.2 Các dòng sự kiện khác
8.2.4.8.2.2.1 Thời nhan nhập vào không hợp lệ
Ở bước 3, nếu hệ thống kiểm tra thấy thời gian nhập vào không hợp lệ sẽ ra
thông báo và quay lại bước 2.
8.2.4.8.3 Yêu cầu đặc biệt
Cho phép admin sử dụng chức năng này với tên người dùng bất kỳ
8.2.4.8.4 Điều kiện tiên quyết
Người dùng đã qua bước Login thành công
8.2.4.8.5 Điều kiện hậu quyết
Hiển thị báo cáo thống kê nếu thành công.
8.2.4.8.6 Điểm mở rộng Không có
8.2.4.9 Use-Case CountUsers
8.2.4.9.1 Tóm tắt
Use-Case này cho phép người quản trị hệ thống đếm, liệt kê số người đăng
ký sử dụng hệ thống và cho phép biết được có bao nhiêu dịch vụ được thực hện
117
trong một khoảng thời gian xác định.
8.2.4.9.2 Dòng sự kiện
8.2.4.9.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi admin (actor) chọn trang chức năng thống
kê người dùng.
2. Hệ thống hiện ra mục để admin nhập khoảng thời gian.
3. Sau khi admin nhấn nút “thống kê”. Hệ thống thực hiện thống kê
theo lựa chọn của admin.
4. Xuất ra kết quả thống kê.
8.2.4.9.2.2 Các dòng sự kiện khác
8.2.4.9.2.2.1 Không có thông tin thời gian/ thông tin thời gian không hợp lệ
Ở bước 3, nếu hệ thống kiểm tra thông tin về thời gian không có hoặc
không hợp lệ thì sẽ tiến hành thống kê theo mặc định là đếm và liệt kê tất cả các
user đăng ký trên WSS, nhưng không có phần đếm và liệt kê thông tin sử dụng
của các user tong một khoảng thời gian.
8.2.4.9.3 Yêu cầu đặc biệt
Không có
8.2.4.9.4 Điều kiện tiên quyết Actor là admin.
8.2.4.9.5 Điều kiện hậu quyết
Hiển thị báo cáo kết quả thống kê nếu thành công
8.2.4.9.6 Điểm mở rộng Không có
118
8.2.4.10 Use-Case DeleteUser
8.2.4.10.1 Tóm tắt
Use-Case này cho phép quản trị WSS xóa khỏi hệ thống một user.
8.2.4.10.2 Dòng sự kiện
8.2.4.10.2.1 Dòng sự kiện chính
1. Use-Case bắt đầu khi admin chọn trang chức năng xóa user.
2. Hệ thống liệt kê các user để chọn xóa và hiện mục nhập bí danh user
vào để xóa.
3. Sau khi admin chọn user để xóa, hoặc bấm vào bút “Xóa”. Hệ thống
xuất hiện thông báo để admin xác nhận là muốn xóa hay không.
4. Sau khi admin nhấn vào nút OK (xác nhận muốn xóa), WSS tiến
hành xóa user ra khỏi hệ thống.
8.2.4.10.2.2 Các dòng sự kiện khác
8.2.4.10.2.2.1 Bỏ chọn xóa
Nếu ở bước 3, áp dụng admin hủy chọn lệnh xóa bằng cách nhấn nút
“Cancel” trên hộp thông báo thì hệ thống sẽ quay lại bước 2.
8.2.4.10.3 Yêu cầu đặc biệt
Không có
8.2.4.10.4 Điều kiện tiên quyết
Người dùng phải là admin
8.2.4.10.5 Điều kiện hậu quyết
Nếu thành công, hệ thống ra thông báo đã xóa user.
8.2.4.10.6 Điểm mở rộng Không có
119
8.2.4.11 Use-Case ServerExtractWM
8.2.4.11.1 Tóm tắt
Use-Case này cho phép người dùng trích watermark (chữ ký) từ ảnh và đói
chiếu lấy thông tin bổ sung của ảnh trên server.
8.2.4.11.2 Dòng sự kiện
8.2.4.11.2.1 Dòng sự kiện chính
1. Use-case này bắt đầu khi người dùng chọn trang chức năng trích
watermark.
2. Hệ thống hiện ra mục để người dùng chọn ảnh có watermark muốn
trích.
3. Sau khi nhấn vào nút “Gởi đi trích”. Hệ thống kiểm tra tính hợp lệ
của dữ liệu.
4. Hệ thống tiến hành trích watermark (chữ ký) trong ảnh và dò tìm
chữ ký này trong dữ liệu.
5. Báo cáo kết quả trích cho người dùng.
8.2.4.11.2.2 Các dòng sự kiện khác
8.2.4.11.2.2.1 Dữ liệu không hợp lệ
Nếu hệ thống phát hiện thấy dữ liệu (tệp ảnh) lớn hơn kích thước cho phép,
8.2.4.11.2.2.2 Không tìm thấy chữ ký
120
thì sẽ ra thông báo và quay lại bước 2.
Nếu hệ thống dò không thấy tồn tại chữ ký trích được sẽ ra thông báo việc
trích không thành công.
8.2.4.11.3 Yêu cầu đặc biệt
Ảnh tải lên không quá 1MB
8.2.4.11.4 Điều kiện tiên quyết
Người dùng đã qua bước đăng nhập thành công
8.2.4.11.5 Điều kiện hậu quyết
Trả về thông tin bổ sung của ảnh nếu thành công
8.2.4.11.6 Điểm mở rộng Không có
8.2.4.12 Use-Case PlayerHideWM
8.2.4.12.1 Tóm tắt
Use-Case này cho phép người dùng nhúng vào ảnh một watermark trên
WMAppClient.
8.2.4.12.2 Dòng sự kiện
8.2.4.12.2.1 Dòng sự kiện chính
1. Use-Case này bắt đầu khi người dùng chọn chức năng nhúng
watermark trên WMAppClient.
2. WMApp hiện ra mục chọn để người sử dụng chọn ảnh, chọn kiểu
nhúng, chọn thuật toán, cung cấp thông tin watermark.
3. Sau khi người dùng nhấn nút “Nhúng”, WMApp thực hiện tính toán
trên ảnh và nhúng watermark vào ảnh.
121
4. Tạo ảnh có watermark.
8.2.4.12.2.2 Các dòng sự kiện khác
8.2.4.12.2.2.1 Ảnh không hợp lệ
Nếu WMAppClient kiểm tra ảnh là không lệ (không đúng định dạng, không
tìm thấy ảnh), thì sẽ hiện thông báo và quay lại bước 2.
8.2.4.12.3 Yêu cầu đặc biệt
Không có
8.2.4.12.4 Điều kiện tiên quyết
Không có
8.2.4.12.5 Điều kiện hậu quyết Tạo ảnh có watermark
8.2.4.12.6 Điểm mở rộng Không có
8.3 Thiết kế lớp và các sơ đồ lớp
8.3.1 Danh sách các lớp chính trong hệ thống
STT Tên Lớp Kiểu Ghi chú
WMSeverForm Boundary Lớp thể hiện của server 1
WMServerDispatcher Control Lớp phân phối các công 2
việc trên server
WMServerSelectAlgorithm Control Lớp quyết định thuật toán 3
WMServerConfiguration Boundary Lớp thể hiện để cấu hình 4
cho server
122
WMServerIO Control Lớp đọc ghi các tệp cấi hình 5
của server
6 WMServerReport Entity Lớp làm việc lưu trữ báo
cáo của server
7 WMServerDB Entity Lớp làm việc với cơ sở dữ
liệu
8 WMSeverEnDeCode Control Lớp thực hiện nhiệm vụ mã
hóa/ giải mã khi truyền
nhận dữ liệu trên mạng
9 WMServerSendReceive Control Lớp nhận truyền dữ liệu
10 MFCs Các lớp MFC của Windows
11 WMAppClientMainFrame Boundary Lớp thể hiện chính của
WMAppClient
12 WMAppClientReport Entity Lớp làm việc lưu trữ báo
cáo
13 WMAppFiles Entity Lớp làm việc lưu trữ các tệp
ảnh, tệp văn bản.
14 WMAppClientSendReceive Control Lớp thực hiện truyền nhận
dữ liệu trên WMAppClient
15 WMAppHistogramDlg Boundary Lớp thể hiện đồ thị
histogram của ảnh
16 WMAppToolBoxDlg Boundary Lớp thể hiện các toolbox
của WMAppClient
17 WMAppSpatialSigImage Control Lớp thực hiện nhúng/trích
123
watermark là ảnh của
WMAppClient
18 WMAppSpatialSigText Control Lớp thực hiện nhúng /trích
watermark là văn bản trên
WMAppClient
19 WMAppEmbedLocalDlg Boundary Lớp thể hiện việc nhúng
watermark trên
WMAppClient
20 WMAppDetectLocalDlg Boundary Lớp thể hiện việc trích
watermark trên
WMAppClient
21 WMAppEmbedtRemoteDlg Boundary Lớp thể hiện việc giao tiếp
và nhúng watermark với
server của WMAppClient
22 WMAppDetectRemoteDlg Boundary Lớp thể hiện việc giao tiếp
và trích watermark với
server của WMAppClient
23 WMAppEnDeCode Control Lớp thực hiện việc mã
hóa/giải mã khi truyển nhận
dữ liệu của WMAppClient
24 WMAppSkinParentDlg Boundary Lớp cha cho các thể hiện
hộp thoại có skin của
WMAppClient
25 WMAppImageManipulation Control Lớp thực hiện các xử lý trên
124
ảnh của WMAppClient
26 CXImage Control Lớp thực hiện các thao tác
(đọc ghi, tính toán, so sánh
pixel, …) trên ảnh
27 CXWatermarking Control Lớp trừu tượng (lớp cha)
cho các lớp thuật toán cụ
thể
28 CXWMXia Control Lớp thực hiện thuật toán
watermarking của Xia (kế
thừa lớp CXWatermarking)
29 CXWMWang Control Lớp thực hiện thuật toán
watermarking của Wang (kế
thừa lớp CXWatermarking)
30 CXWMCox Control Lớp thực hiện thuật toán
watermarking của Cox (kế
thừa lớp CXWatermarking)
31 CXWMKoch Control Lớp thực hiện thuật toán
watermarking của Koch (kế
thừa lớp CXWatermarking)
32 CXWBWBasic Control Lớp thực hiện thuật toán
watermarking của Lo (kế
thừa lớp CXWatermarking)
33 CXWMFrid Control Lớp thực hiện thuật toán
watermarking của Frid (kế
125
thừa lớp CXWatermarking)
34 CXWMDugad Control Lớp thực hiện thuật toán
watermarking của Dugad
(kế thừa lớp
CXWatermarking)
35 CXWMZhu Control Lớp thực hiện thuật toán
watermarking của Zhu (kế
thừa lớp CXWatermarking)
36 CXWMCorvi Control Lớp thực hiện thuật toán
watermarking của Corvi (kế
thừa lớp CXWatermarking)
37 CXWMKim Control Lớp thực hiện thuật toán
watermarking của Kim (kế
thừa lớp CXWatermarking)
38 CXWMBruyn Control Lớp thực hiện thuật toán
watermarking của Bruyn
(kế thừa lớp
CXWatermarking)
39 CXUtilities Control Lớp thực hiện một số tiện
ích để phục vụ việc tính
toán.
40 WebClientLoginPage Boundary Lớp thể hiện của trang web
đăng nhập
41 WebClientRegisterPage Boundary Lớp thể hiện của trang web
126
đăng ký
42 WebClientEmbedPage Boundary Lớp thể hiện của trng nhúng
watermark
43 WebClientExtractPage Boundary Lớp thể hiện của trang trích
watermark
44 WebClientDBIO Control Lớp thực hiện việc đọc ghi
cơ sở dữ liệu
45 HTTPClass Control Lớp thực hiện các dịch vụ
HTTP của hệ điều hành
Bảng - 9: Danh sách các lớp trong hệ thống
8.3.2 Các sơ đồ lớp phân theo ứng dụng
8.3.2.1 Sự liên hệ giữa các nhóm lớp đối tượng
Hình - 18: Mối liên hệ giữa các đối tượng
127
8.3.2.2 Sơ đồ lớp theo ứng dụng WMServer
Hình - 19: Sơ đồ lớp theo ứng dụng WMServer
128
8.3.2.3 Sơ đồ lớp theo ứng dụng WMAppClien
Hình - 20: Sơ đồ lớp theo ứng dụng WMAppClient
1 1
1 1
1 1 1 1
1 1
1 1
1 1
WMAppToolBoxDlg
1 1
1 1
1 1
1 1
WMAppClientMainFrame (from Các lớp của WMAppClie...
(from Các lớp của WMAppClie...
1 1
1 1
1 1
1 1
WMAppSkinParentDlg
1 1
(from Các lớp của WMAppClie...
1 1
1 1
WMAppDetectRemoteDlg
WMAppDetectLocalDlg
WMAppHistogramDlg
1 1
11
(from Các lớp của WMAppClie...
(from Các lớp của WMAppClie...
(from Các lớp của WMAppClie... 1 1
WMAppEmbedLocalDlg (from Các lớp của WMAppClie... 1 1
1 1
WMAppEmbedtRemoteDlg (from Các lớp của WMAppClie...
1 1
1 1
1 1
11
WMAppToolBaxControl
(from Các lớp của WMAppClie...
1 1
1 1
1 1
1 1
1 1
1 1
1 1
WMAppSpatialSigText (from Các lớp của WMAppClie...
1 1
1 1
1 1
1 1
WMAppEnDeCode
WMAppClientSendReceive
WMAppSkinControl
(from Các lớp của WMAppClie...
WMAppSpatialSigImage (from Các lớp của WMAppClie...
WMAppImageManipulation
(from Các lớp của WMAppClie...
* *
(from Các lớp của WMAppClie...
* *
(from Các lớp của WMAppClie...
* *
* *
* *
1 1
* *
Các lớp của WMServer
WMAppFileControl
(from Các lớp của WMAppClie...
* *
WMAppClientReport
(from Các lớp của WMAppClie...
WMAppFiles (from Các lớp của WMAppClie...
129
8.3.2.4 Sơ đồ lớp theo ứng dụng WMWebClient
Hình - 21: Sơ đồ lớp trong ứng dụng WMWebClient
130
8.3.3 Lược đồ tuần tự của một số Use-Case chính
: WebClientDBIO
: User
: WMServ erDB
: WebClientRegisterPage
Chọn trang đăng ký
//nhập bí danh v à mật khẩu( )
//nhấn nút đăng ký( )
//kiểm tra thông tin đăng ký( )
//ghi lại thông tin đăng ký( )
//là ghi thành công( )
//thông báo đăng ký thành công( )
8.3.3.1 Lược đồ tuần tự của Use-Case NewRegister
Hình - 22: Lược đồ tuần tự của Use-Case NewRegister
131
: WebClientDBIO
: Registered user
: WMServ erDB
: WebClientLoginPage
Chọn trang đăng nhập
//nhập bí danh v à mật khẩu( )
//nhấn nút đăng nhập( )
//kiểm tra thông tin đăng nhập( )
//đọc bí danh v à mật khẩu( )
//có đúng bí danh v à mật khẩu( )
//tạo báo cáo đăng nhập thành công( )
8.3.3.2 Lược đồ tuần tự của Use-Case Login
Hình - 23: Lược đồ tuần tự của Use-Case Login
132
: HTTPClass
: Registered user
: WMServ erSendReceiv e : WMSev erEnDeCode : WMServ erDispatcher : WMServ erSelectAlgorithm : CXWatermarking : WMServ erDB
: WMSev erForm
: WebClientEmbedPage
Chọn trang nhúng
//nhập thông tin, ảnh dữ liệu( )
//submit( )
//nhận dữ liệu( )
//giải mã( )
//kiểm tra sự hợp lệ của dữ liệu( )
//tổ chức nhúng( )
//chọn thuật toán( )
//thực hiện watermarking( )
//tạo ảnh nhúng( )
//ghi lại các kết quả watermarking( )
Truy ền qua giao thức HTTP
//là nhúng thành công( )
//tạo báo cáo( )
//mã hóa( )
//gởi kết quả( )
133
8.3.3.3 Lược đồ tuần tự của Use-Case ServerHideWM
: Registered user
: HTTP Class
: WMS everE nDeCode
: WMS erverDispatcher
: WebClinetE xtractP age
: WMS everForm : WMS erverS endReceive
: WMS erverS electAlgorithm : CXWatermarking : WMS erverDB
Chọn trang trích
//chọn ảnh( )
//submit( )
//nhận dữ liệu( )
//giải mã( )
//tổ chứ c trích( )
//chọn thuật toán( )
//thự c hiện watermarking( )
//lấy watermark( )
//dò watermark( )
Truyền qua gioa thứ c HTTP
//lấy thông tin bổ sung( )
//lấy kết quả nhúng( )
//tạo báo cáo( )
//mã hóa( )
//gở i kết quả( )
134
8.3.3.4 Lược đồ tuần tự của Use-Case ServerExtractWM
: User
: WMAppClientMainFrame : WMAppEmbedLocalDlg : WMAppSpatialSigText : WMAppSpatialSigImage
: WMAppFiles
//chọn chức năng hide watermark( )
//hiển thị hộp thoại nhúng watermark( )
//kiểm tra thông tin cung cấp( )
//là nhúng text( )
//nhúng text( )
//ghi lại ảnh nhúng( )
//là nhúng ảnh( )
//nhúng ảnh( )
//ghi lại ảnh nhúng( )
8.3.3.5 Lược đồ tuần tự của Use-Case PlayerHideWM
Hình - 24: Lược đồ tuần tự của Use-Case PlayerHideWM
8.4 Thiết kế dữ liệu
8.4.1 Danh sách các bảng STT
Tên bảng Ý nghĩa
1 USERS Lưu trữ thông tin về người dùng
2 WATERMARKS Lưu trữ thông tin về watermark (chữ ký) mỗi lần nhúng
3 PARAMETERS Chứa các tham số hỗ trợ các thuật toán
Bảng - 10: Danh sách các bảng
135
8.4.2 Mối quan hệ giữa các bảng
USERS
ForeignKey(username)
WATERMARKS
PARAMETERS
ForeignKeyK(algorithm)
Hình - 25: Mối quan hệ giữa các bảng dữ liệu
8.4.3 Chi tiết các bảng
8.4.3.1 Bảng USERS
STT Tên trường Kiểu Ý nghĩa Ghi chú
1 username var char(10) Tên dùng truy cập vào hệ
thống
2 password var char(10) Mật khẩu dùng truy cập (Mã hóa MD5)
136
hệ thống
3 firstname var char(15) Họ người dùng
4 lastname var char(30) Tên (cả đệm) của người
dùng
5 address var char(50) Địa chỉ của người dùng
6 email var char(50) Email của người dùng
7 join date time Thòi gian gia nhập hệ
thống
Bảng - 11: Mô tả bảng USERS
8.4.3.2 Bảng WATERMARKS Kiểu STT Tên trường Ý nghĩa Ghi chú
1 orderNumber long Số thứ tự của dữ liệu một Tự tăng dần
watermark
2 watermark text Chữ ký được phát sinh bởi Là duy nhất
hệ thống
3 modifier text Thông tin bổ sung đi kèm
watermark
4 Username var char(10) Bí danh của người dùng
5 originFile var char(50) Đường dẫn thư mục chứa
ảnh gốc lưu trên server
6 markDate date time Thời gian thực hiện
watermark này
7 algorithm var char(10) Tên thuật toán đã thực hiện
watermark này
Bảng - 12: Mô tả bảng WATERMARKS
137
8.4.3.3 Bảng PARAMETERS
STT Tên trường Kiểu Ý nghĩa Ghi chú
1 algorithm var char(10) Tên thuật toán
2 corellation float Mức độ tương quan Có giá trị từ
cho phép để xác 0.0 – 1.0
nhận watermark
3 standardFileConfig var char(50) Đường dẫn tới tệp
cấu hình chuẩn cho
thuật toán này
Bảng - 13: Mô tả bảng PARAMETERS
8.5 Thiết kế giao diện
8.5.1 Các giao diện trong hệ thống
Hệ thống WSS baogồm nhiều giao diện, tương ứnng với 3 ứng dụng
WMServer, WMAppClient, WMWebClient có 3 nhóm giao diện sau;
• Nhóm các giao diên của WMServer: Xuất hiện dưới dạng form và
các hộp thoại, cho phép quản trị server như bật tắt server, thay đổi
cấu hình server, đẩy ueser khỏi hệ thống, …
• Nhóm các giao diện của WMServer: Xuất hiện dưới dạng form và
các hộp thoại, cho phép sử dụng các chức năng của WMAppClient
như các phép xử lý ảnh, trích/nhúng, tạo, lưu ảnh, …
• Nhóm các giao diện của WMWebClient: Xuất hiện dưới dạng các
trang web cho phép người dùng đăng nhập, đăng ký, nhúng/trích
138
watermark., thống kê, tìm kiếm user, …
8.5.2 Mô tả các giao diện chính
8.5.2.1 Màn hình chính của WMServer
Hình - 26: Màn hình chính của server
139
Gồm có các thành phần chức năng sau:
STT Tên Ý nghĩa
Khởi động Khởi động WMServer với các thông số định sẵn 1
Ngưng Ngưng hoạt động của WMServer 2
Khởi động lại Khởi động lại WMServer 3
Cấu hình Gọi màn hình chứa các chức nămg cấu hình server 4
Thành viên Gọi màn hình quản lý thành viên 5
Nhật ký Xem chi tiết hoạt động của WMServer theo ngày 6
Bảng user Hiển thị thông tin các user đang sử dụng hệ thống 7
Ngắt xử lý Ngắt kết nối xử lý của user chọn từ bảng user 8
Thông tin Thông tin của thành viên được chọn trong bảng user 9
Trợ giúp Hiển thị các thông tin trợ giúp 10
Thoát Thoát và đóng WMServer 11
Bảng - 14: Danh sách các chức năng của server
140
8.5.2.2 Màn hình chính cấu hình của WMServer
Hình - 27: Màn hình cấu hình server
Gồm có các thành phần chức năng sau:
STT Tên Ý nghĩa
Chọn đường dẫn skin Để nhập đường dẫn của tệp skin cho server 1
Chọn thư mục chứa ảnh Nhập thư mục chứa ảnh gốc 2
gốc
3 Chọn thư mục chứa ảnh Nhập thư mục chứa ảnh đã nhúng
đã nhúng
4 Ghi nhận Ghi nhận các thông tin đã chọn vào tệp cấu
hình
5 Thoát Thoát khỏi màn hình này
Bảng - 15: Các chức năng của màn hình cấu hình server
141
8.5.2.3 Màn hình chính WMAppClient
Hình - 28: Màn hình chính của WMAppClient
Gồm có các thành phần chức năng sau:
STT Tên Ý nghĩa
Menu File 1 Chứa các chức năng liên quan tới tệp ảnh
Menu Edit 2 Chứa chức năng undo/redo, copy, paste, …
Menu View 3 Chứa các chứa năng liên quan đến hiền thị
toolbox, histogram, status bar
142
4 Menu Image Chứa các chức năng liên quan tới các thuộc
tính của ảnh
5 Menu Transform Chứa các chức năng biến đổi hình học ảnh
6 Menu Filter Chứa các chức năng lọc ảnh
7 Menu Watermark service Chứa các chức năng về nhúng/trích
watermark trênảnh
8 Window Sắp xếp các của sổ tài liệu đang mở
9 Help Chức năng hiện thông báo giúp đỡ người
dùng
Bảng - 16: Các chức năng của màn hình chính WMAppClient
143
8.5.2.4 Màn hình nhúng watermark trên WMAppClient
Hình - 29: Màn hình nhúng watermark trên WMAppClient
Gồm có các thành phần chức năng sau:
STT Tên Ý nghĩa
1 Option Nhúng chữ ký ảnh Chọn nhúng chữ ký là ảnh
2 Option Nhúng chữ ký ảnh Chọn nhúng chữ ký là văn bản
144
3 Chọn tệp Chọn têp ảnh làm chữ ký
4 Mục nhập thông điệp Nhập thông điệp cần nhúng
5 Lưu thành Chọn tệp để lưu
6 Bắt đầu Bắt đầu quá trình nhúng
7 Hủy Thoát khỏi màn hình này
Bảng - 17: Các chức năng trên màn hình nhúng watermark trên
WMAppClient
8.5.2.5 Màn hình trích watermark trên WMAppClient
Gồm có các thành phần chức năng sau:
STT Tên Ý nghĩa
1 Mục nhập chiều cao, rộng của ảnh
2 Lưu thành Chọn tệp để lưu
3 Option chọn trích chữ ký ảnh Chọn trích chữ ký là ảnh
4 Option chọn trích chữ ký là văn bản
5 Bắt đầu Bắt đầu quá trình trích
6 Hủy Thoát khỏi màn hình này
Bảng - 18: Các chức năng của màn hình trích watermark trên
WMAppClient
145
Hình - 30: Màn hình trích watermark trên WMAppClient
146
8.5.2.6 Màn hình dăng nhập của WMWebClient
Hình - 31: Màn hình đăng nhập của WMWebClient
Gồm có các thành phần chức năng sau:
STT Tên Ý nghĩa
Mục nhập bí danh Nơi nhập bí danh 1
Mục nhập mật khẩu Nơi nhập mật khẩu 2
Gởi thông tin đăng nhập về hệ thống 3 Đăng nhập
Gọi trang đăng ký 4 Đăng ký
Gọi trang dành cho thành viên 5 Thành viên
147
Gọi trang dành cho quản trị viên 6 Quản trị
7 Trơ giúp Gọi trang trợ giúp
8 Góp ý Gọi trang góp ý
Bảng - 19: Các chức năng của màn hình đăng nhập
WMWebClient
8.5.2.7 Màn hình chức năng của thành viên WMWebClient
Hình - 32: Màn hình các chức năng của thành viên trên
WMWebClient
148
Màn hình này chức các liên kết chức năng Thành viên, Quản trị, Trợ giúp,
Góp ý giống như màn hình đăng nhập. Ngoài ra còn có các liên kết chức năng
sau:
STT Tên Ý nghĩa
1 Thông tin cá nhân Liên kết tới trang thông tin cá nhân
2 Thông tin ảnh Liên kết tới trang thông tin ảnh
3 Nhúng chữ ký Liên kết tới trang nhúng chữ ký
4 Trích chữ ký Liên kết tới trang trích chữ ký
5 Tra cứu Liên kết tới trang tra cứu của thành viên
6 Thoát Thoát về lại trang đăng nhập
Bảng - 20: Các chức năng trên trang thành viên
149
8.5.2.8 Màn hình nhúng watermark của WMWebClient
Hình - 33: Màn hình nhúng watermark từ WMWebClient
Màn hình này chức các liên kết chức năng Thành viên, Quản trị, Trợ giúp, Góp ý
giống như màn hình đăng nhập. Ngoài ra còn có các liên kết chức năng sau:
STT Tên Ý nghĩa
Browse Chọn tệp ảnh cần gởi nhúng 1
Thuật toán Chọn thuật toán 2
Các option phụ Các option do người dùng đề nghị để chọn thuật 3
toán tư động
150
Mục nhập thông tin phụ Thông tin bổ sung đi kèm với watermark (chữ ký) 4
5 Gởi thông tin Gởi các dữ liệu lên WMServer
6 Xóa hết Làm sạch nội dung các mục chọn
Bảng - 21: Các chức năng trên màn hình nhúng watermark từ
WMWebClient
8.5.2.9 Màn hình báo cáo trích watermark của WMAppClient
Hình - 34: Màn hình báo cáo kết quả trích
Màn hình này chức các liên kết chức năng Thành viên, Quản trị, Trợ giúp,
Góp ý giống như màn hình đăng nhập. Trong trường hợp trích được watermark
trang này còn có thêm các liên kết tới trang thông tincủa tác giả, liên kết gởi mail
151
cho tác giả.
Chương 9. CÀI ĐẶT VÀ THỬ NGHIỆM
9.1 Công cụ và môi trường phát triển ứng dụng
Hệ thống WSS (Watermarking Services System) được xây dựng và phát
triển trên các công cụ và môi trường sau:
(cid:153) Công cụ phân tích thiết kế: Rational® Rose 2002
(cid:153) Môi trường cài đặt hệ thống: Microsoft ® Windows 2000, Microsoft ®
Windows XP
(cid:153) Môi trường lập trình: Microsoft® Visual Studio .NET
(cid:153) Môi trường của hệ quản trị cơ sở dữ liệu: Microsoft ® SQL Server
2000
(cid:153) Môi trường thiết kế web: Macromedia® Dreamweaver MX (cid:153) Môi trường thiết kế ảnh: Adobe® Photoshop 7.0
Ngoài ra, trong quá trình xây dựng và phát triển hệ thống, chúng em còn
tham khảo và sử dụng các bộ thư viện sau:
(cid:153) Bộ thư viện xử lý ảnh ImageMagick (mã nguồn mở) của
imagemagick.org
152
(cid:153) Bộ thư viện tạo giao diện Active SkinBuider của Soft Shape
9.2 Mô hình cài đặt
WMApp Package
WMServ er Package
WMWeb Package
XGMagick dlls
Activ e skin dll
.NET dlls
Imagemagick dlls
Hình - 35: Mô hình cài đặt của hệ thống WSS
Cấu trúc của các thành phần trong mô hình cài đặt:
STT Tên Ý nghĩa
1 Thành phần .NET dlls Chứa các thành phần, các thư viện của .NET
2 Thành phần ImageMagick Chứa bộ thư viện xử lý ảnh của ImageMagick
dlls
3 Thành phần XGMagick Chứa các thư viện do chúng em phát triển
153
dlls dựa trên ImageMagick, đồng thời nó cũng là
bộ thư viện chứa các thuật toán watermark có
thể dùng trên môi trường .NET cho bất cứ
ngôn ngữ nào trên đó.
4 Thành phần Active skin dll Chứa thư viện để thay đổi, tạo các skin cho
các giao diện thể hiện của WMAppClient và
WMServer.
Thành phần WMServer Chứa các lớp đối tượng của WMServer được 5
Package biên dịch thành ứng dụng server.
Thành phần WMAppClient Chứa các lớp đối tượng của WMAppClient 6
được biên dịch thành ứng dụng Player.
Thành phần WMWebClient Chứa các lớp đối tượng của WMWebClient 7
được biên dịch thành ứng dụng chạy trên môi
trường web.
Bảng - 22: Cấu trúc các thành phần trong mô hình cài đặt
154
Chương 10. TỔNG KẾT
10.1 Kết luận
Trong quá trình thực hiện dề tài, chúng em đã nghiên cứu, tìm hiểu được
những vấn đề chung trong lĩnh vực watermarking. Đối với ảnh số, chúng em đã
đi sâu vào nghiên cứu và cài đặt được một số thuật toán watermarking. Đồng
thời trong quá trình nghiên cứu, chúng em cũng tiến hành nhiều thử nghiệm và
đúc kết các nhận xét cho các thuật toán, có đề xuất một số biện pháp nhằm cải
tiến thuật toán cho tốt hơn.
Các thuật toán mà chúng em cài được, là những đại diện tiêu biểu cho các
thuật toán watermarking trên ảnh số, cụ thể đó là các thuật toán watermarking
trên miền không gian, thuật toán watermarking trên miền DCT và thuật toán
watermarking trên miền wavelet. Chúng em cũng đã tiến hành các thuật toán
watermarking này không những trên các ảnh xám mà còn trên ảnh màu và cho
các định dạng ảnh khác nhau, trong đó có định dạng ảnh theo chuẩn mới -
JPEG2000.
Bên cạnh đó, chúng em cũng đã xây dựng được một hệ thống gồm 3 ứng
dụng hoạt động liên quan tới nhau. Đó là một ứng dụng về server thực hiện các
dịch vụ watermarking trên ảnh số, một ứng dụng chuyên dùng xử lý ảnh có kết
nối tới server, và một ứng dụng web phục vụ cho việc sử dụng hệ thống qua môi
trường Internet. Hệ thống này có thể được dễ dàng mỏ rộng để áp dụng cho các
155
dữ liệu đa phương tiện khác ngoài ảnh số với những thay đổi phù hợp.
Chúng em hy vọng rằng trong thời gian tới hệ thống này sẽ được cài đặt
hoàn chỉnh hơn và được áp dụng trong thực tế, để đáp ứng những nhu cầu về bảo
vệ tác quyền, phân phối tác phẩm và xác nhận nội dung ngày càng gia tăng.
10.2 Hướng phát triển
Hệ thống này có thể được phát triển hơn, về cơ bản, bằng cách cải tiến các
thuật toán watermarking mà hệ thống sử dụng. Điều này là một tất yếu vì các
thuật toán watermarking hiện nay không ngừng được cải tiến, phát triển, và xuất
hiện những thuật toán mới.
Hơn thế nữa, hệ thống này hoàn toàn có thể cải tiến để áp dụng cho nhiều
lĩnh vực khác nhau có nhu cầu tương tự.
Hệ thống này có thể được hoàn thiện hơn về mặt qui trình, hoặc về các
mặt khác như công nghệ, môi trường hoạt động. Chẳng hạn như có thể cải tiến
để hệ thống hoạt động được trên mạng không dây (wire less), hay cải tiến để các
ứng dụng chạy được trên Pocket PC, PDA, … hoặc những cải tiến khác như
156
thay, nâng cấp cơ sở dữ liệu, ví dụ từ MS-SQL sang Oracle chẳng hạn.
TÀI LIỆU THAM KHẢO
[ 1] Dương Anh Đức, Trần Minh Triết, Một số vấn đề về kỹ thuật
Watermarking trên ảnh kỹ thuật số, Hội thảo Quốc gia “Một số vấn đề chọn
lọc của Công Nghệ Thông Tin” lần 5, Nha Trang, Việt Nam, 5-7 tháng 6
năm 2002.
[ 2] Duong Anh Duc, Tran Minh Triet, Luong Han Co, Chuẩn mã
hóa mới AES, 4th National Conference
in Information
Technology, Hai Phong, Vietnam, Jun 2001.
[ 3] Martin Kutter, Sviatoslav Voloshynovskiy, Alexander
Herrigel, The Watermark Copy Attack.
[ 4] I. Cox, J. Killian, F.T Leighton, and T. Shamoon, “Secure
spread spectrum watermarking for mutimedia”, IEEE Trans,
Image Processing, 1997.
[ 5] P.Wofgang and E. Delp, “A watermark for digital images”,
Proc. IEEE Inter. Conf. Image Processing, 1996.
[ 6] C. Hsu and J. Wu, “Hidden signatures in images”, Proc. IEEE
Inter. Conf. Image Processing, 1996.
[ 7] J. Ó Ruanaidh, F. Boland, and W. Dowling, “Phase
watermarking of digiatal imgages”, Proc. IEEE Inter. Conf. Image
Processing, 1996.
xvii
[ 8] S. Craver, N. Memon, B. Yeo, and M. Yeung, “On the
invertibility of invisible watermarking techniques”, Proc, IEEE
Inter, Conf. Image Peocessing, 1997.
[ 9] W. Zeng and B.Liu, “On resolving right ful ownerships of
digital images by invisible watermarks”, Proc. IEEE Inter. Conf.
Image Processing, 1996.
[ 10] I.J Cox and L.Miller, “A review of watermarking and the
importance of perceptual modeling”, Proc. Electronic Imaging,
1997.
[ 11] Ingemar J.Cox, Joe Kilian, Tom Leighton, and Talal G.
Shamoon, “Secure spread spectrum watermarking for images,
audio and video”, Proceeding of
the IEEE International
Conference on Image Processing, ICIP ’97.
[ 12] P. Meerwarld, “Digital Image Watermarking in the Wavelet
Transfrom Domain”, Salburg, 2001.
[ 13] Po-Chyi Su, Houng-Jyh Wang, and C. –C. Jay Kuo, “Digital
image watermrking in regions of intrest”, ISCT Image Processing,
Image Quality, Image Capture, Systems Conference, PICS, 1999.
[ 14] Xiang-Gen Xia, Charles G. Boncelet, and Gonzalo R.Arce,
“A multiresolution watermark for digital images”, Proceeding of
the IEEE International Conference on Image Processing, 1997.
xviii
[ 15] Wenwu Zhu, Zixiang Xiong, and Yaquin Zhang,
“Multiresolution watermarking for image and video”, Proc. IEEE
Inter. Conf. Image Processing, 1998.
[ 16] dukiedoggie.tripod.com/cornell/wavelets
[ 17] M. Barni, F. Bartolini, V.Cappellini, and A. Piva, “A DCT
domain system for robust image watermrking”, Signal, 1998.
[ 18] G. Braudaway, “Protecting publicly-available images with an
invisible image watermark”, Proc. IEEE Inter. Conf. Image
Processing, 1997.
[ 19] D.Fleet and D. Heeger, “Embeding invisible information in
color images”, Proc. IEEE Inter. Conf. Image Processing, 1997.
[ 20] M. Kutter, F.Jordan, and Bossen, “Digital signature of color
images using amplitude modulation”, Storage and Retrieval for
Image and Video Databases, 1997.
[ 21] A. Piva, “A DCT-domain watermarking system for copyright
protection of digital images”, 1998.
[ 22] I. Pitas, “A method for signature casting on digital images”,
Proc. IEEE Inter. Conf. Image Processing, 1996.
[ 23] N. Nikolaidis and I. Pitas, “Robust image watermarking in
the spatial domain”, Signal Processing, 1998.
xix
[ 24] Frank Hartung, Jonathan K. Su, and Bernd Girod, Spread
Spectrum Watermarking Malicious Attacks and Counterattacks.
Telecommunications Laboratory, University of Erlangen-
Nuremberg, Cauerstrasse 7, 91058 Erlangen, Germany.
[ 25] http://www.watermarkingworld.org
[ 26] Marc Schneider, Shih-Fu Chang, “A robust content based
digital signature for image authentication”, Image and Advanced
Television Laboratory, Columbia University.
[ 27] Geert Depovere, Ton Kalker, Jaap Haitsma, Maurice Maes,
Lieven De Strycker, Pascale Termont, Jan Vandewege, Andreas
Langell, Claes Alm, Per Norman, Gerry O’Reilly, Bob Howes,
Henk Vaanholt, Rein Hintzen, Pat Donnelly, Andy Hudson, "The
VIVA Project: Digital Watermarking for Broadcast Monitoring".
[ 28] P. Termont, L. De Strycker, J. Vandewege (University of
Gent, INTEC, Belgium,), M. Op de Beeck, J. Haitsma, T. Kalker,
M. Maes, G. Depovere (Philips Research Laboratories Eindhoven,
The Netherlands), “How To Achieve Robustness Against Scaling
In A Real-Time Digital Watermarking System For Broascast
Monitoring”.
xx
[ 29] Matt L. Miller(Signafy, Inc), Ingemar J. Cox (NEC Research
Institute), Jeffrey A Bloom (Signafy, Inc.), "Watermarking in the
Real World: An Application to DVD".
[ 30] Min Wu, Bede Liu, Department of Electrical Engineering,
“Watermarking For Image Authentication”.
xxi