Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ờ Ở Ầ L I M Đ U
ớ ự ẽ ủ ể ọ ạ Ngày nay, cùng v i s phát tri n m nh m c a ngành khoa h c công ngh ệ
ầ ộ ươ ệ ể ế ở thông tin, internet đã tr thành m t nhu c u, ph ố ớ ng ti n không th thi u đ i v i
ườ ớ ượ ạ ầ ổ ớ ọ m i ng i, nhu c u trao đ i thông tin qua m ng ngày càng l n. Và v i l ng thông
ư ậ ớ ượ ơ ữ ệ ề ạ ậ ị tin l n nh v y đ c truy n qua m ng thì nguy c d li u b truy c p trái phép
ề ả ả ả ậ ậ ấ ữ ệ cũng tăng lên vì v y v n đ b o đ m an toàn và b o m t thông tin cho d li u
ấ ầ ề ạ ế ề ậ ượ ằ truy n trên m ng là r t c n thi ỹ t. Nhi u k thu t đã đ ứ c nghiên c u nh m gi ả i
ế ấ ữ ề ậ ấ ộ ọ ỹ quy t v n đ này. M t trong nh ng k thu t quan tr ng nh t là mã hóa thông tin.
ự ệ ễ ộ ộ ị Tuy nhiên m t thông đi p b mã hóa d gây ra s chú ý và m t khi các thông tin mã
ặ ẽ ể ả ệ ọ ị hóa b phát hi n thì các tin t c s tìm m i cách đ gi i mã.
ầ ộ ả ế ượ ữ ệ ớ M t công ngh m i ph n nào gi i quy t đ ấ c nh ng 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, hinh nh … Xét
ộ ạ ậ ằ ả ạ ấ ổ ả theo khía c nh t ng quát thì gi u thông tin cũng là m t d ng m t mã nh m đ m b o
ủ ư ươ ể ở ư ả ổ tính an toàn c a thông tin, nh ng ph ng pháp này u đi m ch là gi m đ ượ c
ự ồ ạ ủ ệ ả ồ kh năng phát hi n ra s t n t i c a thông tin trong các ngu n mang.
ộ ỹ ậ ấ ươ ể ố ớ Gi u thông tin là m t k thu t còn t ấ ng đ i m i và đanh phát tri n r t
ượ ả ự ủ ớ ớ nhanh, thu hút đ c c s quan tâm c a gi ọ i khoa h c và gi ệ i công nghi p và cũng
ủ ế ề ỹ ứ ủ ứ ề ộ ậ còn nhi u thách th c. N i dung c a báo cáo này ch y u nghiên c u v k thu t
ả ấ ấ gi u tin nói chung và gi u tin trong văn b n nói riêng
1
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ụ
Ụ
M C L C
Ề Ỹ ƯƠ Ổ Ậ Ấ Ờ Ở Ầ L I M Đ U 1 .............................................................................................................. Ụ Ụ M C L C 2 ..................................................................................................................... Ụ 3 DANH M C HÌNH ....................................................................................................... 4 ........................................... CH NG 1. T NG QUAN V K THU T GI U TIN
ấ ậ
ạ ấ 1.1.Khái ni m ệ 4 ........................................................................................................... ủ ụ 4 ................................................................................. 1.2.M c đích c a vi c gi u tin ấ 5 1.3.Phân lo i các k thu t gi u tin ........................................................................... 5 ..................................................................... ệ ỹ ậ 1.2.1.Gi u tin m t (Seganography )
ủ ố 5 1.2.2.Th y vân s (Watermaking ) ......................................................................
ụ
Ả Ị ộ ố ứ 6 1.4.M t s ng d ng ................................................................................................ Ạ ƯƠ 7 ................................................................ CH NG 2. Đ NH D NG NH BITMAP
ổ ả
ả ả
Ậ Ả 2.1.T ng quan 7 ........................................................................................................... 7 ........................................................................................................... 2.2.B ng màu 2.3.Mô t nh 8 ........................................................................................................... ả 2.4.C u trúc nh 9 ........................................................................................................ Ỹ ƯƠ 15 ............................................... CH ấ Ấ NG 3. K THU T GI U TIN TRONG NH
ả
ậ ấ ỏ ơ ặ ằ Ả 15 ....................................................... 3. 1.Các kĩ thu t gi u tin trong nh BITMAP 15 3.1.1. nh nh h n ho c b ng 8 bit màu .............................................................
Ả 15 3.1.2. nh 16 bit màu ............................................................................................
Ả 15 3.1.3. nh 24 bit màu ............................................................................................
ỹ
ậ ề ả ệ ố ậ ỹ 3.2. K thu t dùng h s DCT 16 ............................................................................... 16 3.2.1.N n t ng k thu t .....................................................................................
ờ ạ ế ổ 3.2.2.Phép bi n đ i cosin r i r c (DCT) 16 ............................................................
ủ ể ế ặ ổ ề 17 3.2.3.Đ c đi m c a phép bi n đ i DCT hai chi u ............................................
ề ế ấ ổ
ả 18 3.3. K thu t gi u tin trong mi n bi n đ i DCT .................................................. ậ 18 thu t toán ......................................................................................... ậ ỹ 3.3.1.Mô t
18 3.3.2.Quá trình Watermarking ..............................................................................
ự ệ
3.4. Cài đ t và th c nghi m Ế Ậ
Ả Ệ ặ 22 .................................................................................. 26 ................................................................................................................. K T LU N 27 ............................................................................................ TÀI LI U THAM KH O
2
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ụ DANH M C HÌNH
ỹ ạ ấ
ả ả
ố ồ ộ ủ
ướ
ậ Hình 1.1.Phân lo i các k thu t gi n tin 5 ...................................................................... ể ả Hình 2.1.B ng màu và các đi m nh dùng b ng màu 7 .................................................. ả 8 Hình 2.2.Các cách b trí b ng màu ............................................................................... ộ ả ể Hình 2.3.Bi u đ c t c a m t nh trong Paint Shop Pro 7 9 .......................................... ơ ồ ủ Hình 3.1.S đ nhúng th y vân 20 ................................................................................. ả ơ ồ 21 ................................................................................ i mã Hình 3.2.S đ quá trình gi ươ ủ ệ ng trình Hình 3.3.Giao di n chính c a ch 22 ............................................................... ệ ấ 23 ........................................................................... Hình 3.4.Giao di n sau khi gi u tin ệ Hình 3.5.Giao di n tr 24 c khi tách tin ........................................................................ ệ 24 Hình 3.6.Giao di n sau khi tách tin ............................................................................
3
ồ
Ngành công ngh thông tin Ậ
Ề Ỹ
Ổ
Ấ
Ử Ả ƯƠ ệ NG 1. T NG QUAN V K THU T GI U TIN
Đ án môn: X LÝ NH CH 1.1.Khái ni mệ ườ ấ ố ượ ậ ọ ượ Môi tr ng gi u tin (hay còn g i là v t mang tin): là đ i t ng đ c dùng
ả ả ư ể ấ đ gi u tin nh văn b n, nh, audio, video,…
ấ ả ẽ ượ ư ấ Thông tin s đ ấ ữ ệ ả c gi u vào d li u nh nh ng ch t Gi u tin trong nh:
ả ổ ế ượ ằ ữ ả ượ l ng nh ít thay đ i và “khó” bi c đ ng sau nh đó mang nh ng thông tin có t đ
ậ ả ườ ể ế ượ ý ngĩa gì. Trong nh thông tin m t cho nhau mà ng i khác khô th bi t đ c.
ấ ấ ạ ệ ố ụ ộ Gi u tin trong audio l i ph thu c vào h th ng thính Gi u tin trong audio:
ầ ấ ề ấ ỏ ồ ộ giác. Gi u thông tin trong audio đòi h i yêu c u r t cao v tính đ ng b và tính an
ủ ươ ề ợ ụ ể ấ toàn c a thông tin. Các ph ng pháp gi u tin trong audio đ u l ế i d ng đi m y u
trong thính giác con ng i.ườ
ấ ư ấ ả ố Cũng gi ng nh gi u tin trong nh hay trong audio, Gi u tin trong video:
ấ ượ ượ ể ẽ ạ gi u tin trong video cũng đ c quan tâm và đ ề c phát ti n m nh m cho nhi u
ứ ư ề ụ ự ể ệ ề ậ ả ng d ng nh đi u khi n truy c p thông tin, xác th c thông tin và b o v quy n tác
ả ưở ươ ấ ả ố gi . Ý t ơ ả ủ ng c b n c a ph ầ ng pháp là phân ph i thông tin gi u dàn tr i thheo t n
ố ố ủ ữ ệ s c a d li u g c.
ữ ệ ẽ ượ ộ ượ ấ D li u s đ c gi u là m t l ộ ng thông tin mang ý nghĩa nào đó tùy thu c
ụ ủ ườ ử ụ vào m c đích c a ng i s d ng.
ộ ậ ậ ẩ ấ ắ Gi u tin là nhúng m u tin m t vào m t v t mang tin khác, sao cho m t
ườ ệ ặ ậ ẩ ậ th ng “khó” phát hi n ra m u tin đó, m t khác khó nh n bi ế ượ t đ c v t mang tin
ượ ấ ậ đã đ ộ c gi u m t tin m t.
ệ ấ
ủ 1.2.M cụ đích c a vi c gi u tin ấ ụ ủ ệ ả ả ậ ả M c đích c a vi c gi u tin là đ m b o an toàn và b o m t thông tin. Có 2
ầ ượ ạ khía c nh c n đ c quan tâm đó là:
ữ ệ ượ ả ậ ấ + B o m t cho d li u đ c đem gi u .
ố ượ ả ậ ượ ấ + B o m t cho chính đ i t ng đ c đem gi u thông tin .
ấ ậ ượ ứ ụ ụ ể ệ Ngày nay ngh thu t gi u tin đ ụ c nghiên c u đ ph c v các m c đích
ỷ ấ ố ệ ố ư ả ệ ả ự ề ấ tích c c nh : b o v b n quy n các tài li u s hóa (dùng thu n s ), hay gi u các
ậ ề ự ế thông tin bí m t v quân s và kinh t .
ể ủ ự ữ ệ ạ ườ S phát tri n c a công ngh thông tin đã t o ra nh ng môi tr ấ ng gi u tin
ệ ợ ớ ườ ể ấ ả m i vô cùng ti n l i và phong phú. Ng i ta có th gi u tin trong các văn b n, hình
ả ể ấ ả ố nh, âm thanh. Cũng có th gi u tin ngay trong các kho ng tr ng hay các phân vùng
ẩ ủ ườ ư ữ ư ứ ề ề n c a môi tr ạ ng l u tr nh đĩa c ng, đĩa m m. Các gói tin truy n đi trên m ng
4
ồ ệ Ngành công ngh thông tin
Ử Ả ấ ườ ậ ợ ệ ề ầ ườ Đ án môn: X LÝ NH cũng là môi tr ng gi u tin thu n l i. Các ti n ích ph n m m cũng là môi tr ng lý
ể ể ề ậ ả ưở t ọ ng đ gài các thông tin quan tr ng, đ xác nh n b n quy n.
ạ ậ ấ ỹ 1.3.Phân lo i các k thu t gi u tin
ỹ ể ậ ấ Có th chia k thu t gi u tin ra làm 2: steganography và watermarking.
ạ
ậ
ấ
ỹ
Hình 1.1.Phân lo i các k thu t gi n tin
ấ ậ 1.2.1.Gi u tin m t (Seganography )
ấ ậ ớ ệ ấ Gi u tin m t (Seganography ) quan tâm t i vi c gi u các tin sao cho thông tin
ấ ượ ố ọ ườ ệ ượ gi u đ ề c càng nhi u càng t t và quan tr ng là ng i khác khó phát hi n đ ộ c m t
ị ấ ằ ậ ỹ ườ ố ượ đ i t ng có b gi u tin bên trong hay không b ng k thu t thông th ng.
ủ ố 1.2.2.Th y vân s (Watermaking )
ố ượ ủ ấ ố ằ ị Th y vân s (Watermaking ) đá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. Th y vân s đ c phân thành 2
ề ữ ủ ủ ạ ễ ỡ lo i th y vân b n v ng và th y vân d v .
ữ ề ỷ ườ ượ ứ ứ ụ ụ ả Thu vân b n v ng: th ng đ c ng d ng trong các ng d ng b o v ệ
ề ỷ ượ ư ộ ứ ả ẩ ả b n quy n. Thu vân đ ả c nhúng trong s n ph m nh m t hình th c dán tem b n
ề ườ ả ồ ạ ề ớ ả ữ ợ quy n. Trong tr ỷ ng h p này, thu vân ph i t n t ẩ i b n v ng cùng v i s n ph m
ằ ố ả ế ổ ỷ ỷ ệ ẩ nh m ch ng vi c t y xoá, làm gi hay bi n đ i phá hu thu vân.
ư ấ ằ ắ ẩ ố ỷ ườ ể + Thu vân n: cũng gi ng nh gi u tin, b ng m t th ng không th nhìn
ấ ỷ th y thu vân.
ệ ạ ỷ ỷ ượ ệ ả ẩ + Thu vân hi n: là lo i thu vân đ c hi n ngay trên s n ph m và ng ườ i
ấ ượ ể dùng có th nhìn th y đ c.
ễ ỡ ủ ậ ả ỹ ỷ Th y vân d v : là k thu t nhúng thu vân vào trong nh sao cho khi phân
ẩ ườ ấ ứ ộ ở ế ế ổ ố ả b s n ph m trong môi tr ng m n u có b t c m t phép bi n đ i nào làm thay
5
Ử Ả
ả ẩ ố ỷ ượ Ngành công ngh thông tin ố ượ ẽ ấ ồ Đ án môn: X LÝ NH ổ ố ượ đ i đ i t ng s n ph m g c thì thu vân đã đ ệ ng s không c gi u trong đ i t
ư ướ ẹ ấ ữ ễ ỡ còn nguyên v n nh tr c khi d u n a (d v ).
ữ So sánh gi a steganography và watermarking:
ự ệ ữ ủ ấ Steganography Che gi u s hi n h u c a thông Watermaking Thêm vào thông tin b nả ụ M c đích
đi p ệ quy n ề
ộ ậ ấ ắ ấ Thông tin che gi u đ c l p v i v ớ ỏ ớ Che gi u thông tin g n v i
ệ ượ ỏ ọ ng v b c ề ữ ẩ b cọ Không phát hi n đ ệ c thông đi p ố ượ đ i t Tiêu chu n b n v ng Yêu c uầ
ấ ị b che gi u
ng tin đ
ượ ấ c d u ệ ậ ị ị ỡ ấ ượ Dung l ệ Phát hi n ra thông đi p bí m t b che Watermaking b phá v T n công
ộ ố ứ gi uấ ụ thành công 1.4.M t s ng d ng
ụ ủ ủ ố Ứ * ng d ng c a th y vân s (Watermaking):
ự ộ ả ả ế T đ ng giám sát các b n sao và theo dõi các b n sao, vi ệ t tài li u trên
web.
ụ ệ ế ớ ượ ấ (Ví d 1 robot tìm ki m trên web v i 1 tài li u đ ề c đánh d u và do đó có ti m
ề ấ ợ ấ năng xác đinh v n đ b t h p pháp).
ự ộ ể ề T đ ng ki m tra 1 đài phát thanh truy n đi.
6
ồ ệ Ngành công ngh thông tin
Đ án môn: X LÝ NH ƯƠ
Ạ
Ả
Ị
Ử Ả CH
NG 2. Đ NH D NG NH BITMAP
ố ượ ầ ả ươ ắ ấ ớ Đ i t ng nh đ u tiên mà các ch ng trình gi u tin nh m t ả i là nh
ổ ế ạ ả ượ ấ Bitmap. Vì nh này ph bi n trên m ng Internet, dung l ng gi u tin cao và các
ươ ả ấ ơ ph ng pháp gi u tin đ n gi n.
ổ 2.1.T ng quan
ố ườ ả ượ ư ướ ạ ệ ả Các nh s th ng đ c l u d ộ i d ng t p nh 24bit hay 8bit cho m t
ể ả Ả ượ ề ả ấ ọ đi m nh. nh 24bit còn đ ỗ ấ c g i là nh true colour cung c p nhi u ch gi u
ụ ộ ả ả ơ ớ ỡ thông tin h n; tuy nhiên nh 24bit l n, ví d m t nh 24bit c 1024 x 768 pixels
ướ ễ ị ả ườ có kích th c trên 2 MB, nên d b gây chú ý khi t ạ i qua m ng. Th ả ữ ng nh ng nh
ượ ư ấ ậ ả ộ ươ ầ đó c n đ ể c nén, nh ng nén nh có th làm m t tin m t. M t ph ng án khác là
ể ấ ể ả có th dùng nh 8bit màu đ gi u thông tin.
ể ả ả ỗ ượ ể ệ ằ ư ả Trong các nh 8bit (nh nh GIF), m i đi m nh đ ộ c th hi n b ng m t
ộ ả ỏ ế ỉ ụ ể ầ ơ ỗ ớ byte. M i đi m đ n thu n tr đ n m t b ng ch m c các màu (palette), v i 256 kh ả
ể ả ị ằ ỉ ơ ứ ữ ề ầ ầ năng màu. Đi m nh ch a tr n m gi a 0 và 255. Các ph n m m ch đ n thu n v ẽ
ể ầ ạ ị ộ ả ự ế ọ ị màu c n bi u th lên màn hình t ả i v trí l a ch n. N u dùng m t nh 8bit làm nh
ề ấ ủ ấ ề ả ả ấ ph , r t nhi u chuyên gia v gi u tin trong nh khuyên nên dùng nh 256 c p xám
ổ ồ ủ ả ữ ề ấ ả ả ấ vì b ng màu c a nh xám thay đ i đ ng đ u gi a làm tăng kh năng gi u tin. Gi u
ố ớ ộ ả ả ả ẫ ả ả ầ tin trong nh 8bit c n xem xét c nh l n b ng màu. M t nh có kh i l n các màu
ễ ị ậ ấ ấ ơ ế ọ ả ủ ướ ế ồ đ ng nh t khó gi u h n vì d b nh n bi t. Sau khi ch n nh ph , b c ti p theo là
ươ ả ọ ch n ph ng pháp mã hoá nh.
2.2.B ng mả àu
ỉ ụ ủ ả ứ ề ả ả ộ ỗ B ng màu là m t m ng 1 chi u ch a ch m c các màu c a nh. Sau đó m i
ể ả ỏ ế ỉ ụ ỉ ệ ả ộ đi m nh ch vi c tr đ n m t màu ch m c nào đó trên b ng màu.
ể ả
ả
ả
Hình 2.1.B ng màu và các đi m nh dùng b ng màu
ộ ộ ộ ố ứ ả ớ Trong b ng màu, 1 màu ng v i m t b ba hay b b n.
ướ ủ ả ượ ừ ộ ể ả Kích th c c a b ng màu đ c tính t đ sâu đi m nh (pixel depth):
7
ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ử Ả 4bit pixel: 3 byte/màu * 16 (= 24) màu = 48 byte
8bit pixel: 3 byte/màu * 256 màu = 768 byte
15bit pixel: 3 byte/màu * 32768 màu = 96 kbyte
16bit pixel: 3 byte/màu * 65536 màu = 192 kbyte
ộ ố ạ ả ớ ố ả ấ ả ả ả M t s lo i nh gi m b t s màu trong b ng màu, vì không ph i t t c các
ượ ả màu đ c dùng trong nh (CGM, TGA).
ị ể ượ ấ Các giá tr đi m đ c c t trong 2 byte (16 bit):
16 bit = 2 byte = (8 bit, 8 bit) > (5,6,5) = (R,G,B)
ố Có các cách b trí:
ể ả + Theo đi m nh (pixelorientiert) (RGB) (RGB) (RGB) (RGB) (RGB)
ặ ẳ + Theo m t ph ng màu (planeorientiert) (RRRRR ..... GGGGG ..... BBBBB)
ả
ố
Hình 2.2.Các cách b trí b ng màu
ươ ệ ắ ế ạ ả ự ấ ả ộ ố M t s ph ng pháp gi u tin trong nh d a vào vi c s p x p l i b ng màu,
ươ ả ớ trong khi các ph ng pháp khác thêm b t các màu vào b ng màu.
ả ả 2.3.Mô t nh
ứ ề ả ể ử ặ ườ ả ỳ Đ x lý ho c nghiên c u v nh ng i ta ph i mô hình hoá chúng. Tu theo
ử ụ ể ể quan đi m, mô hình mà có th áp d ng các phép x lý khác nhau trên mô hình đó.
Ả ồ ư ộ ả ể ả ồ quan đi m nh mành nh m t b n đ các bít ư ộ ả nh nh m t b n đ bít:
ề ả ụ ể ề ạ t o n n t ng đ chúng ta áp d ng các phép toán v bit.
ư ộ Ả ể ử ả ọ đ x lý nh trong máy tính dùng các công nh nh m t hàm toán h c:
ọ ườ ờ ạ ễ ả ư ể ộ ụ c toán h c, ng i ta tìm cách bi u di n nh nh là m t hàm r i r c f(x,y) trong đó
ạ ộ ủ ể ả ủ ả ặ ậ ộ ị x, y là to đ c a đi m nh còn f là giá tr xám ho c đ sáng c a nh. f nh n các
ị ờ ạ ả ừ ế ả giá tr r i r c trong kho ng t 0 đ n fmax. Trong nh 8 bit thì fmax = 28= 256.
ả ườ ể ả ễ ể ầ Trong nh màu ng i ta có th mô t ỏ màu qua ba hàm bi u di n các thành ph n đ ,
ụ l c và lam.
8
ồ Ử Ả ệ Ngành công ngh thông tin
Đ án môn: X LÝ NH ụ Ví d r(x,y); g(x,y); b(x,y).
ườ ộ ả ộ M t nh f(x,y) cũng là m t môi tr ườ ng ư ộ Ảnh nh m t môi tr ậ ng v t lý:
ổ ậ ụ ể ế ả ậ v t lý nên có th dùng áp d ng các phép bi n đ i v t lý trên nh.
ụ ứ ượ ả ầ ố ủ ể ả ễ ả ủ ả ổ Ví d m c năng l ng c a đi m nh, d i t n s c a nhi u nh, d i ph ,..
ả ả ư ộ ố ể ả ị ủ ứ Các giá tr c a đi m nh (m c nh nh m t mô hình th ng kê:
Mô t ộ ị ượ ư ế ẫ xám, đ sáng hay tr màu) đ c coi nh là bi n ng u nghiên, do đó chúng ta có th ể
ượ ụ ố ườ ể ể tính đ ấ ủ c phân b xác su t c a chúng. Ví d ng ồ ộ i ta có th dùng bi u đ c t
ể ể ử ễ ả ộ ị ườ (histogram) đ bi u di n đ xám hay các tr màu. Trong x lý nh ng i ta có th ể
ồ ộ ể ư ọ ễ ệ ể ể ấ dùng bi u đ c t đ làm các vi c nh l c nhi u.Còn trong gi u tin thì ta có th qua
ế ể ấ ả ố ấ đó mà bi t đâu là vùng nh có th gi u tin t t nh t.
ồ ộ ủ
ể
ộ ả Hình 2.3.Bi u đ c t c a m t nh trong Paint Shop Pro 7 ể ề ả
ề ả ể ượ Chính các quan đi m khác nhau v nh đã làm n n t ng đ có đ ữ c nh ng
ậ ấ ỹ k thu t khác gi u tin khác nhau.
ấ ả 2.4.C u trúc nh
Ả ể ậ ượ ọ nh Bitmap do Microsoft phát tri n, do v y còn đ c g i là Microsoft
Windows Bitmap (BMP, DIB, Windows BMP, Windows DIB, Compatible Bitmap)
ữ ộ ậ ớ ế ị ể Ả ị ượ ử ụ ộ ượ ư đ c l u tr đ c l p v i thi t b hi n th (DIB). nh này đ c s d ng r ng rãi
ầ Ả ể ườ trên Windows. Có th có 1, 4, 8, 16, 24, hay 32bit m u. nh này th ng s ử
ươ ụ d ng ph ạ ng pháp mã hoá lo t dài RLE. Kích th ướ ố c t i đa là 32Kx32K và 2Gx2G
ộ ệ ề ả Ả ứ pixel. nh bitmap không cho phép ch a nhi u nh trong m t t p.
ấ ạ ủ ả ồ C u t o c a nh bitmap g m các ph n ầ : 1. Header
2. Palette
3. Bitmap Data
4. Footer
9
ồ
Đ án môn: X LÝ NH ả Ử Ả ử ể ọ ườ ầ ắ Ngành công ngh thông tin ấ ượ Đ đ c và x lý nh Bitmap ng i ta c n n m đ ệ ủ ả c các c u trúc c a nh
c ượ đ
ầ ư l u trong ph n Header .
ủ ư ấ Ví dụ: Header c a Microsoft Windows Bitmap Version 1.x có c u trúc nh sau:
Header Palette
Bitmap Index
Palette 1
File Identifier
File Version
Number of Lines per Image
Number of Pixels per Line
Number of Bits per Pixel
Number of Color Planes
Compression Type
X Origin of Image
Y Origin of Image
Text Description
Ả ầ ồ Unused Space nh Bitmap Microsoft Windows 1.x có ph n Header g m 10byte :
TYPEDEF struct _Win1xHeader
{
WORD Type; /* File type identifier (always 0) */
WORD Width; /* Width of the bitmap in pixels */
WORD Height; /* Height of the bitmap in scan lines */
WORD ByteWidth; /* Width of bitmap in bytes */
BYTE Planes; /* Number of color planes */
BYTE BitsPerPixel; /* Number of bits per pixel */
} WIN1XHEADER;
ữ ệ ả ượ ệ D li u nh Bitmap đ c ghi vào t p theo 2 cách:
ậ ự ể ả ừ ư ượ ể Quét t ng dòng theo tr t t đi m nh nh chúng đ ị c hi n th trên thi ế ị t b
ừ ặ ầ ẳ theo t ng m t ph ng m u (plane)
ế ấ * Chi ti ả t c u trúc các nh BITMAP
Bitmap header:
ứ ể ậ ạ ự 12 Nh n d ng file Ki u arrayp1..2] of char:ch a ký t BM
ướ ể ằ 36 Kích th file Ki u Longint: tính b ng byte
10
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
ư ế ẽ ừ 710 Reserve nt : tôi ch a bi t(có l là tên file th a)
ắ ầ ắ ầ ể ừ ầ ể ị 1114 Byte b t đ u Ki u longint, v trí byte b t đ u vùng data k t đ u file
11
ồ Ử Ả ệ Ngành công ngh thông tin
Đ án môn: X LÝ NH BitmapInfor :
ệ ạ ể ố ị 14 S byte trong vùng info Ki u Longint, hi n t i có giá tr 40
ề ộ ằ ể 58 Chi u r ng bitmap Ki u longint tính b ng pixel
ề ằ ể 912 Chi u cao bitmap Ki u longint tính b ng pixel
ố ả ố ể 1314 S Planes màu Ki u Word s b ng màu
ể ộ ố ị ể 1516 S bits cho m t pixel Ki u Word, các giá tr có th có
ắ 1: Đen/tr ng,
4:16 màu,
8:256 màu,
24: 24bit màu
ữ ệ ể ể ị 1720 Ki u nén d li u Ki u Longint có giá tr là
0: Không nén
1: Nén runlength+8bit/pixel
2: Nén runlength+4bit/pixel
ướ ả ủ ả ể ố 2124 Kích th ằ c nh Ki u Longint, b ng s byte c a nh
ả ể ằ ộ 2528 Đ phân gi i ngang Ki u Longint, tính b ng pixel
ả ọ ể ằ ộ 2932 Đ phân gi i d c Ki u Longint, tính b ng pixel
ượ ử ụ ể ả ố 3336 S màu đ c s d ng Ki u Longint trong nh
ượ ử ụ ệ ả ể ố 3740 S màu đ c s d ng Ki u Longint khi hi n nh
Bitmap palette:
ủ ế ề ồ ộ Ti p theo sau vùng info là palette màu c a BMP, g m nhi u b có kích th ướ c
ế ề ấ ộ ằ b ng 4 byte x p li n nhau theo c u trúc BlueGreenRed và m t Byte dành riêng cho
ướ ủ ủ ả ằ ố Itensity. Kích th c c a vùng Palette màu b ng 4*s màu c a nh. Vì Palette màu
ấ ạ ứ ự ọ ủ c a màn hình có c u t o theo th t ủ RedGreenBlue, nên khi đ c palette màu c a
ả ổ ạ ể ả ủ ả ợ ượ nh BMP vào ta ph i chuy n đ i l ố i cho phù h p. S màu c a nh đ c bi ế ự t d a
ụ ể ả ố trên s bít cho 1 pixel c th là: 8.bits/pixel: nh 256 màu,
ả ả 4bits/pixel: nh 16 màu, 24bits/pixel nh 24 bít màu
BitmapData:
ề ế ủ ứ ầ ầ Ph n này k ti p ngay sau Palette màu c a BMP. Đây là ph n ch a các giá tr ị
ể ả ủ ượ ư ứ ự ừ màu c a các đi m nh trong BMP. Các đi m nh ể ả đ c l u theo th t t trái qua
ả ộ ạ ượ ư ỗ ph i trên m t dòng và các dòng l c l u theo th t ứ ự ướ d i đ i lên trên. M i Byte
trong vùng
ể ả ể ề ễ ặ ố ộ BitmapData bi u di n 1 ho c nhi u đi m nh tùy theo s bits cho m t pixel.
12
Ử Ả ồ Đ án môn: X LÝ NH
ắ Ngành công ngh thông tin ả ệ ứ ụ ơ + Khi là 1 bit màu: Các bitmap là Đ n s c, và b ng màu có ch a hai m c.
ể ả ệ ế ả ạ ỗ ộ ể M i bit trong bitmap m ng đ i di n cho m t đi m nh. N u bit, rõ ràng, các đi m
ả ẽ ượ ắ ủ ị ớ ế ể ả ầ nh s đ ụ c hi n th v i màu s c c a các m c đ u tiên trong b ng màu, n u các
ượ ế ậ ắ ủ ể ả ứ ụ ả ậ bit, đ c thi t l p, các đi m nh có màu s c c a các m c nh p th hai trong b ng.
ố ả ắ + Khi là 4 bit màu: Các bitmap đã có t i đa là 16 màu s c, và các b ng màu
ể ả ụ ứ ế ượ ể ệ ộ ỗ ch a lên đ n 16 m c. M i đi m nh trong bitmap đ ằ c th hi n b ng m t 4bit,
ụ ế ỉ ụ ả ườ ầ ch m c vào các b ng màu. Ví d , n u là ng i đ u tiên byte trong bitmap là 1Fh,
ể ả ứ ệ ầ ả ạ các byte đ i di n cho hai pixel. Đ u tiên ch a các đi m nh màu trong b ng màu
ể ả ụ ụ ứ ứ ứ ả ầ ậ m c nh p th hai, và l n th hai ch a các đi m nh màu trong b ng màu 16 m c.
ố ả + Khi là 8 bit màu: Các bitmap đã có t ắ i đa là 256 màu s c, và các b ng màu
ứ ố ườ ệ ả ạ ỗ ợ ch a t ụ i đa 256 m c. Trong tr ộ ng h p này, m i byte trong m ng đ i di n cho m t
ể ả đi m nh.
ố ế + Khi là 16 bit màu: Các bitmap đã có t ự i đa là 216 màu. N u các lĩnh v c
ậ ượ ế ậ ự ể ủ c a nén t p tin bitmap đ c thi ứ t l p đ BI_RGB, các lĩnh v c Palette không ch a
ỗ ừ ể ả ệ ạ ả ộ ụ b t kấ ỳ m c. M i t trong m ng bitmap đ i di n cho m t đi m nh. Các thân nhân
ượ ệ ạ ầ ớ ỗ ỏ ủ c a intensities đ , xanh, xanh và đ c đ i di n v i 5 bit cho m i thành ph n màu
ể ấ ỗ ị ắ s c. Các giá tr cho màu xanh là đáng k trong ít nh t 5 bit, sau 5 bit cho m i màu
ỏ ươ ứ ả ọ ượ ử ụ xanh và đ , t ấ ng ng. Tr ng nh t không ph i là ít đ c s d ng.
ự ủ ế ậ ượ ế ậ N u các lĩnh v c c a nén t p tin bitmap đ c thi t l p đ ể BI_BITFIELDS,
ặ ạ ự ứ ỏ ỉ ị các lĩnh v c Palette có ch a ba dword màu m t n mà ch đ nh màu đ , màu xanh,
ầ ươ ể ả ỗ ừ ứ màu xanh và các thành ph n, t ỗ ng ng, trong m i đi m nh. M i t ả trong m ng
ể ả ệ ạ ộ bitmap đ i di n cho m t đi m nh.
ụ ể ự ượ ế ậ ể Windows NT, c th : Khi nén lĩnh v c đ c thi t l p đ BI_BITFIELDS,
ế ậ ả ượ ỗ ồ thi t l p bit trong m i dword mask ph i đ c tác và không nên ch ng chéo các bit
ể ả ấ ả ầ ộ ủ c a m t khách mask. T t c các bit trong các đi m nh không c n ph i đ ả ượ ử c s
ụ d ng.
ụ ể ự ượ ế ậ ể Windows 95 c th : Khi nén lĩnh v c đ c thi t l p đ BI_BITFIELDS,
ỉ ỗ ợ ặ ạ ả ộ ơ Windows 95 ch h tr sau đây 16bpp màu m t n : M t 555 16bit, hình nh, n i
ỏ mà màu xanh mask là 0x001F, cácmàu xanh lá cây mask là 0x03E0, và màu đ mask
ả ơ là 0x7C00; và 565 16bit, hình nh, n i mà màu xanh mask là 0x001F, các màu
ỏ xanh lá cây mask là 0x07E0, và màu đ là 0xF800 mask.
ố ắ + Khi là 24 bit màu: Các bitmap đã có t i đa là 224 ự màu s c, và các lĩnh v c
ứ ấ ỳ ụ ả ạ ỗ ệ Palette không ch a b t k m c. M i 3byte ban tam ca trong m ng bitmap đ i di n
13
ồ Ngành công ngh thông tin
Ử Ả ủ ệ ứ ỏ ươ Đ án môn: X LÝ NH cho thân nhân c a intensities màu xanh, màu xanh lá cây, và đ , t ộ ng ng, cho m t
ể ả đi m nh.
ự ằ ố ế + Khi lĩnh v c này là b ng 32 : Các bitmap đã có t i đa là 232 màu. N u các
ủ ự ượ ế ậ ự ể lĩnh v c nén c a bitmap đ c thi ứ t l p đ BI_RGB, các lĩnh v c Palette không ch a
ủ ệ ạ ả ỗ ấ ỳ ụ b t k m c. M i dword trong m ng bitmap đ i di n cho thân nhân c a intensities
ỏ ươ ứ ộ màu xanh, màu xanh lá cây, và đ , t ể ả ng ng, cho m t đi m nh. Cao byte trong
ử ụ ỗ m i dword là không s d ng.
ủ ự ế ượ ế ậ ể N u các lĩnh v c nén c a bitmap đ c thi t l p đ BI_BITFIELDS, các lĩnh
ặ ạ ứ ỏ ỉ ị ự v c Palette có ch a ba dword màu m t n mà ch đ nh màu đ , màu xanh, màu xanh
ầ ươ ể ả ứ ả ỗ ỗ và các thành ph n, t ng ng, trong m i đi m nh. M i dword trong m ng bitmap
ể ả ệ ộ ạ đ i di n cho m t đi m nh.
14
ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ử Ả ƯƠ
Ả
Ậ
Ỹ
CH
Ấ NG 3. K THU T GI U TIN TRONG NH
ậ ấ ả 3. 1.Các kĩ thu t gi u tin trong nh BITMAP
ậ ợ ề ệ ấ ấ ả ấ ớ Vi c gi u tin trong nh màu thì có r t nhi u thu n l ệ i so v i vi c gi u tin
ộ ư ư ể ả ắ trong nh đen tr ng nó có m t u đi m nh sau:
ấ ượ ề ắ ơ Gi u đ ỡ ớ ả c nhi u thông tin h n so v i nh đen tr ng cùng kích c
ớ ả ự ấ ộ ơ ổ ớ ả ắ Đ an toàn cao h n so v i nh đen tr ng vì có r t ít s thay đ i so v i nh
ầ ố g c ban đ u.
ặ ằ ỏ ơ Ả 3.1.1. nh nh h n ho c b ng 8 bit màu
ả ấ ả ữ ỏ ơ ề ả ả Không ph i t ặ ằ t c nh ng nh nh h n ho c b ng 8 bit màu đ u có b ngmàu
ệ ắ ế ế ầ ắ ấ ậ ượ ắ đ c s p x p, do v y vi c s p x p LSB r t khó khăn. Ta c n s p x p l ế ạ ả i b ng
ấ ỳ ả ử ọ ư ầ ạ ị ộ màu: Ch n m t màu b t k gi s màu có d ng: A(x, y, z) tđ a vào v trí đ u tiên
ệ ấ ả ạ Duy t t t c các màu B(m, n, p) còn l i và tính:
S(A, B) =sqrt((xm)2 +(yn)2+(zp)2)
ấ ể ắ ế ạ ẽ ọ ỏ Ta s ch n màu B có S(A, B) nh nh t đ s p x p c n màu A sau đó l ạ ế i ti p
ụ ướ t c b c 2.
ế ả ượ ắ ế Quy trình k t thúc khi b ng màu đã đ c s p x p.
ư ể ả ỉ ố ả ượ ổ ỉ ố Các đi m nh có ch s màu là 15 ph i đ c đ i thành ch s 853. 1. L u ý:
2
Ả 3.1.2. nh 16 bit màu
ự ế ỉ ượ ể ể ể ả ễ ộ Th c t ch có 15 bit đ c dùng đ bi u di n cho m t đi m nh :
ể ể ễ ườ ộ ươ ố 5 bit dùng đ bi u di n c ng đ t ỏ ng đ i màu đ
ể ể ễ ườ ộ ươ ố ơ 5 bit dùng đ bi u di n c ng đ t ng đ i màu xanh l
ể ể ễ ườ ộ ươ ố 5 bit dùng đ bi u di n c ng đ t ng đ i màu xanh lam
ấ ở ế ứ Còn 1 bit không dùng đ n là bit cao nh t ủ ả byte th 2, đó chính là bit LSB c a nh
ế ộ ượ ấ ấ ỉ ấ 16 bit màu. N u ch l y m t bit này thì l ầ ầ ng thông tin gi u là r t ít do đó c n l y
ữ ộ ố thêm m t s bit n a.
Ả 3.1.3. nh 24 bit màu
ể ả ỗ ượ ễ ể ằ ộ M i m t đi m nh đ c bi u di n b ng 3 byte
ể ể ễ ườ ộ ươ ố 1 byte dùng đ bi u di n c ng đ t ỏ ng đ i màu đ
ể ể ễ ườ ộ ươ ố ơ 1 byte dùng đ bi u di n c ng đ t ng đ i màu xanh l
ể ể ễ ườ ộ ươ ố 1 byte dùng đ bi u di n c ng đ t ng đ i màu xanh lam
ề ố ả ỗ ưở ế ằ Trong m i byte các bít n m càng v cu i càng ít nh h ầ ữ ệ ng đ n ph n d li u
ả ườ ượ ượ ườ ườ ấ nh. Thông th ể ng đ tăng l ng thông tin đ ấ c gi u ng i ta th ng l y 4 bít
ể ấ ỗ ố cu i m i byte đ gi u thông tin.
15
ồ ệ
Ngành công ngh thông tin ộ Ử Ả ự ố ủ ế ấ ằ ộ Đ án môn: X LÝ NH ả ệ B ng th c nghi m cho th y n u thay toàn b bít cu i c a m t byte thì nh
ề ắ ớ ả ề ầ ế ủ k t q a cũng không khác nhi u l m so v i nh ban đ u. Đi u này là vô cùng có ý
ể ấ ượ ề ả nghĩa vì ta có th gi u đ c nhi u thông tin trong nh .
ệ ố ậ ỹ 3.2. K thu t dùng h s DCT
ề ả ậ ỹ 3.2.1.N n t ng k thu t
ả ấ ượ ố Các nh JPEG có t ỷ ệ l nén cao, ch t l ng t t, do đó chúng đ ượ ử ụ c s d ng
ớ ử ệ ả ư ề ạ ợ nhi u trên m ng. Tuy nhiên các t p nh JPEG không phù h p v i x lý bít nh các
ả ể ấ ữ ệ ự ể ẫ ả ầ ậ nh d a trên b ng m u, tuy v y v n có th dùng chúng đ gi u d li u.
Ả ể ự ử ụ ế ệ ế ả ổ ổ ờ ạ nh JPEG s d ng bi n đ i Cosin r i r c đ th c hi n nén nh Bi n đ i
ấ ữ ệ ờ ạ ế ể ổ cosin r i r c là phép bi n đ i m t d li u vì không th tính chính xác các giá tr ị
ể ỗ ữ ệ ộ ệ ữ ố ư cosin, cũng nh có th có các l ữ ệ i làm tròn. Đ l ch gi a d li u g c và d li u
ụ ồ ạ ụ ế ổ ộ ị ươ ử ụ ph c h i l i sau khi bi n đ i ph thu c vào các giá tr và ph ng pháp s d ng đ ể
ờ ạ ị tính các tr cosin r i r c.
ể ử ế ế ặ ả ổ ổ Cũng có th x lý nh dùng bi n đ i Fourier nhanh ho c bi n đ i sóng con
ệ ằ ả ậ (wavelet transformation). Thu t toán JPEG làm vi c b ng cách chia nh ra thành các
ệ ố ế ờ ạ ướ ừ ậ ậ ổ ế ma tr n 8x8. Sau đó tính h s bi n đ i cosin r i r c cho t ng ma tr n. B c ti p
ệ ố ượ ậ ượ ớ ộ ả theo các h s này đ c nhân v i m t ma tr n l ế ng hoá. K t qu thu đ ượ ẽ c s
ế ố ầ ố ố ượ ượ đ ấ c làm tròn đ n s nguyên g n nh t, cu i cùng các s nguyên này đ c nén và
ư ạ l u l i.
ấ ử ể ấ ữ ệ ế ậ ơ Các c u t DCT chính là n i chúng ta có th gi u d li u. Cách ti p c n ph ổ
ệ ố ớ ứ ệ ố ử ứ ế ọ ớ ượ bi n là ch n các h s DCT l n và s đi chút ít. Vì h s l n t c m c "năng l ng"
ổ ả ộ ướ ấ ệ ố ọ cao nên ít làm thay đ i nh nh t. M t h ng khác là ch n các h s DCT trong các
ắ ườ ấ vùng mà m t ng i không nhìn th y.
ổ ế ụ ề ậ ử Các thu t toán JPEG n i ti ng áp d ng trong F5 và JSteg đ u dùng cách s a
ữ ệ ể ả ươ ề ượ ườ DCT đ nhúng d li u. C hai ph ng pháp này đ u qua đ ắ c m t th ư ng nh ng
ượ ươ ố không qua đ c các ph ng pháp phân tích th ng kê.
ượ Dung l ấ ng gi u :
ượ ỷ ấ ấ ợ ơ ớ Dung l ậ ng gi u không cao, và vì v y phù h p h n v i thu n.
ế ổ ờ ạ 3.2.2.Phép bi n đ i cosin r i r c (DCT)
ờ ạ ế ổ ượ Bi n đ i cosin r i r c vi ế ắ t t t là DCTDiscrete Cosine Transform đ ư c đ a
ủ ệ ế ồ ở ổ ra b i Ahmed và các đ ng nghi p c a ông vào năm 1974. Phép bi n đ i DCT đã
ờ ạ ẩ ả ế ạ ổ ị ượ đ c dùng trong d ng chu n nh JPEG. v Đ nh nghĩa bi n đ i cosin r i r c hai
chi u: ề
16
ồ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ử Ả ổ ề ổ ế ế ổ ố ệ ề ấ ỳ Bi n đ i DCT hai chi u t ng quát là bi n đ i trên kh i hai chi u b t k m
ố ướ ượ ử ụ ề ấ x n, trong đó các kh i kích th c 8*8, 16*16 đ c s d ng nhi u nh t. Tuy nhiên,
ể ế ẽ ố ổ ỉ ượ ử ụ chúng ta s ch tìm hi u phép bi n đ i DCT trên kh i 8*8 đ c s d ng trong
ẩ ả chu n nén nh JPEG.
ế ậ ổ ượ ị ư Phép bi n đ i thu n DCT 8*8 đ c đ nh nghĩa nh sau:
ế ổ ủ ề ể ặ 3.2.3.Đ c đi m c a phép bi n đ i DCT hai chi u
ề ầ ố ể ệ ệ ố ả ặ ộ ớ Th hi n đ c tính n i dung v t n s thông tin 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òn 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 cao theo h ướ ng
ướ ệ ố ứ ẳ ngang và theo h ọ ng th ng đ ng g i là h s AC.
ế ả ượ ữ ệ ổ B n thân bi n đ i DCT không nén đ ệ ố c d li u vì cũng 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 theo
ộ ướ ể ả ướ ướ ứ ẳ m t h ố ng nào đó trong kh i các đi m nh, h ng ngang, h ng th ng đ ng hay
ướ ườ ươ ứ ướ ế ổ theo h ng đ ng chéo thì t ng ng theo các h ng đó, các bi n đ i DCT càng
l n.ớ
ế ổ ế ể ả ữ ớ Theo nguyên lý chung, khi bi n đ i chi ti t gi a các đi m nh càng l n theo
ộ ướ ể ả ướ ướ ứ ẳ m t h ố ng nào đó trong kh i các đi m nh, h ng ngang, h ng th ng đ ng hay
ướ ườ ươ ứ ướ ế ổ theo h ng đ ng chéo thì t ng ng theo các h ng đó, các bi n đ i 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. Nh ờ
ủ ệ ố ầ ố ủ ắ ặ ườ các đ c tính t n s không gian c a h th ng nhìn c a m t ng ệ ố i, các h s DCT có
ể ượ ớ ượ ấ ợ ọ ỉ th đ ệ ố c mã hoá phù h p, ch các h s DCT quan tr ng nh t m i đ c mã hoá đ ể
ề truy n đi.
ề ầ ố ấ ố ệ ố ể ề Kh i h s DCT có th chia thành 3 mi n: mi n t n s th p, mi n t n s ề ầ ố
ề ầ ố ữ cao, 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.
17
ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ử Ả ề ầ ố ề ầ ố ườ + Mi n t n s cao: các thông tin trong mi n t n s cao th ng không mang
ườ ạ ỏ ề tính tri giác cao, khi nén JPEG thì th ng lo i b thông tin trong mi n này. Trong
ầ ố ệ ố ậ ỷ ườ ề các thu t toán thu 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 c nén nh JPEG. Mi n
ượ ử ụ ộ ự ề ỏ ầ ố t n s cao 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.
ườ ượ ử ụ ế ấ ề ầ ố ữ + Mi n t n s gi a: th ng hay đ c s d ng nh t và cũng cho k t qu t ả ố t
ề ầ ố ở ữ ử ụ ề ấ ậ ấ nh t. Trong thu t toán đ xu t cũng s d ng mi n t n s gi a.
ế ổ ề ấ ậ ỹ 3.3. K thu t gi u tin trong mi n bi n đ i DCT
ậ ướ ươ 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 ệ c s d ng đ ch a tín hi u thu vân là mi n t n s ề ầ ố ở ữ gi a i t n đ
ố ả ữ ố ộ ố ủ c a m t kh i DCT 8x8. Trong đó, các kh i DCT 8x8 là nh ng kh i nh cùng kích
ướ ượ ẫ ọ ừ ả ầ ượ ụ ế th c đã đ c ch n ra ng u nhiên t nh ban đ u và đ ổ c áp d ng phép bi n đ i
ề ầ ờ ạ ệ ể ể ố ỗ ỷ cosin 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 a trong m t kh i.
ả 3.3.1.Mô t ậ thu t toán
Input:
ộ ỗ Watermark: M t chu i các bit b.
ộ ả M t nh F.
Output:
ộ ả ỷ M t nh sau khi thu vân, F’.
ể ả Khoá đ gi i mã K.
3.3.2.Quá trình Watermarking
ộ ả ẽ ượ ỗ ố M t nh có kích m x n s đ c chia thành (m x n)/64 kh i 8 x 8, m i bit s ẽ
ố ấ ỳ ế ấ ộ ố ọ ổ ộ ố ượ đ c gi u trong m t kh i. Ch n m t kh i b t k B và bi n đ i DCT kh i đó thu
ệ ố ở ị ề ầ ố ở ữ ủ ấ ỳ ọ ố ượ đ c B’. Ch n hai h s v trí b t k trong mi n t n s gi a c a kh i DCT,
ả ử gi s đó là b’(i,j) và b’(p,q). Ta tính:
d = || b’(i,j) |b’(p,q)|| mod a
ộ ố ả ộ ố ươ Trong đó a là m t tham s tho mãn: a= 2(2t + 1), t là m t s nguyên d ng.
ẽ ượ ề ệ Bit Si s đ ả c nhúng sao cho tho mãn đi u ki n :
i =1 thì m t trong hai h s DCT b’(i,j) ho c b’(p,q) có tr
ế ệ ố ặ ộ + N u d<2t+1 mà S ị
ệ ố ớ ơ ẽ ị ứ ổ ể tuy t đ i l n h n s b thay đ i đ d>= 2t+1 theo công th c sau:
18
ồ Ử Ả ệ Ngành công ngh thông tin
Đ án môn: X LÝ NH max(|b’(i,j)| , |b’(p,q)|) + (INT(0.75*a) d)
ệ ố ớ ệ ố ớ ọ ị ơ V i hàm max (|b’(i,j)| , |b’(p,q)|) là hàm ch n ra h s có tr tuy t đ i l n h n,
ọ ẽ ượ ộ ộ ượ ặ ệ ố ượ h s đ c ch n s đ c c ng thêm m t l ng là (INT(0.75*a) d) ho c cũng có
ể ế ệ ố ứ ổ ộ th bi n đ i m t trong hai h s theo công th c:
min(|b’(i,j)| , |b’(p,q)|) (INT(0.75*a) + d)
ệ ố ệ ố ớ ọ ị ỏ ơ V i hàm min(|b’(i,j)| , |b’(p,q)|) là hàm ch n ra h s có tr tuy t đ i nh h n,
ẽ ị ừ ọ ộ ượ ệ ố ượ h s đ c ch n s b tr đi m t l ng là (INT(0.75*a) + d) INT() là hàm làm
ộ ố ự ủ ầ ấ l yph n nguyên c a m t s th c.
ươ ự ế ệ ố ộ + T ng t , n u d>= 2t+1 mà S ặ i = 0 thì m t trong hai h s DCT b’(i,j) ho c
ệ ố ớ ơ ẽ ượ ị ổ ể ư ả b’(p,q) có tr tuy t đ i l n h n s đ c thay đ i đ tho mãn d<2t+1 nh sau:
max(|b’(i,j)| , |b’(p,q)|) – (d (INT(0.75*a)))
ệ ố ớ ệ ố ị ọ hàm max(|b’(i,j)| , |b’(p,q)|) là hàm ch n ra h s có tr tuy t đ i l n, h s đ ệ ố ượ c
ẽ ị ừ ọ ộ ượ ể ế ổ ch n s b tr đi m t l ộ ặ ng là (d (INT(0.75*a)) ho c cũng có th bi n đ i m t
ệ ố ứ trong hai h s theo công th c:
min(|b’(i,j)| , |b’(p,q)|) + (INT(0.75*a) d)
ệ ố ỏ ơ ệ ố ọ ị hàm min(|b’(i,j)| , |b’(p,q)|) là hàm ch n ra h s có tr tuy t đ i nh h n, h s ệ ố
ọ ẽ ượ ộ ộ ượ ợ đu c ch n s đ c c ng thêm m t l ng là (INT(1.25*a)d)
19
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
ơ ồ
ủ
Hình 3.1.S đ nhúng th y vân
ả Quá trình gi i nhúng:
ệ ố ủ ế ố ọ ổ ị Đ c vào kh i DCT đã nhúng th y vân và v trí hai h s đã bi n đ i, sau đó
tính:
ớ d=||b’(i,j)||b’(p,q)|| mod a v i (a=2(2t+1))
i =1
ế N u d>=2t+1 thì S
i =0
ế N u d<2t+1 thì S
ả ượ ả ư Quá trình gi i mã đ c mô t nh sau:
20
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
ả
ơ ồ Hình 3.2.S đ quá trình gi
i mã
ắ ủ ứ ậ Ch ng minh tính đúng đ n c a thu t toán:
ườ ợ Xét các tr ng h p sau đây:
ườ ế ợ + Hai tr ng h p n u d< 2t+1 v i S ớ i = 0 và d>=2t+1 v i Sớ i =1 thì s ẽ
ệ ố ủ ế ổ ố ổ ả không thay đ i gì h s c a kh i DCT, và vì DCT là phép bi n đ i hoàn toàn đ o
ượ ả ượ ế ả ng c nên khi gi i mã thì ta cũng thu đ c k t qu chính xác.
i = 1Ta bi n đ i m t trong hai h s b’(i,j) và
ườ ợ ệ ố ế ộ ổ + Tr ng h p d<2t+1 và S
ư b’(p,q) nh sau:
max(|b’(i,j)| , |b’(p,q)|) + (INT(0.75*a) d)
ớ ị Khi đó giá tr d m i là :
d’ = (||b’(i,j)| |b’(p,q)| |+ (INT(0.75*a) d)) mod a
d’ = (|b’(i,j)| |b’(p,q)|| mod a)+ (INT(0.75*a)mod a)(d mod a)
d’ = d+INT(0.75*a)d = INT(0.75*a)> 0.5*a=2t+1(dfcm)
i = 0 Ta bi n đ i m t trong hai h s DCT b’(i,j)
ườ ợ ệ ố ế ộ ổ + Tr ng h p d>=2t+1 và S
ư và b’(p,q) nh sau:
21
Ử Ả ệ Ngành công ngh thông tin
ồ Đ án môn: X LÝ NH max(|b’(i,j)| , |b’(p,q)|) (dINT(0.25*a))
ớ ị Khi đó giá tr d m i là :
d’ = (||b’(i,j)| |b’(p,q)| | (dINT(0.25*a)) mod a
d’ = (|b’(i,j)| |b’(p,q)|| mod a)+ (INT(0.25*a)mod a)(d mod a)
d’ = dd + 0.25*a= 0.75*a)> 0.5*a=2t+1(dfcm)
ự ặ ệ 3.4. Cài đ t và th c nghi m
* Cài đ tặ
ữ ặ ườ ạ ả Ngôn ng cài đ t, môi tr ng so n th o Microsoft Visual Studio.
ươ ượ ữ ậ ự ệ ạ Ch y ch ng trình đ c th c hi n trên ngôn ng l p trình C#.
ự ệ * Th c nghi m
ệ ủ ươ Giao di n c a ch ng trình:
ủ
ươ
ệ Hình 3.3.Giao di n chính c a ch
ng trình
ướ ữ ầ ầ ấ ế Tr ậ c khi gi u tin: yêu c u nh p nh ng thông tin c n thi t
ọ ả ố ừ ệ ả ẵ Ch n nh g c .bmp t t p nh có s n.
ạ ấ ả ọ ố Ch n văn b n mu n gi u tin (d ng text).
ậ ẩ ậ Nh p m t kh u khóa.
ể ươ ự ệ ấ ọ ế ấ Sau đó ch n “Th c hi n gi u tin” đ ch ng trình ti n hành gi u tin.
22
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
ấ
ệ Hình 3.4.Giao di n sau khi gi u tin
ự ẽ ệ ầ ấ ồ Sau khi th c hi n gi u tin thành công, đ u ra s bao g m:
ấ Thông báo “Gi u tin thành công!”.
Khóa.
Ả ấ nh đã gi u tin.
ụ ả ầ ả ậ ả ớ Nh p tên nh m i đã mang tin vào m c “Tên nh ra” (tên nh có ph n m ở
ộ r ng).
ể ư ạ ọ Ẩ Sau đó ch n “ n” đ l u l i.
ự ữ ể ế ệ ề ấ ấ N u th c hi n gi u không thành công thì có th do nh ng v n đ sau:
ế ữ ệ ệ ầ ư ấ ả ầ ậ Nh p thi u d li u đ u vào nh : Tên nh vào, thông đi p c n gi u. Khi đó
ươ ể ườ ử ụ ụ ể ẽ ắ ch ng trình s thông báo đ ng i s d ng có th kh c ph c.
* Quy trình tách tin
23
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
ệ
ướ
Hình 3.5.Giao di n tr
c khi tách tin
ướ ể ấ ự ệ ả ượ Tr c khi th c hi n tách nh đã mang tin đ l y đ ậ ệ c thông đi p bí m t
ữ ệ ầ ậ ữ yêu c u nh p nh ng d li u sau:
ọ ả ầ ừ ị ư ướ Ch n nh đã mang tin c n tách t v trí đã l u tr c đó.
ậ ả ầ ấ Nh p khóa thu đ ượ ừ ế c t k t qu đ u ra trong quá trình gi u.
ể ế ỏ ả ự ệ ọ Ch n “Th c hi n” đ ti n hành tách tin kh i nh.
ệ Hình 3.6.Giao di n sau khi tách tin
ự ủ ệ ầ ươ ồ Sau khi th c hi n tách tin thành công, đ u ra c a ch ẽ ng trình s bao g m:
24
Ử Ả ồ ệ Đ án môn: X LÝ NH
ậ ướ ệ ộ ấ Ngành công ngh thông tin ả N i dung thông đi p bí m t tr c khi gi u vào nh.
Ả ệ ậ nh sau khi đã tách thông đi p bí m t.
ữ ế ể ỗ N u tách tin không thành công thì có th do nh ng l i sau:
ọ ả Do ch n sai nh đã mang tin.
ậ Do nh p sai khóa.
ể ạ ữ ể ượ ế ả Khi đó ph i ki m tra l i nh ng lý do trên đ thu đ ả c k t qu đúng.
25
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ậ
Ế
K T LU N
ộ ộ ỉ ệ ớ ế ệ ậ ấ ả Hi n nay 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 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 và h n n a gi u thông tin trong nh cũng đó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.
ề ế ậ ượ ự ấ Chính vì th mà v n đ này nh n đ ấ ớ ủ c s quan tâm r t l n c a các cá nhân,
ườ ạ ọ ế ớ ứ ề ồ ổ t ứ ch c, tr ệ ng đ i h c và nhi u vi n nghiên c u trên th gi i. Trong đ án này
ề ỹ ủ ả ế ể ề ậ ấ ổ tìm hi u v k thu t gi u tin trên mi n bi n đ i DCT c a nh.
ứ ượ ờ ữ ề ồ Trong th i gian làm đ án em đã nghiên c u đ ấ c nh ng v n đ sau:
ứ ổ ấ ậ ả ỹ Nghiên c u t ng quan k thu t gi u tin trong nh.
ứ ấ ả Nghiên c u c u trúc nh Bitmap.
ủ ả ế ể ề ậ ấ ổ ỹ Tìm hi u k thu t gi u tin trên mi n bi n đ i DCT c a nh.
ể ể ề ậ ấ ổ ỹ ươ ự ế K thu t gi u tin trên mi n bi n đ i DCT có th tri n khai t ng t ả cho nh
ứ ạ ệ ậ ả ặ ạ PNG, nh JPG… Vi c cài đ t thu t toán không quá ph c t p, l ể i cho phép tri n
ể ấ ượ ấ ượ ế ả ớ ơ khai đ gi u l ữ ng thông tin khá l n. H n n a, k t qu đánh giá ch t l ả ng nh
ậ ấ ộ ỹ ậ ấ sau khi gi u tin cho th y k thu t trên có đ tin c y cao.
26
Ử Ả ồ ệ Đ án môn: X LÝ NH Ngành công ngh thông tin
Ả
Ệ
TÀI LI U THAM KH O
ủ ị ạ ậ ấ Gi u thông tin trong nh [1]. Vũ Th Chung Th y. 2004 . Lu n văn th c sĩ “ ả ”.
ề ạ ậ ậ ằ ả ỹ ậ B o m t b ng các k thu t ọ [2]. Đinh Ng c Tri u. 2004 . Lu n văn th c sĩ “
ấ mã hóa và gi u tin ”.
ế ậ ị An toàn d li u [3]. Tr nh Nh t Ti n. Giáo trình “ ữ ệ ”.
ọ ậ ướ ẫ ớ ấ ả ậ ố [4]. H ng d n h c l p trình v i C# . T p 1,2,3: Nhà Xu t B n Th ng Kê.
ươ ử ễ ạ [5]. L ng M nh Bá, Nguy n Thanh Th y ả ủ . Giáo trình “Nh p môn x lý nh ậ
ọ ỹ ậ s ”ố . NXB Khoa h c và k thu t.
27

