LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn sự hướng dẫn tận tình của cô
giáo Th.S Lưu Thị Bích Hương, khoa Công nghệ thông tin, trường Đại học sư
phạm Hà Nội 2.
Trong suốt thời gian thực hiện khóa luận, mặc dù rất bận rộn trong công
việc nhưng cô vẫn dành nhiều thời gian và tâm huyết trong việc hướng dẫn
em. Cô cung cấp cho em rất nhiều hiểu biết về một lĩnh vực mới khi em mới
bắt đầu bước vào thực hiện khóa luận.
Em cũng xin chân thành cảm ơn các thầy, cô giáo trong khoa Công nghệ
Thông tin, cũng như các thầy, cô giáo trong trường đã giảng dạy và giúp đỡ
em trong 4 năm học vừa qua. Chính các thầy, cô giáo đã xây dựng cho chúng
em những kiến thức nền tảng và kiến thức chuyên môn để em có thể hoàn
thành khóa luận tốt nghiệp và chuẩn bị cho những công việc của mình sau
này.
Cuối cùng em xin bày tỏ lòng biết ơn tới gia đình và bạn bè đã giúp đỡ
động viên em rất nhiều trong suốt quá trình học tập để em có thể thực hiện tốt
khóa luận này.
Tuy đã có những cố gắng nhất định nhưng do thời gian và trình độ có
hạn nên chắc chắn khóa luận này còn nhiều thiếu sót và hạn chế. Kính mong
nhận được sự góp ý của thầy, cô giáo và các bạn.
Hà Nội, tháng 05 năm 2013
Sinh viên
Phạm Thị Thanh Nhân
LỜI CAM ĐOAN
Tên em là: PHẠM THỊ THANH NHÂN
Sinh viên lớp: K35 – Tin học, khoa Công nghệ thông tin, trường Đại học
sư phạm Hà Nội 2.
1.2.4. Không gian YCbCr ..................................................................... 15
1.3. CẤU TRÚC MỘT SỐ LOẠI ẢNH THÔNG DỤNG............................. 16
1.3.1. Biểu diễn ảnh trên máy tính ........................................................ 16
1.3.2. Cấu trúc một số định dạng ảnh thông dụng ................................. 18
CHƯƠNG 2: CÁC KỸ THUẬT THỦY VÂN ............................................. 22
2.1. TỔNG QUAN VỀ THỦY VÂN ............................................................ 22
2.1.1. Khái niệm thủy vân..................................................................... 22
2.1.2. Nguồn gốc thủy vân .................................................................... 23
2.1.3. Phân loại thủy vân ...................................................................... 25
2.1.4. Ứng dụng của thủy vân ............................................................... 27
2.2. MÔ HÌNH THỦY VÂN ........................................................................ 30
2.2.1. Quy trình thủy vân ...................................................................... 30
2.2.2. Các yêu cầu với thủy vân ............................................................ 33
2.2.3. Các khuynh hướng tiếp cận của kỹ thuật thủy vân ...................... 35
2.3. CÁC KỸ THUẬT THỦY VÂN ............................................................ 36
2.3.1. Kỹ thuật nhúng thủy vân theo miền không gian ảnh ................... 36
2.3.2. Các kỹ thuật nhúng thủy vân theo miền tần số ............................ 40
2.3.3. Kỹ thuật trải phổ trong truyền thông ........................................... 53
2.3.4. Kỹ thuật kiểm định thủy vân ....................................................... 55
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG ...................... 56
3.1. GIỚI THIỆU BÀI TOÁN ...................................................................... 56
3.2. PHƯƠNG PHÁP GIẢI QUYẾT ........................................................... 57
3.2.1. Thủy vân bằng chèn dữ liệu vào ảnh ........................................... 57
3.2.2. Cấu trúc ảnh Bitmap trước và sau khi chèn dữ liệu ..................... 57
3.2.3. Cấu trúc ảnh JPEG trước và sau khi chèn dữ liệu........................ 60
3.2.4. Giao diện ứng dụng minh hoạ ..................................................... 60
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................... 63
TÀI LIỆU THAM KHẢO ............................................................................ 65
Biến đổi Fourier rời rạc
DWT
Discrete Wavelet Transform
Biến đổi sóng rời rạc
GIF
Graphics Interchange Format
Ảnh gif
HSL
Hue – Saturation – Lightness
Không gian màu HSL
HSV
Hue – Saturation – Value
Không gian màu HSV
HVS
Human Visual System
Sai số bình phương trung bình
NC
Normalized Correlation
Hệ số tương quan chuẩn
PSNR
Peak Signal to Noise Ratio
Tỉ lệ của tín hiệu nhọn với nhiễu
RGB
Red – Green – Blue
Không gian màu RGB
DANH MỤC HÌNH VẼ
Hình 1.1 - Ngưỡng biến đổi nhỏ nhất mà con người cảm nhận được với các
độ chói I khác nhau ........................................................................................ 6
Hình 1.2 - Hàm nhạy cảm tương phản dựa trên mẫu của Mannos và Sakrison
....................................................................................................................... 7
Hình 1.3 - Sự cảm nhận ba màu của thị giác người....................................... 8
Hình 1.4 - Độ nhạy cảm của mắt người với các tần số thời gian khác nhau .... 9
Hình 1.5 - So sánh ảnh ban đầu và ảnh đó nhúng thủy vân .......................... 10
Hình 1.6 - Không gian màu RGB ................................................................ 12
chất lượng. Những thành tựu của cuộc cách mạng khoa học và kỹ thuật thế kỷ
20 và những thập niên đầu của thế kỷ 21 này đã làm thay đổi sâu sắc cuộc
sống, giúp chúng ta ngày càng gần nhau hơn, mang lại cho nhau nhiều cơ hội
phát triển hơn nhưng đồng thời cũng phát sinh thêm nhiều thách thức mới.
Mạng Internet toàn cầu đã tạo ra những cơ cấu ảo, là nơi diễn ra quá trình trao
đổi thông tin trong mọi lĩnh vực, đã thúc đẩy khả năng sáng tạo, xử lý và
thưởng thức các dữ liệu đa phương tiện. Nhưng chính trong môi trường mở,
tiện nghi như thế lại xuất hiện những vấn nạn, những tiêu cực đang rất cần các
giải pháp hữu hiệu nhằm bảo đảm an toàn thông tin, chống lại nạn ăn cắp bản
quyền, giả mạo thông tin, truy cập thông tin trái phép... Việc tìm giải pháp
cho những vấn đề này không chỉ giúp ta hiểu thêm về công nghệ phức tạp
đang phát triển rất nhanh này mà còn tạo ra những cơ hội phát triển mới.
Bên cạnh đó, nhiệm vụ đảm bảo thông tin liên lạc cho quân đội trong
thời kỳ mới chiếm một vị trí hết sức quan trọng. Tuy hiện nay đã có nhiều
biện pháp giải quyết, nhưng chủ yếu vẫn dựa vào phương pháp mã mật thông
tin. Chính vì tính chất đặc thù của mã mật đã khiến bản tin rất dễ bị thám mã,
phá hoại. Cho nên, để nâng cao tính an toàn và bí mật, bản tin có thể được
đem giấu vào các đối tượng rất bình thường khác mà không gây ra bất kỳ sự
chú ý nào. Và như vậy, sẽ lợi dụng một cách hiệu quả các mạng truyền thông
thương mại sẵn có phục vụ cho nhiệm vụ quốc phòng, an ninh với tính tin
cậy, an toàn và bí mật cao.
Xuất phát từ yêu cầu của thực tế nhằm mục đích hướng tới một phần
nhiệm vụ trên, nên em chọn đề tài “Kỹ thuật thủy vân trong ứng dụng bảo vệ
bản quyền” để làm khóa luận.
1
2. Mục đích và nhiệm vụ nghiên cứu
Do yêu cầu bảo vệ bản quyền, chứng thực (đánh dấu, xác thực) nguồn
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây
dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các
vấn đề của đề tài.
b. Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù
hợp với yêu cầu thực tiễn. Nội dung xử lý nhanh đáp ứng được yêu cầu ngày
càng cao của người sử dụng.
c. Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được
nghiên cứu và kết quả đạt được qua những phương pháp trên.
6. Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, khóa luận có những
nội dung sau:
Chương 1: Cơ sở lý thuyết – Chương này trình bày một số kiến thức cơ
sở nhằm mục đích phục vụ cho việc thủy vân trong ảnh được hiệu quả hơn,
như kiến thức về mô hình thị giác người, các mô hình màu và cấu trúc của
một số định dạng ảnh thông dụng.
Chương 2: Các kỹ thuật thủy vân – Trong chương này, khóa luận trình
bày tổng quan về thủy vân như khái niệm, nguồn gốc, phân loại cũng như ứng
dụng của thủy vân hiện nay, việc so sánh giữa Thủy vân và Giấu tin. Các kỹ
thuật thủy vân trong môi trường ảnh là nội dung chính sẽ được trình bày trong
khóa luận. Các kỹ thuật thủy vân được nghiên cứu nằm trong hai hướng tiếp
cận chính là tiếp cận theo miền không gian ảnh và tiếp cận theo miền tần số
ảnh. Trong mỗi phương pháp thủy vân, khóa luận sẽ nêu lên cơ sở kỹ thuật,
nội dung cũng như phân tích ưu nhược điểm của từng phương pháp.
3
Chương 3: Xây dựng chương trình ứng dụng - Từ những kiến thức lý
khác của mắt người, kết quả tốt nhất khi hai tín hiệu cùng một tần số, hướng
và vị trí.
Nhạy cảm về sự tương phản cũng chính là sự nhạy cảm về mật độ mô tả
tính thấy được của nhiễu trên ảnh gốc. Giả sử, mắt người đã quen với độ chói
Io của nền, mục đích là tìm lượng khác biệt nhỏ nhất I giữa điểm ở tâm và
5
các điểm xung quanh để mắt người có thể phân biệt được. Sự khác biệt này
thường được gọi là sự khác biệt nhỏ nhất có thể thấy được (Just Noticeable
Difference - JND). Minh họa như hình bên dưới:
JND
Hình 1.1 - Ngưỡng biến đổi nhỏ nhất mà con người cảm nhận được
với các độ chói I khác nhau
1.1.2. Nhạy cảm về độ chói
Giá trị ngưỡng để đủ tìm một nhiễu trên một nền sẽ nhận giá trị bất biến.
Đối với mắt người đó là một hàm không tuyến tính và phụ thuộc vào thuộc
tính của ảnh. Weber chỉ ra rằng, mắt người nhạy cảm với các mức cường độ
thấp và giảm nhanh với các mức cường độ cao. Thêm vào đó là sự phụ thuộc
vào cường độ của các vùng xung quanh của vùng đang được kiểm tra. Theo
đó, nếu cường độ của các vùng xung quanh tăng, sẽ kéo theo cường độ tương
đối trong vùng tối giảm.
1.1.3. Nhạy cảm về tần số
Không gian tần số cũng có ảnh hưởng đáng lưu ý đến sự nhạy cảm của
mắt người. Mắt người nhạy cảm với các sóng hình sin với các tần số khác
nhau. Sự nhạy cảm này chỉ phụ thuộc vào chức năng truyền sự điều biên của
mắt và không phụ thuộc vào dữ liệu ảnh. Mắt người rất nhạy cảm với các
bản nhất của hệ thống màu của hệ thống thị giác người gồm ba màu cơ bản:
Đỏ (Red), Xanh lá cây (Green) và Xanh da trời (Blue). Sự đáp ứng của mắt
người với ba màu trên được minh họa như hình 1.3:
Hình 1.3 - Sự cảm nhận ba màu của thị giác người
Từ hình ta thấy, mắt người kém nhạy cảm với kênh màu xanh da trời
(Blue channel) hơn hai kênh còn lại. Vì lý do này mà nhiều hệ thống thủy vân
số nhúng lượng thông tin nhiều nhất vào kênh màu xanh da trời.
Các tần số thời gian được nhận biết như là sự chuyển động. Hình 1.4 chỉ
ra một thí nghiệm đo sự đáp ứng của mắt người với nhiều tần số thời gian
khác nhau. Kết quả chỉ ra rằng độ nhạy cảm của mắt người giảm nhanh với
các tần số trên 30Hz. Điều này giải thích vì sao trong truyền hình, tỉ lệ khung
hình trên giây (frame/sec) không vượt quá mức 60.
8
Hình 1.4 - Độ nhạy cảm của mắt người với các tần số thời gian khác nhau
1.1.4. Mặt nạ thị giác
Ngữ cảnh ảnh hưởng đến nhận thức. Do vậy, mặc dù chúng ta có thể
nghe một âm thanh riêng biệt rất rõ ràng, nhưng lại không thể khi có một âm
thanh khỏe cùng tần số nhưng lớn hơn. Cũng vậy, một cấu trúc (texture) có
thể nhìn được rõ ràng khi nó đứng biệt lập, nhưng lại rất khó phát hiện khi
được nhúng vào một ảnh có cấu trúc cao. Người ta gọi đó là hiện tượng sự
hiện diện của một tín hiệu có thể ẩn hay che đi sự hiện diện của một tín hiệu
khác, hay “mặt nạ” – masking. Hình 1.5 dưới đây so sánh hai ảnh: ảnh ban
đầu và ảnh được nhúng thủy vân tần số thấp. Mặc dù thủy vân nhúng vào
phần bầu trời và phần núi là đồng nhất, chúng ta lại rất dễ nhận ra sự thay đổi
của phần bầu trời so với ảnh cũ, trong khi rất khó nhận ra sự thay đổi ở phần
núi.
Ảnh số được tạo nên bởi ma trận các điểm ảnh, mỗi điểm ảnh lại mang
một màu, màu này là sự hòa trộn của các màu cơ bản. Việc tìm hiểu về các
không gian màu sẽ hỗ trợ cho các kỹ thuật thủy vân số.
Không gian màu (color space) được đưa ra để định các màu hiển thị trên
máy tính bởi vì chúng làm đơn giản hóa các thao tác tính toán cần thiết cho
việc chuyển đổi màu sắc (color transformation). Không gian màu có thể được
thiết kế hoặc là dựa trên cơ sở của bộ phát sinh màu của phần cứng (hardware
color generation) (ví dụ như không gian RGB) hoặc là dựa trên sự cảm nhận
màu sắc của mắt (như không gian HSL). Với một ứng dụng, việc chọn không
gian màu nào để sử dụng tùy thuộc vào một số nhân tố sau: độ chính xác mà
các nhà thiết kế cần kiểm soát màu sắc (color control), và yêu cầu về sự tương
tác giữa các màu sắc và tốc độ các tính toán cho ứng dụng đó.
11
1.2.1. Không gian RGB
Không gian RGB mô tả màu sắc bằng ba thành phần: Đỏ (Red), Xanh lá
cây (Green), Xanh da trời (Blue). Không gian màu này được mô tả như hình
dưới:
G
Grayscale
1
Green
(0,1,0)
Cyan
(0,1,1)
- Ưu điểm: Việc sử dụng không gian RGB có một số lợi ích:
Không gian RGB là chuẩn công nghiệp cho các thao tác đồ họa máy
tính. Các thao tác màu sắc có thể được tính toán trên các không gian màu
khác nhưng cuối cùng cần phải chuyển về không gian RGB để có thể
hiển thị trên màn hình (do thiết kế của phần cứng dựa trên mô hình
RGB).
Có thể chuyển đổi qua lại giữa không gian RGB với các không gian
màu khác như CMY, HSL, HSV, ...
Các thao tác tính toán trên không gian RGB thường đơn giản hơn.
12
- Nhược điểm:
Các giá trị RGB của một màu là khác nhau đối với các màn hình khác
nhau: Nghĩa là các giá trị RGB của màu trên màn hình màu này sẽ không
sinh ra đúng màu đó trên một màn hình khác.
Sự mô tả các màu trong thế giới thực đối với không gian RGB còn
nhiều hạn chế bởi vì không gian RGB không hoàn toàn phù hợp với sự
cảm nhận màu sắc của con người. Hai điểm phân biệt trong không gian
RGB, với mắt người có thể hoặc không thể là thể hiện của hai màu khác
nhau. Chính vì điều này mà không gian RGB không thể ánh xạ trực tiếp
đến bất cứ chiều cảm nhận nào khác (như độ bão hòa - saturation, độ
sáng - lightness) ngoài hue (sắc độ).
1.2.2. Không gian HSV
Không gian RGB là màu mà mắt con người cảm nhận ánh sáng chứ
không phải màu mà mắt người cảm nhận màu sắc. Mặc dù không gian RGB
biểu diễn chính xác cái mà màn hình cần hiển thị cho mắt người, nhưng nó lại
không phải là mô hình tốt để người sử dụng biểu diễn một màu cụ thể khi họ
suy nghĩ. Ví dụ, sẽ rất khó cho người dùng khi họ muốn biết giá trị R, G, B để
Không gian màu CMY được xác định bởi ba màu cơ sở Cyan, Magenta
và Yellow dành cho máy in màu. Không gian màu CMY thuộc loại mô hình
trừ, trong khi RGB thuộc loại mô hình cộng. Nghĩa là với không gian màu
RGB, một màu được tạo ra bằng cách thêm vào màu đen (giá trị RGB là
0,0,0) một tổ hợp các màu cơ sở để tạo màu mới, ví dụ màu vàng (giá trị RGB
là 1,1,0). Trong khi với không gian màu CMY, một màu được tạo ra bằng
cách loại bỏ từ ánh sáng trắng. Hình bên dưới minh họa và so sánh giữa
không gian màu RGB và CMY.
R
M
W
B
C
C
B
Y
K
G
M
R
G
không gian màu được tạo bởi độ sáng Y và hai thành phần màu. Cụ thể với
không gian YCbCr thì Cb là màu blue/yellow, và Cr là màu red/green.
Công thức chuyển đổi giữa không gian YCbCr và RGB:
Y
0.299 0.587 0.114 R
Cb = 0.147 0.289 0.436 G
Cr
0.615 0.515 0.100 B
Ưu điểm của không gian YCbCr là tín hiệu trong không gian này có thể
được xử lý để loại bớt một số thông tin. Do vậy, không gian màu này được sử
dụng phổ biến trong kỹ thuật nén, như nén ảnh JPEG hay nén video MPEG.
1.3. CẤU TRÚC MỘT SỐ LOẠI ẢNH THÔNG DỤNG
1.3.1. Biểu diễn ảnh trên máy tính
a. Khái niệm ảnh số
Ảnh trong thực tế là ảnh liên tục về không gian và về giá trị độ sáng.
Một ảnh có thể được định nghĩa là một hàm hai chiều f(x,y), trong đó x và y là
tọa độ trong không gian, và biên độ của hàm f tại bất kỳ cặp tọa độ (x, y) nào
được gọi là cường độ của ảnh tại điểm đó. Khái niệm cấp xám thường được
sử dụng để đề cập đến cường độ của ảnh đơn sắc. Ảnh màu được tạo thành từ
sự kết hợp của các ảnh 2D riêng biệt. Ví dụ, trong hệ thống màu RGB, một
ảnh màu là sự phối hợp của ba thành phần màu (đỏ, xanh lá cây, xanh da trời)
riêng biệt. Chính vì lý do này, rất nhiều kỹ năng áp dụng với ảnh đơn sắc
cũng có thể áp dụng với ảnh màu bằng cách xử lý ba thành phần ảnh riêng
- Dễ dàng sao chép các điểm ảnh từ hình này sang hình khác.
- Vì đơn vị biểu diễn là các điểm ảnh, nên ảnh mành cho phép thực hiện
các phép toán trên các bit của nó.
Các thành phần của ảnh mành:
- Tiêu đề đầu (Header): thông tin về ảnh, thường lưu cấu trúc của ảnh
dưới dạng nhị phân hay mã ASCII.
- Bảng màu (Pallette): Là mảng một chiều, chứa chỉ mục các màu của
ảnh. Mỗi điểm ảnh có lưu con trỏ đến chỉ mục trên bảng màu. Kích thước của
17
bảng màu được tính từ độ sâu điểm ảnh (pixel depth). Bảng màu có thể được
sắp xếp theo thứ tự gam màu hoặc theo độ chói.
- Dữ liệu (Data): nội dung của ảnh, nằm ngay sau phần bảng màu, chứa
giá trị màu của điểm ảnh.
- Tiêu đề cuối (Footer): chứa một số thông tin đặc biệt như tính tương
thích với các phiên bản cũ.
Ảnh vector
Trong kỹ thuật đồ họa vector, người ta chỉ lưu trữ mô tả toán học của các
thành phần trong mô hình hình học cùng với các thuộc tính tương ứng của nó
mà không lưu lại toàn bộ các điểm ảnh.
Đặc điểm của ảnh vector:
- Không cho phép thay đổi thuộc tính của từng điểm ảnh riêng biệt trực
tiếp mà phải xử lý với từng thành phần hình học cơ sở.
- Cho phép quan sát ảnh ở nhiều góc độ khác nhau một cách dễ dàng
bằng cách thay đổi điểm nhìn và góc nhìn.
Các thành phần của ảnh vector:
- Tiêu đề đầu (Header): Lưu trữ cấu trúc của ảnh, kích thước tiêu đề phụ
thuộc loại dữ liệu lưu trữ.