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