Tải bản đầy đủ (.docx) (84 trang)

đồ án tốt nghiệp GIẤU TIN TRONG ẢNH DỰA TRÊN PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (671.34 KB, 84 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ NÔNG NGHIỆP VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI

NGUYỄN PHƯƠNG ANH HÙNG CƯỜNG

GIẤU TIN TRONG ẢNH DỰA TRÊN
PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ

ĐỒ ÁN TỐT NGHIỆP

HÀ NỘI, NĂM 2015


BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ NÔNG NGHIỆP VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI

NGUYỄN PHƯƠNG ANH HÙNG CƯỜNG

GIẤU TIN TRONG ẢNH DỰA TRÊN
PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ

Ngành (chuyên ngành) : Công nghệ thông tin
Mã số: 106

NGƯỜI HƯỚNG DẪN

Ths. Đinh Phú Hùng

HÀ NỘI, NĂM 2015




LỜI CAM ĐOAN
Tôi xin cam đoan đây là Đồ án tốt nghiệp của bản thân tôi. Các kết quả trong Đồ án tốt
nghiệp này là trung thực, không sao chép từ bất kỳ một nguồn nào và dưới bất kỳ
hình thức nào.Việc tham khảo các nguồn tài liệu (nếu có) đã được thực hiện trích dẫn
và ghi nguồn tài liệu tham khảo đúng quy định.
Sinh viên thực hiện
Chữ ký

Nguyễn Phương Anh Hùng Cường

1


LỜI CÁM ƠN
Lời đầu tiên, em xin chân thành gửi lời cám ơn tới các thầy cô trong trường Đại học
Thủy Lợi nói chung và các thầy cô giáo trong Khoa Công nghệ thông tin nói riêng,
những người đã nhiệt tình giảng dạy và truyền đạt những thức cần thiết trong suốt thời
gian em học tập tại trường để em có thể hoàn thành tốt quá trình học tập của mình.
Đặc biệt, em xin gửi lời cảm ơn chân thành và sâu sắc đến Thạc sĩ Đinh Phú Hùng,
người đã trực tiếp hướng dẫn tận tình chỉ bảo em trong suốt quá trình làm đồ án tốt
nghiệp.
Do kiến thức còn hạn hẹp và khả năng còn hạn chế, kinh nghiệm thực tế không có
nhiều, và thời gian có hạn nên trong đồ án tốt nghiệp còn nhiều điểm thiếu sót. Kính
mong quý thầy cô và các bạn thông cảm và đưa ra những góp ý quý báu để đồ án tốt
nghiệp của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!

2



MỤC LỤC
DANH MỤC CÁC HÌNH ẢNH....................................................................................v
DANH MỤC BẢNG BIỂU..........................................................................................vi
DANH MỤC CÁC TỪ VIẾT TẮT.............................................................................vii
MỞ ĐẦU....................................................................................................................... 1
CHƯƠNG 1
1.1

TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN........................................3

Một số khái niệm tổng quan.............................................................................3

1.1.1

Sơ lược về giấu tin.....................................................................................3

1.1.2

Đặc trưng và tính chất của kỹ thuật giấu tin trong ảnh...............................4

1.1.3

Mô hình kỹ thuật giấu tin trong ảnh cơ bản...............................................4

1.2

Yêu cầu và đánh giá chất lượng ảnh sau khi giấu tin........................................6


CHƯƠNG 2
KỸ THUẬT GIẤU TIN ĐỀ XUẤT DỰA TRÊN PHƯƠNG PHÁP
OPVD VÀ HÀM ĐỒNG DƯ........................................................................................8
2.1

Cơ sở lý thuyết.................................................................................................8

2.1.1

Phương pháp Pixel Value Differencing (PVD)..........................................8

2.1.2

Phương pháp Overlapping Pixel Value Differencing (OPVD).................10

2.2

Phương pháp kết hợp OPVD và hàm đồng dư................................................11

2.2.1

Ý tưởng thuật toán...................................................................................11

2.2.2

Thuật toán giấu tin...................................................................................11

2.2.3

Thuật toán tách tin...................................................................................13


2.3

Ví dụ minh họa...............................................................................................14

2.3.1

Quá trình giấu tin.....................................................................................14

2.3.2

Quá trình tách tin.....................................................................................29

CHƯƠNG 3

ĐỀ XUẤT NÂNG CAO HIỆU QUẢ THUẬT TOÁN......................40

3.1

Ý tưởng thuật toán..........................................................................................40

3.2

Thuật toán giấu tin..........................................................................................40

3.3

Thuật toán tách tin..........................................................................................41

3.4


Ví dụ minh họa...............................................................................................42

3.4.1

Quá trình giấu tin.....................................................................................42

3.4.2

Quá trình tách tin.....................................................................................61

CHƯƠNG 4

XÂY DỰNG CHƯƠNG TRÌNH......................................................73

3


4.1

Giới thiệu chung.............................................................................................73

4.2

Các chức năng của chương trình....................................................................73

CHƯƠNG 5

THỰC NGHIỆM VÀ KẾT QUẢ......................................................74


5.1

Dữ liệu thực nghiệm.......................................................................................74

5.2

Kết quả thực nghiệm......................................................................................74

KẾT LUẬN.................................................................................................................75
TÀI LIỆU THAM KHẢO...........................................................................................76

4


DANH MỤC CÁC HÌNH ẢNH
Hình 1.1 Mô hình giấu tin cơ bản..................................................................................5
Hình 1.2 Mô hình tách tin cơ bản..................................................................................5
Hình 2.1 Trình tự xử lý các khối điểm ảnh....................................................................8
Hình 2.2 Sự khác biệt giữa PVD và OPVD.................................................................10
Hình 2.3 Quá trình nhúng của phương pháp OPVD và hàm đồng dư..........................12
Hình 2.4 Quá trình tách tin của phương pháp OPVD và hàm đồng dư........................14
Hình 4.1 Sơ đồ chức năng của chương trình................................................................73

5


DANH MỤC BẢNG BIỂU
Bảng 2.1 Bộ phạm vi thứ nhất.......................................................................................9
Bảng 2.2 Bộ phạm vi thứ hai.........................................................................................9
Bảng 2.3 Bộ giá trị đánh dấu cho ảnh xám..................................................................15

Bảng 3.1 Bộ giá trị đánh dấu cho ảnh màu..................................................................43

6


DANH MỤC CÁC TỪ VIẾT TẮT
1.
2.
3.

LSB (Least significant bit)
MSE (Mean squared error )
OPVD (Overlapping Pixel Value

Bit ít quan trọng nhất
Sai số bình phương trung bình
Phương pháp vi phân chồng chéo

4.
5.

Differencing)
PSNR (Peak signal-to-noise ratio)
PVD (Pixel Value Differencing )

điểm ảnh
Tỉ số tín hiệu cực đại trên nhiễu
Phương pháp vi phân điểm ảnh

MỞ ĐẦU

Ngày nay, Internet đang đóng một vai trò quan trọng trong sự phát triển xã hội. Do
đó, việc sử dụng nó để truyền tin bí mật đang gia tăng trên các ứng dụng. Bảo mật các
thông tin này có thể rất quan trọng đối với chính phủ, kinh doanh, công nghiệp và
thậm chí là mỗi cá nhân. Giấu tin là một trong những lĩnh vực cực kỳ quan trọng của
an toàn thông tin. Không giống như mã hóa làm thay đổi thông điệp để cho nó không
đọc được bởi kẻ địch (bên thứ ba), giấu tin che giấu sự hiện diện của thông tin bí mật.
Nó sử dụng một vỏ bọc (đa phương tiện) để che giấu thông tin bí mật trong nó trước
khi truyền đến một kênh truyền thông công cộng. Do đó, nó bảo vệ thông điệp chống
lại truy cập trái phép. Dữ liệu có thể được mã hóa và/hoặc nén trước khi áp dụng giấu
tin nhằm tăng mức độ bảo mật giảm lượng dữ liệu cần nhúng khiến ảnh mang thông
điệp bị giảm chất lượng.
Trong thực tế, một số phương pháp giấu tin đã được đề xuất để nhúng dữ liệu vào
trong ảnh kỹ thuật số với vai trò là lớp vỏ, kể cả đối với miền không gian và miền tần
số. Một trong những phương pháp khá gần đây, phương pháp PVD đã được đề xuất
nhằm tăng khả năng nhúng mà không thay đổi chất lượng ảnh. Phương pháp này dựa
trên giá trị chênh lệch các cặp điểm ảnh. Do đó, số lượng các bit nhúng ở mỗi cặp
điểm ảnh được thay đổi. Một phương pháp khác được đề xuất bởi Chang và các cộng
sự[CITATION Cha06 \l 1033 ], được gọi là OPVD. Không giống như phương pháp PVD,
OPVD sử dụng các khối chồng lên nhau và chỉ giấu các bit bí mật ở điểm ảnh thứ hai
của mỗi cặp điểm ảnh bằng cách sử dụng phương pháp thay thế LSB. Mặc dù phương
pháp này có hiệu quả cao hơn so với PVD, nó vẫn bỏ qua nhiều điểm ảnh mà không
7


sử dụng để giấu tin.
Trong đồ án này tìm hiểu một kỹ thuật giấu tin trong ảnh dựa trên khái niệm các khối
chồng chéo tương tự như OPVD nhưng với một thủ tục điều chỉnh để giảm số lượng
điểm ảnh không sử dụng. Không giống như OPVD, phương pháp này sử dụng hàm
đồng dư để nhúng thay vì phương pháp thay thế LSB. Với những sửa đổi đối với
phương pháp OPVD, phương pháp đề xuất có khả năng nhúng cao hơn mà khó nhận

thấy được trong các biểu đồ phân tích.
Nội dung được trình bày trong 5 chương như sau:
Chương 1. Tổng quan về kỹ thuật giấu tin.
Chương 2. Kỹ thuật giấu tin đề xuất dựa trên phương pháp OPVD và hàm đồng dư.
Chương 3. Đề xuất nâng cao hiệu quả thuật toán.
Chương 4. Xây dựng chương trình.
Chương 5. Thực nghiệm và kết quả.

8


CHƯƠNG 1

TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN

1.1 Một số khái niệm tổng quan
1.1.1 Sơ lược về giấu tin
Ý tưởng che giấu thông tin đã có từ hàng nghìn năm về trước nhưng được dùng chủ
yếu trong quân đội và trong các cơ quan tình báo. Thuật ngữ Steganography có xuất
xứ từ tiếng Hy Lạp cổ (Stanos có nghĩa là phủ, còn graphy là viết hoặc vẽ). Thời đó, để
gửi thông tin mật đi, người ta dùng các bảng gỗ khắc các thông báo và hình ảnh cần
giấu rồi phủ sáp ong lên hoặc xăm tin tức lên đầu của người mang tin, để một thời
gian cho tóc mọc lại, rồi lại cạo trọc đi khi muốn đọc bản tin đó. Trong chiến tranh thế
giới thứ hai, quân đội Đức dùng kỹ thuật này dưới dạng mực không màu. Khi kỹ thuật
này đã trở nên dễ bị phát hiện, người ta đã cải tiến bằng cách dùng những bản tin có
vẻ ngoài hoàn toàn bình thường. Người nhận sẽ ghép các từ theo quy luật nào đó sẽ
nhận được một thông báo bí mật. Ngày nay, giấu tin nhận được sự quan tâm của các
nhà nghiên cứu và các viện công nghệ thông tin với hàng loạt công trình nghiên cứu
giá trị. Cuộc cách mạng số hóa thông tin và sự phát triển nhanh chóng của mạng
truyền thông là nguyên nhân chính dẫn đến sự thay đổi này.

“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. Kỹ thuật giấu tin nhằm hai mục đích: một là bảo mật cho
dữ liệu được đem giấu, hai là bảo vệ cho chính đối tượng mang tin giấu. Hai mục đích
khác nhau này dẫn đến hai khuynh hướng chủ yếu của giấu tin. Đó là giấu tin mật
(Steganography) và thủy vân số (Watermarking).
- Kỹ thuật giấu tin mật (Steganography): Khuynh hướng này tập trung vào các kỹ
thuật giấu tin sao cho thông tin được giấu nhiều và quan trọng là người khác khó
phát hiện được một đối tượng có giấu tin bên trong hay không.
- Kỹ thuật thủy vân số (Watermarking): Khuynh hướng này đánh dấu vào đối tượng
nhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin. Thủy vân
số có miền ứng dụng lớn hơn nên được quan tâm nghiên cứu nhiều hơn và thực
tế đã có nhiều kỹ thuật cho khuynh hướng này.
1.1.2 Đặc trưng và tính chất của kỹ thuật giấu tin trong ảnh
Kỹ thuật giấu tin trong ảnh thường chú ý những đặc trưng và các tính chất cơ bản sau
đây:
- Phương tiện có chứa dữ liệu tri giác tĩnh: Dù đã giấu thông tin vào trong ảnh hay
chưa thì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian.
- Kỹ thuật giấu phụ thuộc ảnh: Kỹ thuật giấu tin khác nhau tùy theo các loại ảnh
khác nhau (ảnh đen trắng, ảnh xám, ảnh màu).
- Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người: Kỹ thuật giấu
tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao
9


-

-

-


-

cho bằng mắt thường khó nhận thấy được sự thay đổi.
Giấu tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích thước ảnh:
Các thuật toán thực hiện việc giấu thông tin sẽ được thực hiện trên dữ liệu của
ảnh. Do vậy mà kích thước ảnh trước hay sau khi giấu thông tin là như nhau.
Đảm bảo chất lượng sau khi giấu tin: Đây là một yêu cầu quan trọng đối với giấu
tin trong ảnh. Sau khi giấu tin bên trong, ảnh phải đảm bảo được yêu cầu không bị
biến đổi để có thể bị phát hiện dễ dàng so với ảnh gốc.
Thông tin trong ảnh sẽ bị biến đổi nếu có bất kỳ biến đổi nào trên ảnh: Nếu một
phép biến đổi làm ảnh thay đổi giá trị điểm ảnh thì sẽ làm thông tin giấu bị sai
lệch. Nhờ đặc điểm này mà giấu tin trong ảnh có tác dụng nhận biết và phát hiện
xuyên tạc thông tin.
Vai trò của ảnh gốc sau khi giải tin: các kỹ thuật giấu tin phải xác định rõ ràng quá
trình lọc ảnh để lấy thông tin giấu cần ảnh gốc hay không cần.

1.1.3 Mô hình kỹ thuật giấu tin trong ảnh cơ bản
Kỹ thuật giấu tin trong ảnh bao gồm 2 quá trình, đó là:
Quá trình 1: Giấu tin vào ảnh
Đầu vào:
- Thông tin giấu: thông tin ở đây có thể là thông điệp, hình ảnh, video, âm thanh…
- Ảnh gốc: là ảnh được chọn làm môi trường giấu tin.
Đầu ra:
- Ảnh đã được giấu tin.

10


Hình 1.1 Mô hình giấu tin cơ bản.
Quá trình 2: Tách tin từ ảnh giấu tin


Hình 1.2 Mô hình tách tin cơ bản.

11


Đầu vào:
- Ảnh giấu tin.
- Khóa che giấu.
Đầu ra:
- Thông tin được che giấu.
- Ảnh ban đầu (nếu có thể).
Quá trình giải mã được thực hiện thông qua thuật toán/kỹ thuật tách tin tương ứng
với thuật toán/kỹ thuật giấu tin cùng với khóa che giấu của quá trình nhúng. Kết quả
thu được gồm ảnh đã tách tin và thông tin đã giấu. Thông tin đã giấu được kiểm tra
so sánh với thông tin ban đầu.
1.2 Yêu cầu và đánh giá chất lượng ảnh sau khi giấu tin
Các yêu cầu đối với giấu tin trong ảnh:
- Tính ẩn giấu của thông tin được chèn vào ảnh: Sự hiện diện của giấu tin trong ảnh
không làm ảnh hưởng tới chất lượng của ảnh chèn tin.
- Tính bền của giấu tin: Cho phép các tin có thể tồn tại được qua các phép biến đổi
ảnh, biến dạng hình học hay các hình thức tấn công cố ý khác.
- Tính an toàn: Chỉ có bên nhận được cấp một khóa và bằng các kỹ thuật tách ảnh
phù hợp mới có thể lấy được tin trong ảnh.
Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra của bộ mã hóa,
người ta thường sử dụng hai tham số: Sai số bình phương trung bình – MSE (mean
square error) và phương pháp đề xuất với hệ số tỷ lệ tín hiệu/tín hiệu tạp PSNR (Peak
to Nose Ratio).
MSE giữa ảnh gốc và ảnh khôi phục được tính như sau:
(1-1)

Ở đây: xij biểu thị giá trị điểm ảnh gốc, yij biểu thị giá trị điểm ảnh đã được biến đổi, m
và n lần lượt là chiều rộng và chiều cao của ảnh.
PSNR, đơn vị: deciben (dB), thường được sử dụng trong nghiên cứu xử lý hình ảnh:
(1-2)
Thông thường, nếu PSNR ≥ 37dB thì hệ thống mắt người gần như không phân biệt
được giữa ảnh gốc và ảnh khôi phục. PSNR càng cao thì chất lượng khôi phục càng
tốt. Khi haihình ảnh giống hệt nhau, MSE sẽ bằng 0 và PSNR đi đến vô hạn.
Đối với ảnh màu 4 giá trị ARGB trên 1 pixel, các tính toán cho PSNR tương tự ngoại trừ
12


việc tính MSE là tổng của 4 giá trị chia cho kích thước của ảnh và chia cho 4.

(1-3)

13


CHƯƠNG 2
KỸ THUẬT GIẤU TIN ĐỀ XUẤT DỰA TRÊN
PHƯƠNG PHÁP OPVD VÀ HÀM ĐỒNG DƯ
2.1 Cơ sở lý thuyết
2.1.1 Phương pháp Pixel Value Differencing (PVD)
Phương pháp PVD được đề xuất bởi Wu và Tsai[ CITATION WuD03 \l 1033 ] nhằm giấu
thông tin mật trong 256 mức xám của ảnh. Nó có thể nhúng một lượng lớn dữ liệu
mà không làm giảm chất lượng ảnh và do đó là hầu như không nhận biết được bởi
mắt người. PVD sử dụng sự khác biệt giữa mỗi cặp điểm ảnh để xác định số lượng các
bit của thông điệp có thể nhúng vào mỗi cặp điểm ảnh. Nó bắt đầu tại góc trên bên
trái hình ảnh và quét hình ảnh theo hình 2.1. Sau đó nó ngăn chuỗi kết quả thành các
khối trong đó mỗi khối bao gồm hai điểm ảnh không chồng chéo liên tiếp. Khác biệt

lớn hơn giữa hai điểm ảnh trong một khối nghĩa là nhiều bit có thể được nhúng hơn
trong mỗi cặp điểm ảnh.

Hình 2.3 Trình tự xử lý các khối điểm ảnh
Do đó, thay vì chèn một số cố định các bít vào mỗi cặp điểm ảnh, giống như phương
pháp thay thế LSB đã làm, PVD điều chỉnh số bit nhúng với đặc điểm của từng cặp
điểm ảnh. Để thực hiện điều đó, phạm vi của mức xám (0, 255) được chia thành các

14


phạm vi nhỏ hơn và mỗi khoảng ri được phân định bởi giới hạn trên và dưới, tương
ứng là ui và li. Sau đó, giá trị tuyệt đối khác biệt của mỗi cặp điểm ảnh thuộc một
phạm vi và số lượng các bit được nhúng vào điểm ảnh được xác định bởi chiều rộng
của phạm vi này. Chiều rộng của phạm vi r i là và số bit được nhúng cho bởi Khoảng
gần với 0 có độ rộng nhỏ hơn. Mặc dù độ rộng các phạm vi có thể lấy giá trị bất kỳ,
người ta thường sử dụng các giá trị là số mũ của 2 và tăng lên khi chúng cách xa giá trị
0. Các tác giả của PVD đã sử dụng hai bộ khác nhau cho các phạm vi:
Bảng 2.1 Bộ phạm vi thứ nhất
Phạm vi 0-1
Số bít
nhúng

0

23

47

8-11


1

2

2

12
15
2

1623

2431

3

3

32
47
4

48
63
4

6495

96127


5

5

128- 192191 255
6

6

Bảng 2.2 Bộ phạm vi thứ hai
Phạm vi

0-7

8-15

16-31

32-63

64-127

128-255

Số bít
nhúng

3


3

4

5

6

7

Lưu ý rằng mỗi bộ bao gồm toàn bộ dải màu xám quy mô của 256 giá trị.
Mặc dù PVD có nhiều lợi thế về khả năng nhúng và PSNR, nó vẫn còn một số nhược
điểm. Để nâng cao chất lượng hình ảnh giấu tin của phương pháp PVD, Wang và các
cộng sự[ CITATION Wan08 \l 1033 ] đã đề xuất PVD với phương pháp tiếp cận hàm
đồng dư. Không giống như PVD ban đầu sử dụng sự khác biệt giữa một cặp điểm ảnh,
PVD với cách tiếp cận hàm đồng dư điều chỉnh phần còn lại của hai điểm ảnh liên tiếp
để nhúng một số lượng nhất định các bit bí mật. Nhưng tương tự như PVD, số bit
nhúng trong mỗi cặp điểm ảnh được xác định bởi chiều rộng của phạm vi được tính
bởi giá trị tuyệt đối hiệu 2 điểm ảnh.
2.1.2 Phương pháp Overlapping Pixel Value Differencing (OPVD)
Mục tiêu của cách tiếp cận OPVD được đề xuất bởi Chang và các cộng sự[CITATION
Cha06 \l 1033 ] là nhằm tăng khả năng nhúng của PVD trong khi vẫn giữ chất lượng
hình ảnh chấp nhận được. So với phương pháp PVD của Wu và Tsai[ CITATION
WuD03 \l 1033 ], OPVD đạt được hiệu quả nhúng cao hơn, tăng trung bình khoảng
84.16%. Phương pháp OPVD giấu các dữ liệu bí mật sử dụng trong các điểm ảnh riêng
thay vì giấu chúng trong mỗi cặp điểm ảnh sử dụng thay thế LSB. Hình 2.2 minh
chứng cho khái niệm OPVD và so sánh nó với PVD.

15



Hình 2.4 Sự khác biệt giữa PVD và OPVD
Nếu sự khác biệt của mỗi cặp điểm ảnh trước và sau khi giấu các dữ liệu bí mật thuộc
về cùng một phạm vi, quá trình nhúng được thực thi. Nếu không, các bit bí mật không
thể nhúng và các điểm ảnh thứ hai được điều chỉnh để chỉ ra tình trạng này. Việc điều
chỉnh này đặt sự khác biệt của cặp điểm ảnh đến mốc trên hoặc dưới của phạm vi của
chúng. Bất kể nhúng hay không, các điểm ảnh thứ hai sẽ là điểm ảnh đầu tiên trong
pixel tiếp theo.
Mặc dù phương pháp này nhúng được nhiều bit hơn so với PVD, nó vẫn có một lượng
lớn điểm ảnh không sử dụng làm giới hạn khả năng nhúng của nó. Hơn nữa, sử dụng
phương pháp LSB và thủ tục điều chỉnh làm thay đổi biểu đồ ảnh giấu tin. Do đó, cách
tiếp cận này có thể dễ dàng bị phát hiện bởi phát hiện giấu tin bằng biểu đồ. Phương
pháp đề xuất giảm nhẹ các vấn đề bằng cách làm cho sự khác biệt giữa các cặp điểm
ảnh nằm trong cùng một phạm vi bằng cách sử dụng hàm đồng dư thay vì thay thế
LSB sẽ được giải thích trong phần tiếp theo.
2.2 Phương pháp kết hợp OPVD và hàm đồng dư
2.2.1 Ý tưởng thuật toán
Mục tiêu nghiên cứu của El-Sayed M. El-Alfy và Azzat A. Al-Sadi[CITATION ESM12 \l
1033 ] là hướng tới tăng hiệu quả giấu tin và nâng cao an ninh của phương pháp
OPVD mà không làm giảm chất lượng hình ảnh. Để đạt được các mục tiêu này, một
phương pháp giấu tin dựa trên các điểm ảnh chồng chéo được đề xuất. Tương tự như
OPVD, các phương pháp được đề xuất sử dụng sự khác biệt của một khối gồm hai
điểm ảnh để xác định độ mịn và độ tương phản trong khối đó. Sau đó, nó nhúng các
các bit bí mật vào điểm ảnh thứ hai dựa trên sự khác biệt tính toán. Tiếp theo, điểm
ảnh thứ hai được sử dụng như điểm ảnh đầu tiên trong khối tiếp theo và quá trình
này được lặp đi lặp lại. Điều này làm tăng khả năng nhúng.
Không giống như OPVD bỏ qua quá nhiều điểm ảnh khi nhúng do vượt quá giá trị
mức xám, phương pháp được đề xuất khắc phục vấn đề bằng một thủ tục điều chỉnh.
Bằng cách điều chỉnh sự khác biệt d a giữa hai điểm sau khi nhúng về cùng một phạm
vi với sự khác biệt db trước khi nhúng, phương pháp đề xuất có thể hạn chế các điểm

ảnh không sử dụng tốt hơn. Mặc dù điều chỉnh này ảnh hưởng đến giá trị điểm ảnh
nhưng nó không làm thay đổi đến giá trị của dữ liệu được nhúng. Ngoài ra thay vì sử
dụng thay thế LSB trong OPVD, phương pháp này nhúng thông điệp bí mật vào các
16


điểm ảnh bằng cách thay đổi phần còn lại của các cặp điểm ảnh sử dụng hàm đồng
dư. Như vậy, phương pháp này tăng mức độ an ninh hơn LSB và không nhận ra được
trên biểu đồ ảnh giấu tin.
2.2.2 Thuật toán giấu tin
Đầu vào:
- Ảnh gốc xám 8 bit kích thước MxN.
- Thông điệp bí mật S có độ dài L.
Đầu ra:
- Ảnh xám 8 bit mang tin.
Quá trình nhúng được thể hiện trong hình 2.3, duyệt ảnh đầu vào theo từng khối F i
với i thuộc [0, MxN-1] và thực hiện những bước sau:

Hình 2.5 Quá trình nhúng của phương pháp OPVD và hàm đồng dư
Bước 1: Xét khối Fi có cặp điểm ảnh Pix và Piy.
Bước 2: Thực hiện tính dbi, ni, Fbi
- Tính giá trị chênh lệch của 2 pixel trong mỗi khối Fi
-

Tính số bit bí mật được nhúng ni bằng cách tra bảng 2.2.
Tên???? Fbi từ:

17

(2-2)



(2-2)
Bước 3: Nhúng ni bit dữ liệu mật vào trong điểm ảnh thứ hai Piy
- Nếu ni > L nhỏ hơn độ dài thông điệp hiện tại thì trích ni bit từ thông điệp.
- Ngược lại, nếu ni >L (độ dài thông điệp hiện tại) thì thêm vào sau thông điệp hiện
tại một lượng bit 0 để đạt được độ dài ni.
- Đổi ni bit vừa được trích từ thông điệp ra số thập phân b i = Fai và tính P’iy theo
công thức:
(2-3)

-

Trong đó, , và P’iy là giá trị của điểm ảnh thứ hai sau khi nhúng.

Bước 4: Điều chỉnh điểm ảnh thứ Piy khối Fi nếu cần
- Tính sự khác biệt của cặp điểm ảnh sau khi nhúng :
-

Kiểm tra và xem có cùng phạm vi hay 0 dựa vào bảng 2.2. Nếu cùng phạm vi thì
giữa nguyên …Ngược lại, điều chinhr …theo công thức sau:

Kiểm tra sự khác biệt của cặp điểm ảnh sau khi nhúng để đảm bảo có cùng một phạm
vi với dbi. Nếu chúng ở hai phạm vi khác nhau, P’ iy được điều chỉnh bằng cách cộng
hoặc trừ . Việc điều chỉnh này sẽ đưa dbi và dai về cùng một phạm vi mà không làm ảnh
hưởng tới thông tin bí mật.
Bước 5: Tính giá trị của P’yi
- Nếu
- N
kiểm tra giá trị P’yi xem có thuộc khoảng (0, 255)

Sau khi điều chỉnh cho d bi và dai về cùng một phạm vi, giá trị của điểm ảnh có thể nằm
ngoài khoảng (0, 255). Những điểm ảnh này không sử dụng để nhúng và chúng sẽ
được đánh dấu không sử dụng. Thực hiện lại từ bước 1 cho tới bước 5 đến khi thông
điệp kết thúc hoặc ảnh không thể đủ lớn để giấu tin.
2.2.3 Thuật toán tách tin
Đầu vào:
- Ảnh xám 8 bit mang tin
Đầu ra:
- Thông điệp bí mật.
Quá trình tách tin được thể hiện trong hình 2.4, duyệt ảnh đầu vào theo từng khối F i
với i thuộc [0, MxN-1] và thực hiện những bước sau:
18


Bước 1: Xét khối Fi có cặp điểm ảnh Pix và Piy. Khởi tạo thông điệp bí mật S=null
Bước 2: Kiểm tra xem Piy có phải điểm ảnh đánh dấu trong quá trình nhúng hay
không. Nếu Piy là điểm đánh dấu, bỏ qua điểm này và chuyển sang khối điểm ảnh tiếp
theo (quay lại bước 1). Ngược lại, nếu Piy không phải điểm đánh dấu, chuyển sang
bước 3.

Hình 2.6 Quá trình tách tin của phương pháp OPVD và hàm đồng dư
Bước 3: Thực hiện tính dai, ni, Fai
-

(2-4)
Bằng cách tra bảng 2.2 ở mục 2.1.1, ta có số bit bí mật được nhúng n i. Sau đó tính
toán các khối còn lại Fbi từ:
(2-5)

Bước 4: Đổi Fai từ số thập phân sang nhị phân rồi ghép thành 1 chuỗi. Thực hiện lại từ

bước 1 đến 4 cho đến khi đã lấy bằng hoặc lớn hơn độ dài thông điệp gốc.
Bước 5: Tính toán để lấy được đúng độ dài thông điệp theo công thức sau:
.

19


2.3 Ví dụ minh họa
2.3.1 Quá trình giấu tin
Đầu vào: Ma trận 5x5, thông điệp giấu.
Đầu ra: Ma trận 5x5 chứa thông điệp.

20


Ma trận ban đầu:

11
0

25
3

18
0

17
3

17

2

17
0

16
7

18
0

15
1

16
3

17
3

11
0

12
7

17
3

14

3

19
6

13
7

25
3

14
6

17
0

12
2

10
2

17
4

13
5

10

0

Message: thử
Binary message: 0111010000000000 0110100000000000 1110110100011110
Sử dụng bộ phạm vi trong bảng 2.2.
Ma trận duyệt theo hình 2.1.
Sử dụng bộ giá trị đánh dấu theo bảng sau:
Bảng 2.3 Bộ giá trị đánh dấu cho ảnh xám
Giá trị

Ý nghĩa

253

Đánh dấu tại điểm không sử dụng

200

Đánh dấu thuật toán dừng

Ký hiệu:
Điểm đang xét

Điểm có giấu tin

Điểm đánh dấu không giấu

Điểm kết thúc

21



Duyệt ma trận theo các khối Fi với I từ 0-24
Xét khối F1:
Bước 1: Lấy 2 pixel P1x = 110 và P1y = 253.
Bước 2: Tính db1, Fb1, n1.
- db1 = |P1y – P1x| = |253 – 110| = 143.
- 143 thuộc (128-255)  Tra bảng 2.2, ta có n1 = 7.
- Fb1 = (P1y + P1x) mod . = (253 + 110) mod 27 = 107.
Bước 3: Nhúng n1 bit từ thông điệp bí mật vào điểm ảnh thứ hai
- Thông điệp được trích: 0111010.
- Đổi thông điệp được trích ra hệ thập phân b1 = 58.
- m1 = |Fb1 – b1| = |107 – 58| = 49, m2 = – m1 = 27 – 49 = 79.
- Do Fb1 > b1 và m1 < .  P’1y = P1y – m1 = 253 – 49 = 204.
Bước 4: Kiểm tra db1 và da1 có cùng phạm vi không?
- da1 = |P’1y – P1x| = |204 – 110| = 94.
- 94 thuộc (64-127) ≠ db1 = 143 thuộc (128-255) P’1y = P’1y + .= 204 + 27 = 332.
Bước 5: Kiểm tra xem P’1y có thuộc (0-255) không?
- P’1y = 332  đánh dấu không sử dụng theo bảng 2.3, đoạn binary message không
thay đổi.

110 253 180 173 172

11
0

25
3

18

0

17
3

16
8

170 167 180 151 163

17
0

16
7

18
0

15
1

16
3

173 110 127 173 143

17
3


11
0

12
7

17
3

14
3

196 137 253 146 170

19
6

13
7

25
3

14
6

17
0

122 102 174 135 100


12
2

10
2

17
4

13
5

10
0

22


Xét khối F2:
Bước 1: Lấy 2 pixel P2x = 253 và P2y = 180.
Bước 2: Tính db2, Fb2, n2.
- db2 = |P2y – P2x| = |180 – 253| = 73.
- 73 thuộc (64-127)  Tra bảng 2.2, ta có n2 = 6.
- Fb2 = (P2y + P2x) mod . = (180 + 253) mod 26 = 49.
Bước 3: Nhúng n2 bit từ thông điệp bí mật vào điểm ảnh thứ hai
- Thông điệp được trích: 011101.
- Đổi thông điệp được trích ra hệ thập phân b2 = 29.
- m1 = |Fb2 – b2| = |49 – 29| = 20, m2 = – m1 = 26 – 20 = 44.
- Do Fb2 > b2 và m1 <  P’2y = P2y – m1 = 180 – 20 = 160.

Bước 4: Kiểm tra db2 và da2 có cùng phạm vi không?
- da2 = |P’2y – P2x| = |160 – 253| = 93.
- 93 thuộc (64-127) giống với db2 = 73 thuộc (64-127)  Không cần điều chỉnh.
Bước 5: Kiểm tra xem P’2y có thuộc (0-255) không?
- P’2y = 160 thuộc (0-255)  P2x+1 = 160
- Binary message: 0000000000 0110100000000000 1110110100011110
- Chuyển sang khối 2 điểm ảnh tiếp theo, điểm ảnh thứ 2 sau khi nhúng sẽ trở
thành điểm ảnh thứ nhất trong khối tiếp theo.

11
0

25
3

18
0

17
3

17
2

11
0

25
3


16
0

17
3

17
2

17
0

16
7

18
0

15
1

16
3

17
0

16
7


18
0

15
1

16
3

17
3

11
0

12
7

17
3

14
3

17
3

11
0


12
7

17
3

14
3

19
6

13
7

25
3

14
6

17
0

19
6

13
7


25
3

14
6

17
0

12
2

10
2

17
4

13
5

10
0

12
2

10
2


17
4

13
5

10
0

Xét khối F3:
Bước 1: Lấy 2 pixel P3x = 160 và P3y = 173.

23


×