Thủy vân số trong dữ liệu đa phương tiện đặc biệt là trên ảnh số là một vấn đề
đang được quan tâm hiện này trong nhiều lĩnh vực. Để xây dựng được một kiểu thủy vân
số đòi hỏi rất nhiều yếu tố và kỹ thuật phức tạp. Với mục đích là nghiên cứu về các kỹ
thuật thủy vân số trên dữ liệu ảnh số, nên khóa luận đã đi sâu vào phân tích và nghiên cứu
các phép biến đổi
53 trang |
Chia sẻ: lylyngoc | Lượt xem: 3248 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu phương pháp định danh bản quyền tác giả trên dữ liệu ảnh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ình phân phối các sản phầm này trở nên rất nhanh chóng. Và
chính điều này đã đặt ra vấn đề là làm sao bảo vệ bản quyền sở hữu đối vơi các sản phẩm
đa phương tiện này.
Một trong những phương pháp được dùng rất sớm để bảo vệ quyền sở hữu đối với
các sản phẩm đa phương tiện là dùng phương pháp mã hóa. Các sản phẩm được mã hóa
và gửi cho người dùng. Người dùng chỉ đọc được các sẩn phẩm này khi mà nhận được
khóa để giải mã đi kèm. Phương pháp mã hóa này chỉ hiệu quả trong việc truyền dữ liệu
đa phương tiện nhưng không hiệu quả trong việc bảo vệ bản quyền sở hữu vì người dùng
sau khi giải mã thì sẽ nhân bản và phân phối lại sản phẩm đó.
Chính điểu đó mà chúng ta cần phải xây dựng một phương pháp tốt hơn để giải
quyết vấn đề này. Và thủy vân số là một trong những giải pháp được đưa ra để giải quyết
vấn đề về bản quyến sở hữu. Trong phạm vi khóa luận đã đi vào nghiên cứu các phương
pháp để giải quyết vấn đề đó. Mục tiêu của khóa luận là không chỉ nghiên cứu các
phương pháp xác thực bản quyền tác giả trên dữ liệu ảnh sử dụng thủy vân số mà còn xây
dựng một hệ thống thực nghiệm sử dụng một trong nhưng kỹ thuật thủy vân được nghiên
cứu trong khóa luận.
Ngoài phần Mở đầu và Kết luận, kết cấu của khóa luận bao gồm các chương sau:
Chƣơng 1: Giới thiệu về ẩn giấu tin. Nêu ra các khái niệm cơ bản nhất về
ẩn giấu tin và ứng dụng trong thực tế.
Chƣơng 2: Giới thiệu về thủy vân số. Nghiên cứu phân tích một số thuật
toán thủy vân số hiện nay đang được phổ biến. Tìm hiểu ưu nhược điểm của
từng thuật toán.
Chƣơng 3: Hướng giải quyết và đề xuất mô hình bài toán. Miêu tả chi tiết
thuật toán sử dụng và môi trường phát triển ứng dụng
Chƣơng 4: Kết quả thực nghiệm và đánh giá. Đưa ra kết quả đã làm được
và đánh giá kết quả.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 8 -
Chƣơng 1: Giới thiệu về ẩn – giấu tin
1.1. Khái niệm về ẩn - giấu tin.
Hiện nay có rất nhiều cách định nghĩa khác nhau về ẩn giấu tin như:
Theo tác giả Trịnh Nhật Tiến thì: Ẩn giấu tin (steganography) được hiểu là
nhúng mẩu tin mật vào một vật mang tin khác, sao cho khó phát hiện ra mẩu
tin đó, mặt khác nhận biết được vật mang tin đã được giấu một tin mật.[1]
Theo một số tác giả khác: Ẩn giấu tin là một kỹ thuật nhúng (giấu) một lượng
thông tin số nào đó vào trong một đối tượng dữ liệu số khác (giấu thông tin
chỉ mang tính quy ước không phải là một hành động cụ thể).[2]
Như vậy. Ẩn giấu tin là một kỹ thuật nhúng các mẩu tin vào một đối tượng mang tin
sao cho khó có thể phát hiện ra tin mật đó.
1.2. Phân loại kỹ thuật giấu tin:
Phân loại theo khuynh hƣớng:
Hình 1.1: Sơ đồ phân loại kỹ thuật giấu tin
Trong kỹ thuật giấu tin nhằm mục đích an toàn và bảo mật thông tin ở hai
khía cạnh:
Bảo mật dữ liệu đem giấu.
Bảo mật cho chính đối tượng được dùng để giấu tin.
Từ hai khía cạnh trên dần dần hình thành hai khuynh hướng chủ yếu của giấu tin là:
1. Giấu tin (Steganography) là kỹ thuật nhúng tin mật vào môi trường giấu
tin.
Theo khuynh hướng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu
được càng nhiều càng tốt và quan trọng là người khác khó phát hiện được một đối tượng
có bị giấu tin bên trong hay không bằng kỹ thuật thông thường.
Infomation
hiding
Giấu thông tin
Steganography
Giấu tin mật
Watermarking
Thuỷ vân số
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 9 -
2. Thủy vân số (kỹ thuật đánh dấu số) là kỹ thuật nhúng dấu ấn số vào một tài
liệu hoặc sản phẩm, nhằm chứng thực nguồn gốc hay chủ sở hữu.
So sánh giữa giấu tin và thủy vân số[1]:
Giấu tin Thủy vân số
- Mục đích là bảo vệ thông tin
được giấu.
- Giấu được càng nhiều thông
tin càng tốt, ứng dụng trong truyền
dữ liệu thông tin mật.
- Thông tin được giấu phải ẩn,
không cho người khác thấy được
bằng mắt thường.
- Chỉ tiêu quan trọng nhất là
dung lượng của tin được giấu.
- Mục đích là bảo vệ môi trường
giấu tin.
- Chỉ cần thông tin đủ để đặc
trưng cho bản quyền của chủ sở hữu.
- Thông tin giấu có thể ẩn (thủy
vân ẩn) hoặc hiện (thủy vân hiện).
- Chỉ tiêu quan trọng nhất là tính
bền vững của tin được giấu.
Phân loại theo môi trƣờng giấu tin:
a. Giấu tin trong Audio
Kỹ thuật giấu thông tin trong audio phụ thuộc vào hệ thống thính giác của con
người (HAS – Human Auditory System). HAS cảm nhận được tín hiệu ở dải tần rộng và
công suất thay đổi lớn, nhưng lại kém trong việc phát hiện sự khác biệt nhỏ giữa dải tần
và công suất. Điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm
thanh nhỏ thấp một cách dễ dàng. Kênh truyền tin cũng là một vấn đề. Kênh truyền hay
băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu. Giấu thông tin
trong audio yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin.
b. Giấu tin trong video
Giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ cho nhiều
ứng dụng như điều khiển truy cập thông tin, nhận thực thông tin và bảo vệ bản quyền tác
giả. Ta có thể lấy một ví dụ là hệ thống chương trình trả tiền xem theo video clip của các
thuật toán trước đây thường cho phép giấu ảnh vào trong video, nhưng gần đây kỹ thuật
cho phép giấu cả âm thanh và ảnh vào trong video.
c. Giấu tin trong ảnh
Giấu thông tin trong ảnh hiện nay chiếm tỷ lệ lớn nhất trong các chương trình ứng
dụng, các phần mềm, và hệ thống giấu tin trong đa phương tiện bởi lượng thông tin trao
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 10 -
đổi được trao đổi bằng ảnh là rất lớn. Hơn nữa giấu thông tin trong ảnh cũng đóng vai trò
hết sức quan trọng đối với hầu hết các ứng dụng bảo vệ an toàn thông tin như: nhận thực
thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập,
giấu thông tin mật… Chính vì thế mà vấn đề này đã nhận được sự quan tâm rất lớn của
các cá nhân, tổ chức, trường đại học, và các viện nghiên cứu trên thế giới.
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi và
chẳng ai biết được đằng sau ảnh đó mang những thông tin có ý nghĩa. Ngày nay, khi ảnh
số đã được sử dụng rất phổ biến, thì giấu thông tin trong ảnh đã đem lại rất nhiều những
lợi ích quan trọng trên nhiều lĩnh vực của đời sống xã hội.
Ví dụ như đối với các nước phát triển, chữ kí tay đã được số hoá và lưu trữ sử dụng
như là hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để nhận thực
trong các thẻ tín dụng của người tiêu dùng. Phần mềm MS Word của MicroSoft cũng cho
phép người dùng lưu trữ chữ kí trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn
bản để đảm bảo tính an toàn của thông tin. Tài liệu sau đó được truyền trực tiếp qua máy
fax hoặc lưu truyền trên mạng. Theo đó, việc nhận thực chữ kí, xác thực thông tin đã trở
thành một vấn đề cực kì quan trọng khi mà việc ăn cắp thông tin hay xuyên tạc thông tin
bởi các tin tặc đang trở thành một vấn nạn đối với bất kì quốc gia nào, tổ chức nào. Thêm
vào đó, lại có rất nhiều loại thông tin quan trọng cần được bảo mật như những thông tin
về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính, các thông tin này được số
hoá và lưu trữ trong hệ thống máy tính hay trên mạng, chúng rất dễ bị lấy cắp và bị thay
đổi bởi các phần mềm chuyên dụng.
1.3. Mô hình giấu tin cơ bản:
Giấu thông tin vào phương tiện chứa và tách lấy thông tin là hai quá trình trái ngược
nhau.
a. Giấu thông tin vào phương tiện chứa
Qui trình giấu thông tin vào phương tiện chứa được mô tả qua sơ đồ khối hình 1.2
trong đó:
- Thông tin cần giấu tuỳ theo mục đích của người sử dụng, nó có thể là thông
điệp (với các tin bí mật) hay các logo, hình ảnh bản quyền.
- Phương tiện chứa: các file ảnh, text, audio… là môi trường để nhúng tin
- Bộ nhúng thông tin: là những chương trình thực hiện việc giấu tin
- Đầu ra: là các phương tiện chứa đã có tin giấu trong đó
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 11 -
Hình 1.2: Lược đồ chung cho quá trình giấu tin[1][2][7]
b. Tách thông tin:
Tách thông tin từ các phương tiện chứa diễn ra theo quy trình ngược lại với đầu ra là
các thông tin đã được giấu vào phương tiện chứa. Phương tiện chứa sau khi tách lấy thông
tin có thể được sử dụng, quản lý theo những yêu cầu khác nhau.
Thông tin giấu
Môi trường
chứa(audio, ảnh,
video) Môi trường chứa
đã được giấu tin
Khóa giấu tin
Bộ
nhúng
thông tin
Phân
phối
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 12 -
Hình 1.3: Lược đồ chung cho quá trình giải mã[1][2][7]
Hình vẽ 1.3 chỉ ra các công việc giải mã thông tin đã giấu. Sau khi nhận được đối
tượng phương tiện chứa có giấu thông tin, quá trình giải mã được thực hiện thông qua
một bộ giải mã tương ứng với bộ nhúng thông tin cùng với khoá của quá trình nhúng. Kết
quả thu được gồm phương tiện chứa gốc và thông tin đã giấu. Bước tiếp theo thông tin đã
giấu sẽ được xử lý kiểm định so sánh với thông tin ban đầu.
1.4. Tính chất của ẩn giấu tin trong ảnh.
Có nhiều phương pháp ẩn giấu tin trong ảnh đã được nghiêm cứu. Để đánh giá chất
lượng của một phương pháp ẩn giấu tin, người ta dựa vào một số chỉ tiêu sau:[1][7]
a. Bảo đảm tính vô hình.
Ẩn giấu tin trong ảnh sẽ làm biến đổi ảnh mang tin.Tính vô hình thể hiện
mức độ biến đổi ảnh mang. Phương pháp nào ẩn giấu tin tốt, sẽ làm cho thông tin mật trở
nên vô hình trên ảnh mang, người dùng khó có thể nhận ra trong ảnh có ẩn chứa thông tin
mật.
Chú ý rằng với ẩn tin thì trong thực tế không phải khi nào cũng cố gắng để
đạt được tính vô hinh cao nhất, ví dụ trong truyền hình, người ta gắn hình ảnh mờ gọi là
thủy ấn để bảo vệ bản quyền bản tin.
b. Khả năng chống giả mạo
Mục đích của giấu tin là truyền đi thông tin mật. Nếu không thể do thám tin
mật, thì kẻ địch cũng cố tìm cách làm sai lệch tin mật, làm giả mạo tin mật để gây bất lợi
cho đối phương. Phương pháp giấu tin tốt phải đảm bảo tin mật không bị tấn công một
cách chủ động trên cơ sở những điều hiểu biết thuật toán nhúng tin và có ảnh mang
(nhưng không biết khóa giấu tin).
Môi trường chứa
(audio, ảnh, video)
Môi trường chứa đã được
giấu tin
Bộ giải
mã tin
Thông tin giấu
Kiểm
định
Khóa giấu tin
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 13 -
Đối với ẩn tin thì khả năng chống giả mạo là yêu cầu vô cùng quan trọng, vì
có như vậy mới bảo vệ được bản quyền, minh chứng tính pháp lý của sản phẩm.
c. Dung lượng giấu:
Dung lượng giấu được tính bằng tỉ lệ của lượng thông tin cần giấu so với kích
thước ảnh mang tin. Các phương pháp đều cố gắng giấu được nhiều tin trong ảnh nhưng
vẫn giữ được bí mật. Tuy nhiên trong thực tế người ta luôn phải cân nhắc giữa dung
lượng và các tiêu chí khác như tính vô hình, tính bền vững.
d. Tính bền vững:
Sau khi ẩn giấu tin vào ảnh mang, bản thân ảnh mang có thể phải qua các
biến đổi khác nhau như lọc (tuyến tính, phi tuyến tính), thêm nhiễu, làm sắc nét, mờ nhạt,
quay, nén mất dữ liêu,… tính bền vững là thước đo sự nguyên vẹn của tin mật sau những
biến đổi như vậy.
e. Độ phức tạp tính toán:
Độ phức tạp của thuật toán ẩn giấu tin và giải tin (tách tin) cũng là một chỉ
tiêu quan trọng để đánh giá một phương pháp ẩn giấu tin trong ảnh. Chỉ tiêu này cho
chúng ta biết tài nguyên (thời gian và bộ nhớ) tốn bao nhiêu dùng cho một phương pháp
ẩn giấu tin.
Với chủ nhân ẩn giấu tin thi thời gian thực hiện phải nhanh, nhưng với kẻ
thám tin thi tách tin phải là bài toán khó. Ví dụ bài toán tách tin từ thủy ấn để đánh dấu
bản quyền cần phải là bài toán khó, thì mới chịu được sự tấn công của tin tặc nhằm phá
hủy thủy vân.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 14 -
Chƣơng 2: Kỹ thuật thủy vân số
Phần này chúng ta sẽ tập trung vào tìm hiểu về các kỹ thuật liên quan đến thủy vân
số trên ảnh, phân loại các kỹ thuật thủy vân và giới thiệu một số kỹ thuật thủy vân.
2.1. Khái niệm về thủy vân số.
2.1.1 Khái niệm thủy vân số.
Thủy vân số (Digital Watermarking)[1] là kỹ thuật nhúng “dấu ấn số” (watermark –
tin giấu) vào một sản phẩm số (văn bản, ảnh, âm thanh, video), mà tin giấu này có thể
được phát hiện và tách ra sau đó, nhằm chứng thực (đánh dấu, xác thực) nguồn gốc hay
chủ sở hữu của sản phầm số này.
Một cách định nghĩa khác về thủy vân số:
Thủy vân số là kỹ thuật giấu thông tin theo kiểu đánh dấu (watermarking) để bảo vệ
bản quyền của đối tượng chứa tin tập trung đảm bảo một số yêu cầu như đảm bảo tính bền
vững,…
Một ví dụ của thủy vân số là một dấu hiệu (như chữ ký) trên một bức ảnh để chứng
thực nguồn gốc và chủ sở hữu của bức ảnh đó.
Hình 2.1: Ví dụ về thủy vân số
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 15 -
2.1.2 Lịch sử hình thành.
Thuật ngữ thủy vân số đượ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 thủy vân bắt đầu phát triển nhanh. Năm
1996, hội thảo về che dấu thông tin lần đầu tiên đưa thủy vân vào phần trình bày nội dung
chính. Đến năm 1999, SPIE (Society of Photographic Instrumentation Engineers ) đã tổ
chức hội nghị đặc biệt về Bảo mật và thủy vân trên các nội dung đa phương tiện. 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 (Content Protection Technical Working
Group ) thử nghiệm hệ thống thủy vân bảo vệ phim trên DVD. SDMI (Secure Digital
Music Initiative) sử dụng thủy vân trong việc bảo vệ các đoạn nhạc. Hai dự án được liên
minh Châu Âu ủng hộ. VIVA và Talisman đã thử nghiệm sử dụng thủy vân để theo dõi
phát sóng.
Vào cuối thập niên 1990, một số công ty đã đưa thủy vân vào thương trường, 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 thủy vân ảnh, Photoshop đã tính hợp một bộ nhúng
và bộ dò thủy vân tên là Digimarc.
2.2. Phân loại thủy vân số.
Hình 2.2: Sơ đồ phân loại các loại thủy vân số.[6]
Có rất nhiều phương pháp để phân loại thủy vân số, dưới đây là một số phương pháp
phân loại phổ biến hiện nay:
Infomation
hiding
Giấu thông tin
Robust
watermarking
Thuỷ vân bền vững
Invisible
Watermarking
Thuỷ vân ẩn
Steganography
Giấu tin mật
Watermarking
Thuỷ vân số
Fragile
Watermarking
Thuỷ vân “dễ vỡ”
Visible
Watermarking
Thuỷ vân hiển
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 16 -
Phân loại theo tính bền vững:
Thủy vân bền vững (Robust watermarking): là các thủy vân nhúng theo
phương pháp rất khó phá hủy. Viêc tấn công thủy vân số trong trường hợp
này sẽ làm giảm chất lượng của thông tin. Nói cách khác thì nếu phá hủy thủy
vân thì đồng thời sẽ phá hủy đối tượng mang.
Thủy vân dễ vỡ (Fragile watermarking): loại này nhằm đảm bảo tính toàn vẹn
cho nội dung thông tin nên bất kỳ sự thay đổi nào cũng có thể làm cho thủy
vân bị hỏng.
Phân loại theo khả năng cảm nhận
Thủy vân ẩn (Invisible watermarking): là các thủy vân không thể nhìn thấy
được bằng mắt thường.
Thủy vân hiện (Visible watermarking): là thủy vân có thể nhìn thấy được
bằng mắt thường.
Phân loại theo hƣớng tiếp cận:
Theo miền không gian (Spatial domain): là kỹ thuật nhúng thủy vân trực tiếp
vào vùng không gian dữ liệu ảnh.
Theo miền tần số (Frepuency domain): là kỹ thuật nhúng thủy vân vào vùng
biến đổi tần số của dữ liệu ảnh.
2.3. Mô hình thủy vân số:
Mô hình chính của thủy vân số:
Hình 2.3: Mô hình thủy vân số
Tạo thủy vân số
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 17 -
Thủy vân số phổ biến là dạng text hoặc dạng ảnh. Thủy vân có thể được biến đổi mã
hóa trước khi nhúng vào ảnh. Thủy vân bao gồm thông tin mật đã được mã hóa cùng với
khóa đã được mã hóa được nhúng vào ảnh mang và gửi cho người nhận.
Nhúng thủy vân số
Hình 2.4: Mô hình nhúng thủy vân số
Sau khi tạo thủy vân xong, thủy vân được nhúng trực tiếp vào ảnh hay vào miền
biến đổi của ảnh tùy thuộc vào thuật toán mà chúng ta sử dụng.
Tách thủy vân số:
Hình 2.5: Mô hình tách thủy vân số
Để tách thủy vân ta sử dụng khóa trong quá trình nhúng và ảnh đã nhúng thủy vân,
Việc tách thủy vân có quy trình ngược lại so với quy trình nhúng. Sau khi tách được thủy
Bộ tách thủy vân
số và giải mã
Thủy vân
Dữ liệu nhúng
Mã cá nhân
hoặc cộng khai
Quyết định
watermark
Bộ nhúng thủy
vân số
Thủy vân
Dữ liệu bao phủ
Mã cá nhân
hoặc cộng khai
Dữ liệu nhúng
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 18 -
vân nếu thủy vân bị mã hóa thì chúng ta thực hiện giải mã để thu được thông điệp gốc.
Sau đó thông điệp sẽ được so sánh với thông điệp cũ để xác thực.
2.4. Các khuynh hƣớng tiếp cận của kỹ thuât thủy vân số.
Có rất nhiều hướng tiếp cận nhưng hiện nay có 2 phương pháp chính:
Hƣớng tiếp cận theo miền không gian ảnh:
Nhóm kĩ thuật này tập trung vào việc thay đổi trực tiếp lên không gian các điểm ảnh
và sử dụng các mô hình tri giác và phương pháp hình học. Tuy nhiên, các kĩ thuật này chỉ
đảm bảo được thuộc tính ẩn mà không có tính bền vững. Kĩ thuật này thường được sử
dụng trong các ứng dụng nhận thông tin, phát hiện xuyên tạc.
Hƣớng tiếp cận theo miền tần số:
Đây là nhóm kĩ thuật sử dụng một phương pháp biến đổi trực giao nào đó, chẳng
hạn Cosine rời rạc, hay Fourier… để chuyển miền không gian sang miền tần số theo kĩ
thuật trải phổ trong truyền thông. Đây là kĩ thuật phổ biến nhất vời nhiều thuật toán và
được hứa hẹn là một phương pháp tốt giải quyết vấn đề đảm bảo hai thuộc tính quan trọng
của thủy vân khi giấu.
Ngoài hai nhóm trên, gần đây đã xuất hiện những kỹ thuật dựa trên đặc thù của ảnh.
2.4.1 Kỹ thuật thủy vân số trên miền không gian:
Phương pháp phổ biến nhất cho kĩ thuật thủy vân số trên miền không gian ảnh. Kỹ
thuật này là thay thế các bit có trọng số thấp LSB (Least Significant Bit)
Khái niệm về bit có trọng số thấp LSB (Least Significant Bit): Bit LSB là bit có
ảnh hưởng ít nhất tới việc quyết định màu sắc của mỗi điểm ảnh. Vì vậy khi ta thay đổi
bit ít quan trọng của một điểm ảnh thì màu sắc của mỗi điểm ảnh mới sẽ tương đối gần
với điểm ảnh cũ. Ví dụ với mỗi ảnh 16 bit thì 15 bit là biểu diễn 3 màu RGB của điểm
ảnh còn bit cuối cùng không dùng đến thì ta sẽ tách bit này ra ở mỗi điểm ảnh để giấu
tin…
11010010
LSB = Bit trọng số thấp
MSB = Bit trọng số cao
MSB LSB
Phương pháp này chọn các bit ít quan trọng (ít quan trọng nhất để tạo nên màu của
điểm ảnh) và thay thế chúng bằng các bit thông tin cần giấu. Để khó bị phát hiện, thông
tin thường được nhúng vào những vùng mắt người kém nhạy cảm với màu sắc nhất.
Ví dụ về kỹ thuật thủy vân LSB:
Giả sử ta có giá trị của 4 điểm ảnh sẽ là:
00110011 10100010 11100010 0110111
Ta có dữ liệu nhúng là „0111‟ :
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 19 -
Quá trình nhúng sẽ như sơ đồ sau :
0 1 1 1
0 0 1 1 0 0 1 0 1 0 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1
Ƣu và nhƣợc điểm :
Ƣu điểm :
Ưu điểm cơ bản của phương pháp LSB là giấu được nhiều thông tin :
Với ảnh 24bit/1 điểm ảnh, dùng một bit có trọng số thấp có thể giấu được
bit ẩn / 1 điểm ảnh = 1/ 8 bit ẩn / bit dữ liệu
Nếu dùng 2 bit trọng số thấp :
6 bit ẩn / 1 điểm ảnh = 1 / 4 bit ẩn / bit dữ liệu
Một số ưu điểm khác của phương pháp này là đơn giản trong cài đặt, và phát
huy hiệu quả trong nhiều ứng dụng.
Nhƣợc điểm:
Phương pháp LSB rất dễ bị tổn thương bởi một loạt các phép biến đổi ảnh dù
là phép biến đổi ảnh đơn giản nhất và thông dụng nhất.
Nén ảnh mất dữ liệu (như JPEG) rất dễ dàng phá hủy tin mật. Nguyên nhân là
do phương pháp LSB khai thác tính chất ít nhạy cảm với các nhiễu bổ sung của
hệ thống thị giác con người, nhưng đây cũng chính là yếu tố phương pháp nén
ảnh mất dữ liệu sử dụng để giảm mức dữ liệu của một ảnh.
Các phép biến đổi hình học như dịch, co giãn, hay xoay cũng dễ làm mất dữ
liệu, vì khi đó vị trí các bit giấu sẽ bị thay đổi. Các phép xử lý ảnh khác như là
mờ ảnh cũng sẽ làm mất tin được giấu. Do đó, phương pháp này được ứng
dụng nhiều trong giấu tin hơn thủy vân số.
2.4.2 Kỹ thuât thủy vân số trên miền tần số:
2.4.2.1 Biến đổi Fourier rời rạc[2][7]:
Năm 1807, Jean Babtiste Joseph Fourier (1768-1830) đưa ra kết quả nghiên
cứu của ông về sự truyền nhiệt và khuyếch tán. Ông khẳng định mọi tín hiệu tuần
hoàn đều có thể biểu diễn được nhờ một chuỗi các hàm sin. Ngày nay, lý thuyết
này được sử dụng rất nhiều trong toán học, khoa học và kỹ thuật.
Một tín hiệu sẽ được tổ hợp từ nhiều tín hiệu khác. Một ví dụ đơn giản là khi
ánh sáng trắng đi qua lăng kính, nó bị khuyếch tán thành nhiều thành phần tần số
khác nhau và tạo nên phổ màu. Biến đổi Fourier dùng để biểu diễn một tín hiệu qua
các tín hiệu khác đơn giản hơn.
Biến đổi Fourier rời rạc cho ảnh cỡ MxN được định nghĩa như sau :
Công thức chuyển miền dữ liệu ảnh sang miền tần số :
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 20 -
1
0
1
0
)(2
),(
*
1
),(
M
x
N
y
N
vy
M
ux
j
eyxX
NM
vuI
Công thức chuyển miền tần số sang miền dữ liệu :
1
0
1
0
)(2
),(),(
M
u
N
v
N
vy
M
ux
j
evuIyxX
Với 0 x, u M-1 và 0 y, v N-1.
I(u,v) được gọi là các hệ số DFT
X(x,y) là một thành phần của ảnh (có thể là một thành phần màu như thành phần R,
G, B (red-green-blue) hoặc là giá trị điểm ảnh với ảnh đa cấp xám.
Kỹ thuật nhúng : Có hai phương pháp nhúng thủy vân trên miền DFT là nhúng trên
miền pha DFT và miền biên độ DFT.
Miền pha DFT : cho phép chúng ta nhúng thủy vân vào miền đáng chú ý của ảnh
để có tính biền vững cao, vì nếu bị tấn công thì ảnh sẽ bị giảm chất lượng nghiêm trọng.
Nhưng thủy vân trên miền pha thì không bền vững cho các phép tấn công tịnh tiến.
Miền biên độ DFT : nhúng thủy vân vào miền biên độ DFT bền vững với các phép
tấn công tịnh tiến và dịch chuyển nhưng biên độ DFT dễ bị nhiễu hơn pha DFT.
Ƣu nhƣợc điểm :
Ưu điểm :
- Ưu điểm của phương pháp này là nó bất biến cho các phép biến đổi hình học như
dịch chuyển hay xoay giúp cho thủy vân bền vững hơn trong các phép biến đổi hình học.
- Phép biến đổi DFT có các đặc tính mà giúp nó nhận dạng và phục hồi các ảnh đã
bị biến đổi các phép biến đổi hình học.
Nhược điểm :
- Phương pháp DFT khá phức tạp
- Việc tính toán trong DFT cũng rất phức tạp nếu kích thước không phải là lũy thừa
của 2.
2.4.2.2 Biến đổi Cosin rời rạc (DCT – Discrete Cosine Transform)[2][3][7]
Biến đổi cosin rời rạc viết tắt là DCT - Discrete Cosine Transform được đưa ra bởi
Ahmed và các đồng nghiệp của ông vào năm 1974. Từ đó cho đến nay, nó được sử dụng
rất phổ biến trong nhiều các kỹ thuật xử lí ảnh số nói riêng và các kỹ thuật xử lí tín hiệu
số nói chung. Trong các kỹ thuật thuỷ vân ảnh dựa trên phép biến đổi dữ liệu ảnh sang
miền tần số thì phép biến đổi DCT cũng được sử dụng nhiều nhất. Lí do ở đây là phép
biến đổi DCT đã được dùng trong dạng chuẩn ảnh JPEG. Nếu áp dụng DCT thì cũng theo
chuẩn của JPEG và do đó sẽ tránh được mất thuỷ vân do phép nén JPEG.
Biến đổi Cosin rời rạc tổng quát là biến đổi trên khối hai chiều kích thước bất kỳ,
trong đó các khối 8x8 và 16x16 được sử dụng nhiều nhất. Dưới đây trình bày biến đổi
DCT với các khối 8x8. Ban đầu, ảnh kích thước MxN được chia thành MxN/64 khối ảnh
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 21 -
và ta áp dụng biến đổi DCT trên từng khối ảnh này. Sau đó, thủy vân sẽ được nhúng trong
các hệ số DCT.
Biến đổi Cosine rời rạc:
Nguyên tắc chính của phương pháp mã hoá này là biến đổi tập các giá trị pixel của
ảnh trong miền không gian sang một tập các giá trị khác trong miền tần số sao cho các hệ
số trong tập giá trị mới này có tương quan giữa các điểm ảnh gần nhau nhỏ hơn.
Công thức biến đổi DCT thuận nghịch:
Biến đổi DCT thuận:
(1)
Biến đổi DCT nghịch:
(2)
Với và
Sau khi biến đổi các khối 8x8 qua biến đổi DCT ta sẽ có 64 hệ số DCT. Biến đổi
DCT sẽ giúp chúng ta phân chia các vùng tần số tần số cao, tần số giữa, và tần số thấp.
Các thành phần tần số thấp của ảnh rất dễ nhận biết về mặt trực giác và bất kỳ thay đổi
nào ở miền tần số này cũng ảnh hưởng đến chất lượng ảnh. Các thành phần tấn số cao thì
ít ảnh hưởng tới chất lượng ảnh. Nhưng nó không bền vững với các phép biến đổi nén ảnh
mất dữ liệu, nên cho vào miền này sẽ không bền vững. Do đó, thủy vân thường được
nhúng vào các thành phần có tần số giữa.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 22 -
Thấp Giữa Cao
Hình 2.6 Sơ đồ phân chia 3 miền tần số của phép biến đổi DCT
Hình 2.7: ảnh jpeg Hình 2.8 Sơ đồ miền tần số của ảnh
Ƣu nhƣợc điểm
Ưu điểm:
- Các biến đổi DCT được sử dụng phổ biến trong các chuẩn nén, tiêu biểu là
JPEG. Do đó sau khi nén có thể tăng tính bền vững của thủy vân.
- Biến đổi DCT khá nhanh đặc biệt là nếu nó được sử dụng trong các ảnh
JPEG.
Nhƣợc điểm:
- Các hệ số DCT dễ bị thay đổi với các phép tấn công tịnh tiến và dịch
chuyển.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 23 -
2.4.2.3 Biến đổi sóng rời rạc DWT (DWT – Discrete Wavelet Transform)
Biến đổi sóng rời rạc DWT là phép biến đổi mới nhất được áp dụng cho ảnh số. Ý
tưởng của DWT cho tín hiệu một chiều như sau: tín hiệu đưa chia than 2 phần: phần tần
số cao và phần tấn số thấp. Hầu hết năng lượng ảnh tập trung ở phần góc cạnh hoặc có kết
cấu và thuộc thành phần có tần số cao. Thành phần tần số thấp lại được chia thành hai
thành phần có tần số cao và thấp.
Ý tưởng cơ bản của phép biến đổi là khai triển hàm f(t) bất kỳ như một xếp chồng
của các sóng con (wavelets) hay các hàm cơ sở. Các hàm cơ sở này có được từ một sóng
nguyên mẫu gọi là sóng mẹ (mother wavelets) bằng cách lấy tỉ lệ và dịch. Trong thực tế
tính toán, biến đổi sóng con rời rạc thuận và nghịch (DWT và IDWT) thường được thực
hiện bằng phương trình:[4][5]
DWTf(m,n)=
Trong đó, ψ(t) là hàm sóng mẹ. Điều kiện ψ(t) là một hàm thông dài đảm bảo sự tồn
tại của biến đổi con ngược. Thông thường, người ta chọn a0=2 và b0=1.
Ví dụ DWT trên ảnh RGB :
Hình 2.9: Mô hình DWT trên miền màu đỏ (Red) của khối ảnh RGB mxn
Ảnh cần thủy vân
tách
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 24 -
Hình 2.10: Mô hình IDWT của ảnh RGB
Kỹ thuật nhúng thủy vân :
Thủy vân được tạo ra từ một bộ tạo với một khóa bí mật key. Chiều dài của thủy vân
là N xác định mức độ trải thủy vân vào dữ liệu. Trong phần lớn các trường hợp, chiều dài
thủy vân càng lớn thì độ mạnh của thủy vân càng giảm. Nhưng nói chung, không có chiều
dài thủy vân thích hợp cho tất cả.
Nối
Thủy vân số
sau khi tách
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 25 -
Hình 2.11: Mô hình nhúng thủy vân số trên miền DWT
Trong quá trình nhúng thủy vân số, chúng ta thực hiện DWT cho ảnh. Một tập các
hệ số lớn nhất (có chiều dài bằng chiều dài thủy vân) trong bảng tần thích hợp được tách
ra và cộng với thủy vân theo biểu thức:
C‟ = C + α*W (3)
Trong đó α là độ mạnh của thủy vân nhúng.
Từ biểu thức (3), quá trình thủy vân được xác định như sau:
W‟ = (C‟ - C)/α (4)
Trong đó C‟‟ là N hệ số DWT lớn nhất của ảnh nhúng sau các tần công (nếu có).
Ƣu nhƣợc điểm:
Ưu điểm:
- Biền đổi DWT liên quan tới hệ thống thị giác của con người hơn biến đổi
DCT. Vì vậy, có thể nén với tỉ lệ cao bằng phương pháp DWT mà sự thay đổi ảnh
khó nhận ra hơn so với DCT với tỉ lệ tương tự.
- DWT thích hợp cho các ứng dụng mà ảnh được truyền liên tục hoặc khối
lượng lớn các dữ liệu phải xử lý như các ứng dụng Video hay các hệ thống thời gian
thực.
- Các dải tần với độ phân giải cao cho phép xác định các vùng góc cạnh và
cấu trúc của ảnh. Nên DWT có thể tăng cường giấu thủy vân vào các hệ số DWT
lớn nhưng hệ thống thị giác người không thể nhận ra.
Nhược điểm:
- Độ phức tạp tính toán của phương pháp DWT cao hơn so với DCT.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 26 -
- Việc sử dụng nhiều hàm cớ sở DWT hay các bộ lọc sóng làm cho ảnh có vết
ở các vùng góc cạnh.
- Thời gian nén dài hơn, chất lượng ảnh thấp hơn khi sử dụng DCT với tốc độ
nén thấp.
2.5. Một số ứng dụng.
a. Bảo vệ bản quyền (copyright protection):
Đây là ứng dụng cơ bản nhất của thủy vân số. Một thông tin để chứng minh quyền
sở hữu của tác giả (watermark) sẽ được nhúng vào các tài liệu số trước khi các tài liệu này
được đưa lên mạng. Thủy vân số này chỉ có người sở hữu các sản phẩm có và được sử
dụng làm minh chứng bản quyền của sản phẩm. Yêu cầu quan trọng với ứng dụng này là
tính bền vững của thủy vân số, để người khác khó có thể gỡ thủy vân ra khỏi sản phẩm số.
b. Xác thực thông tin hay phát hiện xuyên tạc thông tin:
Thủy vân số có thể được dùng để xác thực thông tin hay phát hiện giả mạo. Thủy
vân được dùng để kiểm tra xem ảnh là nguyên gốc hay đã chịu sự tác động bằng các phép
xử lý ảnh. Người ta thường dùng phương pháp thủy vân dễ vỡ (fragile watermarking) để
nhúng thông tin vào ảnh. Nếu ảnh bị tác động bằng các phép xử lý ảnh, thủy vân sẽ không
còn nguyên vẹn.
c. Dán nhãn:
Trong ứng dụng này, thủy vân được dùng để nhận diện người gửi hay người nhận
thông tin. Ví dụ với trường hợp nhận diện người nhận: Một bức ảnh ban đầu bán cho các
khách hàng khác nhau. Nó sẽ được nhúng thủy vân là chữ ký của từng khách hàng tương
ứng. Sau đó, ảnh được chuyển cho các khách hàng. Mỗi khách hàng có thể kiểm tra thủy
vân số trong ảnh để chắc chắn ảnh đó chuyển cho mình.
d. Điều khiển truy cập:
Thủy vân trong trường hợp này được dùng để điều khiển truy cập. Ví dụ như hệ
thống quản lý sao chép DVD. Các thiết bị phát hiện thủy vân số sẽ được tích hợp vào thiết
bị đọc ghi DVD. Khi muốn sao chép DVD, phải có sự đồng ý của chủ sở hữu.
2.6. Yêu cầu về chất lƣợng ảnh của thủy vân số:
Tùy theo mỗi loại thủy vân số, các yêu cầu với chúng cũng có một số điểm khác
biệt: [6]
a. Tính bền vững:
Một thủy vân phải bền vững với các phép biến đổi như nén mất dữ liệu, in, quét,
nhiễu trên đường truyền. Với ảnh thì thủy vân phải bền vững với các phép biến đổi như
dịch chuyển, co dãn ảnh, cắt xén. Phương pháp nào thủy vân không đảm bảo được cho
việc lấy lại được thủy vân tương đương thì sẽ không có giá trị.
b. Tính ẩn:
Thủy vân ẩn (invisible watermarking) phải đảm bảo tính chất người khác khó có thể
nhận ra thủy vân bằng mắt thường.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 27 -
c. Sự sửa đổi ảnh mang:
Thủy vân số phải đảm bảo việc gây ra ít sự thay đổi cho ảnh mang nhất
d. Đảm bảo toàn vẹn dữ liệu:
Nếu ảnh (đã nhúng watermark) bị biến đổi, điều khó tránh khỏi là thủy vân cũng sẽ
bị ảnh hưởng (theo các mức độ khác nhau). Do đó cần đảm bảo rằng thủy vân không bị
ảnh hưởng quá nghiêm trọng, để nó vẫn có thể chứng thực nguồn gốc hay bản quyền của
ảnh mang.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 28 -
Chƣơng 3: Phát triển ứng dụng.
3.1. Các chức năng chính:
Ứng dụng được xây dựng gồm hai chức năng chính:
Nhúng thủy vân hiện (đóng dấu).
Nhúng thủy vân ẩn.
Tách thủy vân ẩn trong ảnh.
3.2. Hƣớng giải quyết bài toán
Trong các phần trước của khóa luận đã tìm hiểu một số thuật toán thủy vân số trên
miền không gian và miền tần số và tìm hiểu những ưu và nhược điểm của từng thuật toàn.
Phần này khóa luận sẽ xây dựng một ứng dụng thủy vân ẩn dùng thuật toán nhúng thủy
vân trên miền tần số DCT và xây dựng ứng dụng nhúng thủy vân hiện (đóng dấu).
3.2.1. Mô tả thuật toán:
Đầu vào:
Một chuỗi bit thể hiện bản quyền.
Một ảnh
Đầu ra:
Một ảnh sau khi thủy vân
3.2.2. Quá trình thủy vân ẩn:
Quá trình nhúng thủy vân ẩn dùng thuật toán nhúng thủy vân trên miền tần số
DCT:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 29 -
Hình 3.1 Mô hình nhúng thủy vân trên miền DCT
Chia khối ảnh có kích thước mxn thành khối 8*8 mỗi bit sẽ được giấu trên mỗi khối.
Chọn một khối bất kỳ và biến đổi DCT khối đó thu được B‟
Chọn hai hệ số ở vị trí bất kỳ trong miền tần số ở giữa của khối DCT, giả sử hai khối
đó là b‟(i,j) và b‟(p,q).
Ta tính
d=||b‟(i,j)|-|b‟(p,q)|| mod a
Trong đó a là tham số thỏa mãn điều kiện a=2(2t+1), t là một số nguyên dương bất
kỳ.
Bit si sẽ được nhúng sao cho thỏa mãn điều kiện sau:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 30 -
Nếu d<2t+1 và si=1 thì một trong hai hệ số DCT b‟(i,j) hoặc b‟(p,q) có trị tuyệt
đối lớn hơn sẽ bị thay đổi để d>=2t+1 theo công thức sau :
max(|b’(i,j)|, |b’(p,q)|) + (INT(0,75 *a) - d)
với hàm max() là hàm chọn ra hệ số có trị tuyệt đối lớn hơn, hệ số đó được
chọn sẽ được công thêm một lượng là (INT(0,75 *a) - d).
Hoặc có thể biến đổi một trong hai hệ số theo công thức:
min(|b’(i,j)|, |b’(p,q)|) - (INT(0,25 *a) + d)
với hàm min() là hàm chọn ra hệ số có trị tuyết đối nhỏ hơn, hệ số được chọn
sẽ bị trừ đi một lượng là: (INT(0,25 *a) + d).
INT() là hàm lấy phần nguyên của một số thực.
Tương tự nếu d>=2t+1 và si=0 thì một trong hai hệ số DCT b‟(i ,j) hoặc b‟(p,q)
có trị tuyệt đối lớn hơn sẽ được thay đổi để thỏa mãn d<2t+1 như sau:
max(|b’(i,j)|,|b’(p,q)|) - (d - INT(0,25*a))
Hàm max() là hàm chọn ra hệ số có giá trị tuyệt đối lơn hơn, hệ số được chọn
sẽ bị trừ đi một lượng là (d - INT(0,25 *a)) hoặc là
min(|b’(i,j))|,|b’(p,q)|) + INT(1,25*a) – d
Quá trình tách thủy vân
Hình 3.2: Mô hình tách thủy vân.
Quá trình tách lấy thông tin:
Đọc khối DCT từ ảnh chứa thủy vân và vị trí hai hệ số đã biến đổi sau đó tính
d = ||b’(i,j)|-|b’(p,q)|| mod a với (a =2(2t+1))
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 31 -
Nếu d >= 2t+1 thì gán si =1
Nếu d<2t +1 thì gán si = 0
Quá trình biến đổi DCT
Vì ảnh gốc có kích thước rất lớn cho nên trước khi đưa vào biến đổi DCT, ảnh được
phân chia thành các khối vuông, mỗi khối này thường có kích thước 8 x 8 pixel và biểu
diễn các mức xám của 64 điểm ảnh, các mức xám này là các số nguyên dương có giá trị
từ 0 đến 255. Việc phân khối này sẽ làm giảm được một phần thời gian tính toán các hệ số
chung, mặt khác biến đổi cosin đối với các khối nhỏ sẽ làm tăng độ chính xác khi tính
toán với dấu phẩy tĩnh, giảm thiểu sai số do làm tròn sinh ra.
Biến đổi DCT là một công đoạn chính trong các phương pháp nén sử dụng biến đổi.
Hai công thức (1), (2) minh hoạ cho hai phép biến đổi DCT thuận nghịch đối với mỗi
khối ảnh có kích thước 8 x 8. Giá trị x(n1, n2) biểu diễn các mức xám của ảnh trong miền
không gian, X(k1, k2) là các hệ số sau biến đổi DCT trong miền tần số.
(1)
(2)
Với và
Mỗi khối 64 điểm ảnh sau biến đổi DCT thuận sẽ nhận được 64 hệ số thực DCT
(Hình 2.3). Mỗi hệ số này có chứa một trong 64 thành phần tần số không gian hai chiều.
Hệ số với tần số bằng 0 theo cả hai hướng (tương ứng với k1 và k2 bằng 0) được gọi là hệ
số một chiều DC, hệ số này chính là giá trị trung bình của 64 điểm ảnh trong khối, 63 hệ
số còn lại gọi là các hệ số xoay chiều AC. Hệ số một chiều DC tập trung phần lớn năng
lượng của ảnh.
Chú ý rằng bản thân biến đổi DCT không làm mất thông tin vì DCT là một biến đổi
tuyến tính chuyển các giá trị của điểm ảnh từ miền không gian thành các hệ số trong miền
tần số. Nếu biến đổi DCT thuận và nghịch được tính toán với độ chính xác tuyệt đối và
nếu các hệ số DCT không phải qua bước lượng tử và mã hoá thì ảnh thu được sau biến
đổi DCT ngược sẽ giống hệt ảnh gốc.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 32 -
Hình 3.3 Các bước của quá trình mã hóa biến đổi DCT đối với một khối
Sau khi thực hiện biến đối DCT, 64 hệ số sẽ được lượng tử hoá dựa trên một
bảng lượng tử gồm 64 phần tử Q(u, v) với 0≤u, v≤7. Bảng này được định nghĩa bởi từng
ứng dụng cụ thể (hình 2.4 là ví dụ ma trận lượng tử hay sử dụng). Các phần tử trong bảng
lượng tử có giá trị từ 1 đến 255 được gọi là các bước nhảy cho các hệ số DCT. Quá trình
lượng tử được coi như là việc chia các hệ số DCT cho bước nhảy lượng tử tương ứng, kết
quả này sau đó sẽ được làm tròn xuống số nguyên gần nhất. Công thức (3) dưới đây thể
hiện việc lượng tử với F(u, v) là các hệ số DCT, FQ(u, v) là các hệ số sau lượng tử, các hệ
số này sẽ được đưa vào bộ mã hoá Entropy.
Hình 3.4. Ma trận lượng tử
(3)
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 33 -
Mục đích của việc lượng tử hoá là giảm số lượng bit cần để lưu trữ các hệ số biến
đổi bằng việc giảm độ chính xác của các hệ số này cho nên lượng tử là quá trình xử lý có
mất thông tin.
Quá trình giải lượng tử ở phía bộ giải mã được thực hiên ngược lại. Các hệ số sau bộ
giải mã entropy sẽ nhân với các bước nhảy trong bảng lượng tử (bảng lượng tử được đặt
trong phần header của ảnh JPEG). Kết quả này sau đó sẽ được đưa vào biến đổi DCT
ngược.
3.2.3. Quá trình nhúng thủy vân hiện
Mô tả thuật toán:
Đầu vào:
Một ảnh.
Một chuỗi ký tự bản quyền
Đầu ra:
Một ảnh đã đóng dấu.
Quá trình nhúng thủy vân hiện:
Thủy vân hiện là phương pháp thủy vân mà thủy vân sẽ được hiển thị cho mọi người
xem có thể biết được sản phẩm có bản quyền của tác giả nào. Thủy vân hiện thường
được dùng cho các tài nguyên chia sẻ trên mạng.
Mô hình thủy vân hiện:
Công thức chung nhúng thủy vân hiện:
I‟= K1*I + K2*W
D(EI(I‟),EI(I))< ngưỡng của I
D(EW(W‟),EW(W))< ngưỡng của W
3.2.4. Một số thay đổi về thuật toán trong ứng dụng:
Trong qua trính xây dựng hệ thống tôi đã bỏ đi một số bước trong quá trình nhúng
thủy vân với thuật toán trên.
1. Xử lý dữ liệu đầu vào:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 34 -
Với dữ liệu ảnh chưa chuyển đổi ảnh từ dang RGB sang ảnh dạng YUV mà chỉ lấy
giá trị dải sám bằng cách lấy trung bình 3 giá trị RGB.
2. Ảnh hƣởng của việc thay đổi:
Một số ảnh hưởng của thay đổi:
Giảm khả năng bền vững của thủy vân bởi vì sự sai số của quá trình biến đổi.
Nhưng lỗi trên tôi sẽ có gắng khắc phục trong tương lai để hệ thống có thể hoạt
động chính xác và độ bề vững tốt hơn.
3.3. Giới thiệu về các module:
Chƣơng trình có 2 module chính:
Module thủy vân hiện.
Module thủy vân ẩn.
Một số kiểu dữ ứng dụng có thể xử lý:
Với hệ thống nhúng thủy vân hiện xữ lý được hầu hết các dữ liệu ảnh quan trong
như bitmap (bmp), JPEG (jpg), ….
Với hệ thống nhúng thủy vân ẩn, hiên nay hệ thống mới nhúng trên dữ liệu
Bitmap và JPEG
a. Module thủy vân hiện:
Mô hình tương tác:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 35 -
Hình 3.5: Mô hình tương tác module thủy vân hiện.
Qui trình hoạt động của module:
Ảnh được đưa vào bộ đọc dữ liệu sẽ được tách thành kiểu dữ liệu bitmap và
được chuyển tới mục hiện thị cho người dừng kiểm tra ảnh đồng thới ảnh sẽ
được gửi tới bộ nhúng thủy vân.
Người dùng nhập thủy vân vào đưới dạng text và các thiết lập khác vế thủy
vân (dấu). Toàn bộ thông tin sễ được chuyển đến cho hệ thống nhúng thủy vân
hiện thực hiện.
Sau khi nhúng xong thì module nhúng thủy vân hiện sẽ chuyển dữ liệu
bitmap tới cho modul hiển thị để hiển thị lại ảnh sau khi đã nhúng thủy vân.
Khi chọn lưu ảnh thì modul nhúng thủy vân sẽ trả lại toàn bộ giá trị bitmap
mới của ảnh cho modul lưu ảnh. Modul lưu ảnh sẽ lưu ảnh lại.
b. Module thủy vân ẩn:
Mô hình tương tác module nhúng thủy vân ẩn:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 36 -
Hình 3.6 Mô hình nhúng thủy vân ẩn
Qui trình làm việc:
Các thông tin cần người dùng nhập vào bào gồm ảnh để nhúng, thủy vân
dạng text hoặc file text, mã khóa cá nhân.
Thủy vân sẽ được khóa mã hóa.
Dữ liệu ảnh sẽ được chuyển lên modul đọc dữ liệu chuyến sang kiểu bitmap
và chuyển sang modul tách khối.
Modul tách khối có chức năng là tách ảnh thành các khối 8x8 và chuyển tới
modul DCT
Modul DCT có chức năng biến đổi Cosine rời rạc khối 8x8 đó và đưa vào
modul nhúng thủy vân.
Modul nhúng thủy vân sẽ nhúng từng bit của thủy vân đã được mã hóa ở
trên vào khối 8x8 đó.
Sau khi nhúng xong khôi dữ liệu sẽ được chuyển tới modul IDCT để biến
đổi ngược lại từ miền tấn số sang ảnh.
Sau khi nhúng hết thì tất cả các khối 8x8 sẽ được ghép lại thành ảnh ban
đầu và đưa đến mục hiển thị.
Khi chọn lưu ảnh thì từ modul ghép ảnh sẽ chuyển dữ liệu bitmap tới modul
lưu để lưu lại ảnh.
Mô hình tách thủy vân ẩn:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 37 -
Hình 3.7 Mô hình tách thủy vân ẩn.
Qui trình làm việc:
Qui trình nay ngược hẳn với quy trình trên:
Dữ liệu vào là ảnh đã được thủy vân và khóa dữ liệu ra sẽ là thủy vân.
Dữ liệu vào cũng được đọc và tách khối nhờ modul đọc dữ liệu và tách
khối.
Các khối đã được chọn nhúng thủy vân được chuyên tới modul DCT để
biến đổi cosin rời rạc.
Sau khi biến đổi DCT thì dữ liệu sẽ được chuyển tới bộ tách thủy vân và
tách các bit được nhúng trên từng khối.
Sau đó từng bít sẽ được ghép lại và giải mã thành thủy vân.
Thủy vân sẽ được kiểm tra xem có giống với ban đầu không.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 38 -
3.4. Giao diện chƣơng trình
Giao diện chính của chƣơng trình:
Hình 3.8: Giao diện chính của chương trình và nhúng thủy vân ẩn
Hƣớng dẫn sử dụng chức năng thủy vân ẩn:
Nhấn Browse… để mở giao diên chọn ảnh, chọn ảnh mà muốn nhúng.
Điền key vào khung Password hoặc chọn lấy key từ một file bằng cách tích
vào Filename và ấn Browse…
Sau khi chọn xong khung ở bên phải có hai tab chính đó là Hide để nhúng
và Extract để tách.
Nhúng thủy vân chọn tab Hide trong tab Hide chúng ta sẽ điền dữ liệu text
vào khung text hoặc là chọn một file text nào đó để nhúng.
Bầm button Hide để nhúng và save để lưu ảnh đã nhúng dữ liệu
Tách thủy vân chọn tab Extract ta điền vào khung key khóa để giải mã. Sau
đó click button Extract để tách thủy vân.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 39 -
Giao diện thủy vân hiện:
Hình 3.9: Giao diện thủy vân hiện
Bật ứng dụng ta sẽ có giao diện chính như hình 3.5.
Chọn chức năng Visible Watermarking:
Giao diện hình 3.6 sẽ mở lên.
Chọn File chọn Open sau đó lựa chọn ảnh cần đóng dấu.
Trên thanh menu chọn Visible Watermark chọn Properties
Ta sẽ có giao diện sau:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 40 -
Trong tùy chọn WaterMarkPropertiesForm: có các trường sau:
Alpha: tùy chọn làm mờ của dòng text trên ảnh.
Color : tùy chọn màu sắc của chữ
Font: tủy chỉnh font và kích thước của dòng text
Text: dòng text muốn đóng dấu lên ảnh dữ liệu này bắt buộc phải nhập.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 41 -
3.5. Môi trƣờng lập trình.
C# là một trong rất nhiều ngôn ngữ lập trình được hỗ trợ bởi .NET
Framework (như C++, Java,VB…). Có thể hiểu đơn giản đây là một trung tâm biên
dịch trong đó tất cả các ngôn ngữ được hỗ trợ bởi .NET Framework sẽ được chuyển
đổi ra MSIL (một dạng mã trung gian) rồi từ đấy mới được biên dịch tức thời (Just
in time Compiler – JIT Compiler) thành các file thực thi như exe. Một thành tố quan
trong nữa trong kiến trúc .NET Framework chính là CLR (.NET Common Language
Runtime), khối chức năng cung cấp tất cả các dịch vụ mà chương trình cần giao tiếp
với phần cứng, với hệ điều hành.
.NET Framework có hai thành phần chính là CLR là nền tảng của .NET
Framework. Chúng ta có thể hiểu runtime như một agent quản lý mã nguồn khi nó
được thực thi, cung cấp các dịch vụ cốt lõi như: quản lý bộ nhớ, quản lý tiến trình,
và quản lý từ xa. Ngoài ra nó còn thúc đẩy việc sử dụng kiểu an toàn và các hình
thức khác của việc chỉn xác mã nguồn, đảm bảo cho việc thực hiện được bảo mật và
mạnh mẽ.
Thư viện lớp, một thành phần chính khác của .NET Framework là một tập
hợp hướng đối tượng của các kiểu dữ liệu được dung lại, nó cho phép chúng ta có
thể phát triển ứng dụng từ những ứng dụng truyền thống command –line hay những
ứng dụng giao diện đồ họa (GUI) đến những ứng dụng mới nhất được cung cấp bởi
ASP.NET, như Web Form và dịch vụ XML Web
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 42 -
Hình 3.10: Mô tả thành phần của .NET Framework
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 43 -
Chƣơng 4: Thực nghiệm đánh giá.
4.1. Cài đặt:
Yêu cầu của hệ thống thực nghiệm:
Sử dụng hệ điều hành windows xp, windows vista, windows 7.
Cài đặt .NET framework version 3.5 trở lên.
Đường dẫn tải chương trình .NET framework version 3.5:
508d977d32a6&displaylang=en
4.2. Chất lượng ảnh.
4.2.1. Thủy vân hiện (đóng dấu):
Ảnh gốc:
Hình 4.1: ảnh gốc mang thủy vân hiên (đóng dấu)
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 44 -
Ảnh sau khi đóng dấu:
Hình 4.2: Ảnh sau khi đóng dấu thủy vân
Đánh giá chất lƣợng ảnh:
Ảnh sau khi đóng giấu chất lượng ảnh không đổi.
Dấu thủy vân rõ ràng không bị vỡ.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 45 -
4.1.2 Thủy vân ẩn:
Ảnh trước và sau khi nhúng thủy vân:
Ảnh gốc:
Dữ liệu nhập vào khóa : 123
Dữ liệu text: 1234567890abcdef!@#$%^
Ảnh sau khi nhúng thủy vân:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 46 -
Đánh giá chất lƣợng ảnh:
Với mắt bình thường thì khó có thể nhận ra được sự khác nhau giữa ảnh gốc và ảnh sau
khi nhúng thủy vân.
Quá trình tách thủy vân:
Kết quả sau khi tách thủy vân
4.3. Độ bền vững của thông tin.
Khảo sát thực nghiệm với phép tấn công cắt ảnh, với các ảnh lựa chọn ngẫu nhiên và cắt
với các tỉ lệ khác nhau:
Cắt ảnh với tỉ lệ 25%
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 47 -
Cắt ảnh với tỉ lệ 50%:
Cắt ảnh với tỉ lên 75%:
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 48 -
Bảng kết quả sau khi cắt với các tỉ lệ trên ảnh:
Sử dụng cắt ảnh một cách ngẫu nhiên trên một số ảnh đã nhúng cùng một thủy vân với độ
dài giống nhau. Sau đó thực hiện khôi phục lại thủy vân, tính tỉ lệ giữa thủy vân khôi phục
được và thủy vân ban đầu.
Những con số đây là tỉ lệ khôi phục lại thủy vân trên ảnh sau khi cắt với thủy vân ban
đầu:[3]
Tỉ lệ cắt 25% 50% 75%
Thủy vân 0,7 0,45 0,30
4.4. Một số hạn chế của hệ thống:
Hệ thống được xây dựng còn khá đơn giản chưa có nhiều chức năng tùy chon
cho người dụng. Một số tính năng chưa được xây dựng hoàn chỉnh.
Về hệ thống nhúng thủy vân hiện (đóng dấu): chưa cho người dùng tùy chỉnh
lại vị trí của thủy vân.
Về hệ thống nhúng thủy vân ẩn: Còn một số lỗi về xử lý dữ liệu ảnh. Và chưa
có tính năng nhúng thủy vân đầu vào là một ảnh.
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 49 -
Kết luận
Thủy vân số trong dữ liệu đa phương tiện đặc biệt là trên ảnh số là một vấn đề
đang được quan tâm hiện này trong nhiều lĩnh vực. Để xây dựng được một kiểu thủy vân
số đòi hỏi rất nhiều yếu tố và kỹ thuật phức tạp. Với mục đích là nghiên cứu về các kỹ
thuật thủy vân số trên dữ liệu ảnh số, nên khóa luận đã đi sâu vào phân tích và nghiên cứu
các phép biến đổi
Khóa luận đã giới thiệu mốt số phương pháp biến đổi ảnh trên miền tần số không
chỉ làm tăng tính bền vững của thủy vân mà còn giúp làm giảm kích thước của ảnh bằng
các phép nén ảnh. Điều này có thể giúp xây dựng một bộ ứng dụng nhúng thủy vân có
khả năng nhúng thủy vân rất bền vững trước mọi sự tấn công.
Hương phát triển trong tương lai:
Cải thiện lại hệ thống nhúng thủy vân hiện. Cho phép người dùng có thể
dụng chuột để chọn vị trí đặt của thủy vân. Xây dựng thêm nhiều kiểu dáng của thủy vân
như kiểu 3D cho thủy vân dạng văn bản. Xây dựng thêm tính năng đóng dấu bằng hình
ảnh.
Cải thiện hệ thống thủy vân ẩn. Cho phép tùy chọn các phương pháp nhúng
thủy vân khác nhau như LSB, DWT,… giúp cho người dùng có thể có nhiều lưa chọn tùy
hơn. Xây dựng hệ thống mã hóa cho thủy vân đầu vào. Thêm tính năng thủy vân ẩn với
dữ liệu thủy vân là ảnh.
Xây dựng hệ thống tùy chỉnh ảnh, cho phép người dùng có thể chỉnh sửa
ảnh đơn gian, như xoay, chỉnh sửa về độ sáng,…
Hiện tại thì khóa luân mới đưa ra ứng dụng của thủy vân số trên dữ liệu ảnh tĩnh.
Nhưng ưu điểm của thủy vân số là có thể ứng dụng trên âm thanh, video, …
Nghiên cứu thêm các phương pháp thủy vân trên các dữ liệu khác như âm thanh,
video, các dữ liệu 3D,…
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 50 -
Các thuật ngữ tiếng anh
Steganography: Ẩn- Giấu tin
Watermarking: Thủy vân số
Hiding information: Giấu tin
HAS – Human Auditory System : Hệ thống thính giác của con người
Robust watermarking : Thủy vân bền vững
Fragile watermarking: Thủy vân dễ vỡ
Invisible watermarking: Thủy vân ẩn
Visible watermarking: Thủy vân hiện
Spatial domain: Miền không gian
Frepuency domain: Miền tần số
LSB – Least Significant Bit: Bit có trọng số thấp
DFT – Discrete Fourier Transform: Biến đổi Fourier
IDFT – Inverse Discrete Fourier Transform: Biến đổi ngược Fourier
DCT – Discrete Cosine Transform: Biến đổi Cosine
IDCT – Inverse Discrete Cosine Transform: Biến đổi ngược Cosine
DWT – Discrete Wavelet Transform: Biến đổi sóng rời rạc
IDWT – Inverse Discrete Wavelet Transform: Biến đổi ngược sóng rời rạc
Copyright protection: Bảo vệ bản quyền
Lê Ngọc Việt – K51CHTTT Thủy vân số trên ảnh
- 51 -
Tài liệu tham khảo
Tài liệu tiếng Việt:
[1] - Trịnh Nhật Tiến, “An toàn dữ liệu”, Giáo trình. Tr 110-131
[2] - Nguyễn Xuân Huy, Trần Quốc Dũng, Giáo trình giấu tin và thuỷ vân ảnh,
Trung tâm thông tin tư liệu, TTKHTN - CN 2003.
[3] – Nguyễn Xuân Huy, Trần Quốc Dũng Một thuật toán thủy vân ảnh trên miền
DCT.
n%20anh%20tren%20mien%20DCT.pdf
[4] – Lê Tiến Thường, Nguyễn Thanh Tuấn, Giải pháp hiệu quả dung kỹ thuật
watermarking cho ứng dụng bảo vệ bản quyền ảnh số.
[5] – Đỗ Ngọc Anh Nén ảnh sủ dụng biến đổi wavelet và ứng dụng trong dịch vụ dữ
liệu đa phương tiện, Luận văn thạc sĩ,Điện tử viễn thông năm 2006 tr 19-30.
Tài liệu tiếng Anh:
[6] - Hal Berghel, “Watermarking Cyberspace”, Comm. of the ACM, Nov.1997
[7] – Saraju P. Mohanty “Digital watermarking: A tutorial review” University of
South Florida Tampa, FL 33620
df
[8] – Juergen Seitz, “Digital watermarking for digital media” University of
cooperative education heidenheim, Germany tr 1-30, tr 101- 135
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-NGHIÊN CỨU PHƯƠNG PHÁP ĐỊNH DANH BẢN QUYỀN TÁC GIẢ TRÊN DỮ LIỆU ẢNH.pdf