Phân loại WatermarkingWatermarking có thể phân loại bằng nhiều cách, cụ thể như sau: Trên miền hoạt động o Miền không gian Trong kỹ thuật Watermark trên miền không gian, Watermark sẽ đ
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
BÁO CÁO MÔN HỌC
XỬ LÝ DỮ LIỆU ĐA PHƯƠNG TIỆN
TÌM HIỂU CÁC KỸ THUẬT BẢO VỆ BẢN QUYỀN NỘI DUNG SỐ
VÀ ÁP DỤNG CHO ẢNH SỐ
Sinh viên thực hiện: Lê Văn Quân 20102035 Phạm Văn Tiệp 20112326
Nguyễn Văn An Phạm Văn Tiến
Giáo viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan
HÀ NỘI 5-2016
Trang 2LỜI NÓI ĐẦUCuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong
xã hội và trong cuộc sống của chúng ta Bên cạnh những thuận lợi mà thông tin kỹthuật số mang lại cũng có những thách thức và cơ hội mới Sự ra đời những phầnmềm có tính năng rất mạnh, các thiết bị mới như máy ảnh kỹ thuật số, máy quétchất lượng cao, máy in, máy ghi âm kỹ thuật số v.v đã thúc đẩy khả năng sáng tạo,
xử lý và thưởng thức các dữ liệu đa phương tiện Mạng Internet toàn cầu đã tạo ranhững cơ cấu ảo - nơi diễn ra các quá trình trao đổi thông tin trong mọi lĩnh vựcchính trị, quân sự, quốc phòng, kinh tế, thương mại Và chính trong môi trường mở
và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần các giải pháphữu hiệu nhằm đảm bảo an toàn thông tin, chống lại các nạn ăn cắp bản quyền,xuyên tạc thông tin, truy nhập thông tin trái phép, Việc tìm giải pháp cho nhữngvấn đề này không chỉ giúp chúng ta hiểu thêm về công nghệ phức tạp đang pháttriển rất nhanh này mà còn tạo ra những cơ hội phát triển mới
Ý tưởng về che giấu thông tin đã có từ hàng nghìn năm về trước nhưng kỹthuật này được dùng chủ yếu trong quân đội và trong các cơ quan tình báo Mãi chotới vài thập niên gần đây, giấu thông tin mới 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ố hoá thông tin và sự phát triển nhanh chóng của mạng truyềnthông là nguyên nhân chính dẫn đến sự thay đổi này Những phiên bản sao chéphoàn hảo, các kỹ thuật thay thế, sửa đổi tinh vi, cộng với sự lưu thông phân phốitrên mạng của các dữ liệu đa phương tiện đã sinh ra nhiều vấn đề nhức nhối về nạn
ăn cắp bản quyền, phân phối bất hợp pháp, xuyên tạc trái phép
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ươngtrì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ượngthông tin được trao đổi bằng ảnh là rất lớn
Giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hếtcác ứng dụng bảo vệ an toàn thông tin như: xác nhận thông tin, xác định xuyên tạcthô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 Vì thế
kĩ thuật Watermarking ra đời
Trang 3MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ KỸ THUẬT WATERMARKING 6
1.1 Giới thiệu về Watermarking 6
1.2 Phân loại Watermarking 7
1.3 Sơ đồ khối Watermarking 8
1.4 Ứng dụng của Watermarking 8
CHƯƠNG II: TÌM HIỂU VỀ KỸ THUẬT WATERMARKING ĐỐI VỚI ẢNH JPEG 10
2.1 Tổng quan về kỹ thuật Watermarking đối với ảnh JPEG 10
2.2 Thuật toán Watermarking ảnh JPEG sử dụng DCT 10
2.2.1 Phép biến đổi DCT trên ảnh: 10
2.2.2 Thuật toán nhúng và tách thủy vân 10
2.3 Thuật toán Watermarking ảnh JPEG sử dụng DWT 14
2.3.1 Phép biến đổi DWT đối với ảnh số 14
2.3.2.Thuật toán nhúng và tách thủy vân : 15
CHƯƠNG III: CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN WATERMARKING SỬ DỤNG DWT ĐỐI VỚI ẢNH JPEG 17
3.1 Môi trường thực hiện 17
3.2 Kịch bản thử nghiệm 17
3.3 Kết quả thử nghiệm 19
KẾT LUẬN 23
TRA CỨU BẢNG BIỂU 24
TÀI LIỆU THAM KHẢO 25
Trang 4DANH MỤC HÌNH ẢNH Hình 1: Hình ảnh trường đại học Bách Khoa được Watermark logo Bách Khoa -
logo nhìn thấy được 6
Hình 2 : Sơ đồ khối Watermarking 8
Hình 3 :Sơ đồ kỹ thuật thủy vân sử dụng phép biến đổi DCT 11
Hình 4 : Biến đổi DWT 3 mức 14
Hình 5 : a, Biến đổi wavelet b, Cấu trúc dải 15
Hình 6: Sơ đồ nhúng Watermark sử dụng DWT 15
Hình 7: Ảnh đầu vào 18
Hình 8 :Watermark 18
Hình 9 : Ảnh đầu vào sau khi được biến đổi DWT 19
Hình 10 : Ảnh Watermark sau khi biến đổi DWT 20
Hình 11 : Hình ảnh đầu ra sau khi Watermarking 20
Trang 5PHÂN CHIA CÔNG VIỆC
Lê Văn Quân
Trang 6CHƯƠNG I: TỔNG QUAN VỀ KỸ THUẬT WATERMARKING 1.1 Giới thiệu về Watermarking
Watermarking là kỹ thuật đánh dấu thông tin (ảnh, đoạn văn bản, …) vào
trong dữ liệu đa phương tiện (ảnh số, audio số, video, …) dùng để bảo vệ đốitượng chứa thông tin được đánh dấu
Trang 71.2 Phân loại Watermarking
Watermarking có thể phân loại bằng nhiều cách, cụ thể như sau:
Trên miền hoạt động
o Miền không gian
Trong kỹ thuật Watermark trên miền không gian, Watermark sẽ được nhúng trên miền không gian của phương tiện chứa, ví dụ như sử dụng kỹ thuật LSB
o Miền tần số
Trong kỹ thuật Watermark trên miền tần số, phương tiện chứa và watermark có thể được biến đổi qua các phép biến đổi DWT, DCT, DFT, … sau đó được tổng hợplại thành phương tiện chứa watermark
Theo phương tiện chứa
Trang 8o Khó phá vỡ
1.3 Sơ đồ khối Watermarking
Hình 2 : Sơ đồ khối Watermarking
Trong sơ đồ trên,
O (Orgin Media) : Là phương tiện gốc, chứa thông tin gốc
W (Watermark) : Là watermark, mang thông tin đánh dấu
E : Là bộ xử lý và nhúng Watermark vào phương tiện
S : là phương tiện sau khi nhúng Watermark
Hình vẽ trên biểu diễn quá trình giấu thông tin cơ bản.Đối tượng được dùng làm môi trường giấu tin như văn bản,hình ảnh,audio,video, Dữ liệu giấu là một lượng thông tin mang một ý nghĩa nào đó tùy thuộc vào mục đích người sử
dụng.Thông tin sẽ được giấu vào phương tiện chứa nhờ một bộ nhúng,bộ nhúng là một chương trình thuật toán dùng để giấu tin.Sau khi giấu tin,ta thu được phương tiện chứa đã mang thông tin
Một nhà sản xuất âm nhạc, video clip có thể chèn các thông tin cá nhân vào trong video, âm nhạc, khi có người sử dụng hoặc upload các thông tin đó lên
Youtube hay các trang nhạc trực tuyến, nhà sản xuất có thể dễ dàng chứng minh sản
Trang 9phẩm đó là do mình sản xuất và yêu cầu gỡ cũng như kiện bên sử dụng không hợp pháp.
Tương tự đối với những người làm đồ họa, games, ….v….v…
Che giấu thông tin
Có thể giấu thông tin bên trong một dữ liệu khác, dùng để truyền tin mật
Ví dụ : Các tổ chức quân sự thay vì gửi thông tin bằng file text, hoặc được mã hóa bởi các thuật toán thì có thể gửi ảnh để tránh nghi ngờ Nhưng thông tin có thể đượctrích xuất từ ảnh đó Người ăn cắp trung gian có thể không nghi ngờ gì và không thểdịch được thông tin ẩn giấu trong phương tiện
Xác thực thông tin
Dùng để xác nhận dữ liệu này có còn nguyên vẹn hay đã bị sửa đổi, dùng để chống giả mạo
Trang 10CHƯƠNG II: TÌM HIỂU VỀ KỸ THUẬT WATERMARKING ĐỐI
VỚI ẢNH JPEG 2.1 Tổng quan về kỹ thuật Watermarking đối với ảnh JPEG
2.2 Thuật toán Watermarking ảnh JPEG sử dụng DCT
2.2.1 Phép biến đổi DCT trên ảnh:
- Thể hiện đặc tính nội dung về tần số của thông tin trên ảnh Hệ số góc trên làlớn và đặc trưng cho giá trị trung bình thành phần một chiều gọi là hệ số DC.Các hệ số khác có giá trị nhỏ hơn biểu diễn cho các thành phần tần số caotheo hướng ngang và dọc gọi là hệ số AC
- Bản thân phép biến đổi DCT không nén được dữ liệu vì sinh ra 64 hệ số
- Theo nguyên lí chung, khi biến đổi chi tiết giữa các điểm ảnh càng lớn theomột hướng nào đó trong các khối điểm ảnh, hướng ngang hoặc dọc hoặc theođường chéo thì tương ứng theo hướng đó cá hệ số DCT cũng lớn
- DCT làm giảm độ tương quan không gian của thông tin trong khối ảnh Điều
đó cho phép biểu diễn thích hợp ở miền DCT do các hệ số DCT có xu hướng
có phần dư thừa ít hơn Hơn nữa, các hệ số DCT chứa thông tin về nội dungtần số không gian của thông tin trong khối Nhờ các đặc tính tần số khônggian của hệ thống nhìn của mắt người, các hệ số DCT có thể được mã hóaphù hợp, chỉ các hệ số DCT quan trọng nhất mới được mã hóa để chuyểnđổi
- Hệ số DCT có thể chia làm 3 miền: miền tần số thấp, miền tần số cao vàmiền tần số giữa Miền tần số thấp chứa các thông tin quan trọng ảnh hưởngđến tri giác Miền tần số cao thường không mang tính tri giác cao, khi nénJPEG thường loại bỏ thông tin trong miền này
- Trong các thuật toán thủy vân, miền hệ số DCT tần số cao thường khôngđược sử dụng do nó thường không bền vừng với các phép xử lý ảnh, hoặcnền ảnh JPEG Miền tần số thấp cũng khó được sử dụng do một sự thay đổi
dù nhỏ trong miền này cũng dẫn đến chất lượng tri giác của ảnh Vì vậy,miền tần số ở giữa thường hay được sử dụng nhất và cũng cho kết quả tốtnhất
2.2.2 Thuật toán nhúng và tách thủy vân
Quá trình nhúng thủy vân
Thuật toán dưới đây sẽ sử dụng phương pháp nhúng thuỷ vân trong miền tần
số của ảnh, giải tần được sử dụng để chứa tín hiệu thuỷ vân là miền tần số giữa củamột khối DCT 8x8 Trong đó, các khối DCT 8x8 là những khối ảnh cùng kíchthước đã được chọn ra ngẫu nhiên từ ảnh ban đầu và được áp dụng phép biến đổicosin rời rạc DCT để chuyển sang miền tần số Mỗi tín hiệu thuỷ vân sẽ được chứatrong một khối
Trang 11•Khóa để giải mã
Sơ đồ mô tả quá trình
Hình 3 :Sơ đồ kỹ thuật thủy vân sử dụng phép biến đổi DCT
Mô tả:
Ảnh gốc sao khi được tách khối sẽ chia thành các khối ảnh 8x8 Sau đó cáckhối ảnh sẽ được biến đổi DCT thành các khối DCT Thủy vân sẽ được chuyểnthành các bit để nhúng vào khối DCT bằng việc thay đổi các hệ số DCT, từ đó tathu được các khối đã nhúng thủy vân Các khối đã nhúng thủy vân sẽ được biến đổiIDCT thu được sác khối đã biến đổi ngược DCT sau đó được ghép lại với nhau đểthành các ảnh hoàn chỉnh đã nhúng thủy vân
Các bước thực hiện
Bước 1: Ảnh F có kích thước MxN sẽ được chia thành (MxN) / 64 khối 8 x8,
mỗi bit của thủy vân sẽ được giấu trong khối Bk
Bước 2: Chọn một khối bất kì Bk và biến đổi DCT khối đó thu được Ck
Ck=DCT(Bk)
Bước 3: Chọn hai hệ số ở vị trí bất kì trong miền tần số giữa của khối Ck, gọi
sổ đó là Ck[i, j] , Ck[p, q]
Bước 4: Tính độ lệch d = ||Ck[i, j]| - |Ck[p, q]|| mod a Trong đó a là một tham
số thỏa mãn a = 2 (2t + 1), với t là một số nguyên dương
Bước 5: Bit bk =1 sẽ được nhúng vào khối Ck sao cho thỏa mãn điều kiện sau:
Trang 12{d <2t +1 Nếu b k = 0 d ≥ 2t +1 Nếu b k =1
Bước 6a: Nếu d<2t+1 và bk =1 thì hệ số DCT Ck[i, j] hoặc Ck[p, q] có giá trịtuyệt đối lớn hơn sẽ bị thay đổi để thỏa mãn d ≥2 t+1theo công thức sau:
Max (|Ck[i, j] |, |Ck[p, q] |) + (INT(0.75a) - d)
Hệ số được chọn sẽ được cộng thêm một lượng là (INT(0.75a)-d)
Min (|Ck[i, j] |, |Ck[p, q] |) - (INT(0.75a) + d)
Hệ số được chọn sẽ được trừ đi 1 lượng là (INT(0.75a) + d)
Bước 6b: Nếu d ≥2 t+1 và bk =0 thì hệ số DCT Ck[i, j] hoặc Ck[p, q] có giá trịtuyệt đối lớn hơn sẽ bị thay đổi để thỏa mãn d <2 t+1theo công thức sau:
Max (|Ck[i, j] |, |Ck[p, q] |) - (d - INT(0.75a))
Hệ số được chọn sẽ bị trừ đi 1 lượng là (d - INT(0.75a)
Min (|Ck[i, j] |, |Ck[p, q] |) + ( INT(0.75a) - d)
Hệ số được chọn sẽ được cộng thêm 1 lượng là ( INT(0.75a) - d)
Bước 7: Thực hiện phép biến đổi ngược IDCT đối với khối Ck: B’k =IDCT(Ck)
Bước 8: Ghép các khối ảnh B’k để được ảnh chứa thủy vân F’
869 438
102
-115
18 7 -62 -41-
110
64 143
-18 -78 -62 -2 38
30 -4 -37 -7 -67 8 55 -42 -7 27 22 -10 -3 57 -26 -57 -3 -2 109 -69 -33 41 6 9 -23 -27 -26 9 -29 33 6 -10
12 5 -8 -46 -13 33 38 -42
Trang 1342 33 5 28 5 -31 -24 40
Trong miền tần số giữa của khối c, ta chọn hai hệ số bất kỳ, giả sử là C[2,3] = 143
và C[6,2] = -27
Tính độ lệch d = II1431 -1-27|| mod 26 = 116 mod 26 = 12
Với bit thủy vân b = 0 thì ta phải thay đổi một trong hai hệ số C[2,3] = 143 hoặc
C[6,2] = -27 đã chọn để thu được d < 2t + 1
Vì C[2,3] = 143 có giá trị tuyệt đối lớn hơn C[6,2], theo công thức (2,7) ta tính giá
trị mới của C[2,3] là:
C[2,3] = C[2,3]-(d-INT(0.25a))= 143 - (14 - INT(0.25 X 26))= 135
Khi đã thay đổi hệ số C[2,3] = 135 ta thực hiện phép biến đôi ngược IDCT(C) và
thu được khối B’ như sau:
Nhận xét: Các hệ số của khối B’ không có nhiều khác biệt với các hệ số của khối B.
Do vậy ảnh sau quá trình thủy vân sẽ không sai khác nhiều so với ảnh gốc, và mắtthường rất khó nhận ra
Quá trình tách thủy vân
Bước 1: Chia ảnh F’ đã nhúng thủy vân thành các khối B’k
Bước 2: Biến đổi DCT các khối B’k
Bk = DCT(B’k)
Bước 3: Lấy ra vị trí hai hệ số đã biến đổi Bk[i,j] và Bk[p,q]
Trang 14Bước 4: Tính d = | Bk[i,j] - Bk[p,q]| mod a với a = 2(2t+l) đã chọn khinhúng
Bước 5: Nếu d ≥2 t+1 thì bit bk = 1 ngược lại bk = 0
Bước 6: Ghép cái bit bk từ các khối để thu được W
2.3 Thuật toán Watermarking ảnh JPEG sử dụng DWT
2.3.1 Phép biến đổi DWT đối với ảnh số
Việc tách wavelet có thể thực hiện một cách dễ dàng nhờ sử dụng kết hợp 2
bộ lọc thông thấp và thông cao, ảnh sẽ được phân tích thành các dải LL, LH, HL và
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êucầu của người dùng Từ các hệ số DWT này, ta có thể xây dựng lại ảnh gốc, quá trình này gọi là IDWT Trong thực tế DWT thuận và nghịch thường được tính toán theo hai công thức:
Trong đó là hàm wavelet, các hệ số a, b được chọn lần lượt là 2 và 1.Một số hàm sóng con wavelet như hàm Haar, hàm Daubechies
Hình 4 : Biến đổi DWT 3 mức
Quá trình này sẽ phân tách ảnh ra thành nhiều dải tần số gọi là các subband Mỗimức DWT sẽ được tác động 2 lần: một lần duyệt theo chiều ngang và một lần duyệttheo chiều dọc do đó ta thu được 4 dải ( 4 hệ số biến đổi):
● LL: thành phần sau khi đi qua 2 bộ lọc thông thấp, chứa phần lớn dữ liệu ảnhgốc
Trang 15● LH: thành phần đi qua bộ lọc thông thấp rồi thông cao
● HL: thành phần đi qua bộ lọc thông cao rồi thông thấp
● HH: thành phần đi qua 2 bộ lọc thông cao, chưa rất ít dữ liệu ảnh gốc
Hình 5 : a, Biến đổi wavelet b, Cấu trúc dải
Thủy vân được nhúng trong dải LL thường 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 ở 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 các dải tần số giữa HL hoặc LH bỏi chúng cân đối giữahai điều bên 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
2.3.2.Thuật toán nhúng và tách thủy vân :
Trang 16 Bước 2: Nhúng dấu thủy vân theo công thức
Trang 17 Bước 3: thực hiện IDWT để lập thành ảnh thủy vân đã nhúng
CHƯƠNG III: CÀI ĐẶT THỬ NGHIỆM THUẬT TOÁN
WATERMARKING SỬ DỤNG DWT ĐỐI VỚI ẢNH JPEG
3.1 Môi trường thực hiện
MATLAB là phần mềm cung cấp môi trường tính toán số và lập trình, do công
ty MathWorks thiết kế MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm
số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liênkết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác
Với thư viện Toolbox, MATLAB cho phép mô phỏng tính toán, thực nghiệmnhiều mô hình trong thực tế và kỹ thuật
3.2 Kịch bản thử nghiệm
Ảnh đầu vào : kích thước 512x512 dung lượng 44,000 bytes (42.9KB) Watermark : kích thước 512x512, dung lượng 33,759 bytes (32.9KB)
Trang 18PSNR – Tỉ số tín hiệu cực đại trên nhiễu: là tỉ lệ giữa giá trị năng lượng tối
đa của một tín hiệu gốc và năng lượng nhiễu (các lỗi khi nén có mất mát dữliệu) PSNR được tính thông qua MSE: dung cho ảnh kích thước mxn trong đó I làảnh gốc, K là ảnh khôi phục:
Khi đó:
Trang 19MAXI là giá trị tối đa của pixel trên ảnh khi tín hiệu được biểu diễnbởi B bits trên một đơn vị lấy mẫu, MAXI = 2^B−1 Với ảnh màu RGB, MSE làtổng của 3 giá trị màu đó chia cho kích thước của ảnh và chia cho 3.
3.3 Kết quả thử nghiệm
Ảnh đầu vào sau khi được biến đổi DWT:
Hình 9 : Ảnh đầu vào sau khi được biến đổi DWT
Ảnh thể hiện bản quyền (watermark) sau khi được biến đổi DWT: