Nhúng văn bản tiếng Việt trong dữ liệu audio dựa vào đặc điểm của chữ viết tiếng Việt

The problems of embedded Vietnamese text in audio data must solve two related problems, such as increased efficiency and security of embedded information content. We solve this problem by analyzing characteristics of Vietnamese letters; from which to build code key, used for encrypting and compressing Vietnamese text before performing embedded. Test results with the popular Vietnamese text show that the number of information bits needed to embed significantly reduced compared with conventional embedded methods and confidential embedded text content.

pdf6 trang | Chia sẻ: yendt2356 | Lượt xem: 284 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Nhúng văn bản tiếng Việt trong dữ liệu audio dựa vào đặc điểm của chữ viết tiếng Việt, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Vũ Văn Tâm và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 53 - 58 53 NHÚNG VĂN BẢN TIẾNG VIỆT TRONG DỮ LIỆU AUDIO DỰA VÀO ĐẶC ĐIỂM CỦA CHỮ VIẾT TIẾNG VIỆT Vũ Văn Tâm1*, Phan Trọng Hanh2 1Đại học Kỹ thuật – Hậu cần CAND (Bộ Công an), 2Học viện Kỹ thuật Quân sự (Bộ Quốc phòng) TÓM TẮT Các bài toán nhúng văn bản tiếng Việt trong dữ liệu audio đều phải giải quyết hai vấn đề liên quan, đó là tăng hiệu quả nhúng và bảo mật nội dung tin nhúng. Chúng tôi giải quyết bài toán này bằng cách phân tích đặc điểm của chữ viết tiếng Việt; từ đó xây dựng khóa mã, dùng để mã hóa và nén văn bản tiếng Việt trước khi thực hiện nhúng. Kết quả thử nghiệm với các văn bản tiếng Việt thông dụng, cho thấy số bit tin cần nhúng giảm đáng kể so với phương pháp nhúng thông thường; đồng thời nội dung văn bản nhúng được bảo mật. Từ khóa: Nhúng văn bản; nhúng dữ liệu; mã hóa văn bản; nén văn bản; nhúng audio ĐẶT VẤN ĐỀ* Nhúng văn bản tiếng Việt trong dữ liệu audio là một trong những bài toán cơ bản nhất của kỹ thuật giấu tín hiệu trong dữ liệu số. Hiện nay, đã có nhiều phương pháp tiếp cận khác nhau như: Phương pháp nhúng LSB (Least Significant Bit) [2], [4], [5]; Mã hóa Parity (Parity Coding) [2], [4]; Mã hóa Phase (Phase Coding) [2], [5]; Ứng dụng kỹ thuật trải phổ [1], [2]; Kỹ thuật mã hóa echo [2], [6]. Các phương pháp nêu trên tập trung chủ yếu vào xây dựng thuật toán nhúng tin nhằm bảo đảm tin nhúng được ổn định. Việc kết hợp giữa nhúng tin với nén và mã hóa tin có thể sẽ tăng được hiệu quả nhúng và bảo mật được tin cần nhúng. Trên cơ sở nghiên cứu về đặc điểm của chữ viết tiếng Việt, từ đó xây dựng các khóa mã dùng để nén và mã hóa chữ viết tiếng Việt trước khi thực hiện nhúng vào dữ liệu audio. Với cách tiếp cận như trên, bài báo được trình bày theo thứ tự sau: Đặc điểm chữ viết tiếng Việt; Xây dựng mô hình; Xây dựng các thuật toán; Thử nghiệm và đánh giá và cuối cùng là phần kết luận. ĐẶC ĐIỂM CHỮ VIẾT TIẾNG VIỆT Bộ chữ viết tiếng Việt được chia làm 2 loại: Chữ số (từ 0 đến 9), là loại không có dấu, * Tel: 0168975888;, Email: tamt36bca@gmail.com chúng có thể kết hợp với nhau để tạo thành các giá trị số lớn hơn; Chữ cái bao gồm 3 thành phần chính, đó là: Thành phần phụ âm (b c t v d s w x đ g r f z y j h q p n m l k tr qu ch th kh nh gi ng ngh gh ph); Thành phần nguyên âm (a ă â an ăn ân am ăm âm au âu ai ao ac ăc âc at ăt ât ach anh ang ăng âng ap ăp âp ay ây o ô ơ on ôn ơn om ôm ơm oc ôc owc ot ôt ơt op ôp ơp oat oăt oen oam oan oăn oanh oap oăc oa oet oac oai oi ôi ơi oe oach ông ôc oang ong ông oay u ư ut ưt uc ưc ươn uây ua ưa uyêt uêch uênh ương uông um ưm un ưn ưng uya ươm uôm uen uôn uyên uyt ươn ui ưi ươu e ê en ên em êm et êt ep êp ec êc êu eo eng êng ênh êch i it in im ip iu ia inh ing iêng iêp iêc iêt iên iêm iêu ich yêt yêu yên ; / . = ? % ~ ! @ # $ ^ & * ( ) - + “ | \ [ ] { }) và thành phần dấu (không dấu, nặng, huyền, sắc, hỏi và ngã). Nếu coi chữ số là phụ âm thì tổng số phụ âm là 10 + 33 = 43, tổng số nguyên âm là 185 và tổng số dấu là 6. Do vậy, số phụ âm, nguyên âm và dấu là hữu hạn và chúng ta hoàn toàn có thể biết trước. Với phương pháp nhúng văn bản tiếng Việt thông thường, mỗi ký tự sẽ được mã hóa thành 8 bit, ví dụ chữ “Nguyễn” gồm 6 ký tự sẽ được mã hóa thành 6 8 48 [bit]. Nếu chúng ta thực hiện tách riêng phụ âm, nguyên âm và dấu; sau đó mã hóa thì số bit sẽ là: Phụ âm “Ng” = a [bit], nguyên âm “uyên” = b [bit] và dấu “ ” = c [bit], khi đó tổng số Vũ Văn Tâm và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 53 - 58 54 bit sẽ là d a b c [bit]. Nếu 48d thì số bit giảm được so với trường hợp nhúng thông thường là 48 d e [bit]. Ngoài ra, với việc mã hóa như trên thì nội dung văn bản cần nhúng đã được bảo mật (bên nhận phải có các tham số của bộ mã mới giải mã được nội dung tín hiệu nhúng). XÂY DỰNG MÔ HÌNH Sơ đồ mô hình Hình 1. Mô hình nhúng tiếng Việt trong dữ liệu Audio Các chữ của văn bản tiếng Việt được đưa vào bộ tách chữ, thành phần phụ âm sẽ được mã hóa thành a [bit] bởi bộ mã hóa phụ âm, thành phần nguyên âm và dấu được mã hóa thành (b c ) [bit] bởi bộ mã hóa nguyên âm. Sau bộ ghép bit chúng ta có d [bit] (với d a b c . Sử dụng phương pháp nhúng LSB để nhúng và giải nhúng các bit tin với dữ liệu gốc audio. Phía bên nhận sẽ thực hiện ngược lại với bên phát để nhận được nội dung văn bản đã nhúng. Xây dựng thuật toán - Thành phần phụ âm: + Khóa mã: Sử dụng phương pháp ma trận, các ô thuộc hàng 1 và các ô thuộc cột 1 của ma trận dùng để ghi các tổ hợp bit khóa mã (Hình 2a). Các ô còn trống trên ma trận được dùng mã hóa các giãn cách hoặc dự phòng. Để mã hóa cho một phụ âm chúng ta lấy tổ hợp bit của hàng và cột tương ứng với ô chứa phụ âm, ví dụ phụ âm “gh” sẽ được mã là = 110000. + Cài đặt trên máy tính: Để đơn giản hóa việc cài đặt trên máy tính, chúng ta thực hiện lưu khóa mã dưới dạng file text có tên là phu_am.txt (Hình 2b). + Thuật toán mã hóa: β là phụ âm cần mã hóa, £[i] là các thành phần của file phu_am.txt, µ là 6 bít sau khi mã hóa. For i ∈ 1,...,length(β) do β [i] ← β [i] + 32 end for Open file phu_am.txt For i ∈ 1,2,...,48 do £[i] ← line[i] of phu_am.txt α ← copy(£[i],7,4) For j ∈ 1,...,length(α) do α [j] ← α [j] + 32 end for if α == β then µ ← copy(£[i],1,6) exit for end if end for close phu_am.txt + Thuật toán giải mã: Thực hiện ngược lại quá trình mã hóa. Open file phu_am.txt For i ∈ 1,2,...,48 do £[i] ← line[i] of phu_am.txt α ← copy(£[i],1,6) if α == µ then β ← copy(£[i],7,4) exit for end if end for close phu_am.txt - Thành phần nguyên âm và dấu: Tách chữ Khóa mã Mã hóa phụ âm Text Ghép bit Nhúng Mã hóa nguyên âm Giải nhúng Tách bit Khóa mã Giải mã phụ âm Giải mã nguyên âm Ghép chữ Text (a) Ma trận khóa mã phần phụ âm (b) Cấu trúc file phu_am.txt  Hình 2. Khóa mã phần phụ âm 000000 b 000001 c 000010 t 101001 ngh ........ 111001 8 Vũ Văn Tâm và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 53 - 58 55 + Khóa mã: Tương tự như phần phụ âm, khóa mã phần nguyên âm và dấu được xây dựng như sau (Hình 3a). + Cài đặt trên máy tính: Các nguyên âm liên quan đến dấu, do vậy mỗi một nguyên âm sẽ được lưu trên file thành 6 dòng tương ứng với 6 trường hợp: Không có dấu, có dấu nặng, có dấu huyền, có dấu sắc, có dấu hỏi và có dấu ngã (Hình 3b). + Thuật toán mã hóa: ξ là nguyên âm cần mã hóa, ψ[i] là các thành phần của file nguyen_am.txt, ω là 11 bít sau khi mã hóa. For i ∈ 1,...,length(ξ) do ξ[i] ← ξ[i] + 32 end for Open file nguyen_am.txt For i ∈ 1,2,...,992 do ψ[i] ← line[i] of nguyen_am.txt α ← copy (ψ[i],12,4) For j ∈ 1,...,length(α) do α [j] ← α [j] + 32 end for if α == ξ then ω ← copy(ψ[i],1,11) exit for end if end for close nguyen_am.txt + Thuật toán giải mã: Open file nguyen_am.txt For i ∈ 1,2,...,992 do ψ[i] ← line[i] of nguyen_am.txt α ← copy (ψ[i],1,11) if α == ω then ξ ← copy(ψ[i],12,4) exit for end if end for close nguyen_am.txt - Nhúng và giải nhúng: + Thuật toán nhúng: δ là chuỗi tin cần nhúng dạng nhị phân, δ được chia ra thành các đoạn 4 bit để thay thế 4 bit thấp của các mẫu dữ liệu audio. δ ← "bit start" + δ + "bit end" Open file audio1 Open file audio2 For i ∈ 1,2,...,44 do Β ← data[i] for file audio1 data[i] to file audio2 ← B end for C ← data[41..44] for file audio1 C ← C/2 For j ∈ 1,2,...,C do i ← j + 44 B ← data[i] for file audio1 selected Dau ← 1 If B < 0 Then selected Dau ← -1 B ← |B| selected ST ← "" For K ∈ 1,2,...,20 do ST ← Str(B mod 2) + ST B ← B \ 2 If B == 0 Then Exit For end for If Length(ST) < 16 Then For K ∈ 1,2,...,(16 - Length(ST)) do ST = "0"+ ST end for End If ST ← copy(ST, 1, 12) Tin ← copy(δ, ((i - 1) * 4) + 1, 4) ST ← ST + Tin selected B ← 0 selected H ← 1 For M ∈ 16,15,...,1 do Tin ← copy(ST, M, 1) G ← Val(Tin) B ← B + (H * G) (a) Ma trận khóa mã phần nguyên âm và dấu (b) Cấu trúc file Nguyen_am.txt  00000000000 a 00000000001 ạ 00000000010 à ...................... 11111001000 yên 11111001001 yện ....................... 10001011000 } Hình 3. Khóa mã phần nguyên âm và dấu Vũ Văn Tâm và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 53 - 58 56 H ← H + H end for B ← B * Dau data[i] to file audio2 ← B end for Close file audio1 Close file audio2 + Thuật toán giải nhúng: Chuỗi bit tin (δ) được hình thành từ việc lấy 4 bit thấp của các mẫu audio liên tiếp nhau cho đến khi gặp chuỗi bit đánh dấu kết thúc nhúng. Open file audio2 C ← data[41..44] for file audio2 C ← C/2 selected Giai ← 0 For j ∈ 1,2,...,C do i ← j + 44 B ← data[i] for file audio2 B ← |B| selected ST ← "" For K ∈ 1,2,...,20 do ST ← (B Mod 2) + ST B ← B \ 2 If B == 0 Then Exit For end for If Length(ST) < 16 Then For K ∈ 1,2,..., (16 - Length(ST)) do ST ← "0" + ST end for End If ST ← copy(ST, 13, 4) If Giai == 0 Then Chuoi ← Chuoi + ST Else δ ← δ + ST End If If Length(Chuoi) >= 8 Then ST ← copy(Chuoi, Length(Chuoi) - 7, 8) If ST == "00110011" Then Giai ← 1 End If If Length(δ) >= 8 Then ST ← copy(δ, Length(δ ) - 7, 8) If ST == "11001100" Then Giai ← 2 δ ← copy(δ, 1, Length(δ) - 8) End If End If If Giai == 2 Then Exit For End for Close file audio2 THỰC NGHIỆM VÀ ĐÁNH GIÁ Dữ liệu audio được sử dụng thử nghiệm là file âm thanh chimes.wav trong Windows có kích thước phần data là 35380=aS [byte] và các tham số khác như hình 4. Tin cần nhúng là các đoạn văn bản tiếng Việt có độ dài (số ký tự) khác nhau. Ngoài ra, sử dụng phương pháp nhúng LSB không nén [2], [4], [5] để so sánh hiệu quả nhúng, độ bảo mật của tin nhúng. Tỷ lệ nhúng (B) sẽ đạt 100% khi số bit tin nhúng = / 4aS . Giao diện thử nghiệm được lập trình bằng ngôn ngữ Visual Basic (Hình 4). Lần thử 1, tin cần nhúng là 1 đoạn văn bảng tiếng Việt thông dụng bao gồm chữ cái (phụ âm và nguyên âm) và chữ số; Lần thử 2, văn bản cần nhúng hoàn toàn là các phụ âm; Lần thử 3, văn bản cần nhúng hoàn toàn là 160 nguyên âm và các giãn cách giữa chúng. Kết quả thử nghiệm và so sánh được trình bày trong bảng 1a, 1b. Bảng 1a. Kết quả thử nghiệm nhúng thông thường Bảng 1b. Kết quả thử nghiệm nhúng theo mô hình đề xuất Lần thử Độ dài văn bản (Te) Không mã hóa, không nén Dung lượng tin (M2) Tỷ lệ nhúng (B2) Bảo mật 1 8.000 ký tự 64.000 bit 90,45 % Không 2 7.700 ký tự 61.600 bit 87,055 % Không 3 554 ký tự 18.240 bit 25,78 % Không TB 5.418 ký tự 47.95 bit 67,76 % Không Lần thử Độ dài văn bản (Te) Có mã hóa, có nén Dung lượng tin (M1) Tỷ lệ nhúng (B1) Bảo mật 1 8.000 ký tự 38.400 bit 54,27 % Có 2 7.700 ký tự 56.462 bit 79,79 % Có 3 554 ký tự 2.720 bit 3,84 % Có TB 5.418 ký tự 32.527 bit 45,97 % Có Vũ Văn Tâm và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 53 - 58 57 Dung lượng tin cần nhúng (M) và tỷ lệ nhúng (B) được tính theo công thức sau: - Trường hợp nhúng thông thường: 2 = 8eM T [bit]; 2 2= ( 100)/ ( / 4)aB M S [%]; - Trường hợp có mã hóa, nén: 1 = ( 6) 11a aM P Ng [bit]; 1 1= ( 100)/ ( / 4)aB M S [%]; Trong đó, aP , aNg là số phụ âm và nguyên âm của văn bản cần nhúng. Kết quả thử nghiệm với 3 dạng văn bản khác nhau (Bảng 1) đều cho kết quả tốt hơn so với phương pháp nhúng thông thường. Ngoài việc giảm dung lượng tin cần nhúng dẫn tới tỷ lệ nhúng giảm từ đó giảm mức độ ảnh hưởng đến chất lượng của dữ liệu audio gốc (Hình 5); thì thuật toán còn cho phép bảo mật được nội dung văn bản cần nhúng (bên nhận phải có khóa mã giống bên phát mới giải mã được tin nhúng). Đặc biệt, khi nhúng các văn bản thông thường (có nhiều thành phần nguyên âm) thì dung lượng tin cần nhúng giảm đáng kể và độ bảo mật càng cao. Từ cấu trúc của hai ma trận khóa mã, chúng ta có thể đánh giá độ bảo mật như sau: - Độ bảo mật của khóa mã phụ âm: = 16! 4!AK - Độ bảo mật của khóa mã nguyên âm: = 16! 16!NgK - Độ bảo mật của hệ thống: = = (16! 4 !) (16! 16!)HT A NgK K K Như vậy, giá trị của HTK là rất lớn; Ngoài ra, việc sắp xếp lại các tổ hợp bit ở hàng 1 và cột 1 của các ma trận khóa mã trên sẽ tạo ra một khóa mã mới. KẾT LUẬN Việc kết hợp mã hóa, nén văn bản tiếng Việt khi thực hiện nhúng vào dữ liệu audio là một hướng tiếp cận mới trong xử lý tín hiệu số. Qua phân tích đặc điểm của chữ viết tiếng Việt, chúng tôi đã đưa ra mô hình, xây dựng các thuật toán để thực hiện nội dung trên. Qua thử nghiệm mô hình với các loại văn bản khác nhau cho thấy dung lượng tin cần nhúng 1M , tỷ lệ nhúng 1B được giảm đáng kể so với phương pháp nhúng thông thường; đồng thời bảo mật được nội dung văn bản tiếng Việt cần nhúng. Kết quả nghiên cứu này rất có ý nghĩa cho hướng nghiên cứu về nhúng văn bản tiếng Việt trong các dữ liệu số khác. TÀI LIỆU THAM KHẢO 1. Vũ Đình Ba, “Giấu thông tin trong cơ sở dữ liệu không gian,” Tạp chí Nghiên cứu khoa học kỹ thuật và công nghệ Quân sự, số 4, 30-37. 2. Nguyễn Xuân Huy, Huỳnh Bá Diệu, “Nghiên cứu kỹ thuật giấu tin trong audio hỗ trợ xác thực,” Tạp chí Khoa học ĐHQGHN, Khoa học T.nhiên và Công nghệ, số 1 (25), 69-74. (a) Dữ liệu audio trước khi nhúng (b) Dữ liệu audio sau nhúng theo mô hình (c) Dữ liệu audio sau nhúng thông thường Hình 5. Dạng sóng dữ liệu audio thực nghiệm Hình 4. Giao diện thử nghiệm theo mô hình Vũ Văn Tâm và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 122(08): 53 - 58 58 3. F. Siebenhaar, C. Neubauer, R. B¨auml, and J. Herre, “New High Data Rate Audio Watermarking based on SCS (Scalar Costa Scheme),” in 113th Convention of the AES, Los Angeles, USA, October 5-8 2002, preprint 5645. 4. R. Z. WANG,C.F. LIN, AND J. C. LIN. “Image Hiding by LSB Substitution and GeneticAlgorithm,”Proceedings of International Symposium on Multimedia Information Processing, Chung-Li,Taiwan, R.O.C, December 1998, 671-683. 5. I.J.COX ET. AL. “Secure Spread Spectrum Watermarking of Images, Audio and Video,” Proc IEEE International Conf on Image Processing, ICIP-96, Vol.3, pp 243-246. 6. DICKINSON B., TAO B., “Adaptive Watermarking in DCT Domain,” Proc. of IEEE International Conf. on Acoustics Speech and Signal Processing, ICASSP-97,Vol.4, p1985- 2988, 1997 SUMMARY EMBEDDING VIETNAMESE TEXT IN AUDIO DATA BASED ON THE CHARACTERISTICS OF THE VIETNAMESE WRITING Vu Van Tam1*, Phan Trong Hanh2 1Institute of Engineering - Logistics People's Public Security (Ministry of Public Security), 2Le Quy Don University of Science and Technology (Ministry of National Defence) The problems of embedded Vietnamese text in audio data must solve two related problems, such as increased efficiency and security of embedded information content. We solve this problem by analyzing characteristics of Vietnamese letters; from which to build code key, used for encrypting and compressing Vietnamese text before performing embedded. Test results with the popular Vietnamese text show that the number of information bits needed to embed significantly reduced compared with conventional embedded methods and confidential embedded text content. Keywords: Embedded text; embedded data; text encoding; text compression; embedded audio Ngày nhận bài:02/6/2014; Ngày phản biện:16/6/2014; Ngày duyệt đăng: 25/8/2014 Phản biện khoa học: TS. Lưu Đức Khảm – Trường Đại học Kỹ thuật Hậu cần Công an nhân dân * Tel: 0168975888;, Email: tamt36bca@gmail.com

Các file đính kèm theo tài liệu này:

  • pdfbrief_48430_52345_9920151457189_1065_2046545.pdf