1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giải pháp nâng cao hiệu năng hệ thống mã hóa giải mã tiếng nói dựa trên tính chất thưa của dữ liệu tiếng nói trong miền thời gian

4 8 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 536,9 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giải pháp nâng cao hiệu năng hệ thống mã hóa, giải mã tiếng nói dựa trên tính chất thưa của dữ liệu tiếng nói trong miền thời gian Đinh Văn Phong1, Nguyễn Thế Hiếu1, Nguyễn Huy Tình1,

Trang 1

Giải pháp nâng cao hiệu năng hệ thống mã hóa, giải

mã tiếng nói dựa trên tính chất thưa của dữ liệu tiếng

nói trong miền thời gian

Đinh Văn Phong1, Nguyễn Thế Hiếu1, Nguyễn Huy Tình1, Đinh Viết Quân1, Phạm Văn Tăng2 và Trần Đức Tân3

1 Tổng công ty Công nghiệp Công nghệ cao Viettel, 2 Học Viện Hậu Cần, 3 Trường Đại học Phenikaa

Email: phongdv6@viettel.com.vn, tan.tranduc@phenikaa-uni.edu.vn

Tóm tắt — Trong hệ thống chuyển mạch kênh di động, hai loại dữ

liệu chính được xử lý là dữ liệu báo hiệu và dữ liệu tiếng nói Dữ

liệu báo hiệu là các bản tin có kích thước nhỏ, tần suất xuất hiện

không lớn trong một cuộc gọi, chỉ chiếm không quá 10%, trong

khi 90% còn lại là dữ liệu tiếng nói của người dùng Vì vậy, việc

thao tác xử lý với dữ liệu tiếng nói ảnh hưởng rất lớn tới hiệu

năng hệ thống Một trong các thao tác chính cần phải làm với dữ

liệu tiếng nói là thực hiện các thuật toán mã hóa, giải mã theo các

tiêu chuẩn được ban hành bởi ITU, 3GPP như G711, G722,

AMR, GSMFR, GSMHR… Các thuật toán này thực thi trên toàn

bộ thời gian đàm thoại của người dùng Trong thực tế, dữ liệu

tiếng nói có tính chất thưa trong miền thời gian, có nghĩa rằng

trong nhiều khoảng thời gian đàm thoại của người dùng, dữ liệu

không chứa tiếng nói hữu ích mà là dữ liệu trắng (rỗng), dữ liệu

tiếng nói hữu ích xuất hiện xen kẹp trong các khoảng dữ liệu

trắng này Từ đặc điểm này, chúng tôi đề xuất giải pháp xử lý có

chọn lọc các dữ liệu tiếng nói hữu ích và bỏ qua việc xử lý dữ liệu

trắng giúp tiết kiệm chi phí tính toán, nâng cao hiệu năng hệ

thống

Từ khóa- Mã hóa, giải mã, năng lượng tín hiệu, dữ liệu thưa

I GIỚI THIỆU

Trong hệ thống chuyển mạch kênh di động, hai loại dữ liệu

chính được xử lý là dữ liệu báo hiệu và dữ liệu tiếng nói Dữ

liệu báo hiệu là các bản tin có kích thước nhỏ, tần suất xuất

hiện không lớn trong một cuộc gọi, chỉ chiếm không quá 10%,

trong khi 90% còn lại là dữ liệu tiếng nói của người dùng Vì

vậy, việc thao tác xử lý với dữ liệu tiếng nói ảnh hưởng rất lớn

tới hiệu năng hệ thống Một trong các thao tác chính cần phải

làm với dữ liệu tiếng nói là thực hiện các thuật toán mã hóa,

giải mã theo các tiêu chuẩn được ban hành bởi ITU, 3GPP như

G711 [1], G722 [2], AMR [3], AMR-WB [4], GSMFR [5],

GSMHR [6]…Các thuật toán này thực thi trên toàn bộ thời

gian đàm thoại của người dùng

Hình 1: Các khoảng được đánh dấu đỏ mô tả các khoảng trắng

trong dữ liệu tiếng nói Trong thực tế, dữ liệu tiếng nói có tính chất thưa trong miền

thời gian, có nghĩa rằng trong nhiều khoảng thời gian đàm

thoại của người dùng, dữ liệu không chứa tiếng nói hữu ích mà

là dạng dữ liệu trắng (rỗng), dữ liệu tiếng nói hữu ích xuất hiện xen kẹp trong các khoảng dữ liệu trắng này [Hình 1]

Đối với các bộ mã hóa/giải mã trong mạng di động 2.5G trở lên như AMR, AMRWB, GSMFR, GSMHR việc xử lý các khoảng dữ liệu trắng này ngay trên thiết bị đầu cuối đã được thực hiện, trong đó thiết bị đầu cuối sẽ nhận diện các khoảng trắng này và sau đó, thay vì gửi đi khung giá trị dữ liệu trắng thì thiết bị chỉ gửi đi các gói đánh dấu khoảng trắng đang diễn

ra, kỹ thuật này được gọi là SID (Silent Identification) [3][4], các gói này có kích thước rất nhỏ (5 bytes) giúp tiết kiệm băng thông truyền dẫn vô tuyến

Tuy nhiên, đối với các bộ mã hóa/giải mã cũ hơn như G711, G722 được dùng trong các hệ thống PSTN [7], VoIP [8], SID không được sử dụng Ngoài ra, nhà cung cấp viễn thông di động có thể tắt hỗ trợ SID trên mạng lưới trong một số trường hợp để tránh các lỗi dịch vụ Vì vậy, dữ liệu tiếng nói với các khoảng trắng dư thừa không chứa thông tin luôn tồn tại trên mạng di động Các dữ liệu này được xử lý mã hóa/giải mã bình thường như các đoạn dữ liệu mang thông tin khác, gây lãng phí năng lực tính toán trong hệ thống mạng lõi viễn thông Trong điều kiện như vậy, bài báo này đề xuất một phương pháp xử lý mã hóa/giải mã có chọn lọc các đoạn dữ liệu tiếng nói Trong đó các đoạn dữ liệu tiếng nói mang thông tin được nhận diện theo mức năng lượng và thực hiện mã hóa/giải mã theo các tiêu chuẩn của ITU/3GPP, các đoạn dữ liệu trắng được nhận diện và xử lý nhanh không qua mã hóa/giải mã, qua đó tiết kiệm được tài nguyên (CPU, RAM) dùng cho tính toán, giúp nâng cao hiệu năng hệ thống

Trong nội dung tiếp theo của bài báo, chúng tôi trình bày một số kiến thức cơ bản về mã hóa/giải và tính chất thưa trong miền thời gian của tiếng nói trong phần II Giải pháp mã hóa/giải mã có chọn lọc dữ liệu được mô tả trong phần III và các kết quả thử nghiệm chứng minh sự cải thiện hiệu năng hệ thống khi áp dụng giải pháp đề xuất được mô tả trong phần IV của bài báo

II KIẾN THỨC NỀN TẢNG

1 Mã hóa và giải mã tiếng nói

Mã hóa tiếng nói là dạng mã nguồn của dữ liệu, trong đó tiếng nói nguyên gốc ban đầu được biểu diễn bằng các giá trị với kích thước (dung lượng) nhỏ hơn kích thước ban đầu giúp tiết kiệm băng thông truyền dẫn Giải mã là quá trình ngược lại

Trang 2

khi dữ liệu mã hóa được tái tạo về dạng nguyên gốc và có thể

phát ra âm thanh thông qua các thiết bị như loa

Trong quá trình phát triển các công nghệ di động 2G, 3G,

4G, một loạt tiêu chuẩn mã hóa/giải mã tiếng nói đã được phát

triển như G.711 (PCMA/PCMU) [1], GSM-FR [5], GSM-HR

[6], GSM-EFR [9], GSM-AMR [3], AMR-WB [4], EVS [10]

Mỗi loại thiết bị đầu cuối có thể hỗ trợ một hoặc tất cả các tiêu

chuẩn mã hóa/giải mã này Khi 02 thiết bị đầu cuối có tiêu

chuẩn mã hóa/giải mã khác nhau thực hiện đàm thoại với nhau,

sẽ cần một thiết bị trung gian của hệ thống mạng lõi viễn thông

thực hiện chuyển đổi các tiêu chuẩn mã hóa (transcoding) để

02 thiết bị có thể nghe được dữ liệu của nhau Thiết bị này

thường là các hệ thống MSC (Mobile Switching Center) hoặc

GMSC (Gate Mobile Switching Center)

Hình 02 minh họa việc thực hiện transcoding giữa 02 thiết

bị đầu cuối A và B Thiết bị A sử dụng chuẩn mã hóa loại A,

được giải mã bởi bộ giải mã loại A, dữ liệu sau giải mã là dữ

liệu PCM 16 bit, dữ liệu sau đó được mã hóa lại theo chuẩn

mã hóa của điện thoại B, sử dụng bộ mã hóa loại B Chiều

người lại được thực hiện tương tự Khi đó thiết bị A và B có

thể thưc hiện đàm thoại bình thường mặc dù khác nhau chuẩn

mã hóa

CODEC A

Điện

thoại A

Điện thoại B

CODEC B

Dữ liệu PCM

Hình 2: Mô tả kỹ thuật transcoding

Tín hiệu tiếng nói sau microphone của một thiết bị đầu cuối

là tín hiệu liên tục trong miền thời gian Trước khi đi qua các

bộ mã hóa/giải mã tiếng nói, tín hiệu được chia thành các

khung dữ liệu với độ dài 10 – 20ms Các khung này khi truyền

trong mạng IP được biểu diễn thành các gói (packet) dữ liệu

với độ dài tương ứng Bảng 1 mô tả độ dài khung và kích thước

của một số loại gói dữ liệu tiếng nói theo tiêu chuẩn ITU,

3GPP

Bảng 1: Một số mã hóa/giải mã trong mạng lõi viễn thông

Codec

Tần số lấy mẫu (kHz)

Chiều dài gói (ms)

Kích thước gói (byte)

2 Tính chất thưa của dữ liệu tiếng nói và vấn đề gặp phải

Thông thường trong một cuộc hội thoại, người sử dụng không nói liên tục, mà có những khoảng thời gian yên lặng để

có thể nghe người phía đối diện nói Khi biểu diễn tín hiệu tiếng nói, tín hiệu thường chứa các khoảng lặng xen kẽ, chúng tôi gọi là tín hiệu thưa trên miền thời gian

Hình 3: Tín hiệu tiếng nói thưa trong miền thời gian Giả sử tín hiệu tiếng nói thưa trong hình 3 được chia thành các khung dữ liệu 20ms Dễ dàng nhận thấy rằng sẽ tồn tại rất nhiều các khung có dữ liệu dạng x(n) = {0,0,0….0} kích thước

N phần tử, hoàn toàn không chứa giá trị hữu ích mang thông tin tiếng nói Nếu các đoạn dữ liệu x(n) này được đưa vào mã hóa sẽ tốn hiệu năng tính toán vô ích để ra được dữ liệu y(n) = {0,0,0…0} kích thước M phần tử (M < N)

III G IẢI PHÁP ĐỀ XUẤT NÂNG CAO HIỆU NĂNG

1 Ý tưởng của giải pháp

Ý tưởng của chúng tôi là thực hiện việc nhận diện và phân loại các khung dữ liệu tiếng nói thành 02 dạng:

+ Dữ liệu chứa thông tin có ích: Thực hiện mã hóa/ giải

mã dữ liệu một cách bình thường + Dữ liệu nằm trong khoảng lặng (trắng): Không thực hiện mã hóa/giải mã dữ liệu mà gán trực tiếp kết quả đầu ra do đã chắc chắn biết được dữ liệu sau mã hóa/giải mã của khung dữ liệu trắng

Việc nhận diện các gói dữ liệu được thực hiện thông qua việc tính giá trị năng lượng của khung dữ liệu theo công thức:

2 0 ( )

N n

=

trong đó P là mức năng lượng đo được của khung dữ liệu, N là

số phần tử trong khung dữ liệu Việc định nghĩa một ngưỡng giá trị Pthreshold sẽ cho phép xác định x(n) có chứa giá trị hữu ích hay không Trên thực tế, phương trình (1) có thể được đơn giản hóa như sau để giảm bớt số lượng phép tính mà vẫn giữ nguyên ý nghĩa trong tính toán:

0 ( )

N simple n

=

2 Triển khai giải pháp

Một bộ tính toán và so sánh năng lượng tín hiệu với Ptheshold luôn được triển khai trước các bộ mã hóa/giải mã (xem hình 4)

Bộ mã hóa/giải mã

Đo năng lượng frame dữ liệu

Lớn hơn P_threshold ?

Copy và thay thế pattern đầu ra

Y

N

Dữ liệu đầu

Hình 4: Lưu đồ triển khai giải pháp

Trang 3

Giải pháp có thể được triển khai dưới dạng giải thuật như

sau:

Int16 *InputBuffer; /*Con trỏ đến khung dữ liệu cần tính toán*/

B1: Tính toán mức năng lượng của khung dữ liệu theo kích thước

P = 0; /* Khởi tạo mức năng lượng P = 0*/

N = PacketSize; /*N là kích thước dữ liệu đầu vào*/

M = OutSize; /*M là kích thước dữ liệu đầu ra*/

P_LEVEL = P_threshold;

for(i = 0; i < N; i++)

{

P = P + InputBuffer[i]*InputBuffer[i];

}

B2: So sánh mức năng lượng đo được với mức ngưỡng định nghĩa

trước

if(P >= P_LEVEL)

{

/* Thực hiện hàm mã hóa/giải mã dữ liệu ở đây */;

}

else /*Thực hiện thiết lập đầu ra bằng 0 nếu mức năng lượng thấp

hơn ngưỡng*/

{

memset(OutputBuffer,0,M);

}

B3: Lặp lại B1 cho khung dữ liệu tiếp theo

IV KẾT QUẢ

1 Thiết lập mô hình thử nghiệm

Đầu vào: Chuẩn bị 01 file dữ liệu đầu vào input.pcm

chiều dài 2 phút, máy tính sử dụng CPU Intel Core i7,

2.2GHz, bộ thư viện mã hóa/giải mã chuẩn AMRNB

Thiết lập mô hình 1: Thực hiện mã hóa + giải mã file dữ

liệu đầu vào theo lưu đồ thông thường, đo thời gian xử lý

của máy tính (xem hình 5)

Bộ mã hóa

Đọc dữ liệu đầu vào

x(n) từ 01 file pcm

Ghi dữ liệu đầu ra ra file

Hình 5: Mã hóa, giải mã file dữ liệu theo mô hình thông

thường Thiết lập mô hình đề xuất (xem hình 6): Thực hiện mã

hóa + giải mã file dữ liệu đầu vào theo lưu đồ xử lý có

chọn lọc, đo thời gian xử lý của máy tính Mức ngưỡng

cho bộ mã hóa được thiết lập P_ENC = 500 và bộ giải mã

P_DEC = 2500

Yêu cầu với kết quả và phép đo so sánh:

- Chất lượng dữ liệu tiếng nói file khôi phục khi áp dụng cả

02 mô hình phải giống nhau Trên miền thời gian, sử dụng

phần mềm Audacity [11] để phân tích định tính bằng mắt,

so sánh, đảm bảo các mẫu dữ liệu là giống nhau

- Sử dụng công cụ VQT (Voice Quality Test) được mua từ

GL Communication [12] để đánh giá định lượng chất

lượng thoại dựa trên điểm MOS (Mean Opinion Square)

theo tiêu chuẩn ITU P.863 [13]

Bộ mã hóa

Đo năng lượng frame dữ liệu

Lớn hơn P_threshold ?

Copy và thay thế pattern đầu ra

Y N

đầu vào x(n)

từ 01 file pcm theo các

mã hóa

P

Bộ giải mã

Đo năng lượng frame dữ liệu P_threshold ?Lớn hơn

Copy và thay thế pattern đầu ra

Y

N

Ghi dữ liệu đầu ra ra file

P

Hình 6: Mã hóa, giải mã file dữ liệu theo phương pháp đề xuất

2 Kết quả

Chất lượng file tín hiệu sau mã hóa, giải mã bằng 02 mô hình được kiểm tra bằng hiển thị trên phần mềm Audacity như hình 7:

Hình 7: Tín hiệu file tiếng nói đầu ra của 02 mô hình được so

sánh trên phần mềm Audacity Đánh giá bằng cảm quan, định tính trên Audacity cho thấy

02 file có biên độ và giá trị dữ liệu giống nhau ở cùng tọa độ thời gian Kiểm tra bằng phần mềm VQT đều cho mức điểm MOS đạt mức cao nhất “xuất sắc (Excellent)” Điều này chứng minh việc thực hiện giải pháp đề xuất mã hóa/giải mã chọn lọc các gói dữ liệu tiếng nói không làm ảnh hưởng tới chất lượng tiếng nói

Với cùng 02 mô hình này, chúng tôi thay đổi độ dài file đầu vào theo bước nhảy 30s, sau đó đo thời gian mã hóa + giải mã file tương ứng theo các mốc +30s, cho kết quả trong bảng 2 Bảng 2: So sánh thời gian xử lý giữa 02 mô hình thử nghiệm

Độ dài file (s)

Thời gian xử lý (s)

Trang 4

390 3.1 2.21

Với kết quả so sánh thời gian xử lý của 02 mô hình bên trên

đã chứng minh phương pháp đề xuất của nhóm tác giả cho tốc

độ xử lý nhanh hơn ~30% so với mô hình mã hóa/giải mã

thông thường do không cần thực thi mã hóa, giải mã tiếng nói

trong các khoảng thời gian tín hiệu trắng, không mang dữ liệu

có ích Nhóm nghiên cứu đã tiếp tục thực hiện trên nhiều đoạn

âm thanh khác nhau và thu được các kết quả tương tự về việc

tăng hiệu năng xử lý (dao động từ 26% tới 31%)

V KẾT LUẬN

Các kết quả trong các bài đo kiểm thử nghiệm của bài báo

đã chứng minh phương pháp đề xuất của chúng tôi đem lại hiệu

quả tốt ở cả hai khía cạnh: chất lượng tiếng nói và hiệu năng hệ

thống Về chất lượng tiếng nói, phương pháp đề xuất không

làm ảnh hưởng đến chất lượng tiếng nói so với việc mã

hóa/giải mã tiếng nói thông thường, trong khi về hiệu năng lại

giúp tăng nhanh tốc độ xử lý của hệ thống ~30% Đối với các

hệ thống lõi di động có lượng phần cứng triển khai lớn như

MSC, GMSC, việc tăng tốc độ xử lý ~30% là rất đáng kể Việc

tăng tốc độ xử lý cũng đồng nghĩa với việc sẽ tiết kiệm được

30% phần cứng xử lý để đạt được cùng mức hiệu năng trước

đó

Trên cơ sở những nghiên cứu đã thực hiện [14-17], trong

định hướng nghiên cứu tiếp theo, chúng tôi dự kiến thực hiện

tối ưu việc tính năng lượng tín hiệu bằng ít phép tính nhất có

thể, từ đó tiếp tục nâng mức cải thiện hiệu năng hệ thống lên 35

– 40%

Lời cảm ơn: Kết quả của bài báo là một phần trong đề tài

“Nghiên cứu phát triển hệ thống Gate MSC hỗ trợ TDM” mã

số 002-18-TĐ-RĐP-DS Chúng tôi xin gửi lời cảm ơn tới các

đồng nghiệp tại Trung tâm Công nghệ Chuyển mạch, TCT

Công nghiệp Công nghệ cao Viettel đã hỗ trợ thực hiện và thử

nghiệm các kết quả đề tài

TÀILIỆUTHAMKHẢO

[1] ITU G.711 : Pulse code modulation (PCM) of voice frequencies; ITU-T

Recommendation (11/1988), Retrieved on 2009-07-08

[2] ITU-T (2003) ITU-T Recommendation G.722.2 Page i Retrieved on 2009-06-17

[3] 3GPP TS 26.090 - Mandatory Speech Codec speech processing functions; Adaptive Multi-Rate (AMR) speech codec; Transcoding functions" 3GPP Retrieved 2010-07-21

[4] 3GPP TS 26.290; Audio codec processing functions; Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Transcoding functions, Page 10, Retrieved on 2009-07-08

[5] ETSI EN 300 961 V8.1.1 (2000-11) - (GSM 06.10 version 8.1.1 Release 1999), Retrieved on 2009-07-08

[6] ETSI, EN 300 969 - Half rate speech transcoding (GSM 06.20 version 8.0.1 Release 1999), Retrieved on 2009-07-11

[7] Kushnick, Bruce (7 January 2013) "What Are the Public Switched Telephone Networks, 'PSTN' and Why You Should Care?" Huffington Post Blog Retrieved 11 April 2014

[8] Nespeca, Claudio (August 18, 2018) "What Is VoIP" Epik Networks Retrieved August 18, 2018

[9] RFC 3551 - GSM-EFR (GSM 06.60), Retrieved on 2009-07-08 [10] Atti, V.; Sinder, D J.; Subasingha, S.; Rajendran, V.; Dewasurendra, D.; Chebiyyam, V.; Varga, I.; Krishnan, V.; Schubert, B (2015-04-01)

"Improved error resilience for volte and VoIP with 3GPP EVS channel aware coding" 2015 IEEE International Conference on Acoustics,

doi:10.1109/ICASSP.2015.7179066

[12] Voice Quality Testing (VQT) Software (POLQA, PESQ), https://www.gl.com/voicequality-testing-pesq-polqa.html, access: June

26, 2018

[13] ITU P.863 “Perceptual objective listening quality prediction”, March

2018

[14] Dinh Van, Phong and Nguyen The, Hieu and Nguyen Huy, Tinh and Dinh Viet, Quan and Tran Duc, Tan (2018) Một Số Cải Tiến Kỹ Thuật Trong Chuyển Đổi Mã Hóa Tiếng Nói Băng Rộng Và Băng Hẹp Áp Dụng Trên Mạng Viễn Thông Di Động Viettel In: Hội nghị Quốc gia lần thứ XXI về Điện tử, Truyền thông và Công nghệ Thông tin, 14-15 /

12 / 2018, Ha noi, Viet nam

[15] Dinh Van, Phong and Nguyen The, Hieu and Nguyen Huy, Tinh and Dinh Viet, Quan and Tran Duc, Tan (2019) Removing Long Echo Delay Using Combination of Jitter Buffer and Adaptive Filter In: International

Telecommunications & Computing (SigTelCom), 21-22 March, 2019, Hanoi, Vietnam

[16] Tam Vu Van,Tran Duc-Tan, Phan Trong Hanh (2017) Data embedding

in audio signal using multiple bit marking layers method Multimedia Tools and Applications, 76(9), 11391-11406

[17] Vu, V T., Tran, D T., Nguyen, D T., Nguyen, T T., & Phan, T H (2015) Data embedding in audio signal by a novel bit marking method International Journal of Advancements in Computing Technology, 7(1),

pp 67-76

Ngày đăng: 18/03/2021, 13:37

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w