ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Hoàng Trí Nhân
THỦY VÂN SỐ TRONG MÔI TRƯỜNG ẢNH
VÀ ỨNG DỤNG BẢO VỆ BẢN QUYỀN
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Hoàng Trí Nhân
THỦY VÂN SỐ TRONG MÔI TRƯỜNG ẢNH
VÀ ỨNG DỤNG BẢO VỆ BẢN QUYỀN
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: PGS.TS. Trịnh Nhật Tiến
Cán bộ đồng hướng dẫn: ThS. Lương Việt Nguyên
HÀ NỘI - 2010
TÓM TẮT NỘI DUNG KHÓA LUẬN
Khóa luận này tìm hiểu và nghiên cứu các kỹ thuật thủy vân số trong môi trường
ảnh tĩnh và ứng dụng trong bảo vệ bản quyền.
Trước khi tìm hiểu các kỹ thuật này, khóa luận 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 số 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. Sau đó, khóa luận trình bày tổng quan về thủy vân số 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 số hiện nay, sự phân biệt giữa Thủy vân số và
Giấu tin.
Các kỹ thuật thủy vân số 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 số, khóa luận sẽ nêu lên cơ sở kỹ thuật, nội dung cũng như phân
Hình 1 Ngưỡng biến đổi nhỏ nhất mắt người cảm nhận được
Hình 2 Hàm nhạy cảm tương phản dựa trên mẫu của Mannos và Sakrison
Hình 3 Sự cảm nhận 3 màu của thị giác người
Hình 4 Độ nhạy cảm của mắt người với các tần số thời gian khác nhau
Hình 5 So sánh ảnh gốc và ảnh đã nhúng thủy vân
Hình 6 Không gian màu RGB
Hình 7 Không gian màu HSV
Hình 8 Không gian màu CMY
Hình 9 Một trong những thủy vân trên giấy đầu tiên
Hình 10 Số lượng các paper về thủy vân số qua các năm
Hình 11 Ảnh trước và sau nhúng thủy vân
Hình 12 Tách thủy vân từ ảnh đã nhúng
Hình 13 So sánh ảnh gốc và ảnh bị xuyên tạc
Hình 14 Minh họa một ảnh nhúng các thủy vân khác nhau
Hình 15 Mô hình hệ thống thủy vân ảnh số
Hình 16 Phân chia 3 miền tần số ảnh của biến đổi DCT
Hình 17 Năng lượng phân bố của ảnh ứng với biến đổi DCT
Hình 18 Tần số ảnh phân tích theo DWT
Hình 19 Vấn đề thủy vân dưới góc nhìn của truyền thông
Hình 20 Khó phân biệt ảnh giả mạo bằng mắt thường
Hình 21 Quá trình nhúng thủy vân vào ảnh
Hình 22 Quá trình tách thủy vân
Hình 23 Ảnh trước và sau khi nhúng thủy vân bằng thuật toán F4
Hình 24 Sử dụng thuật toán F5 để nhúng thủy vân
MỞ ĐẦU
Từ xa xưa, con người đã biết giấu thông tin (ý nghĩa hay sự hiện diện) trước khi gửi
cho nhau, để đảm bảo tính bí mật, người khác không biết, không hiểu thông tin đó, nhằm
phục vụ cho các mục đích khác nhau. Ví dụ, người ta khắc bản đồ kho báu lên đầu các
thủy thủ, để tóc mọc che kín đi,… Hai phương pháp cơ bản của giấu thông tin
(information hiding) là cryptography (còn gọi là secret writing – viết mật hay mã hóa) và
- Dễ dàng sao chép: Sao chép một tài liệu số là rất dễ dàng, nhanh chóng và chất
lượng vẫn như bản gốc. Hơn nữa, những bản sao chép này lại tiếp tục được sao chép ra
thành rất nhiều các bản khác, thời gian sao chép và chất lượng tài liệu là không thay đổi.
- Dễ dàng phổ biến: Sự xuất hiện của Internet làm cho việc phổ biến một tài liệu số
trở nên rất dễ dàng. Từ một máy tính cá nhân, qua mạng toàn cầu, có thể chuyển một tài
liệu đến hàng triệu người. Mỗi người này lại có thể chuyển tài liệu ấy cho rất nhiều người
khác, khiến cho số lượng tăng theo cấp số nhân. Cùng với tính dễ dàng sao chép, tài liệu
này lại được sao chép ra với một số lượng không thể dự đoán.
- Dễ dàng lưu trữ: Với các tài liệu số, việc lưu trữ trở nên tiện lợi và dễ dàng hơn rất
nhiều. Các thiết bị lưu trữ được phát triển với tốc độ chóng mặt, không chỉ về số lượng
mà còn về dung lượng lưu trữ. Thiết bị flash, đĩa CD, DVD, ổ cứng di động,… là những
ví dụ điển hình. Một khối lượng thông tin ngày càng lớn được lưu trữ trong những thiết bị
ngày càng nhỏ.
3. Yêu cầu đặt ra
Từ những đặc điểm và thực trạng trên, việc bảo vệ bản quyền các tài liệu số ngày
càng được quan tâm nghiên cứu. Các quốc gia trên thế giới, trong đó có Việt Nam, đã ban
hành những luật liên quan đến bản quyền tài liệu số. Tuy nhiên, chỉ có hành lang pháp lý
là chưa đủ, cần đưa thêm các dấu hiệu đánh dấu bản quyền nhúng vào các tài liệu số ấy.
Kỹ thuật thủy vân số giúp thực hiện điều đó. Thủy vân (những dấu hiệu đánh dấu bản
quyền) sau khi được nhúng vào tài liệu số (ảnh, video, audio,…) thường rất khó để kẻ
gian phá hỏng. Gỡ thủy vân cũng đồng nghĩa với việc phá hủy tài liệu ấy.
2
4. Mục tiêu khóa luận
- Về lý thuyết: Nghiên cứu và nắm bắt các kiến thức liên quan đến thủy vân số cho ảnh
Tổng quan về thủy vân số như nguồn gốc, định nghĩa, phân loại và ứng dụng của
thủy vân số, các yêu cầu cũng như quá trình xây dựng một hệ thống thủy vân.
Các hướng tiếp cận của kỹ thuật thủy vân, các kỹ thuật tương ứng trong các hướng
tiếp cận này, ưu nhược điểm của chúng.
Một số kiến thức bổ trợ khác.
- Về chương trình: Xây dựng chương trình thủy vân số cho ảnh số với các chức năng
lộn xộn quá nhiều màu. Có ba thuộc tính chủ yếu của hệ thống màu:
- Sắc màu (Hue): dùng để phân biệt các màu với nhau.
- Độ bão hòa (Saturation): độ thuần màu hay khoảng cách của màu tới điểm có
cường độ cân bằng.
- Độ sáng (Lightness): cường độ sáng, chính là ánh sáng phản xạ nhận được từ đối
tượng. Đôi khi thuật ngữ độ sáng được thay thế bởi Độ phát sáng (Brightness), nó
mô tả cường độ sáng do đối tượng tự phát ra.
Dưới đây là một số đặc tính của hệ thống thị giác người:
1.1.1. Nhạy cảm về sự tương phản
Mắt người nhạy cảm với sự có mặt của một tín hiệu trong một tín hiệu khác. Đặc
điểm này nói lên khả năng dò tìm một tín hiệu trong một tín hiệu 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 I
o
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à 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:
4
Hình 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 để dò 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 và độ nhạy cảm trong vùng sáng sẽ tăng.
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 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
7
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.
Hình 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ác 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 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à
8
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.
a. Ảnh ban đầu
b. Ảnh sau khi nhúng thủy vân
9
Hình 5. So sánh ảnh ban đầu và ảnh đã nhúng thủy vân
Mặt nạ thị giác là hiện tượng trực giác mà khung của ảnh bị che bởi ảnh. Ảnh được
coi là tín hiệu nền mà làm giảm khả năng nhìn thấy khung của ảnh. Với một ảnh bị biến
đổi bởi nhiễu cộng, chúng ta có thể thấy rằng nhiễu dễ dàng nhìn thấy ở vùng bằng phẳng,
không gồ ghề, hơn là các vùng góc cạnh, có cấu trúc.
Có nhiều hiện tượng mặt nạ. Với hệ thống thị giác, có hai trường hợp cơ bản là mặt
nạ tần số và mặt nạ độ chói. Với mặt nạ tần số, sự hiện diện của một tần số che đi sự nhận
màu mới. Ví dụ: màu vàng được tạo bởi tổ hợp hai màu đỏ và xanh lá cây, màu trắng
được tạo bởi tổ hợp ba màu,…
11
- Ư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.
- 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 để biểu diễn màu tía. Không gian màu HSV ra đời cải thiện yếu
điểm của mô hình RGB, việc tạo ra một màu mới của nó dựa trên quy tắc pha màu của
các họa sĩ. Do vậy, không gian màu RGB gần với sự cảm nhận màu sắc của mắt người
hơn. Không gian màu HSV được minh họa như hình dưới:
÷
÷
÷
=
1
1
1
÷
÷
÷
-
R
G
B
÷
÷
÷
Ưu điểm nổi bật của không gian màu CMY đó là khả năng cho phép in những ảnh
màu với độ phân giải và chất lượng sắc nét hơn nhiều so với ảnh màu dùng không gian
màu RGB.
1.2.4. Không gian YCbCr
Không gian YCbCr xuất phát từ không gian màu YUV, một chuẩn không gian màu
để xây dựng chuẩn video số. Không gian YUV quy định một 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.
− −
÷
÷
− −
R
G
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
1.3.1.1. 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 biệt.
Chuyển đổi một ảnh thông thường sang dạng số yêu cầu tọa độ không gian cũng như
biên độ của ảnh đó phải được số hóa, nghĩa là các tín hiệu liên tục được biến đổi thành
các tín hiệu rời rạc thông qua quá trình lấy mẫu (sampling – rời rạc hóa về không gian) và
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ũ.
16
Ả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ữ.
- Dữ liệu (data): Công thức toán học biểu diễn các thành phần đối tượng.
- Tiêu đề cuối (footer): Lưu số lượng các đối tượng trong ảnh.
1.3.2. Cấu trúc một số định dạng ảnh thông dụng
1.3.2.1. Ảnh bitmap (BMP)
Ảnh bitmap (hay Windows bitmap) được phát triển bởi Microsoft Corporation, được
lưu trữ dưới dạng độc lập thiết bị cho phép Windows hiển thị dữ liệu không phụ thuộc
vào khung chỉ định màu trên bất kỳ phần cứng nào. Các ảnh bitmap thường được lưu trữ
với phần mở rộng phổ biến .bmp (hoặc dạng ít gặp hơn là .dib – device independent
bitmap).
Cấu trúc một ảnh bitmap gồm bốn phần:
- Bitmap Header (14 bytes): lưu các thông tin: Kiểu tệp, kích thước tệp, địa chỉ
offset của vùng dữ liệu.
+ 2 byte cuối: số dòng ảnh trong ảnh.
Ảnh IMG được nén theo từng dòng, mỗi dòng gồm các gói (pack). Các dòng giống
nhau sẽ được nén thành một gói.
18
1.3.2.3. Ảnh GIF (Graphics Interchange Format)
Ảnh GIF là một định dạng tập tin hình ảnh bitmap dùng cho các hình ảnh dùng ít
hơn 256 màu sắc khác nhau và cho các hoạt hình dùng ít hơn 256 màu cho mỗi khung
hình. GIF là định dạng nén dữ liệu đặc biệt hữu ích cho việc truyền hình ảnh qua đường
truyền lưu lượng nhỏ. Tập tin GIF dùng phương pháp nén không mất mát dữ liệu, làm cho
kích thước tập tin giảm đáng kể mà vẫn không làm ảnh hưởng đến chất lượng ảnh.
Số lượng tối đa 256 màu làm cho định dạng này không phù hợp cho các hình chụp
(thường có nhiều màu sắc), tuy nhiên các kiểu nén dữ liệu bảo toàn cho hình chụp nhiều
màu cũng có kích thước quá lớn đối với truyền dữ liệu trên mạng hiện nay. Định dạng
JPEG là nén dữ liệu có mất mát có thể được dùng cho các ảnh chụp, nhưng lại làm giảm
chất lượng cho các bức vẽ ít màu, tạo nên những chỗ nhòe thay cho các đường sắc nét,
đồng thời độ nén cũng thấp cho các hình vẽ ít màu. Như vậy, GIF thường được dùng cho
sơ đồ, hình vẽ nút bấm và các hình ít màu, còn JPEG được dùng cho ảnh chụp.
1.3.2.4. Ảnh JPEG (Joint Photographic Expert Group)
Ảnh JPEG là các ảnh có tỉ lệ nén dữ liệu rất cao, thường dùng cho ảnh chụp. Đây là
một định dạng ảnh rất thông dụng hiện nay. Phần mở rộng hay gặp nhất của ảnh JPEG
là .jpg, ngoài ra còn có .jpeg, .jpe. Phương pháp nén ảnh JPEG là một trong những
phương pháp nén ảnh hiệu quả, có tỷ lệ nén ảnh tới vài chục lần. Tuy nhiên ảnh sau khi
giải nén sẽ khác với ảnh ban đầu. Chất lượng ảnh bị suy giảm sau khi giải nén. Sự suy
giảm này tăng dần theo hệ số nén. Tuy nhiên sự mất mát thông tin này là có thể chấp nhận
được và việc loại bỏ những thông tin không cần thiết được dựa trên những nghiên cứu về
hệ thống thị giác người.
Quá trình nén ảnh JPEG thường trải qua các giai đoạn:
- Chuyển đổi hệ thống màu RGB sang hệ thống màu YCbCr (Y: intensity, Cb:
blue/yellow, Cr: red/green).
- Loại bỏ các thông tin thừa trong ảnh gốc, các thông tin được chọn để loại bỏ