KẾT LUẬN
Báo cáo đã trình bày những khái niệm tổng quan về giấu tin, cho thấy được
tầm quan trọng của giấu tin trong đời sống hiện nay.
Trong thời gian nghiên 4 tháng, nhóm nghiên cứu đã đạt được các kết quả sau:
Nắm rõ được khái niệm tổng quan về kỹ thuật giấu tin trong ảnh
Kỹ thuật nén ảnh JPEG2000
Kỹ thuật giấu tin trên miền biến đổi rời rạc wavelet cặp tần số giữa
Đề xuất kỹ thuật giấu cải tiến trên miền tần số Wavelet của miền
tần số cao (HL, LH) dựa trên kỹ thuật giấu đã công bố đối trên các hệ số
DWT đã được lượng tử hoá cho ảnh JPEG2000.
Cài đặt, thử nghiệm và đánh giá kết quả.
Vì thời gian nghiên cứu có hạn lên chưa xây dựng được giao diện chương
trình thân thiện với người dùng, giao diện chương trình còn thực hiện trên cửa sổ dòng lệnh.
Hướng nghiên cứu tiếp theo sẽ nghiên cứu tiếp một số kỹ thuật giấu tin
khác như: QIM, MFP.và hoàn thiện cài đặt đóng gói thành một phần mềm chuyên dụng.
43 trang |
Chia sẻ: linhlinh11 | Lượt xem: 857 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Kỹ thuật phát hiện thông tin ẩn giấu trong ảnh jpeg2000, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN
TẦN SỐ GIỮA DWT ........................................................................................ 25
4.1. Tổng quan về kỹ thuật phát hiện tin ẩn giấu trong ảnh (Steganalysis) .... 25
4.2. Với kỹ thuật giấu 1 ................................................................................... 26
4.3. Với kỹ thuật giấu 2 ................................................................................... 26
CHƢƠNG 5. CÀI ĐẶT THỬ NGHIỆM......................................................... 27
5.1. Môi trƣờng cài đặt .................................................................................... 27
5.2. Thử nghiệm .............................................................................................. 28
KẾT LUẬN ........................................................................................................ 36
TÀI LIỆU THAM KHẢO ................................................................................ 37
LỜI CẢM ƠN
Chúng em xin chân thành cảm ơn hội đồng khoa Công Nghệ Thông Tin,
hội đồng khoa học trường Đại Học Dân Lập Hải Phòng đã tạo điều kiện để
chúng em thực hiện tốt đề tài nghiên cứu khoa học.
Chúng em xin chân thành cảm ơn cô giáo: Ths. Hồ Thị Hương Thơm –
giảng viên khoa công nghệ thông tin trường ĐHDL Hải Phòng, đã tận tình
hướng dẫn và chỉ đạo chúng em trong suốt thời gian nghiên cứu đề tài.
Cuối cùng, chúng mình xin cảm ơn tất cả các bạn đồng môn đã động viên,
góp ý và trao đổi hỗ trợ cho chúng mình trong suốt thời gian nghiên cứu vừa
qua.
Vì thời gian nghiên cứu chỉ có hạn, trình độ hiểu biết của bản thân chúng
em còn nhiều hạn chế. Cho nên trong đề tài không tránh khỏi những thiếu sót,
chúng em rất mong được sự góp ý quý báu của tất cả các thầy cô giáo cũng như
các bạn để đề tài của chúng em được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn!
Hải Phòng, ngày 14 tháng 8 năm 2009
Nhóm thực hiện
Phạm Thị Quỳnh
Phạm Thị Thu Trang
LỜI MỞ ĐẦU
Môi trƣờng mạng Internet phát triển rộng rãi cùng với sự hỗ trợ của các
phƣơng tiện đa truyền thông đã đem lại nhiều thuận lợi và cơ hội cho con ngƣời
trên mọi lĩnh vực của đời sống xã hội, trong giao lƣu, hợp tác, kinh doanh, ...
Nhƣng đồng thời nó cũng nhƣ đặt ra nhiều thách thức trong việc đảm bảo tính
an toàn cho các thông tin đƣợc truyền giao qua các phƣơng tiện truyền thông
nhƣ: nguy cơ sử dụng trái phép, xuyên tạc bất hợp pháp thông tin lƣu chuyển
trên mạng. Việc sử dụng một cách bình đẳng, an toàn các dữ liệu đa phƣơng tiện
cũng nhƣ cung cấp một cách kịp thời tới nhiều ngƣời dùng cuối và các thiết bị
cuối cũng là một vấn đề quan trọng.
Hơn nữa, sự phát triển mạnh của các phƣơng tiện kỹ thuật số đã làm cho
việc lƣu trữ, sửa đổi và sao chép dữ liệu ngày càng đơn giản, từ đó việc bảo vệ
bản quyền và chống xâm phạm trái phép các dữ liệu đa phƣơng tiện (âm thanh,
hình ảnh, tài liệu) cũng gặp nhiều khó khăn. Một công nghệ mới đƣợc ra đời đã
phần nào giải quyết đƣợc các khó khăn trên là giấu thông tin trong các nguồn đa
phƣơng tiện nhƣ các nguồn âm thanh, hình ảnh, ảnh tĩnh. Mục tiêu của giấu
thông tin là làm cho thông tin trở nên vô hình, từ đó khiến ta không thể thấy
đƣợc đối tƣợng.
Trong những năm gần đây, giấu thông tin trong ảnh là một bộ phận chiếm
tỷ lệ lớn nhất trong các chƣơng trình ứng dụng, các phần mềm, hệ thống giấu tin
trong đa phƣơng tiện bởi lƣợng thông tin đƣợc trao đổi bằng ảnh là rất lớn. Nó
đóng vai trò rất quan trọng trong 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 của tác
giả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à không ai biết đƣợc đằng sau nó 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 nhiều những ứng dụng to lớn trên hầu hết các lĩnh vực trong đời sống xã hội.
Giấu thông tin là một kỹ thuật còn tƣơng đối mới và đang phát triển rất
nhanh thu hút đƣợc sự quan tâm của cả giới khoa học và giới công nghiệp nhƣng
1
cũng còn rất nhiều thách thức. Bản báo cáo này trình bày về một kỹ thuật giấu
thông tin trong ảnh JPEG2000.
Nội dung của đề tài đƣợc trình bày trong 5 chƣơng:
Chƣơng 1: Tổng quan về kỹ thuật giấu tin trong ảnh
Chƣơng 2: Chuẩn nén ảnh tĩnh dựa trên biến đổi WAVELET-JPEG2000
Chƣơng 3: Phƣơng pháp giấu thủy vân dựa vào cặp tần số giữa DWT
Chƣơng 4: Vấn đề phát hiện ảnh có giấu tin trên miền tần số giữa DWT
Chƣơng 5: Cài đặt thử nghiệm
2
CHƢƠNG 1. TỔNG QUAN Kỹ THUẬT GIẤU TIN
1.1. Định nghĩa giấu tin
Giấu tin là một kỹ thuật giấu hoặc nhúng 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 tin nhiều khi không phải là hành
động giấu cụ thể mà chỉ mang ý nghĩa quy ƣớc).
1.2. Mục đích của giấu tin
Có 2 mục đích của giấu thông tin:
- Bảo mật cho những dữ liệu đƣợc giấu.
- Bảo đảm an toàn (bảo vệ bản quyền) cho chính các đối tƣợng chứa dữ
liệu giấu trong đó.
Có thể thấy 2 mục đích này hoàn toàn trái ngƣợc nhau và dần phát triển thành
2 lĩnh vực với những yêu cầu và tính chất khác nhau.
Hình 1.1. Hai lĩnh vực chính của kỹ thuật giấu thông tin.
Kỹ thuật giấu thông tin bí mật (Steganography): với mục đích đảm bảo
tính an toàn và bảo mật thông tin tập trung vào các kỹ thuật giấu tin để có thể
giấu đƣợc nhiều thông tin nhất. Thông tin mật đƣợc giấu kỹ trong một đối tƣợng
khác sao cho ngƣời khác không phát hiện đƣợc.
Kỹ thuật giấu thông tin theo kiểu đánh giấu (watermarking) có mục đích là
để bảo vệ bản quyền của đối tƣợng chứa thông tin thì lại tập trung đảm bảo một
số các yêu cầu nhƣ đảm bảo tính bền vững đây là ứng dụng cơ bản nhất của
kỹ thuật thuỷ vân số.
1.3 Mô hình kỹ thuật giấu thông 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à 2 quá trình
trái ngƣợc nhau và có thể mô tả qua sơ đồ khối của hệ thống nhƣ sau:
3
Hình 1.2. Lƣợc đồ chung cho quá trình giấu tin
- 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 đó
Hình vẽ sau chỉ ra các công việc giải mã thông tin đã giấu.
Hình 1.3. Lƣợc đồ chung cho quá trình giải mã
1.4. Môi trƣờng giấu tin
a) Giấu tin trong ảnh
Giấu tin trong ảnh hiện đang rất đƣợc quan tâm. Nó đóng vai trò hết sức
quan trọng trong 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ả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à không ai
Thông tin giấu
Phƣơng tiện
chứa(audio, ảnh,
video)
Phƣơng tiện
chứa đã đƣợc
giấu tin
Khóa
Bộ nhúng
thông tin
Phân
phối
4
biết đƣợc đằng sau ảnh đó mang những thông tin có ý nghĩa. Ngày này, khi ảnh
số đã đƣợc sử dụng rất phổ biến thì giấu thông tin trong ảnh đã đem lại nhiều
những ứng dụng quan trọng trên các lĩnh vực trong đời sống xã hội.
b) Giấu tin trong audio
Khác với kỹ thuật giấu thông tin trong ảnh: phụ thuộc vào hệ thống thị giác
của con ngƣời – HSV (Human Vision System), kỹ thuật giấu thông tin trong
audio lại phụ thuộc vào hệ thống thính giác HAS (Human Auditory System).
Bởi vì tai con ngƣời rất kém trong việc phát hiện sự khác biệt giữa các giải tần
và công suất, có nghĩa là các âm thanh to, cao tần có thể che giấu đi đƣợc các
âm thanh nhỏ, thấp một cách dễ dàng.
c) Giấu tin trong video
Cũng giống nhƣ giấu thông tin trong ảnh hay trong audio, 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, bản quyền tác giả
Một phƣơng pháp giấu tin trong video đƣợc đƣa ra bởi Cox là phƣơng pháp
phân bố đều. Ý tƣởng cơ bản của phƣơng pháp là phân phối tin giấu dàn trải
theo tần số của dữ liệu gốc.
d) Giấu thông tin trong văn bản dạng text
Giấu thông tin trong văn bản dạng text thì khó thực hiện hơn do có ít thông
tin dƣ thừa, để làm đƣợc điều này ngƣời ta phải biết khéo léo khai thác các dƣ
thừa tự nhiên của ngôn ngữ. Một cách khác là tận dụng các định dạng văn bản
(mã hoá thông tin vào khoảng cách giữa các từ hay các dòng văn bản).
1.5. Phân loại giấu tin theo cách thức tác động lên các phƣơng tiện
Phƣơng pháp chèn dữ liệu: Phƣơng pháp này tìm các vị trí trong file dễ bị
bỏ qua và chèn dữ liệu cần giấu vào đó, cách giấu này không làm ảnh hƣởng gì
tới sự thể hiện các file dữ liệu ví dụ nhƣ đƣợc giấu sau các ký tự EOF.
Phƣơng pháp tạo các phƣơng tiện chứa: Từ các thông điệp cần chuyển sẽ
tạo ra các phƣơng tiện chứa để phục vụ cho việc truyền thông tin đó, từ phía
ngƣời nhận dựa trên các phƣơng tiện chứa này sẽ tái tạo lại các thông điệp.
1.6. Phân loại giấu tin theo các mục đích sử dụng
Giấu thông tin bí mật: đây là ứng dụng phổ biến nhất từ trƣớc đến nay, đối
với giấu thông tin bí mật ngƣời ta quan tâm chủ yếu tới các mục tiêu:
5
+ Độ an toàn của giấu tin - khả năng không bị phát hiện của giấu tin.
+ Lƣợng thông tin tối đa có thể giấu trong một phƣơng tiện chứa cụ thể
mà vẫn có thể đảm bảo an toàn.
+ Độ bí mật của thông tin trong trƣờng hợp giấu tin bị phát hiện.
Giấu thông tin thuỷ vân: do yêu cầu bảo vệ bản quyền, xác thực nên việc
giấu tin thuỷ vân có yêu cầu khác với giấu tin bí mật. Yêu cầu đầu tiên là các
dấu hiệu thuỷ vân đủ bền vững trƣớc các tấn công vô hình hay cố ý gỡ bỏ nó.
Thêm vào đó các dấu hiệu thuỷ vân phải có ảnh hƣởng tối thiểu (về mặt cảm
nhận) đối với các phƣơng tiện chứa. Nhƣ vậy các thông tin cần giấu càng nhỏ
càng tốt.
Nhƣ vậy tuỳ theo các mục đích khác nhau thuỷ vân cũng có các yêu cầu
khác nhau.
Hình 1.4. Phân loại các kỹ thuật giấu tin
Information hiding
Giấu thông tin
Watermarking
Thuỷ vân số
Visible Watermarking
Thuỷ vân hiển thị
Steganography
Giấu tin mật
Fragile Watermarking
Thuỷ vân dễ vỡ
Robust Watermarking
Thuỷ vân bền vững
Imperceptible Watermarking
Thuỷ vân ẩn
6
CHƢƠNG 2. CHUẨN NÉN ẢNH TĨNH DỰA TRÊN BIẾN ĐỔI
WAVELET– JPEG2000
2.1. Khái niệm nén ảnh.
- Nén là quá trình làm giảm thông tin dƣ thừa trong dữ liệu gốc.
Hình 2.1. ảnh ban đầu(a) và ảnh sau khi nén(b)
- Nhƣ vậy, nén ảnh có thể giảm nhỏ kích thƣớc ảnh, giảm thời gian truyền và
làm giảm chi phí xử lý ảnh trong khi chất lƣợng ảnh là tốt hơn.
2.2. Sự ra đời của JPEG2000
- Để việc nén ảnh có hiệu quả hơn, tháng 12/1999 một bản phác thảo tiêu chuẩn
nén hình ảnh theo công nghệ mới JPEG2000 thay thế cho chuẩn nén ảnh tĩnh
JPEG.
- Tháng 8/2000, bản phác thảo về tiêu chuẩn JPEG2000 đã đƣợc lƣu hành trong
giới chuyên gia hình ảnh.
- 12/2000 và đƣợc ISO hợp
, phân phối.
- JPEG-2000 sử dụng kỹ thuật mã hóa dạng sóng rời rạc (DWT – Descrete
Wavelet Transform) dùng mã số học.
2.3. Các tính năng của JPEG2000
JPEG2000 nhiều chức năng đặc biệt hơn mọi chuẩn nén ảnh tĩnh khác nhƣ
JPEG hay GIF. Dƣới đây là các chức năng ƣu việt của JPEG2000 so với các
chuẩn nén ảnh tĩnh khác :
Cho chất lƣợng ảnh tốt nhất khi áp dụng nén ảnh tĩnh có tổn thất.
Sử dụng đƣợc với truyền dẫn và hiển thị lũy tiến về chất lƣợng, độ
phân giải, các thành phần màu và có tính định vị không gian.
Sử dụng cùng một cơ chế nén ảnh cho cả hai dạng thức nén.
Truy nhập và giải nén tại mọi thời điểm trong khi nhận dữ liệu.
7
Giải nén từng vùng trong ảnh mà không cần giải nén toàn bộ ảnh.
Có khả năng mã hóa với tỷ lệ nén theo từng vùng khác nhau.
Nén một lần nhƣng có thể giải nén với nhiều cấp chất lƣợng tùy
theo yêu cầu của ngƣời sử dụng.
2.4. Các bƣớc thực hiện nén ảnh theo chuẩn JPEG2000
Hình 2.2. Trình tự mã hóa và giải mã JPEG2000
2.4.1. Xử lí trƣớc khi biến đổi
Do sử dụng biến đổi Wavelet, JPEG2000 cần có dữ liệu ảnh đầu vào ở dạng
đối xứng qua 0. Xử lý trƣớc biến đổi chính là giai đoạn đảm bảo dữ liệu đƣa vào
nén ảnh có dạng trên. Ở phía giải mã, giai đoạn xử lý sau biến đổi sẽ trả lại giá
trị gốc ban đầu cho dữ liệu ảnh.
2.4.2. Biến đổi liên thành phần
Giai đoạn này sẽ loại bỏ tính tƣơng quan giữa các thành phần của ảnh.
JPEG2000 sử dụng hai loại biến đổi liên thành phần là biến đổi thuận nghịch
(Reversible Color Transform - RCT) và biến đổi màu không thuận nghịch
(Irrersible Color Transform - ICT) trong đó biến đổi thuận nghịch làm việc với
các giá trị nguyên, còn biến đổi không thuận nghịch làm việc với các giá trị
thực. ICT và RCT chuyển dữ liệu ảnh từ không gian màu RGB sang YCrCb.
RCT đƣợc áp dụng cho nén có tổn thất. Việc áp dụng các biến đổi màu trƣớc khi
nén ảnh không nằm ngoài mục đích làm tăng hiệu quả nén. Các thành phần Cr,
Cb có ảnh hƣởng rất ít tới sự cảm nhận hình ảnh của mắt trong khi thành phần
độ chói Y có ảnh hƣởng rất lớn tới ảnh. Chúng ta có thể thấy rõ điều này trên
hình 2.3.
Hình 2.3. Minh họa ảnh với RGB và YcrCb
8
2.4.3. Biến đổi riêng thành phần (biến đổi Wavelet)
Biến đổi riêng thành phần đƣợc áp dụng trong JPEG2000 chính là biến đổi
Wavelet. Để đảm bảo tính toàn vẹn thông tin cũng phải áp dụng các phép biến
đổi thuận nghịch hoặc không thuận nghịch. Do phép biến đổi Wavelet không
phải là một phép biến đổi trực giao nhƣ biến đổi DCT mà là một phép biến đổi
băng con nên các thành phần sẽ đƣợc phân chia thành các băng tần số khác nhau
và mỗi băng sẽ đƣợc mã hóa riêng rẽ. JPEG2000 áp dụng biến đổi Wavelet
nguyên thuận nghịch 5/3 (IWT) và biến đổi thực không thuận nghịch
Daubechies 9/7. Việc tính toán biến đổi trong JPEG2000 này sẽ đƣợc thực hiện
thep phƣơng pháp Lifting.
Sơ đồ của phƣơng pháp Lifting ID áp dụng trong JPEG2000 trên hình 2.4.
Việc tính toán biến đổi Wavelet ID 2D suy ra từ biến đổi Wavelet ID theo các
phƣơng pháp phân giải ảnh tùy chọn. Trong JPEG2000 có 3 phƣơng pháp giải
ảnh nhƣng phƣơng pháp đƣợc sử dụng nhiều nhất là phương pháp kim tự tháp.
Hình 2.4. Phƣơng pháp Lifting 1D dùng tính toán biến đổi Wavelet
Do biến đổi Wavelet 5/3 là biến đổi thuận nghịch nên có thể áp dụng cho nén
ảnh theo cả 2 phƣơng pháp, có tổn thất và không tổn thất trong khi biến đổi 9/7 chỉ
áp dụng cho nén ảnh theo phƣơng pháp có tổn thất thông tin.
2.4.4. Lƣợng tử hóa – Giải lƣợng tử hóa
Các hệ số của phép biến đổi sẽ đƣợc tiến hành lƣợng tử hóa. Quá trình
lƣợng tử hóa cho phép đạt tỉ lệ nén cao hơn bằng cách thể hiện các giá trị biến
đổi với độ chính xác tƣơng ứng cần thiết với các mức chi tiết của ảnh cần nén.
Các hệ số biến đổi sẽ đƣợc lƣợng tử hóa theo phép lƣợng tử hóa vô hƣớng. Các
hàm lƣợng tử hóa khác nhau sẽ đƣợc áp dụng cho các băng con khác nhau và
đƣợc thực hiện theo biểu thức :
9
),(sgn]
|),(|
[),( yxU
yxU
yxV
Với ∆ là bƣớc lƣợng tử, U(x, y) là giá trị băng con đầu vào; V(x, y) là giá
trị sau lƣợng tử hóa. Trong dạng biến đổi nguyên, đặt bƣớc lƣợng tử bằng 1. Với
dạng biến đổi thực thì bƣớc lƣợng tử sẽ đƣợc chọn tƣơng ứng cho từng băng con
riêng rẽ. Bƣớc lƣợng tử của mỗi băng do đó phải có ở trong dòng bit truyền đi
để phía thu có thể giải lƣợng tử cho ảnh.
Công thức giải lƣợng tử hóa là :
U(x, y) = [V(x, y) + rsgn V(x, y)]
Với r là một tham số xác định dấu và làm tròn, các giá trị U(x, y); V(x, y)
tƣơng ứng là các giá trị khôi phục và giá trị lƣợng tử hóa nhận đƣợc. JPEG2000
không cho trƣớc r tuy nhiên thƣờng chọn r = ½.
2.4.5. Mã hóa và kết hợp dòng dữ liệu sau mã hóa
JPEG2000 theo khuyến nghị của ủy ban JPEG quốc tế có thể sử dụng nhiều
phƣơng pháp mã hóa khác nhau cũng nhƣ nhiều cách biến đổi Wavelet khác
nhau để có thể thu đƣợc chất lƣợng ảnh tƣơng ứng với ứng dụng cần xử lý. Điều
này giúp cho JPEG2000 mềm dẻo hơn nhiều so với JPEG. Việc áp dụng các
phƣơng pháp mã hóa khác nhau cũng đƣợc mở rộng sang lĩnh vực nén ảnh động
bằng biến đổi Wavelet. Trong thực tế các phƣơng pháp mã hóa ảnh đƣợc áp
dụng khi nén ảnh bằng biến đổi Wavelet cũng nhƣ JPEG2000 thì có phƣơng
pháp đƣợc coi là cơ sở và đƣợc áp dụng nhiều nhất: phƣơng pháp SPIHT và
phƣơng pháp EZW. Hiện này JPEG2000 vẫn đƣợc áp dụng mã hóa bằng 2
phƣơng pháp này và một phƣơng pháp phát triển từ 2 phƣơng pháp này là
phƣơng pháp mã hóa mặt phẳng bit. Vì thế ở đây chúng ta sẽ xem xét hai
phƣơng pháp này. Việc kết hợp dòng dữ liệu sau mã hóa của JPEG2000 thực
chất là để thực hiện các tính năng đặc biệt của JPEG2000 nhƣ tính năng ROI vv.
2.4.6. Phƣơng pháp mã hóa SPIHT
Có thể thấy rằng dù áp dụng biến đổi Wavelet nào hay cùng với nó là một
phép phân giải ảnh nào thì trong các băng con có số thứ tự thấp cũng là những
thành phần tần số cao (mang thông tin chi tiết của ảnh) trong khi những băng
con có số thứ tự cao hơn thì sẽ chứa những thành phần tần số thấp (mang thông
tin chính về ảnh). Điều đó nghĩa là các hệ số chi tiết sẽ giảm dần từ băng con
mức thấp (HH1 chẳng hạn) (ứng với thành phần tần số cao) xuống băng con mức
10
cao (ứng với thành phần tần số thấp) và có tính tƣơng tự về không gian giữa các
băng con
Ví dụ nhƣ một đƣờng biên của hình vẽ trong ảnh sẽ tồn tại ở cùng một vị trí
trên các băng con đó (tƣơng ứng với mức độ phân giải của băng con ấy).
Điều này đã dẫn tới sự ra đời của phƣơng pháp SPIHT (Set partitioning in
hierarchical trees – phƣơng pháp mã hóa phân cấp theo phân vùng). Phƣơng
pháp SPHIT đƣợc thiết kế tối ƣu cho truyền dẫn lũy tiến. Điều này có nghĩa là
tại mọi thời điểm trong quá trình giải nén ảnh theo phƣơng pháp mã hóa này thì
chất lƣợng ảnh hiển thị tại thời điểm ấy là tốt nhất có thể đạt đƣợc với một số
lƣợng bit đƣa vào giải mã tính cho tới thời điểm ấy. Ngoài ra, phƣơng pháp này
sử dụng kỹ thuật embedded coding; điều đó có nghĩa là một ảnh sau nén với
kích cỡ (lƣu trữ) lớn (tỷ lệ nén thấp) sẽ chứa chính dữ liệu sau nén của ảnh có
kích cỡ (lƣu trữ) nhỏ (tỷ lệ nén cao). Bộ mã hóa chỉ cần nén một lần nhƣng có
thể giải nén ra nhiều mức chất lƣợng khác nhau.
Giả sử gọi các pixel trong môt ảnh p cần mã hóa là pi, j. Áp dụng một phép
biến đổi Wavelet T nào đó cho các pixel trong ảnh để tạo ra các hệ số của phép
biến đổi Wavelet là ci. j. Các hệ số này tạo ra một ảnh biến đổi là C. Phép biến
đổi này đƣợc viết dƣới dạng toán tử nhƣ sau: C=T(p). Trong phƣơng pháp
truyền dẫn lũy tiến với ảnh thì bộ mã hóa sẽ bắt đầu quá trình khôi phục (giải
nén) ảnh bằng cách đặt các giá trị của ảnh khôi phục từ các hệ số biến đổi là ĉ.
Sử dụng các giá trị giải mã của các hệ số biến đổi để tạo ra một ảnh khôi phục
(vẫn chƣa áp dụng biến đổi ngƣợc Wavelet) là ĉ và sau đó áp dụng biến đổi
Wavelet để tạo ra ảnh cuối cùng là pt
với pt = T-1(ĉ).
Nguyên tắc quan trọng của phƣơng pháp truyền dẫn ảnh theo kiểu lũy tiến là
phƣơng pháp này luôn truyền đi các giá trị mang thông tin quan trọng hơn của
ảnh đi trƣớc. Sở dĩ làm nhƣ vậy là do các thông tin đó chính là các thông tin sẽ
làm giảm thiểu nhiều nhất độ méo dạng của ảnh. Đây chính là lý do tại sao
phƣơng pháp SPIHT luôn truyền đi các hệ số lớn trƣớc và cũng là một nguyên
tắc quan trọng của phƣơng pháp này. Một nguyên tắc nữa là các bit có trọng số
lớn bao giờ cũng mang thông tin quan trọng nhất trong dữ liệu nhị phân. Phƣơng
pháp SPIHT sử dụng cả 2 nguyên tắc này, nó sắp xếp các hệ số biến đổi và
11
truyền đi các bit có trọng số lớn nhất. Quá trình giải mã có thể dựng lại ở bất kì
một bƣớc nào ứng với giá trị ảnh cần mã hóa yêu cầu.
Đây chính là cách mà phƣơng pháp mã hóa SPIHT làm tổn thất thông tin.
2.4.7. Phƣơng pháp mã hóa EZW
Phƣơng pháp mã hóa EZW (Embedded Zerotree Wavelet Encoder) cũng
dựa trên cơ sở phép mã hóa lũy tiến (progressive coding) giống nhƣ phƣơng
pháp SPIHT. Phƣơng pháp này chủ yếu dựa trên khái niệm về cây zero. Về cơ
bản, thuật toán này dựa trên hai nguyên tắc nhƣ đã trình bày ở phần phƣơng
pháp mã hóa SPIHT. Sau đây là các khái niệm cơ bản của thuật toán:
Cây tứ phân: Sau khi áp dụng biến đổi Wavelet ứng với các mức phân giải
khác nhau chúng ta có thể biểu diễn các hệ số biến đổi dƣới dạng một cây. Ta
thấy rằng với cây biểu diễn này là do quá trình biến đổi Wavelet ở các tỉ lệ khác
nhau. Ta gọi đây là các cây tứ phân (quatree). Sơ đồ cây tứ phân đƣợc minh họa
ở hình 2.5.
Hình 2.5. Minh họa cây tứ phân (a) và sự phân mức (b)
Cây zero (zero tree): Cây zero là một cây tứ phân, trong đó tất cả các nút
của nó đều nhỏ hơn nút gốc. Một cây nhƣ vậy khi mã hóa sẽ đƣợc mã hóa bằng
một đối tƣợng duy nhất và khi giải mã thì chúng ta cho tất cả các giá trị bằng
không. Ngoài ra để có thể mã hóa đƣợc các hệ số Wavelet trong trƣờng hợp này,
giá trị của nút gốc phải nhỏ hơn giá trị ngƣỡng đang đƣợc xem xét ứng với hệ số
Wavelet đó.
Nguyên lý hoạt động của thuật toán: Thuật toán sẽ mã hóa các hệ số theo
thứ tự giảm dần. Chúng ta sẽ dùng một giá trị gọi là ngƣỡng và sử dụng ngƣỡng
này để tiến hành mã hóa các hệ số biến đổi. Các hệ số đƣợc mã hóa theo thứ tự
12
từ vùng tần số thấp đến vùng tần số cao. Và chỉ những hệ số có giá trị tuyệt đối
lớn hơn hoặc bằng ngƣỡng thì mới đƣợc mã hóa. Tiếp theo giảm ngƣỡng và tiếp
tục làm nhƣ vậy cho tới khi ngƣỡng đạt tới giá trị nhỏ hơn giá trị của hệ số nhỏ
nhất. Cách giảm giá trị ngƣỡng ở đây thực hiện tƣơng đối đặc biệt, giá trị của
ngƣỡng giảm xuống một nửa so với trƣớc đó. Bộ giải mã phải biết các mức
ngƣỡng này thì mới có thể giải mã ảnh thành công. Nhƣng khi ta đi từ nút cha
đến nút con trong cây tứ phân thì nó vẫn có 3 nút con. Vậy ta phải đi theo nhánh
có nút con nào trƣớc. Nói một cách đầy đủ hơn ta di chuyển từ hệ số này đến hệ
số khác theo thứ tự nhƣ thế nào. Có nhiều cách di chuyển khác nhau, tuy nhiên
hai cách di chuyển trên hình 2.6 đƣợc sử dụng nhiều nhất.
Việc sắp xếp này còn phải đƣợc quy ƣớc thống nhất giữa quá trình mã hóa
và quá trình giải mã để việc giải mã ảnh đƣợc thành công.
Hình 2.6. Hai cách sắp xếp thứ tự các hệ số biến đổi.
2.4.8. So sánh chuẩn JPEG2000 với JPEG và các chuẩn nén ảnh tĩnh khác
Một tính năng quan trọng và là ƣu điểm rõ nét nhất của JPEG2000 so với
JPEG cũng nhƣ các chuẩn nén ảnh khác nhƣ MPEG 4 VTC hay JPEG – LS
v.v là JPEG2000 đƣa ra cả 2 kỹ thuật nén có tổn thất và không tổn thất theo
cùng một cơ chế mã hóa nghĩa là JPEG2000 thực hiện tất cả các dạng thức của
JPEG chỉ bằng một cơ chế mã hóa duy nhất. Nếu xét về sự tồn tại của 2 kỹ thuật
này thì JPEG cũng có khả năng nén ảnh có tổn thất và không tổn thất thông tin.
Tuy nhiên với JPEG thì cơ chế mã hóa với hai dạng này là khác nhau và rất khó
để sử dụng cả hai dạng này cùng lúc cho cùng một ứng dụng. Do đó, có thể thấy
13
rằng JPEG có tính mềm dẻo hơn bất kì chuẩn nén ảnh tĩnh nào trƣớc đây. Hơn
thế, những thống kê về thực tế cho thấy với cùng một tỉ lệ nén và một loại ảnh
thì ảnh đƣợc nén bởi JPEG2000 luôn có chất lƣợng tốt hơn so với JPEG. Chúng
ta xem xét hai ảnh trên hình 2.7 để thấy rõ điều này, ảnh bên trái đƣợc nén theo
JPEG còn ảnh bên phải đƣợc nén theo JPEG2000.
Hình 2.7. So sánh JPEG và JPEG2000
Tính năng ƣu việt thứ 2 của JPEG2000 so với JPEG chính là trong dạng
thức nén có tổn thất thông tin, JPEG2000 có thể đƣa ra tỉ lệ nén cao hơn nhiều
so với JPEG. Các phần mềm nén ảnh JPEG hiện nay (kể cả Photoshop) cũng chỉ
thiết kế để có thể nén đƣợc tới tỉ lệ 41:1 nhƣng với JPEG2000 thì tỉ lệ nén có thể
lên tới 200:1. Theo công thức tính PSNR trong đơn vị dB, chúng ta có: (b là số
bit dùng biểu diễn 1 pixel trong ảnh gốc)
1
log20)(
2
b
RMSE
dBPSNR
Với 2 ảnh ở hình 2.7, sự so sánh về tham số PSNR cho trên bảng 2.1. Để
có thể so sánh dễ dàng hơn, ta xét ảnh đƣợc nén với các tỉ lệ khác nhau (đo
lƣờng bởi hệ số bit/pixel hay bpp), Tất cả các số liệu trên bảng đều cho thấy
JPEG2000 nén ảnh tốt hơn là JPEG: hơn thế hệ số PSNR mà chúng ta xét trong
bảng đƣợc đo trong hệ đơn vị logarit.
14
Bảng 2.1. So sánh JPEG và JPEG2000
Tính năng ƣu việt thứ 3 của JPEG2000 so với JPEG là chuẩn nén ảnh này
có thể hiển thị đƣợc các ảnh với độ phân giải và kích thƣớc khác nhau từ cùng
một ảnh nén. Với JPEG thì điều này là không thể thực hiện. Sở dĩ có điều này là
do JPEG2000 sử dụng kỹ thuật phân giải ảnh và mã hóa đính kèm mà chúng ta
đã nói tới ở phần mã hóa ảnh theo JPEG2000. Tính năng này là một lợi thế đặc
biệt quan trọng của JPEG2000, trong khi JPEG cũng nhƣ các chuẩn nén ảnh tĩnh
trƣớc đây phải nén nhiều lần để thu đƣợc chất lƣợng với từng lần nén khác nhau
thì với JPEG2000 ta chỉ cần nén một lần còn chất lƣợng ảnh thì sẽ đƣợc quyết
định tùy theo ngƣời sử dụng trong quá trình giải nén ảnh theo JPEG2000. Một
tính năng ƣu việt nữa của JPEG2000 là tính năng mã hóa ảnh quan trọng theo
vùng (ROI – Region ò Interest) mà chúng ta đã đề cập trong phần mã hóa ảnh
theo JPEG2000. Chất lƣợng của toàn bộ ảnh cũng đƣợc thấy rõ trên hình 2.8:
Hình 2.8. Minh họa tính năng ROI
Nhƣ chúng ta thấy trên hình 2.8, chất lƣợng của vùng ảnh đƣợc lựa chọn
tăng cao hơn khi vùng đó đƣợc áp dụng phƣơng pháp nén ảnh ROI.
15
JPEG2000 còn có một khả năng đặc biệt ƣu việt hơn JPEG, đó chính là khả
năng vƣợt trội trong khôi phục lỗi. Đó là khi một ảnh đƣợc truyền trên mạng
viễn thông thì thông tin có thể bị nhiễu, với các chuẩn nén ảnh nhƣ JPEG thì
nhiễu này sẽ đƣợc thu vào và hiển thị, tuy nhiên với JPEG2000, do đặc trƣng
của phép mã hóa có thể chống lỗi, JPEG2000 có thể giảm thiểu các lỗi này với
mức hầu nhƣ không có.
Bảng 2.2. So sánh tính năng của JPEG2000 với các chuẩn nén ảnh tĩnh khác.
16
CHƢƠNG 3. PHƢƠNG PHÁP GIẤU THỦY VÂN DỰA VÀO CẶP
TẦN SỐ GIỮA DWT
3.1. Giới thiệu
Khác so với các phƣơng pháp thủy vân cũ, ở phƣơng pháp này, thủy vân sẽ
đƣợc nhúng vào các hệ số tần số giữa bằng cách lƣợng tử hóa cặp hệ số tần số
giữa, chính là các dải LH và HL trong các hệ số DWT.
Một kỹ thuật thủy vân tốt cần đạt những yêu cầu sau:
An toàn (security): thủy vân đã nhúng vào chỉ có thể đƣợc truy nhập vào bởi
các tổ chức có quyền. Mặc dù thuật toán thủy vân đều đƣợc công bố rộng rãi cho
mọi ngƣời, nhƣng những ngƣời này nếu không có khóa bí mật sẽ không thể truy
nhập vào thủy vân trong ảnh đã đƣợc bảo vệ.
Tính vô hình (Impertibility): ngƣời xem khó có thể nhìn thấy đƣợc thủy vân
trong ảnh. Điều đó có nghĩa là sau quá trình nhúng thủy vân, chất lƣợng của ảnh
không bị suy giảm.
Trong những năm gần đây, có rất nhiều nghiên cứu về kỹ thuật thủy vân.
Trong đó, kỹ thuật thủy vân mờ rất đƣợc mọi ngƣời chú ý. Nó có điểm thuận lợi
thấy rõ là không cần ảnh gốc vẫn có thể lấy đƣợc thủy vân.
Nhìn chung các kỹ thuật thủy vân có thể chia làm 2 nhóm:
Kỹ thuật vùng không gian: nhúng tin vào các bit ít quan trọng nhất – các
bit thấp (LSB).
Kỹ thuật thay đổi vùng: phƣơng pháp này tốt hơn so với kỹ thuật vùng
không gian. Hai phƣơng pháp biến đổi: biến đổi cosin rời rạc (DCT) và biến
đổi sóng rời rạc (DWT) là 2 phƣơng pháp biến đổi quan trọng. Trong đó,
phƣơng pháp biến đổi DWT có ƣu điểm hơn hẳn. Vì DCT đƣợc tính toán một
cách độc lập trên các khối pixel nên một lỗi mã hóa sẽ gây ra sự không liên
tục giữa các khối thu đƣợc. Đó là lí do tại sao JPEG2000 tránh dùng DCT
thay vào đó nó chọn DWT. DWT sẽ thao tác trên toàn bộ ảnh. Nó có thể tách
ảnh thành các dải tần số khác nhau mà vẫn giữ đƣợc các thông tin về không
gian.Việc cân bằng giữa tính bền vững và tính vô hình có thể đƣợc thực hiện
một cách hoàn chỉnh.
Các kỹ thuật trƣớc đây chỉ bền vững trƣớc các tấn công nhƣ blurring,
sharpening và nén ảnh JPEG. Phƣơng pháp giấu thủy vân dựa vào cặp tần số
17
giữa DWT sẽ cho thấy khả năng ấn tƣợng của nó trong việc không chỉ chống lại
các tấn công thông thƣờng mà còn chống lại các loại biến đổi cấp xám. Các loại
biến đổi cấp xám khác với các tấn công khác ở chỗ chúng thƣờng không gây ra
sự suy giảm về mặt chất lƣợng ảnh. Đôi khi cân bằng histogram đƣợc sử dụng
nhƣ một quá trình nâng cao chất lƣợng ảnh. Nhƣng chúng thƣờng gây ra những
thay đổi trầm trọng về ảnh do đó chúng sẽ làm hỏng thủy vân đƣợc nhúng vào
trong ảnh. Trong báo cáo này sẽ đề cập đến mối tƣơng quan giữa các hệ số
DWT với các tấn công dạng này.
3.2. Thủy vân trong miền DWT
Việc tách wavelet có thể đƣợc thực hiện một cách dễ dàng bởi thuật toán
kim tự tháp. Bằng cách kết hợp 2 bộ lọc low-pass và high-pass, ảnh sẽ đƣợc
phân tích thành các dải: thấp-thấp (low-low LL), thấp-cao (low-high LH), cao-
thấp (high- low HL) và cao-cao (high-high HH). Để thu đƣợc các hệ số wavelet
nhỏ hơn thì dải LL sẽ đƣợc phân tách nhỏ hơn và thu đƣợc các mẫu con. Quá
trình xử lí này đƣợc thực hiện lại vài lần tùy theo yêu cầu của ngƣời dùng. Hơn
nữa, từ các hệ số DWT này, ta có thể xây dựng lại ảnh gốc. Quá trình xây dựng
này đƣợc gọi là đảo ngƣợc DWT (IDWT).
Nhìn chung, thủy vân đƣợc nhúng vào dải LL bền vững trƣớc các tấn công
nhƣng sẽ gây ra sự suy giảm về chất lƣợng ảnh. Ngƣợc lại, sự thay đổi các hệ số
wavelet cụ thể (dải HH), tin giấu dễ bị nhìn thấy và dễ bị tấn công thay đổi.
Thông thƣờng thủy vân số đƣợc nhúng vào dải tần số giữa HL hoặc LH bởi
chúng cân đối giữa hai điều trên, nghĩa là vẫn đảm bảo tính bền vững và vô hình
trƣớc mắt ngƣời.
Hình 3.1. Hai lần phân tách wavelet
18
3.2.1. Sự tƣơng quan giữa các hệ số của các dải giữa dƣới sự biến đổi cấp
xám
Các dải LH và HL đƣợc gọi là các dải ở giữa (middle bands) bởi vì chúng
chứa thông tin chi tiết về một chiều và các thông tin suy ra đƣợc của các chiều
khác. Bằng thực nghiệm ngƣời ta đã chứng minh mối quan hệ giữa các hệ số của
dải giữa với sự biến đổi cấp xám dựa vào cơ sở trực giao harr.
Hai ảnh cấp xám baboon (256 x 256) và lena (512 x 512) trong hình 3.2 thể
hiện sự khác nhau sau khi cân bằng mức xám. PSNR (peak to signal to noise
ratio) thể hiện tỉ số tín hiệu nhiễu giữa hai ảnh. PSNR đƣợc định nghĩa:
Với MSE (mean square error) là sai số bình phƣơng trung bình giữa ảnh
gốc (I) và ảnh đã biến đổi (K):
Thì PSNR đƣợc tính nhƣ sau:
MAX là giá trị lớn nhất có thể của pixel trong ảnh. Nếu ảnh đa cấp xám thì
MAX=255.
Hình 3.2. Cân bằng mức xám
19
Ảnh đã đƣợc phân tách 2 lần và chọn các dải LH2 và HL2 để kiểm tra độ
tƣơng quan giữa các hệ số trƣớc và sau khi biến đổi. Sự tƣơng quan correlation
đƣợc định nghĩa nhƣ sau:
22 )()(
))((
),(
yyxx
yyxx
yxnCorrelatio
Thông thƣờng trong các dải HL và LH, một vài hệ số có giá trị lớn sẽ đƣợc
tăng cƣờng về giá trị. Chúng đƣợc gọi là các hệ số quan trọng (significant
coefficents). Các hệ số này phù hợp để nhúng thủy vân bởi chúng bền vững
trƣớc các tấn công thông thƣờng vào ảnh. Và ở đây họ sử dụng nó để làm cơ sở
đo mối tƣơng quan. Một cặp hai dải tần số giữa chính là một cặp hệ số nằm trên
cùng một vị trí trong dải HL và LH đƣợc thể hiện trong hình 3.3. Họ dùng tỉ lệ
giữa các giá trị trƣớc và sau tấn công để chứng tỏ sự thay đổi của hệ số. Điều đó
có nghĩa là, tại vị trí (i,j):
cksbeforeattajiLHABS
ksafterattacjiLHABS
jiLHRatio
)),((
)),((
)),((
Hình 3.3 Cặp dải tần số giữa
Chúng ta có thể tính toán tỉ lệ giữa Ratio(LH2(i,j)) và Ratio(HL2(i,j)) của
¼ trong số các hệ số của ảnh Baboon sau khi cân bằng histogram. Các hệ số này
đại diện cho các hệ số quan trọng trong ảnh 3.4.
Hình 3.4. Mối quan hệ cặp dải trung gian LH2 và HL2 sau khi cân bằng Histogram
20
Dƣới các tấn công khác, sự thay đổi của cặp tần số giữa cũng thể hiện mối
tƣơng quan nhiều hơn hoặc ít hơn. Ví dụ nhƣ khi thực hiện làm mờ ảnh, giá trị
trung bình Ratio(LH2(i,j)) bằng 0,8368 và giá trị trung bình Ratio(HL2(i,j))
bằng 0,8461. Dƣới tấn công làm nét ảnh (sharpen attack), giá trị trung bình
Ratio(LH2(i,j)) của nửa lớn nhất của tất cả các hệ số là 1.2621; giá trị trung bình
Ratio(HL2(i,j)) = 0,8461.
3.2.2. Thuật toán nhúng và tách thủy vân (thuật toán 1) [1]
Ý tƣởng: sử dụng một hệ số trong cặp tần số giữa để lƣợng tử hóa hệ số
còn lại. Bƣớc lƣợng tử hóa là phần cố định của hệ số lớn hơn. Lựa chọn hệ số
nhỏ hơn để thực hiện lƣợng tử hóa (hình 3.5). 1/3 các giá trị lớn nhất của tất cả
các hệ số đƣợc lựa chọn là các hệ số quan trọng để thực hiện việc lƣợng tử hóa
này. Đối với các hệ số nhỏ sử dụng một bƣớc Step duy nhất để lƣợng tử hóa.
Hình 3.5. Lƣợng tử hóa cặp tần số dải trung gian
a. Kỹ thuật nhúng thuỷ vân
Bƣớc 1: thủy vân là 1 ảnh nhị phân. Ảnh gốc đƣợc tách thành 2 mức.
Nhúng thủy vân vào các dải LH2 và HL2. Giả sử kích thƣớc của LH2 là mxn
và của thủy vân là r x l. Thủy vân đƣợc nhúng ít nhất là [ m x n / r x l ] lần.
Bƣớc 2: ngƣỡng T của các hệ số nhỏ đặt bằng tầm quan trọng của hệ số
lớn nhất trong 1/3 các giá trị lớn nhất của tất cả các hệ số trong dải LH2 và
HL2. S (step) là khoảng cách cố định và D là số chia cố định. Thủy vân đƣợc
nhúng vào dải LH2 và HL2 cho đến khi tất cả các hệ số đều đƣợc lƣợng tử
hóa. Mỗi vị trí (i,j) đƣợc lƣợng tử hóa theo 1 bit thủy vân. Nếu bit này =1, hệ
số đƣợc làm tròn đến con số lẻ gần nhất, nếu không nó đƣợc làm tròn đến
con số chẵn gần nhất nhƣ trong hình 3.5 thể hiện.
21
For tất cả hệ số có trong dải LH2 và HL2
If ABS(HL2(i,j))<T and ABS(LH2(i,j))<T
Lƣợng tử hóa LH2(i,j) và (HL2(i,j)) bằng khoảng cách cố định S;
Else
Maxcoef=Max(ABS(HL2(i,j)), ABS(LH2(i,j)));
If Maxcoef=ABS(LH2(i,j))
Lƣợng tử hóa HL2(i,j) bằng Maxcoef/D;
Else
Lƣợng tử hóa LH2(i,j) bằng Maxcoef/D;
End if
End if
End for
Sau đó thực hiện IDWT 2 chiều để lập thành ảnh thủy vân.
b. Kỹ thuật tách thủy vân
Ảnh đƣợc phân tách thành 2 mức. Khi thủy vân đƣợc thêm vào ảnh gốc một
cách dƣ thừa, các hệ số của tần số giữa sẽ chia thành các phần., mỗi phần sẽ có
số các hệ số bằng với số bit của thủy vân. Gọi B(i,j) là các bit lấy ra đƣợc tại các
vị trí (i,j)
For tất cả hệ số trong dải LH2 và HL2
If ABS(HL2(i,j))<T and ABS(LH2(i,j))<T
B(i,j) = (LH2(i,j)/S mod 2 + và HL2(i,j)/S mod 2 )/2;
Else
Maxcoef=Max(ABS(HL2(i,j)), ABS(LH2(i,j)));
Step = Maxcoef / D;
If Maxcoef=ABS(LH2(i,j)
B(i,j) = HL2(i,j) /Step mod 2;
Else
B(i,j) = LH2(i,j) /Step mod 2;
End if
End if
End for
Một số vấn đề xảy ra khi thực nghiệm kỹ thuật này:
Ý tuởng của thuật toán trên là sau khi giấu các bit thông điệp làm cho
các hệ số luợng tử trở thành lẻ nếu bit cần thuỷ vân có giá trị 1 và thành
22
chẵn nếu bit cần thuỷ vân có giá trị 0. Khoá dùng để tách thuỷ vân chính là
các hệ số lƣợng tử chẵn lẻ. Nếu biết đƣợc bí mật này có thể dễ dàng tách
thuỷ vân đƣợc nhúng trong ảnh.
Khi thực nghiệm kỹ thuật này nhóm tác giả thấy rằng nó chỉ phù hợp
với kỹ thuật nhúng thuỷ vân trên miền biến đổi DWT sau đó nó sử dụng
biến đổi IDWT2 để lập ảnh thuỷ vân. Khó thích hợp với kỹ thuật nhúng
thuỷ vân trên miền tần số DWT đã lƣợng tử hoá của quá trình nén ảnh
JPEG2000, vì khi tách thuỷ vân trong quá trình giải nén ảnh JPEG2000,
thuỷ vân đƣợc tách không đúng với thuỷ vân ban đầu đem nhúng trong
ảnh. Điều này đƣợc giải thích nhƣ sau: do các hệ số DWT lƣợng tử trong
quá trình giải nén ảnh bị thay đổi, các hệ số DWT đƣợc khôi phục là các hệ
số thực, khi làm tròn các hệ số DWT thành số nguyên sẽ cho một số hệ số
DWT có giá trị trùng với giá trị của quá trình nén ảnh một số không trùng
với hệ số DWT ban đầu, vì vậy chỉ với một vài thay đổi nhỏ hệ số chẵn
thành hệ số lẻ có thể dẫn đến mất mát thông tin của thuỷ vân.
Ví dụ: ta có chuỗi bit sau cần thuỷ vân trong ảnh Img01.pgm
0 1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 .
Ta thực hiện nén ảnh JPEG2000 cho ảnh Img01.pgm đƣợc miền DWT đã
bị lƣợng tử trƣớc khi giấu tin:
-4.548036 -4.017501 -4.724448 -5.2533717 -1.3734832 -0.09918876 -5.709606
-5.921742 -0.5623639 -0.68907404 -5.535633 -5.9311047 -0.039984897
-5.8014956 -0.05264521 -1.1272874 -0.36676776 -0.020146813 -1.7391355
-0.5642951 ...
Giá trị các hệ số DWT sau khi giấu tin
-6 -5 -6 -3 -4 -6 -6 -1 -2 0 -6 -5 -1
-1 -2 -5 -6 -6 0 -5...
Giá trị của các hệ số DWT cần khôi phục thuỷ vân
-6 -6 -6 -6 0 0 -6 -6 0 0 -6 -6 0
-6 0 0 0 0 0 0 ....
23
Từ hai vấn đề trên nhóm tác giả cải tiến thuật toán trên và nâng cao
tính bảo mật của thông điệp đuợc thuỷ vân theo thuật toán dƣới đây.
3.2.3. Thuật toán nhúng và tách thủy vân cải tiến (thuật toán 2)
Ý tƣởng: Thuỷ vân trƣớc khi đem nhúng là một chuỗi nhị phân sẽ đƣợc mã
hoá bằng một khoá KEY, sau đó đƣợc nhúng vào miền tần số giữa HL2 và LH2
của các hệ số DWT đã bị lƣợng tử hoá dựa vào một ngƣỡng Mark (Mark đƣợc
chọn thuộc miền giá trị của các hệ số DWT trên miền HL2 và LH2 sau khi đã bị
lƣợng tử bởi quá trình nén JPEG2000). Nếu chọn giá trị nhỏ hơn các hệ số DWT
đã lƣợng tử sẽ bị mất trong quá trình nén ảnh JPEG2000, điều đó sẽ dẫn đến mất
thuỷ vân nhúng trong ảnh.
a. Kỹ thuật nhúng thuỷ vân:
Bƣớc 1: Cần thủy vân 1 văn bản vào trong miền biến đổi DWT của ảnh
JPEG2000, văn bản đƣợc chuyển thành dãy nhị phân. Sau đó thuỷ vân thực
hiện mã hoá với một khoá KEY (là một chuỗi nhị phân có độ dài bằng kích
thƣớc của chuỗi nhi phân thuỷ vân) bằng phép toán XOR ta đƣợc một chuỗi
nhị phân mới B.
Ảnh gốc đƣợc tách thành 2 mức. Nhúng thủy vân vào các dải LH2 và
HL2. Giả sử kích thƣớc của LH2 là mxn và của thủy vân là l.
Bƣớc 2: Chọn Mark thuộc miền giá trị của các hệ số DWT trên miền HL2
và LH2 sau khi đã bị lƣợng tử. Đặt mark vào phần tử đầu tiên (hoặc vị trí
cuối cùng) trong mảng hệ số DWT. Thủy vân đƣợc nhúng vào dải LH2 và
HL2 cho đến khi nhúng hết các bit thuỷ vân. Các bit thuỷ vân đƣợc nhúng
vào hệ số DWT nhƣ sau: nếu bit thuỷ vân =1, hệ số đƣợc đặt bằng mark, nếu
không nó đƣợc giữ nguyên.
Thực hiện tiếp quá trình nén ảnh JPEG2000 ta đƣợc ảnh j2k đã chứa
thông điệp
b. Kỹ thuật tách thủy vân:
Giải nén ảnh j2k ta nhận các hệ số lƣợng tử DWT đã bị lƣợng tử, sử dụng
các hệ số miền tần số giữa HL2 và LH2 để tách thuỷ vân. Lấy giá trị mark tại
phần tử đầu tiên (hoặc vị trí nào đó theo quá trình giấu quy định) trong mảng hệ
số DWT của miền tần số giữa HL2 và LH2.
24
Gọi B(i,j) là các bit lấy ra đƣợc tại các vị trí (i,j). Nếu hệ số bằng mark thì
B(i,j) = 1. Nếu hệ số không bằng mark thì B(i,j) = 0. Sau đó chuỗi B đƣợc thực
hiện phép toán XOR với key để khôi phục lại chuỗi nhị phân ban đầu chuyển
ngƣợc lại văn bản đã nhúng.
Ví dụ: ta có chuỗi bit sau cần thuỷ vân trong ảnh Img01.pgm
0 1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1 .
Ta thực hiện nén ảnh JPEG2000 cho ảnh Img01.pgm đƣợc miền DWT đã
bị lƣợng tử trƣớc khi giấu tin:
1.4519639 1.9824992 1.2755519 0.7466281 -1.3734832 -0.09918876
0.29039386 0.07825812 -0.5623639 -0.68907404 0.4643671 0.06889546 -
0.039984897 0.19850446 -0.05264521 -1.1272874 -0.36676776 -0.020146813 -
1.7391355 -0.5642951...
Giá trị của mark= 3.0
GIA TRI CAC HE SO DWT SAU KHI GIAU TIN
Gia tri cua mark 3.0
GIA TRI CAC HE SO DWT SAU KHI GIAU TIN
1.4519639 3.0 1.2755519 3.0 -1.3734832 -0.09918876 0.29039386 3.0 -
0.5623639 -0.68907404 0.4643671 3.0 3.0 3.0 -0.05264521 3.0 -0.36676776 -
0.020146813 -1.7391355 3.0
Khôi phục thông điệp đã thuỷ vân trong ảnh
Giá trị của Mark=3.0043945 (đã bị thay đổi trong quá trình giải nén). Các hệ số
DWT có giá trị bằng 3.0 đều bị thay đổi 3.0043945.
Giá trị của các hệ số DWT cần khôi phục thuỷ vân
0.0 3.0043945 0.0 3.0043945 0.0 0.0 0.0 3.0043945 0.0 0.0 0.0 3.0043945
3.0043945 3.0043945 0.0 3.0043945 0.0 0.0 0.0 3.0043945
Các bit đƣợc khôi phục:
0 1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 0 1
25
CHƢƠNG 4. VẤN ĐỀ PHÁT HIỆN ẢNH CÓ GIẤU TIN
TRÊN MIỀN TẦN SỐ GIỮA DWT
4.1. Tổng quan về kỹ thuật phát hiện tin ẩn giấu trong ảnh (Steganalysis)
Steganalysis là kỹ thuật phát hiện sự tồn tại của thông tin ẩn giấu trong
multimedia. Giống nhƣ thám mã, mục đích của Steganalysis là phát hiện ra
thông tin ẩn và phá vỡ tính bí mật của vật mang tin ẩn.
Phân tích tin ẩn giấu thường dựa vào các yếu tố sau:
- Phân tích dựa vào các đối tƣợng đã mang tin.
- Phân tích bằng so sánh đặc trƣng: So sánh vật mang tin chƣa đƣợc giấu tin với
vật mang tin đã đƣợc giấu tin, đƣa ra sự khác biệt giữa chúng.
- Phân tích dựa vào thông điệp cần giấu để dò tìm.
- Phân tích dựa vào các thuật toán giấu tin và các đối tƣợng giấu đã biết: Kiểu
phân tích này phải quyết định các đặc trƣng của đối tƣợng giấu tin, chỉ ra công
cụ giấu tin (thuật toán) đã sử dụng.
- Phân tích dựa vào thuật toán giấu tin, đối tƣợng gốc và đối tƣợng sau khi giấu
tin.
Các phương pháp phân tích có thể phân thành 3 nhóm:
- Phân tích trực quan: Thƣờng dựa vào quan sát hoặc dùng biểu đồ
histogram giữa ảnh gốc và ảnh chƣa giấu tin để phát hiện ra sự khác biệt giữa
hai ảnh căn cứ đƣa ra vấn đề nghi vấn. Với phƣơng pháp phân tích này thƣờng
khó phát hiện với ảnh có độ nhiễu cao và kích cỡ lớn.
- Phân tích theo dạng ảnh: Phƣơng pháp này thƣờng dựa vào các dạng ảnh
bitmap hay là ảnh nén để đoán nhận kỹ thuật giấu hay sử dụng nhƣ các ảnh
bitmap thƣờng hay sử dụng giấu trên miền LSB, ảnh nén thƣờng sử dụng kỹ
thuật giấu trên các hệ số biến đổi nhƣ DCT, DWT, DFT. Phƣơng pháp này rất
rộng.
- Phân tích theo thống kê: Đây là phƣơng pháp sử dụng các lý thuyết thống
kê và thống kê toán sau khi đã xác định đƣợc nghi vấn đặc trƣng. Phƣơng pháp
này thƣờng đƣa ra độ tin cậy cao hơn và đặc biệt là cho các ảnh dữ liệu lớn.
Trong phần tiếp theo sẽ trình bày một số vấn đề về phát hiện ảnh có giấu
tin trên miền biến đổi DWT đã đƣa ra trong chƣơng 3.
26
4.2. Với kỹ thuật giấu 1
Kỹ thuật này giấu chỉ cần biến đổi miền dữ liệu ảnh với hệ số DWT làm
tròn thành chẵn và lẻ. Do chƣa cài đặt đƣợc kỹ thuật này trên ảnh JPEG2000 lên
chƣa thể đƣa ra đƣợc vấn đề và phƣơng pháp phát hiện cụ thể.
4.3. Với kỹ thuật giấu 2
Kỹ thuật này giấu thông điệp trên miền DWT tần số cao HL và LH trong
quá trình nén ảnh JPEG2000. Có thể áp dụng cho kỹ thuật đánh dấu bản quyền,
nhận thực thông tin. Vấn đề phát hiện thông điệp giấu trong kỹ thuật này tƣơng
đối khó khăn vì:
- Thứ nhất các hệ số DWT là các hệ số thực lên không thể dùng thống kê
khi-bình phƣơng (POV) để phát hiện.
- Thứ hai ảnh này có PSNR trung bình là 40.53528 dB (theo thực nghiệm)
lên có tính vô hình rất cao.
- Thứ ba ngƣời tấn công phải biết hệ số Mark dùng để đánh dấu thông điệp
nhúng vào. Giá trị Mark nằm trong miền giá trị thuộc 1/3 các hệ số DWT lớn
nhất của tất cả các hệ số DWT, do đó ngƣời tấn công sẽ phải thử ...
- Thứ tƣ trong trƣờng hợp ngƣời tấn công biết hệ số Mark và tách đƣợc
thông điệp ngƣời tấn công cần phải biết khoá KEY để khôi phục đúng nguyên
gốc của thông điệp ban đầu. Nếu thông điệp đem giấu có độ dài n bit thì khoá
KEY có độ dài tƣơng tự do đó ngƣời tấn công phải thử 2n lần để tìm đúng khoá
KEY mã hoá thông điệp giấu.
Ví dụ: thông điệp đem giấu là một văn bản ”Cong hoa xa hoi” văn bản
này có 16 ký tự (cả cách trống) chuyển sang nhị phân có độ dài là 128 bit và sẽ
cần dùng một khoá KEY là một chuỗi bit nhị phân (đƣợc sinh theo kỹ thuật sinh
số giả ngẫu nhiên) có kích thƣớc bằng 128. Khi đó ngƣời tấn công phải duyệt
2
128
= 3.4028236692093846346337460743177e+38 lần để dò tìm khoá KEY.
27
CHƢƠNG 5. CÀI ĐẶT THỬ NGHIỆM
5.1. Môi trƣờng cài đặt
Ngôn ngữ cài đặt: Java là một ngôn ngữ lập trình có hiệu quả cao, cấu trúc
độc lập nên các ứng dụng của nó chỉ cần viết sao cho chạy đƣợc trên máy
ảo Java là có thể cài đặt và chạy tốt trên mọi hệ thống.
Môi trƣờng soạn thảo: Jcreator 4.5.
Môi trƣờng chạy chƣơng trình: môi trƣờng dòng lệnh của DOS.
Dƣới đây là giao diện chính của chƣơng trình:
Hình 5.1. Giao diện chƣơng trình
Giải thích dòng lệnh giấu thông tin:
java JJ2KEncoder -i image01.pgm -o anhgiautin.j2k -m in.txt -rate 2
Đối số JJ2KEncoder: là tên file chạy khởi đầu của chƣơng trình thực hiện
giấu - encoder.
Đối số -i: cho biết ảnh đầu vào (input).
Đối số image01.pgm: tên file ảnh đầu vào.
Đối số -o: cho biết ảnh đầu ra (output).
Đối số anhgiautin.j2k: tên file ảnh đầu ra.
Đối số -m: cho biết thông điệp cần giấu (message).
Đối số in.txt: tên file chứa thông điệp cần giấu.
28
Đối số rate: cho biết là thực hiện giấu hay tách lấy thông điệp. Với 1 là
thực hiện giấu.
Giải thích dòng lệnh tách thông tin:
java JJ2KDecoder –i anhgiautin.j2k -o anhkhoiphuc.pgm -m out.txt -rate 1
Đối số JJ2KDecoder: là tên file chạy khởi đầu của chƣơng trình thực hiện
tách lấy thông điệp - decoder.
Đối số -i: cho biết ảnh đầu vào (input).
Đối số anhgiautin.j2k: tên file ảnh đầu vào.
Đối số -o: cho biết ảnh đầu ra (output).
Đối số anhkhoiphuc.pgm: tên file ảnh đầu ra.
Đối số -m: cho biết thông điệp tách lấy ra đƣợc (message).
Đối số out.txt: tên file chứa thông điệp cần lấy.
Đối số rate: cho biết là thực hiện giấu hay tách lấy thông điệp. Với 2 là
thực hiện tách.
5.2. Thử nghiệm
Dƣới đây là một tập cơ sở dữ liệu ảnh gồm 100 ảnh đã đƣợc chuyển đổi
sang định dạng PGM. Các ảnh đƣợc đặt tên từ image01 đến image100.
29
30
31
32
Bảng 5.1. Tập ảnh thử nghiệm
Sử dụng phƣơng pháp thủy vân cải tiến để thực hiện giấu thông điệp
(trong hình 5.2) vào tập cơ sở dữ liệu ảnh trên với mark=3.0, ta thu đƣợc kết quả
PSNR trung bình trên 100 ảnh sau khi giấu tin là PSNRTB=40.53528 (lớn hơn
mức quy định là 40 dB, với PSNR 40dB thì mắt ngƣời không thể phân biệt
đƣợc sự khác biệt giữa 2 ảnh [5])
Hình 5.2 Thông điệp giấu
Sau khi giấu thông điệp thực hiện tách thông điệp đã giấu trên 100 ảnh
nhóm tác giả thấy rằng có đến 27 ảnh (27%) ảnh bị tách sai thông điệp gồm các
ảnh sau: image02, image11, image12, image16, image20, image21, image27,
image30, image32, image34, image37, image40, image43, image44, image47,
image49, image50, image53, image56, image57, image58, image77, image80,
image84, image85, image91, image95. Thông điệp sau khi khôi phục của các
ảnh này nhƣ sau:
33
Hình 5.3. Kết quả các thông điệp bị tách sai
Có ba ảnh bị tách sai một số ký tự của bản thông điệp là ảnh: image11 (3
ký tự), image39 (1 ký tự), image45 (2 ký tự). Thông điệp sau khi khôi phục của
các ảnh này nhƣ hình 5.4
34
Hình 5.4. Kết quả tách thông điệp của 3 ảnh image31, 39 và 48
Điều này đƣợc giải thích nhƣ sau: nhóm tác giả thấy những ảnh có độ nhiễu
tƣơng đối lớn dẫn đến giá trị của các DWT trong quá trình nén ảnh bị mất giá trị
ngƣỡng Mark (vì mark chọn xấp xỉ các hệ số bị loại bỏ), do đó quá trình giải nén
JPEG2000 không thể khôi phục đúng dữ liệu ban đầu, dẫn đến giá trị bit thông
điệp khôi phục bị sai. Vì vậy để khôi phục đúng thông điệp chúng ta cần chọn
giá Mark càng cao thì dữ liệu khôi phục càng chuẩn xác, tuy nhiên sẽ làm tăng
nhiễu tức là giá trị PSNR càng nhỏ. Vì vậy chúng ta cần chọn Mark sao cho
PSNR 40 thì vấn đảm bảo tính vô hình của thuỷ vân.
Để khôi phục đúng dữ liệu cho 26 ảnh khôi phục sai hoàn toàn và 3 ảnh sai
một số ký tự nhóm tác giả chọn lại một số giá trị của Mark nhƣ sau:
+ Với Mark = 5.0f khôi phục đƣợc thuỷ vân nhúng trong ảnh 2, 12, 20 và 3
ảnh sai một số ký tự 31, 39, 48.
+ Với Mark=7.0 khôi phục đƣợc thuỷ vân nhúng trong ảnh 16, 21, 26, 27,
47, 44, 50, 57, 77, 84, 85.
+ Với Mark =10.0 khôi phục đƣợc thuỷ vân nhúng trong ảnh 30, 34, 40, 43,
49, 53, 58, 80, 91, 95.
+ Với Mark =12.0 khôi phục đƣợc thuỷ vân nhúng trong ảnh 37
+ Với Mark =15.0 khôi phục đƣợc thuỷ vân nhúng trong ảnh 32
Sau khi thực hiện một số tấn công cân bằng histogram, sharpen, blur bằng
Corel Paint Shop Pro Photo X2 trên 10 ảnh đầu đã giấu tin ta thu đƣợc bảng kết
quả nhƣ sau:
Ảnh
(image#)
Cân bằng histogram Sharpen Blur
01 cong hoa p! hoi ûoîï·ëï}ý~{íëÿoä'/Ï ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
03 - @ Fÿùýñùùýÿ cong hna pa hki ÿÿ••ÿÿÿÿÿùññùûùùùÿÿ
04 cong hoa xa hoi ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
05 cong hoa xa hoi
06 nc cong hoa xa hni ±igÿ¢ì•ÿÿû•}þÿ{ÿÿÿßÿ
07 `-n cwOgÄéòsÄ2ç_WN ò8o'éÿÿÿ~ïï?ïÿÿþ•ÿý•
08 ì¨ ?Еÿàeï¶ cohg hNA 8 hna åkf´uùÿèçÿûõÿûßÜ•º
09 c/ne hoa a hoi ÷ol•áþ_ó jyîøï{=Ž "
10 Ão.g hea xa ho) o•nw-ïï|q<ý koï7 ;ÿÿ?ÿÿïÿ;ÿÿÿÿÿïÿÿÿÿÿÿï
11 aEli ËA ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Từ bảng ta thấy đây là thuỷ vân kém bền vững đối với tấn công làm mờ
(blur), bền vững yếu đối với tấn công cân bằng histogram và mài sắc cạnh
(sharpe) chỉ 4/10 ảnh bền vững với 2 loại tấn công này.
35
Vì vậy kỹ thuật này rất phù hợp đối với nhận thực bản quyền và chống
xuyên tạc, mọi hình thức thanh đổi nào cũng có thể dẫn đến vỡ thuỷ vân trong
ảnh.
36
KẾT LUẬN
Báo cáo đã trình bày những khái niệm tổng quan về giấu tin, cho thấy đƣợc
tầm quan trọng của giấu tin trong đời sống hiện nay.
Trong thời gian nghiên 4 tháng, nhóm nghiên cứu đã đạt đƣợc các kết quả
sau:
Nắm rõ đƣợc khái niệm tổng quan về kỹ thuật giấu tin trong ảnh
Kỹ thuật nén ảnh JPEG2000
Kỹ thuật giấu tin trên miền biến đổi rời rạc wavelet cặp tần số giữa
Đề xuất kỹ thuật giấu cải tiến trên miền tần số Wavelet của miền
tần số cao (HL, LH) dựa trên kỹ thuật giấu đã công bố đối trên các hệ số
DWT đã đƣợc lƣợng tử hoá cho ảnh JPEG2000.
Cài đặt, thử nghiệm và đánh giá kết quả.
Vì thời gian nghiên cứu có hạn lên chƣa xây dựng đƣợc giao diện chƣơng
trình thân thiện với ngƣời dùng, giao diện chƣơng trình còn thực hiện trên cửa
sổ dòng lệnh.
Hƣớng nghiên cứu tiếp theo sẽ nghiên cứu tiếp một số kỹ thuật giấu tin
khác nhƣ: QIM, MFP...và hoàn thiện cài đặt đóng gói thành một phần mềm
chuyên dụng.
37
TÀI LIỆU THAM KHẢO
[1]. Nguyễn Xuân Huy và Trần Quốc Dũng, “Giáo trình giấu tin và thuỷ vân
ảnh”, Thông tin tƣ liệu, ĐHKHTN, 2003
[2]. Quan Yuan, Hongxun Yao, Wen Gao, Sanghyun Joo, “Blind watermarking
method based on DWT middle frequency pair”, Multimedia and Expo, 2002.
ICME '02. Proceedings, 2002 IEEE International Conference on paper 473- 476
vol.2, 2002.
[3]. Website:
[4].
[5]. Đỗ Ngọc Anh, NÉN ẢNH SỬ DỤNG BIẾN ĐỔI WAVELET VÀ ỨNG
DỤNG TRONG CÁC DỊCH VỤ DỮ LIỆU ĐA PHƢƠNG TIỆN DI ĐỘNG,
Luận văn cao học ĐTVT 2004 – 2006, Đại học Bách khoa Hà Nội.
Các file đính kèm theo tài liệu này:
- 19.PhamThiQuynh_CT901.pdf