# US 2016/0366274 A1 · Voice Quality Evaluation Method, Apparatus, and System

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2016/0366274 A1
- Document ID: US20160366274A1
- Status: Published application
- Kind: A1
- Application number: 15/248,079
- Filed: 2016-08-26
- Published: 2016-12-15
- Earliest claimed: 2014-05-05
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Fuzheng Yang; Xuemin Li; Liangliang Jiang; Wei Xiao
- Web page: https://patentgrep.com/patent/US20160366274A1

## CPC

- H04M 7/006: {Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP) , including next generation networks with a packet-switched transport layer (H04L65/00 takes precedence; aspects not specific to the type of network H04M3/00; special services in those networks H04M3/42)}
- G10L 25/69: for evaluating synthetic or decoded voice signals
- H04M 3/22: Arrangements for supervision, monitoring or testing
- H04M 3/2236: {Quality of speech transmission monitoring}
- G10L 19/005: Correction of errors induced by the transmission channel, if related to the coding algorithm
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

A voice quality evaluation method, apparatus, and system comprises an obtained voice data packet is parsed, and a frame content characteristic of the data packet is determined according to a parse result, for example, the frame content characteristic is a silence frame and a voice frame. Then, a voice sequence is divided into statements according to the determined frame content characteristic, and the statements are divided into multiple frame loss events; after non-voice parameters are extracted according to the frame loss events, voice quality of each statement is evaluated according to a preset voice quality evaluation model and according to the non-voice parameters. Finally, voice quality of the entire voice sequence is evaluated according to the voice quality of each statement. By using this solution, prediction precision can be improved significantly, and accuracy of an evaluation result can be improved.

## Claims

### Claim 1

A voice quality evaluation method comprising:
obtaining a voice data packet comprising a voice sequence;
parsing the data packet to obtain a parse result;
determining a first frame content characteristic of the voice data packet according to the parse result, wherein the first frame content characteristic comprises a silence frame and a voice frame;
dividing the voice sequence into statements according to the first frame content characteristic;
dividing the statements into frame loss events;
extracting non-voice parameters according to the frame loss events, wherein the non-voice parameters comprise a location parameter and a discrete distribution parameter;
evaluating a voice quality of each of the statements according to a preset voice quality evaluation model and according to the non-voice parameters; and
evaluating a voice quality of the voice sequence according to the voice quality of each statement.

### Claim 2 (depends on 1)

The method of claim 1, wherein parsing the data packet comprises parsing a packet header of the data packet to obtain the parse result, wherein the parse result comprises a duration of the voice sequence, a bit quantity of the voice sequence, a frame loss location, and a voice load; and wherein determining the first frame content characteristic comprises:
determining, in the data packet according to the frame loss location, a frame loss part that needs to be detected;
determining a second frame content characteristic of a previous adjacent non-lost frame and a third frame content characteristic of a subsequent adjacent non-lost frame of the frame loss part according to the duration, the bit quantity, and the voice load; and
determining a fourth frame content characteristic of the frame loss part according to the second frame content characteristic, the third frame content characteristic, and a mark of the subsequent adjacent non-lost frame.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining the second frame content characteristic and the third frame content characteristic comprises:
obtaining an actual valid payload length of the previous adjacent non-lost frame or the subsequent adjacent non-lost frame;
determining a bit rate according to the voice load, the bit quantity, and the duration;
determining that the previous adjacent non-lost frame or the subsequent adjacent non-lost frame is a voice frame when a standard valid payload length corresponding to the bit rate is consistent with the actual valid payload length; and
determining that the previous adjacent non-lost frame or the subsequent adjacent non-lost frame is a silence frame when the standard valid payload length is inconsistent with the actual valid payload length.

### Claim 4 (depends on 3)

The method of claim 3, wherein determining the fourth frame content characteristic comprises:
determining that the frame loss part is a silence frame when both the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are silence frames or when the mark indicates that the subsequent adjacent non-lost frame is a first voice frame; and
determining that the frame loss part is a voice frame when either the previous adjacent non-lost frame or the subsequent adjacent non-lost frame is not a silence frame and when the mark does not indicate that the subsequent adjacent non-lost frame is a first voice frame.

### Claim 5 (depends on 4)

The method of claim 4, wherein the voice frame comprises a key voice frame and a non-key voice frame, and wherein determining that the frame loss part is a voice frame comprises:
determining that the frame loss part is a key voice frame when both the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are voice frames;
determining that a first half of the frame loss part is a key voice frame and a second half of the frame loss part is a non-key voice when the previous adjacent non-lost frame is a voice frame and the subsequent adjacent non-lost frame is a silence frame; and
determining that a first half of the frame loss part is a non-key voice frame and a second half of the frame loss part is a key voice frame when the previous adjacent non-lost frame is a silence frame and the subsequent adjacent non-lost frame is a voice frame.

### Claim 6 (depends on 4)

The method of claim 4, wherein dividing the voice sequence and dividing the statements comprises:
dividing a voice sequence prior to silence frames into the statements when a quantity of consecutive silence frames exceeds a preset quantity; and
determining that two adjacent frame loss parts in the statements are one frame loss event when a distance between the two adjacent frame loss parts is less than or equal to a preset distance; and
determining that the two adjacent frame loss parts are two frame loss events when the distance is greater than the preset distance.

### Claim 7 (depends on 4)

The method according to claim 4, wherein evaluating the voice quality of each of the statements comprises:
performing distortion mapping on the frame loss event according to the preset voice quality evaluation model and the non-voice parameters to obtain a total quantity of lost voice frames; and
calculating the voice quality of each of the statements according to the total quantity.

### Claim 8 (depends on 7)

The method of claim 7, wherein the non-voice parameters comprise a distance between a non-key voice frame and a key voice frame, a quantity of times of voice frame loss, a voice frame length lost at a time, and an impairment length, wherein performing the distortion mapping comprises:
mapping a non-key voice frame in the frame loss event to a quantity of lost key voice frames according to the distance;
determining a quantity of actually lost key voice frames according to the quantity of times of voice frame loss; and
mapping the frame loss event to the total quantity of lost voice frames according to the quantity of actually lost key voice frames and the quantity of lost key voice frames, when frames are lost consecutively; and
mapping impaired frames in the frame loss event to a quantity of lost voice frames according to the quantity of times of voice frame loss, the voice frame length lost at a time, and the impairment length;
determining a quantity of actually lost key voice frames according to the quantity of times of voice frame loss; and
mapping the frame loss event to the total quantity of lost voice frames according to the quantity of actually lost key voice frames and the quantity, of lost voice frames, obtained by mapping when frames are lost discretely; or
mapping the impaired frames in the frame loss event to the quantity of lost voice frames according to the voice frame length lost at a time, and the impairment length;
determining a quantity of actually lost key voice frames according to the quantity of times of voice frame loss; and
mapping the frame loss event to the total quantity of lost voice frames according to the quantity of actually lost key voice frames and the quantity of lost voice frames when frames are lost discretely.

### Claim 9 (depends on 7)

The method of claim 7, wherein the non-voice parameters comprise a distance between a non-key voice frame and a key voice frame, a quantity of times of voice frame loss, an average loss length, and an average impairment length, and wherein mapping the lost frames in different locations in the frame loss event and lost frames of different discrete distributions to the total quantity of lost voice frames according to the non-voice parameters comprises:
mapping a non-key voice frame in the frame loss event to a quantity of lost key voice frames according to the distance between a non-key voice frame and a key voice frame,
determining a quantity of actually lost key voice frames according to the quantity of times of voice frame loss, and
mapping the frame loss event to the total quantity of lost voice frames according to the quantity of actually lost key voice frames and the quantity of lost key voice frames when frames are lost consecutively; or
mapping the frame loss event to the total quantity of lost voice frames according to the average loss length and the average impairment length when frames are lost discretely.

### Claim 10 (depends on 1)

The method of claim 1, wherein parsing the data packet comprises:
parsing a packet header of the data packet to obtain the parse result comprising a duration of the voice sequence, a bit quantity of the voice sequence, a frame loss location, and a voice load;
performing adaptive multi-rate (AMR) decoding according to the voice load to obtain an AMR-decoded voice signal; and
calculating a frame energy and an average frame energy of each frame in the AMR-decoded voice signal according to the duration and the bit quantity, and
wherein determining the first frame content characteristic comprises:
determining, in the data packet according to the frame loss location, a frame loss part that needs to be detected;
determining a second frame content characteristic of a previous adjacent non-lost frame and a third frame content characteristic of a subsequent adjacent non-lost frame of the frame loss part according to the frame energy and the average frame energy; and
determining a fourth frame content characteristic of the frame loss part according to the second frame content characteristic and the third frame content characteristic.

### Claim 11 (depends on 10)

The method of claim 10, wherein determining the second frame content characteristic and the third frame content characteristic comprises:
determining that the previous non-lost frame or the subsequent non-lost frame is a silence frame when a frame energy of the previous non-lost frame or the subsequent non-lost frame is less than or equal to 0;
determining that the previous non-lost frame or the subsequent non-lost frame is a non-key voice frame when a frame energy of the previous non-lost frame or the subsequent non-lost frame is greater than 0 and less than the average frame energy; and
determining that the previous non-lost frame or the subsequent non-lost frame is a key voice frame when a frame energy of the previous non-lost frame or the subsequent non-lost frame is greater than the average frame energy.

### Claim 12 (depends on 11)

The method of claim 11, wherein determining the fourth frame content characteristic comprises:
determining that the frame loss part is a silence frame when the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are silence frames;
determining that the frame loss part is a key voice frame when the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are key voice frames;
determining that the frame loss part is a non-key voice frame when the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are non-key voice frames;
determining that a first half of the frame loss part is a key voice frame and a second half of the frame loss part is a non-key voice frame when the previous adjacent non-lost frame is a key voice frame and the subsequent adjacent non-lost frame is a silence frame;
determining that a first half of the frame loss part is a non-key voice frame and a second half of the frame loss part is a key voice frame when the previous adjacent non-lost frame is a silence frame and the subsequent adjacent non-lost frame is a key voice frame;
determining that the frame loss part is a key voice frame when the previous adjacent non-lost frame is a key voice frame and the subsequent adjacent non-lost frame is a non-key voice frame;
determining that the frame loss part is a key voice frame when the previous adjacent non-lost frame is a non-key voice frame and the subsequent adjacent non-lost frame is a key voice frame;
determining that the frame loss part is a non-key voice frame when the previous adjacent non-lost frame is a non-key voice frame and the subsequent adjacent non-lost frame is a silence frame; and
determining that the frame loss part is a non-key voice frame when the previous adjacent non-lost frame is a silence frame and the subsequent adjacent non-lost frame is a non-key voice frame.

### Claim 13

A voice quality evaluation apparatus comprising:
a memory storing instructions; and
a processor coupled to the memory and configured to:
obtain a data packet comprising a voice sequence;
parse the data packet to obtain a parse result;
determine a first frame content characteristic of the data packet according to the parse result, wherein the first frame content characteristic comprises a silence frame and a voice frame;
divide the voice sequence into statements according to the first frame content characteristic;
divide the statements into frame loss events;
extract non-voice parameters according to the frame loss events, wherein the non-voice parameters comprise a location parameter and a discrete distribution parameter;
evaluate voice quality of each of the statements according to a preset voice quality evaluation model and according to the non-voice parameters; and
evaluate voice quality of the voice sequence according to the voice quality of each statement.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the processor is further configured to:
parse a packet header of the data packet to obtain a parse result comprising duration of the voice sequence, a bit quantity of the voice sequence, a frame loss location, and voice load;
determine, in the data packet according to the frame loss location, a frame loss part that needs to be detected;
determine a second frame content characteristic of a previous adjacent non-lost frame and a third frame content characteristic of a subsequent adjacent non-lost frame of the frame loss part according to the duration, the bit quantity, and the voice load;
determine a mark of the subsequent adjacent non-lost frame; and
determine a fourth frame content characteristic of the frame loss part according to the second frame content characteristic, the third frame content characteristic, and the mark.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the processor is further configured to:
obtain an actual valid payload length of a non-lost frame;
determine a bit rate according to the voice load, the bit quantity, and the duration;
determine that the non-lost frame is a voice frame when a standard valid payload length corresponding to the bit rate is consistent with the actual valid payload length; and
determine that the non-lost frame is a silence frame when the standard valid payload length is inconsistent with the actual valid payload length.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the processor is further configured to:
determine that the frame loss part is a silence frame when both the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are silence frames or the mark indicates that the subsequent adjacent non-lost frame is a first voice frame;
determine that the frame loss part is a voice frame when either the previous adjacent non-lost frame or the subsequent adjacent non-lost frame is not a silence frame, and the mark does not indicate that the subsequent adjacent non-lost frame is a first voice frame.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the voice frame comprises a key voice frame and a non-key voice frame; and wherein the processor is further configured to:
determine that the frame loss part is a key voice frame when both the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are voice frames;
determine that a first half of the frame loss part is a key voice frame and a second half of the frame loss part is a non-key voice frame when the previous adjacent non-lost frame is a voice frame and the subsequent adjacent non-lost frame is a silence frame; and
determine that a first half of the frame loss part is a non-key voice frame and a second half of the frame loss part is a key voice frame when the previous adjacent non-lost frame is a silence frame and the subsequent adjacent non-lost frame is a voice frame.

### Claim 18 (depends on 13)

The apparatus of claim 13, wherein the processor is further configured to:
parse a packet header of the data packet to obtain the parse result, wherein the parse result comprises a duration of the voice sequence, a bit quantity of the voice sequence, a frame loss location, and a voice load;
perform adaptive multi-rate (AMR) decoding according to the voice load to obtain an AMR-decoded voice signal;
calculate a frame energy and an average frame energy of each frame in the AMR-decoded voice signal according to the duration and the bit quantity;
determine, in the data packet according to the frame loss location, a frame loss part that needs to be detected;
determine a second frame content characteristic of a previous adjacent non-lost frame and a third frame content characteristic of a subsequent adjacent non-lost frame of the frame loss part according to the frame energy and the average frame energy; and
determine a fourth frame content characteristic of the frame loss part according to the second frame content characteristic and the third frame content characteristic.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the processor is further configured to:
determine that the non-lost frame is a silence frame when a frame energy of the non-lost frame is less than or equal to 0;
determine that the non-lost frame is a non-key voice frame when the frame energy is greater than 0 and less than the average frame energy; and
determine that the non-lost frame is a key voice frame when the frame energy is greater than the average frame energy.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the processor is further configured to:
determine that the frame loss part is a silence frame when both the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are silence frames;
determine that the frame loss part is a key voice frame when both the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are key voice frames;
determine that the frame loss part is a non-key voice frame when both the previous adjacent non-lost frame and the subsequent adjacent non-lost frame are non-key voice frames;
determine that a first half of the frame loss part is a key voice frame and a second half of the frame loss part is a non-key voice frame when the previous adjacent non-lost frame is a key voice frame and the subsequent adjacent non-lost frame is a silence frame;
determine that a first half of the frame loss part is a non-key voice frame and a second half of the frame loss part is a key voice frame when the previous adjacent non-lost frame is a silence frame and the subsequent adjacent non-lost frame is a key voice frame;
determine that the frame loss part is a key voice frame when the previous adjacent non-lost frame is a key voice frame and the subsequent adjacent non-lost frame is a non-key voice frame;
determine that the frame loss part is a key voice frame when the previous adjacent non-lost frame is a non-key voice frame and the subsequent adjacent non-lost frame is a key voice frame;
determine that the frame loss part is a non-key voice frame when the previous adjacent non-lost frame is a non-key voice frame and the subsequent adjacent non-lost frame is a silence frame; and
determine that the frame loss part is a non-key voice frame when the previous adjacent non-lost frame is a silence frame and the subsequent adjacent non-lost frame is a non-key voice frame.
