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.
6 trang |
Chia sẻ: yendt2356 | Lượt xem: 402 | Lượt tải: 0
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:
- brief_48430_52345_9920151457189_1065_2046545.pdf