Kỹ thuật thuỷ võn sử dụng phộp biến đổi DWT

Một phần của tài liệu Nghiên cứu một số kỹ thuật nén dữ liệu dựa trên phép biến đổi sóng nhỏ rời rạc và ứng dụng trong máy ảnh kỹ thuật số (Trang 36 - 50)

Giấu thụng 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.

Dƣới đõy là mụ hỡnh của kỹ thuật giấu tin cơ bản đƣợc mụ tả theo hai hỡnh vẽ sau:

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Hỡnh vẽ trờn biểu diễn quỏ trỡnh giấu tin cơ bản. Phƣơng tiện chứa bao gồm cỏc đối tƣợng đƣợc dựng làm mụi trƣờng để giấu tin ảnh ..., thụng tin giấu là một lƣợng thụng tin mang một ý nghĩa nào đú nhƣ ảnh, logo, đoạn văn bản,... tuỳ thuộc vào mục đớch của ngƣời sử dụng. Thụng tin sẽ đƣợc giấu vào trong phƣơng tiện chứa nhờ một bộ nhỳng, bộ nhỳng là những chƣơng trỡnh, triển khai cỏc thuật toỏn để giấu tin và đƣợc thực hiện với một khoỏ bớ mật giống nhƣ cỏc hệ mó mật cổ điển. Sau khi giấu tin ta thu đƣợc phƣơng tiện chứa bản tin đó giấu và phõn phối sử dụng trờn mạng.

Hỡnh 4.2: Lƣợc đồ chung cho quỏ trỡnh giải mó

Hỡnh vẽ trờn 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 giấu ban đầu.

Kỹ thuật giấu thụng tin nhằm mục đớch đảm bảo an toàn và bảo mật thụng tin rừ ràng ở hai khớa cạnh. Một là bảo mật cho giữ liệu đƣợc đem giấu, hai là bảo mật cho chớnh đối tƣợng đƣợc dựng để giấu tin. Hai khớa cạnh khỏc nhau này dẫn đến hai khuynh hƣớng kỹ thuật chủ yếu của giấu tin. Khuynh hƣớng thứ nhất là giấu tin mật. 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 nhiều và quan trọng là ngƣời

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

khỏc khú phỏt hiện đƣợc một đối tƣợng cú bị giấu tin bờn trong hay khụng. Khuynh hƣớng thứ hai là thuỷ võn số. Khuynh hƣớng thuỷ võn số đỏnh giấ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. Thuỷ 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 những kỹ thuật dành cho khuynh hƣớng này. Mỗi ứng dụng của thuỷ võn cú yờu cầu riờng, do đú cỏc kỹ thuật thuỷ võn cũng cú những tớnh năng khỏc biệt tƣơng ứng

Trong kỹ thuật giấu tin, thỡ thuỷ võn ảnh số đang đƣợc quan tõm nhiều. Khi thực hiện thuỷ võn ảnh số thỡ cần phải cú một số tớnh chất để đỏnh giỏ chất lƣợng của giải thuật. Cỏc tớnh chất đú nhƣ sau:

Tớnh vụ hỡnh (Imperceptibility): Khi nhỳng thuỷ võn vào trong ảnh, thỡ phải

đƣa theo giải thuật thớch hợp để ngƣời dựng khụng nhận thấy sự thay đổi đú. Thuỷ võn phải khụng ảnh hƣởng nhiều đến chất lƣợng của ảnh. Thụng thƣờng cỏc bit ớt nhạy cảm sẽ đƣợc ƣu tiờn dựng để chứa thuỷ võn.

Tớnh bền vững (Robustness): Tựy vào từng loại ứng dụng mà cú thể xem

tớnh bền vững này bằng nhiều điểm khỏc nhau, nếu nhƣ đối với cỏc ứng dụng dựng để bảo vệ quyền sở hữu thỡ thuỷ võn cần phải bền vững qua một số cỏc tỏc động ảnh. Nếu nhƣ đối với ứng dụng để chống làm giả hoặc chống lại sự thay đổi trờn phƣơng tiện kỹ thuật số thỡ đũi hỏi thuỷ võn phải huỷ bỏ khi xảy ra cỏc thao tỏc này.

Tớnh khụng phõn chia (Inseparability): Sau khi ảnh chứa thuỷ võn thỡ rất

khú hoặc khụng thể phõn chia thành 2 thành phần riờng biệt nhƣ lỳc đầu.

Bảo mật (Security): Sau khi đă đƣa thuỷ võn ảnh, thỡ yờu cầu là chỉ cho phộp

những ngƣời cú quyền sử dụng dụng đƣợc chỉnh sửa và phỏt hiện đƣợc thuỷ võn điều này đƣợc thực hiện nhờ vào khúa mó dựng làm khoỏ trong giải thuật đƣa thuỷ võn vào ảnh số và giải thuật phỏt hiện ra thuỷ võn trong ảnh số.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Thuỷ võn số cú ứng dụng rất rộng trong nhiều lĩnh vực, dƣới đõy sẽ liệt kờ một số ứng dụng chớnh của thuỷ võn.

Bảo vệ quyền sở hữu (Copyright Protection): đõy là ứng dụng cơ bản nhất

của kỹ thuật thủy võn. Một thụng tin nào đú mang ý nghĩa quyền sở hữu tỏc giả sẽ đƣợc nhỳng vào trong cỏc sản phẩm, thủy võn đú chỉ một mỡnh ngƣời chủ sở hữu hợp phỏp cỏc sản phẩm đú cú và đƣợc dựng làm minh chứng cho bản quyền sản phẩm. Để bảo vệ cỏc sản phẩm chống lại cỏc hành vi lấy cắp hoặc làm nhỏi cần phải cú một kỹ thuật để "dỏn tem bản quyền" vào sản phẩm này. Việc dỏn tem hay chớnh là việc nhỳng thủy võn cần phải đảm bảo khụng để lại một ảnh hƣởng lớn nào đến việc cảm nhận sản phẩm. Yờu cầu kỹ thuật đối với ứng dụng này là thủy võn phải tồn tại bền vững cựng với sản phẩm, muốn bỏ thủy võn này mà khụng đƣợc phộp của ngƣời chủ sở hữu thỡ chỉ cũn cỏch phỏ huỷ sản phẩm.

Chống nhõn bản bất hợp phỏp (Copy Protection): Cỏc sản phẩm cú chứa

thuỷ võn số biểu hiện cho việc sản phẩm này khụng đƣợc nhõn bản, vỡ nếu nhõn bản sẽ phạm luật. Nhà sản xuất sẽ trang bị cho cỏc phƣơng tiện dựng để nhõn bản (nhƣ CD writer…) khả năng phỏt hiện xem ảnh cú chứa thuỷ võn hay khụng, nếu cú thỡ sẽ từ chối khụng nhõn bản.

Theo dừi quỏ trỡnh sử dụng (Tracking): Thuỷ võn số cú thể đƣợc dựng để

theo dừi quỏ trỡnh sử dựng của ảnh số. Mỗi bản sao của sản phẩm đƣợc chứa bằng một thuỷ võn duy nhất dựng để xỏc định ngƣời cú quyền sử dụng là ai. Nếu cú sự nhõn bản bất hợp phỏp, thỡ cú thể truy ra ngƣời vi phạm nhờ vào thuỷ võn đƣợc chứa bờn trong ảnh số.

Chống giả mạo (Tamper Proofing): Thuỷ võn số cú thể đƣợc dựng để chống

sự giả mạo. Nếu cú bất cứ sự thay đổi nào về nội dung của cỏc ảnh số thỡ thuỷ võn này sẽ bị huỷ đi. Do đú rất khú làm giả cỏc ảnh số cú chứa thuỷ võn.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Theo dừi truyền thụng (Broadcast Monitoring): Cỏc cụng ty truyền thụng

và quảng cỏo cú thể dựng kỹ thuật thuỷ võn để quản lý xem cú bao nhiờu khỏch hàng đó dựng dịch vụ cung cấp.

Truyền tin bớ mật (Concealed Communication): Bởi vỡ thuỷ võn số là một

dạng đặc biệt của việc ẩn dữ liệu nờn ngƣời ta cú thể dựng để truyền cỏc thụng tin bớ mật.

Thuỷ võn số là một trong những kỹ thuật giấu dữ liệu hiện đại. Nú đƣợc định nghĩa nhƣ là quỏ trỡnh chốn thụng tin vào dữ liệu đa phƣơng tiện nhƣng bảo đảm khụng cảm thụ đƣợc, nghĩa là chỉ làm thay đổi nhỏ dữ liệu gốc.

Tất cả cỏc phƣơng phỏp thuỷ võn đều cú chung cỏc khối sau: một hệ thống nhỳng thuỷ võn và một hệ thống khụi phục thuỷ võn.

Hỡnh 4.3. Sơ đồ nhỳng thuỷ võn

Hỡnh 4.3 trỡnh bày quỏ trỡnh nhỳng thuỷ võn tổng quỏt. Dữ liệu đầu vào là thuỷ võn, dữ liệu cần nhỳng và mó cỏ nhõn hay cụng cộng. Thuỷ võn cú thể ở bất kỡ dạng nào nhƣ chữ số văn bản hay hỡnh ảnh. Khoỏ cú thể đƣợc dựng để tăng cƣờng tớnh bảo mật, nghĩa là ngăn chặn những kẻ khụng cú bản quyền

Thuỷ võn Dữ liệu gốc Dữ liệu nhỳng Mó cỏ nhõn/ cụng cộng

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

khụi phục hay phỏ hủy thuỷ võn. Cỏc hệ thống thực tế dựng ớt nhất là một khoỏ, thậm chớ kết hợp nhiều khoỏ. Dữ liệu đầu ra là dữ liệu đó đƣợc thuỷ võn.

Hỡnh 4. 4. Sơ đồ tỏch thuỷ võn

Quỏ trỡnh khụi phục thuỷ võn tổng quỏt đƣợc cho ở Hỡnh 4.4. Cỏc dữ liệu đầu vào là dữ liệu đó thuỷ võn, khoỏ và dữ liệu gốc (cú thể cú hoặc khụng tuỳ thuộc vào phƣơng phỏp). Dữ liệu đầu ra hoặc là thuỷ võn khụi phục đƣợc hoặc đại lƣợng nào đú chỉ ra mối tƣơng quan giữa nú và thuỷ võn cho trƣớc ở đầu vào.

Trong kỹ thuật thuỷ võn thỡ thụng tin nhỳng cú thể là một chuỗi cỏc ký tự, hay một hỡnh ảnh nào đú ... Với kiểu thuỷ võn dựng chuỗi cỏc ký tự nhỳng trực tiếp lờn ảnh mang một số thụng tin thƣờng là những thụng tin cú liờn quan đến sản phẩm. Tuy nhiờn, kiểu này cú một hạn chế đú là một bit bị lỗi thỡ sẽ làm sai cả ký tự và chỉ cần một phộp biến đổi đơn giản cũng cú thể làm cho thuỷ võn bị sai lệch rất nhiều. Ngoài kiểu thuỷ võn dựng chuỗi cỏc ký tự nhỳng trực tiếp, thỡ kiểu sử dụng ảnh để nhỳng sẽ cho ảnh trong ảnh. Khi giải tin thỡ một số điểm ảnh cú thể bị sai nhƣng hỡnh tổng thể sẽ đƣợc giữ nguyờn.

Thuỷ võn Dữ liệu nhỳng Khụi phục thuỷ võn Mó cỏ nhõn/ cụng cộng

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Cú nhiều phộp biến đổi cho nhỳng thuỷ võn, một trong cỏc phộp biến đổi đú là phộp biến đổi súng nhỏ rời rạc (DWT).

Do đặc tớnh đa phõn giải, sơ đồ mó hoỏ Wavelets đặc biệt thớch hợp cho cỏc ứng dụng mà tớnh vụ hƣớng và suy biến đúng vai trũ quan trọng. Minh chứng cho điều này là phộp biến đổi DWT đó đƣợc dựng nhƣ một tiờu chuẩn trong nộn JPEG2000. Ngoài ra, tớnh đa phõn giải của Wavelets cũn hữu ớch trong việc phõn phối thụng điệp vào đối tƣợng bao phủ trong khi vẫn đảm bảo tớnh bền vững và chất lƣợng hiển thị. Do đú, kỹ thuật thuỷ võn ảnh số dựng DWT làm dự bỏo sự sống cũn của thuỷ võn sau tỏc động nộn cú tổn hao JPEG2000 trong khi vẫn đảm bảo sự suy giảm chất lƣợng ảnh cho phộp. Núi một cỏch tổng quỏt, biến đổi súng nhỏ thực hiện khai triển tần số - khụng gian đa tỉ lệ của một ảnh. Khai triển này tạo ra cỏc hệ số xấp xỉ và cỏc hệ số chi tiết ngang, dọc và chộo. Quỏ trỡnh khai triển lại tiếp tục với cỏc hệ số xấp xỉ ở cỏc mức phõn tớch cao hơn. Cỏc hệ số xấp xỉ sau cựng chứa thụng tin về băng tần thấp nhất trong khi cỏc hệ số chi tiết chứa thụng tin về băng tần cao hơn.

Kỹ thuật thuỷ võn ảnh số đƣợc tạo ra từ bộ tạo số giả ngẫu nhiờn với một khoỏ bớ mật. Chiều dài của thuỷ võn xỏc định mức độ thuỷ võn phõn vào ảnh. Trong phần lớn trƣờng hợp, chiều dài thuỷ võn càng lớn thỡ độ mạnh thuỷ võn đũi hỏi càng nhẹ. Nhƣng núi chung, khụng cú chiều dài thuỷ võn thớch hợp cho tất cả cỏc ảnh.

Trong quỏ trỡnh nhỳng thuỷ võn, 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 thuỷ võn) trong băng tần thớch hợp đƣợc tỏch ra và cộng với thuỷ võn. Từ đú cú thể thấy rằng cỏc hệ số gốc rất cần thiết cho quỏ trỡnh tỏch.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Sau đõy là một thuật toỏn thủy võn sử dụng phộp biến đổi DWT do tỏc giả đề xuất. Thuật toỏn này thủy võn một chuỗi bit nhị phõn vào một bức ảnh chủ đa cấp xỏm. Tuy nhiờn cú thể dễ dàng mở rộng cho cỏc ảnh màu bằng cỏch nhỳng thủy võn vào một trong cỏc lớp màu của ảnh.

* Mụ tả thuật toỏn

Input:

 Một ảnh nhỏ hoặc một dóy cỏc bớt nhị phõn đƣợc sử dụng làm thuỷ võn  Một ảnh F cần nhỳng thuỷ võn để bảo vệ bản quyền

 Một khoỏ bớ mật để nhỳng và giải thuỷ võn  Output:

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn Qui trỡnh nhỳng thuỷ võn Đọc ảnh chủ , thuỷ võn và khúa bớ mật K Dựng DWT, phõn tớch ảnh chủ thành 4 băng A1, H1, V1, D1 Đặt khoỏ K làm giống và sinh 2 chuỗi giả ngẫu nhiờn

Tại những điểm thuỷ võn bằng 0, cộng thờm cho giỏ trị tƣơng ứng của băng H1 và V1 một số giả ngẫu

nhiờn tƣơng ứng trong hai chuỗi

Tổng hợp ảnh chủ bằng IDWT từ cỏc băng A1, D1 và cỏc băng đó nhỳng thuỷ võn H1 và H2

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

Qui trỡnh tỡm lại thuỷ võn

Đọc ảnh chủ đó thuỷ võn Đọc thuỷ võn gốc và khúa K

Phõn tớch DWT mức 1 cho ảnh chủ đó thuỷ võn

Đặt khoỏ K làm giống cho bộ sinh chuỗi giả ngẫu nhiờn

Tớnh cỏc hệ số đồng tƣơng quan giữa cỏc băng H1, V1với cỏc dóy số giả ngẫu nhiờn

Xỏc định cỏc bit thuỷ võn thụng qua cỏc hệ số đồng tƣơng quan

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

* Chương trỡnh thực nghiệm trờn MATLAB7

Chƣơng trỡnh nhỳng thủy võn

%Mục đớch: Nhỳng thuỷ võn vào ảnh chủ bằng DWT clear all;

% ghi lai thời gian bắt đầu tgbd=cputime; k=2; % đặt hệ số nhỳng % đọc ảnh chủ tentep='_Bachtuyet_std_bw.bmp'; anhchu=double(imread(tentep)); % xỏc định cỡ của ảnh chủ Mc=size(anhchu,1); Nc=size(anhchu,2);

% đọc ảnh thuỷ võn và chuyển thành một vector tentep='_Banquyen.bmp';

thuyvan=double(imread(tentep)); Mm=size(thuyvan,1);

Nm=size(thuyvan,2);

thuyvan_vector=round(reshape(thuyvan,Mm*Nm,1)./256);

% đọc khoỏ làm trạng thỏi cho bộ sinh số giả ngẫu nhiờn tentep='_key.bmp';

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

key=double(imread(tentep))./256;

% đặt trạng thỏi cho bọ sinh số giả ngẫu nhiờn về trạng thỏi "key" rand('state',key);

% biến đổi DWT một mức cho ảnh chủ [cA1,cH1,cV1,cD1] = dwt2(anhchu,'haar');

% cộng thờm dóy số giả ngẫu nhiờn vào cỏc băng H1 và V1 khi thuyvan = 0 for (kk=1:length(thuyvan_vector)) pn_sequence_h=round(2*(rand(Mc/2,Nc/2)-0.5)); pn_sequence_v=round(2*(rand(Mc/2,Nc/2)-0.5)); if (thuyvan_vector(kk) == 0) cH1=cH1+k*pn_sequence_h; cV1=cV1+k*pn_sequence_v; end end

% biến đổi ngƣợc (tổng hợp) IDWT

anhchu_thuyvan= idwt2(cA1,cH1,cV1,cD1,'haar',[Mc,Nc]);

% chuyển sang dạng uint8

anhchu_thuyvan_uint8=uint8(anhchu_thuyvan);

% ghi ảnh chủ đó thuỷ võn lờn đĩa

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

% hiện thời gian thực hiện

elapsed_time=cputime-start_time,

% hiện ảnh đó thuỷ võn figure(1)

imshow(anhchu_thuyvan_uint8,[ ]) title(„Anh da duoc thuy van‟)

Chƣơng trỡnh giải thủy võn

%Mục đớch: Giải thuỷ võn từ ảnh đó đƣợc nhỳng thuỷ võn bằng DWT

clear all;

% ghi lại thời gian bắt đầu tgbd=cputime; % đọc ảnh đó thuỷ võn bằng DWT tentep='anhchu_thuyvan_dwt.bmp'; anhchu_thuyvan=double(imread(tentep)); %xỏc định cỡ của ảnh chủ Mw=size(anhchu_thuyvan,1); Nw=size(anhchu_thuyvan,2); % đọc ảnh thuỷ võn gốc

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn

tentep='_Banquyen.bmp';

thuyvan_goc=double(imread(tentep));

Mo=size(thuyvan_goc,1); No=size(thuyvan_goc,2);

% đọc khoỏ cho bộ sinh số giả ngẫu nhiờn tentep='_key.bmp';

key=double(imread(tentep))./256;

rand('state',key);

% khởi tạo thuỷ võn tất cả bằng 1 thuyvan_vector=ones(1,Mo*No);

[cA1,cH1,cV1,cD1] = dwt2(anhchu_thuyvan,'haar');

% Tớnh cỏc hệ số đồng tƣơng quan giữa cỏc băng cH1, cV1 với cỏc dóy giả ngẫu nhiờn

for (kk=1:length(thuyvan_vector)) pn_sequence_h=round(2*(rand(Mw/2,Nw/2)-0.5)); pn_sequence_v=round(2*(rand(Mw/2,Nw/2)-0.5)); correlation_h(kk)=corr2(cH1,pn_sequence_h); correlation_v(kk)=corr2(cV1,pn_sequence_v); correlation(kk)=(correlation_h(kk)+correlation_v(kk))/2; end

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnu.edu.vn for (kk=1:length(thuyvan_vector)) if (correlation(kk) > mean(correlation)) thuyvan_vector(kk)=0; end end

% hiệu chỉnh thuyvan_vector và hiện thuỷ võn đó tỡm thấy . figure(2)

thuyvan=reshape(thuyvan_vector,Mo,No); imshow(thuyvan,[ ])

title('Thuy van da tim thay')

% hiện thời gian thực hiện tgth=cputime – tgbd

Một phần của tài liệu Nghiên cứu một số kỹ thuật nén dữ liệu dựa trên phép biến đổi sóng nhỏ rời rạc và ứng dụng trong máy ảnh kỹ thuật số (Trang 36 - 50)