Code rate control method and device for voice communication, electronic equipment and storage medium

Through the terminal's historical call quality indicators and current network quality indicators, the voice call quality is estimated and the encoding rate is dynamically adjusted, which solves the problem of poor voice call quality caused by the encoding rate lag, and achieves higher call quality and network resource optimization.

CN120301871APending Publication Date: 2025-07-11VIVO MOBILE COMM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510399165.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-01
Publication Date
2025-07-11

AI Technical Summary

Technical Problem

In the existing voice call technology, there is a lag in the adjustment of encoding rate, resulting in poor voice call quality, especially inability to respond in time when the network state changes.

Method used

Through the terminal's historical call quality indicators and current network quality indicators, the call quality of this voice call is estimated, the encoding rate is dynamically adjusted, and the predicted bit rate control is achieved to avoid lag adjustment caused by feedback loop delay.

Benefits of technology

It improves the quality of voice calls, avoids the coding rate adjustment lag caused by feedback loop delay, and optimizes network resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120301871A_ABST
    Figure CN120301871A_ABST
Patent Text Reader

Abstract

The invention discloses a code rate control method and device for voice communication, electronic equipment and a storage medium, and belongs to the technical field of communication. The method comprises the following steps: acquiring a historical call quality index of a terminal and a current network quality index of the terminal under the condition that the terminal establishes a voice call; under the condition that the historical call quality index is lower than a call quality threshold value and the current network quality index is not lower than a network quality threshold value, setting the code rate of the voice call as a first code rate; wherein the first code rate is the maximum code rate of the voice call.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technologies, and particularly relates to a method and apparatus for controlling the bit rate of a voice call, an electronic device, and a storage medium. Background Art

[0002] In related technologies, voice call technologies such as Voice over LTE (VoLTE) technology or Voice over New Radio (VoNR) technology use the Internet Protocol (IP) data network to transmit voice, rather than the traditional circuit-switched network. Among them, the coding rate of the call voice is an important factor affecting the voice call quality and network resource utilization. The selection of the coding rate not only affects the user experience but also relates to the optimal utilization of network resources. Considering different network conditions, dynamically adjusting the coding rate can achieve a good balance between voice quality and resource utilization.

[0003] Although dynamically switching the voice bit rate according to network quality parameters can optimize the voice quality to a certain extent. For example, when a call connection is established, the terminal device pays attention to changes in the network situation. After the network situation changes, the coding rate is adjusted according to the changed network situation.

[0004] However, the network state parameters need to be reported periodically by the base station or measured actively by the terminal, resulting in a feedback loop delay. For example, in a Long Term Evolution (LTE) network, the Radio Resource Control (RRC) signaling interaction delay may cause the adjustment instruction of the coding rate to lag behind the actual channel change, that is, the adjustment of the voice call bit rate lags, resulting in poor voice call quality. Summary of the Invention

[0005] The purpose of the embodiments of this application is to provide a method and apparatus for controlling the bit rate of a voice call, an electronic device, and a storage medium, which can solve the problem of poor voice call quality.

[0006] In a first aspect, the embodiments of this application provide a method for controlling the bit rate of a voice call, which is executed by a terminal. The method includes:

[0007] When a voice call is established by the terminal, obtain the historical call quality index of the terminal and the current network quality index of the terminal;

[0008] When the historical call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold, set the bit rate of the voice call to the first bit rate; where the first bit rate is the maximum bit rate corresponding to the voice call.

[0009] Second aspect, an embodiment of the present application provides a bitrate control device for voice calls, which is applied to a terminal. The bitrate control device includes:

[0010] An acquisition module, configured to acquire the historical call quality index of the terminal and the current network quality index of the terminal when the terminal establishes a voice call;

[0011] A setting module, configured to set the bitrate of the voice call to a first bitrate when the historical call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold; wherein, the first bitrate is the maximum bitrate corresponding to the voice call.

[0012] Third aspect, an embodiment of the present application provides an electronic device, including a processor and a memory. The memory stores a program or instruction that can be run on the processor. When the program or instruction is executed by the processor, the steps of the method in the first aspect are implemented.

[0013] Fourth aspect, an embodiment of the present application provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method in the first aspect are implemented.

[0014] Fifth aspect, an embodiment of the present application provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor, and the processor is configured to run a program or instruction to implement the steps of the method in the first aspect.

[0015] Sixth aspect, an embodiment of the present application provides a computer program product, which is stored in a storage medium. The program product is executed by at least one processor to implement the method in the first aspect.

[0016] In the embodiment of the present application, before the terminal starts a voice call, the possible call quality experience of this voice call is estimated through the historical call quality index of the terminal, so as to pre-adjust the call bitrate of this voice call. Compared with the method of dynamically switching the voice bitrate according to network quality parameters, the embodiment of the present application can achieve predictive bitrate adjustment, so it can avoid the situation that the adjustment instruction of the coding rate lags behind the actual channel deterioration due to the feedback loop delay, thereby improving the voice call quality. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 Shows a flowchart of a bitrate control method for voice calls in some embodiments of the present application;

[0018] Figure 2 Shows a flowchart of voice call bitrate control in some embodiments of the present application;

[0019] Figure 3The flowchart of the voice call bitrate control according to some embodiments of the present application is shown;

[0020] Figure 4 The block diagram of the structure of the voice call bitrate control device according to some embodiments of the present application is shown;

[0021] Figure 5 The block diagram of the structure of an electronic device according to an embodiment of the present application is shown;

[0022] Figure 6 It is a schematic diagram of the hardware structure of an electronic device for implementing an embodiment of the present application. Detailed implementation manners

[0023] Next, the technical solutions in the embodiments of the present application will be clearly described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are some, but not all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application belong to the scope of protection of the present application.

[0024] The terms "first", "second", etc. in the specification of the present application are used to distinguish similar objects, rather than to describe a specific order or sequence. It should be understood that such terms can be interchanged under appropriate circumstances so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. generally belong to the same category, and the number of objects is not limited. For example, the first object can be one or more. In addition, "and / or" in the specification means at least one of the connected objects, and the character " / " generally means an "or" relationship between the associated objects before and after.

[0025] Next, the voice call bitrate control method and device, electronic device, and storage medium provided by the embodiments of the present application will be described in detail in conjunction with the accompanying drawings through specific embodiments and their application scenarios.

[0026] In some embodiments of the present application, a voice call bitrate control method is provided, which is executed by a terminal. Figure 1 The flowchart of the voice call bitrate control method according to some embodiments of the present application is shown, as Figure 1 shown, the method includes:

[0027] Step 102, when a voice call is established on the terminal, obtain the historical call quality index of the terminal and the current network quality index of the terminal.

[0028] In the embodiments of the present application, the terminal is specifically a terminal with a voice call function. Exemplarily, the terminal includes but is not limited to a mobile phone, a smart wearable device, a vehicle-mounted device, a gateway device, or other smart devices with a voice call function.

[0029] The terminal establishes a voice call through VoLTE, VoNR, or other technologies that use an IP data network to transmit voice. Among them, the above terminal can be the end that initiates the voice call, that is, the calling side of the voice call. The terminal can also be the end that receives the voice call, that is, the called side of the voice call.

[0030] When the terminal initiates or answers a voice call connection, the terminal reads the historical call quality metrics stored in itself. Among them, the historical call quality metrics can reflect the average call quality of the terminal during voice calls over a period of time. Exemplarily, the historical call quality metrics can be obtained by collecting the call quality scores during each voice call and taking the average. Exemplarily, the historical call quality metrics are associated with factors such as the Real-time Transport Protocol (RTP) voice packet loss rate, the network jitter condition of the voice call, and the audio waveform in historical voice calls. It can be understood that the higher the historical call quality metrics, the better the call quality of the terminal.

[0031] The network quality metrics can reflect the network quality condition of the current terminal. Exemplarily, the network quality metrics are associated with the signal strength of the terminal, the distance between the terminal and the connected base station, and the congestion degree of the connected base station. It can be understood that the higher the network quality metrics, the better the network connection condition of the current terminal.

[0032] Step 104, when the historical call quality metrics are lower than the call quality threshold and the current network quality metrics are not lower than the network quality threshold, set the bit rate of the voice call to the first bit rate; where the first bit rate is the maximum bit rate of the voice call.

[0033] In the embodiments of the present application, the call quality threshold is used to evaluate whether the call quality of the terminal can meet the call quality requirements. When the historical call quality metrics are lower than the call quality threshold, it means that the call quality of the current terminal's voice call is generally not ideal, and it is predicted that the possibility of poor call quality for this call is greater. At this time, the network quality metrics are further obtained. When the historical call quality metrics are higher than or equal to the call quality threshold, it means that the call quality of the terminal's voice call is generally good and can meet the requirement of clear call, and there is no need to pre-adjust the bit rate of the voice call.

[0034] Exemplarily, whenever a voice call is in progress on the terminal, the current call is scored in real time. The scoring range can be from 0 to 5 points. The higher the score, the higher the call quality. The call quality score recorded each time is denoted as Tt. After each call ends, the call quality score of this call is stored and participates in the recalculation of the historical call quality score Th. Exemplarily, the historical call quality score can be calculated by the following formula (1):

[0035]

[0036] where Th is the historical call quality score, Tt1 is the first recorded historical call quality score, Tt2 is the second recorded historical call quality score, Tti is the i-th recorded historical call quality score, Ttn is the n-th recorded historical call quality score, and n is the number of recorded historical call quality scores.

[0037] The network quality threshold is used to evaluate the current network connection status of the terminal. When the network quality index is lower than the network quality threshold, it indicates that the network quality of the terminal is poor, which may be caused by poor signal, crowded base stations, etc. At this time, the network bandwidth may be less than the normal level. When the network quality index is higher than or equal to the network quality threshold, it indicates that the network quality of the terminal is good and the network bandwidth is sufficient to carry the data transmission volume required for high-bitrate calls.

[0038] In the embodiments of the present application, based on the historical call quality index of the terminal, the possible call quality of this voice call is predicted, so as to dynamically adjust the voice coding rate in the voice call, that is, the bitrate of the above voice call. Exemplarily, when the historical call quality index is lower than the above call quality threshold, it indicates that the default bitrate cannot meet the call quality requirements. At this time, if the current network quality index is higher than or equal to the network quality threshold, it indicates that the network quality is good and the network bandwidth is sufficient to carry high-bitrate voice data, then the bitrate of the voice call is set to the maximum call bitrate, that is, the above first bitrate. By increasing the bitrate of the voice call when the network quality is good, the voice call quality can be improved.

[0039] If the current network quality index is lower than the network quality threshold, it indicates that the network quality is poor and the network bandwidth may decrease. At this time, no bitrate setting is performed, and the decision method of dynamically adjusting the bitrate of the voice call based on the network quality is continued.

[0040] Before the terminal starts a voice call, this application estimates the possible call quality experience of this voice call through the historical call quality indicators of the terminal, so as to pre-adjust the call bit rate of this voice call. Compared with the method of dynamically switching the voice bit rate according to network quality parameters, the embodiments of this application can achieve predictive bit rate adjustment, so it can avoid the situation where the adjustment instruction of the coding rate lags behind the actual channel deterioration due to the feedback loop delay, thereby improving the voice call quality.

[0041] In some embodiments of this application, after obtaining the historical call quality indicator of the terminal and the current network quality indicator of the terminal, the method further includes: when the historical call quality indicator is not lower than the call quality threshold, obtaining the current call quality indicator of the terminal; when the current call quality indicator is lower than the call quality threshold and the current network quality indicator is not lower than the network quality threshold, setting the bit rate of the voice call to the first bit rate.

[0042] In the embodiments of this application, after the terminal starts a voice call, the terminal obtains the current call quality indicator of the voice call in real time. Among them, the current voice call indicator is associated with the RTP voice packet loss rate and the jitter situation. It can be understood that the higher the current call quality indicator, the better the voice call quality.

[0043] By establishing a call quality prediction system based on historical call quality indicators and integrating real-time call quality, dynamic adjustment of the bit rate of voice calls can be achieved.

[0044] Exemplarily, if the historical call quality indicator is not lower than the call quality threshold, it means that the call quality of the voice call of this terminal is generally good and can meet the requirement of clear call. At this time, the terminal will not pre-adjust the bit rate of the voice call. After the voice call starts, the terminal obtains the current call quality indicator of the voice call in real time, and judges whether the voice call quality meets the requirement according to the comparison result between the current call quality indicator and the call quality threshold.

[0045] If the current call quality indicator is lower than the call quality threshold, it means that the real-time voice call quality is poor. At this time, the network quality indicator is further obtained. If the network quality indicator is not lower than the network quality threshold, the bit rate of the voice call is set to the maximum value, that is, the above-mentioned first bit rate.

[0046] If the current call quality indicator is not lower than the call quality threshold, it means that the voice call quality is acceptable, and at this time, the call bit rate is not adjusted.

[0047] If the current call quality index is lower than the call quality threshold, but the network quality index is also lower than the network quality threshold, it indicates that the poor call quality is caused by network fluctuations. In this case, the decision-making method of dynamically adjusting the bit rate of the voice call based on the network quality is continued.

[0048] In this application, by predicting the call quality of the next voice call based on the historical call quality score, the bit rate that can optimize the call quality is preset, and after the call connection is established, the bit rate of the voice call is dynamically adjusted for the second time based on the real-time call quality, realizing a closed-loop control based on "prediction-verification-execution", effectively avoiding the strong opening where the adjustment instruction of the coding rate lags behind the actual channel deterioration due to the feedback loop delay, thereby improving the voice call quality.

[0049] In some embodiments of this application, after obtaining the historical call quality index of the terminal and the current network quality index of the terminal, the method further includes: when both the historical call quality index and the current call quality index are not lower than the call quality threshold, controlling the terminal to negotiate the bit rate with the network device carrying the voice call; determining a second bit rate based on the result of the bit rate negotiation; setting the bit rate of the voice call to the second bit rate.

[0050] In the embodiments of this application, if the historical call index of the terminal is not lower than the call quality threshold, and the current call quality index obtained by the terminal in real time is also not lower than the call quality threshold, it indicates that the call quality of the terminal can meet the requirements at this time. Then, the terminal is controlled to negotiate the bit rate with the network device carrying the current voice call, such as devices like base stations, gateways or routers.

[0051] Exemplarily, taking the terminal as a mobile phone and the network device carrying the voice call as a base station, the mobile phone and the base station respectively send bit rate information to each other, and negotiate at which bit rate the voice data in this voice call process is transmitted through the bit rate information.

[0052] For example, if the result of the bit rate negotiation between the terminal and the network device is to send voice data at the second bit rate, then the bit rate of this voice call is set to the second bit rate. It can be understood that when the first bit rate is the maximum bit rate, the second bit rate is less than or equal to the first bit rate.

[0053] In this application, when the call quality can meet the requirements, the bit rate of this call is determined based on the result of the bit rate negotiation, so the maximum compatibility of multiple different voice call connections can be achieved.

[0054] In some embodiments of this application, after the terminal establishes a voice call, the method further includes: when it is detected that the terminal reconstructs the radio resource control connection, setting the bit rate of the voice call to the first bit rate.

[0055] In the embodiments of the present application, when a communication anomaly interruption occurs during the communication process of the terminal, the terminal will reconstruct the radio resource control connection, that is, perform RRC reconnection (RRC Connection Re-establishment). After the terminal has an RRC reconnection, the bit rate of the voice call is set to the maximum bit rate, and the call bit rate is further dynamically adjusted based on the real-time call quality and network quality.

[0056] After the terminal performs RRC reconnection in the present application, the bit rate is set to the maximum bit rate, so as to provide an adjustment space for the bit rate adjustment in the subsequent call process, and the call quality can be improved.

[0057] In some embodiments of the present application, after the terminal establishes a voice call, the method further includes: when the terminal is in a moving state and the moving speed is greater than the speed threshold, setting the bit rate of the voice call to a third bit rate; wherein, the third bit rate is lower than the first bit rate.

[0058] In the embodiments of the present application, after the terminal establishes a voice call, the terminal detects its own motion state through its own motion sensors, such as a Global Positioning System (GPS) sensor or a gyroscope, etc., so as to determine whether the terminal is in a high-speed motion state.

[0059] Wherein, when it is detected that the electronics is in a moving state and the moving speed of the terminal is detected to be greater than the speed threshold, it is determined that the terminal is in a high-speed motion state. A possible situation is that the terminal is on a moving transportation device, such as taking a car, subway, high-speed train, etc.

[0060] When the terminal is in a high-speed motion state, the network connection of the terminal may fluctuate. When the terminal leaves the signal coverage range of the current base station, the terminal needs to disconnect from this base station and quickly connect to the next base station. This process of base station handover may cause network fluctuations of the terminal. At the same time, when the terminal is moving at high speed, the communication channel between the terminal and the base station may also become unstable, which will cause the channel bandwidth to become narrower.

[0061] Therefore, when it is determined that the terminal is in a high-speed motion state, the bit rate of the voice call is set to the third bit rate. The third bit rate is less than the maximum bit rate, that is, the first bit rate.

[0062] Exemplarily, common voice encoders include AMR (Adaptive Multi-Rate), AMR-WB (Adaptive Multi-Rate Wideband), and EVS (Enhanced Voice Services). Among them, the coding rate of AMR-WB includes 9 gears, as shown in Table 1 specifically:

[0063] Table 1

[0064]

[0065]

[0066] Among them, gear 1 is the first gear, that is, the encoding rate corresponding to the first gear is 23.85 Kbit / s. At this time, the third code rate does not exceed the second gear, that is, the third code rate is less than or equal to 23.05 Kbit / s.

[0067] AMR has eight coding rates, as shown in Table 2:

[0068] Table 2

[0069] Coding rate Gear position 4.75 Kbit / s 8 5.15 Kbit / s 7 5.9 Kbit / s 6 6.7 Kbit / s 5 7.4 Kbit / s 4 7.95 Kbit / s 3 10.2 Kbit / s 2 12.2 Kbit / s 1

[0070] Among them, gear 1 is the first gear, that is, the encoding rate corresponding to the first gear is 212.2 Kbit / s. At this time, the third code rate does not exceed the second gear, that is, the third code rate is less than or equal to 10.2 Kbit / s.

[0071] This application adjusts the call bit rate based on the movement state of the terminal, can identify high-speed movement time, avoid call quality fluctuations caused by misjudgment due to complex scenarios, and can improve the call quality of voice calls.

[0072] In some embodiments of the present application, illustratively, Figure 2 A flow chart of voice call rate control in some embodiments of the present application is shown. Figure 2 As shown, the method includes:

[0073] Step 202, call initiation;

[0074] Step 204, obtaining a historical call quality indicator Th and a current call quality indicator Tt;

[0075] Step 206, determine whether Th<Td is satisfied; if yes, proceed to step 210, otherwise proceed to step 208;

[0076] Step 208, determine whether Tt<Td is satisfied; if yes, proceed to step 210, otherwise end;

[0077] Step 210: Perform bit rate control.

[0078] Wherein, Td is the call quality threshold.

[0079] In the embodiments of the present application, when a call is initiated, the terminal can be the calling party (Mobile Originate, MO) or the called party (Mobile Terminate, MT) of a voice call. When Th < Td, it is predicted that the current voice call experience is poor, and voice coding rate control should be immediately initiated. When Th > Td, it is continued to determine whether the current real-time call quality Tt is less than the call quality threshold Td. When Tt > Td, it indicates that the current user call quality is good, and voice coding rate control is not initiated. When Tt < Td, it indicates that the user call quality is poor, and voice coding rate control is enabled.

[0080] Exemplarily, Figure 3 shows a flowchart of bit rate control for some embodiments of the present application, as Figure 3 shown, the method includes:

[0081] Step 302, a call is initiated;

[0082] Step 304, determine whether to perform an RRC reconnection; if yes, go to step 310A, otherwise go to step 306;

[0083] Step 306, determine whether it is high-speed movement; if yes, go to step 310C, otherwise go to step 308;

[0084] Step 308, determine whether to enable bit rate control; if yes, go to step 310A, otherwise go to step 310B;

[0085] Step 310A, set the bit rate to the first gear;

[0086] Step 310B, perform bit rate negotiation;

[0087] Step 310C, set the bit rate not exceeding the second gear.

[0088] Among them, if the terminal initiates an RRC reconnection, the voice coding rate is set to the first gear bit rate. If the RRC reconnection behavior is not initiated, the built-in sensor is activated to detect whether it is currently in a high-speed state, and the high-speed state is identified by highspeedflag. If it is in a high-speed state, the current voice coding rate is adjusted not to exceed the second gear, and the specific gear can be determined according to the negotiation result.

[0089] The present application aggregates historical call quality experiences, estimates the user's next call quality, and dynamically adjusts the voice coding rate according to the real-time call quality of the new call, realizing a closed-loop control of "prediction-verification-execution". It effectively avoids misjudgment problems caused by delays. At the same time, events such as RRC connection reconstruction and high-speed movement are integrated into the bit rate control algorithm, avoiding voice quality fluctuations caused by misjudgment of complex scenarios.

[0090] The bitrate control method for voice calls provided by the embodiments of this application may be executed by a bitrate control device for voice calls. In the embodiments of this application, taking the bitrate control device for voice calls executing the bitrate control method for voice calls as an example, the bitrate control device for voice calls provided by the embodiments of this application is described.

[0091] In some embodiments of this application, a bitrate control device for voice calls is provided, which is applied to a terminal. Figure 4 The structural block diagram of the bitrate control device for voice calls in some embodiments of this application is shown, as Figure 4 shown, the bitrate control device 400 includes:

[0092] An acquisition module 402, configured to acquire the historical call quality index of the terminal and the current network quality index of the terminal when the terminal establishes a voice call;

[0093] A setting module 404, configured to set the bitrate of the voice call to a first bitrate when the historical call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold; wherein, the first bitrate is the maximum bitrate of the voice call.

[0094] Before the terminal starts a voice call, this application estimates the possible call quality experience of this voice call through the historical call quality index of this terminal, so as to pre-adjust the call bitrate of this voice call. Compared with the method of dynamically switching the voice bitrate according to network quality parameters, the embodiments of this application can achieve predictive bitrate adjustment, so it can avoid the situation that the adjustment instruction of the coding rate lags behind the actual channel deterioration due to the feedback loop delay, thereby improving the voice call quality.

[0095] In some embodiments of this application, the acquisition module is further configured to acquire the current call quality index of the terminal when the historical call quality index is not lower than the call quality threshold.

[0096] The setting module is further configured to set the bitrate of the voice call to the first bitrate when the current call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold.

[0097] This application predicts the call quality of the next voice call based on the historical call quality score, so as to preset the bitrate that can optimize the call quality, and after the call connection is established, perform secondary dynamic adjustment on the bitrate of the voice call based on the real-time call quality, realizing a closed-loop control based on "prediction-verification-execution", effectively avoiding the situation that the adjustment instruction of the coding rate lags behind the actual channel deterioration due to the feedback loop delay, thereby improving the voice call quality.

[0098] In some embodiments of the present application, the bitrate control device further includes:

[0099] A negotiation module, configured to control the terminal to negotiate the bitrate with the network device carrying the voice call when both the historical call quality indicator and the current call quality indicator are not lower than the call quality threshold;

[0100] A determination module, configured to determine a second bitrate based on the result of the bitrate negotiation;

[0101] A setting module is further configured to set the bitrate of the voice call to the second bitrate.

[0102] When the call quality of the present application can meet the requirements, the bitrate of this call is determined based on the result of the bitrate negotiation. Therefore, the maximum compatibility of multiple different voice call connections can be achieved.

[0103] In some embodiments of the present application, the bitrate control device further includes:

[0104] A setting module is further configured to set the bitrate of the voice call to the first bitrate when it is detected that the terminal reconstructs the radio resource control connection.

[0105] After the terminal performs RRC reconnection in the present application, the bitrate is set to the maximum bitrate, thereby providing an adjustment space for the bitrate adjustment in the subsequent call process and being able to improve the call quality.

[0106] In some embodiments of the present application, the setting module is further configured to set the bitrate of the voice call to a third bitrate when the terminal is in a moving state and the moving speed is greater than the speed threshold; wherein, the third bitrate is lower than the first bitrate.

[0107] By adjusting the call bitrate based on the motion state of the terminal, the present application can identify the high-speed movement time, avoid the call quality fluctuation caused by misjudgment due to complex scenarios, and improve the call quality of the voice call.

[0108] The bitrate control device for voice calls in the embodiments of the present application can be an electronic device or a component in an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal or other devices other than terminals. Exemplarily, the electronic device can be a mobile phone, a tablet computer, a laptop computer, a handheld computer, a vehicle-mounted electronic device, a Mobile Internet Device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc. It can also be a server, a Network Attached Storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc. The embodiments of the present application do not make specific limitations.

[0109] The bitrate control device for voice calls in the embodiments of the present application can be a device with an operating system. The operating system can be the Android operating system, the iOS operating system, or other possible operating systems. The embodiments of the present application do not make specific limitations.

[0110] The bitrate control device for voice calls provided in the embodiments of the present application can implement each process implemented in the above method embodiments. To avoid repetition, it will not be elaborated here.

[0111] Optionally, the embodiments of the present application further provide an electronic device. Figure 5 The block diagram of the electronic device according to the embodiments of the present application is shown. As Figure 5 shown, the electronic device 500 includes a processor 502, a memory 504, a program or instruction stored on the memory 504 and executable on the processor 502. When the program or instruction is executed by the processor 502, it implements each process of the above method embodiments and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.

[0112] It should be noted that the electronic devices in the embodiments of the present application include the above-mentioned mobile electronic devices and non-mobile electronic devices.

[0113] Figure 6 It is a schematic diagram of the hardware structure of an electronic device for implementing the embodiments of the present application.

[0114] The electronic device 600 includes, but is not limited to, components such as a radio frequency unit 601, a network module 602, an audio output unit 603, an input unit 604, a sensor 605, a display unit 606, a user input unit 607, an interface unit 608, a memory 609, and a processor 610.

[0115] Those skilled in the art can understand that the electronic device 600 may further include a power source (such as a battery) for supplying power to each component. The power source can be logically connected to the processor 610 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption management through the power management system. Figure 6 The structure of the electronic device shown does not limit the electronic device. The electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.

[0116] Among them, the processor 610 is used to obtain the historical call quality index of the terminal and the current network quality index of the terminal when a voice call is established on the terminal; when the historical call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold, set the code rate of the voice call to the first code rate; where the first code rate is the maximum code rate of the voice call.

[0117] Before the terminal starts a voice call, this application estimates the possible call quality experience of this voice call through the historical call quality index of the terminal, so as to pre-adjust the call code rate of this voice call. Compared with the method of dynamically switching the voice code rate according to network quality parameters, the embodiments of this application can achieve predictive code rate adjustment, so it can avoid the situation that the adjustment instruction of the coding rate lags behind the actual channel deterioration due to the feedback loop delay, thereby improving the voice call quality.

[0118] In some embodiments, the processor 610 is further used to obtain the current call quality index of the terminal when the historical call quality index is not lower than the call quality threshold; when the current call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold, set the code rate of the voice call to the first code rate.

[0119] This application predicts the call quality of the next voice call according to the historical call quality score, pre-sets the code rate that can optimize the call quality, and after the call connection is established, performs secondary dynamic adjustment on the code rate of the voice call based on the real-time call quality, realizing a closed-loop control based on "prediction-verification-execution", effectively avoiding the situation that the adjustment instruction of the coding rate lags behind the actual channel deterioration due to the feedback loop delay, thereby improving the voice call quality.

[0120] In some embodiments, the processor 610 is further configured to control the terminal to perform bitrate negotiation with the network device carrying the voice call when both the historical call quality metric and the current call quality metric are not lower than the call quality threshold; determine a second bitrate based on the result of the bitrate negotiation; and set the bitrate of the voice call to the second bitrate.

[0121] In this application, when the call quality can meet the requirements, the bitrate of this call is determined based on the result of the bitrate negotiation, so that the maximum compatibility of multiple different voice call connections can be achieved.

[0122] In some embodiments, the processor 610 is further configured to set the bitrate of the voice call to the first bitrate when it is detected that the terminal reconstructs the radio resource control connection.

[0123] In this application, after the terminal performs RRC reconnection, the bitrate is set to the maximum bitrate, so as to provide an adjustment space for the bitrate adjustment in the subsequent call process, and the call quality can be improved.

[0124] In some embodiments, the processor 610 is further configured to obtain the motion state information of the terminal; when the terminal is in a motion state and the motion speed is greater than the speed threshold, set the bitrate of the voice call to a third bitrate; wherein, the third bitrate is lower than the first bitrate.

[0125] In this application, by adjusting the call bitrate based on the motion state of the terminal, the high-speed movement time can be recognized, and the call quality fluctuation caused by misjudgment due to complex scenarios can be avoided, and the call quality of the voice call can be improved.

[0126] It should be understood that in the embodiments of this application, the input unit 604 may include a graphics processing unit (GPU) 6041 and a microphone 6042. The graphics processing unit 6041 processes the image data of static pictures or videos obtained by an image capture device (such as a camera) in the video capture mode or the image capture mode. The display unit 606 may include a display panel 6061, and the display panel 6061 may be configured in the form of a liquid crystal display, an organic light-emitting diode, etc. The user input unit 607 includes at least one of a touch panel 6071 and other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include two parts: a touch detection device and a touch controller. The other input devices 6072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and a joystick, which will not be elaborated here.

[0127] The memory 609 can be used to store software programs and various kinds of data. The memory 609 mainly includes a first storage area for storing programs or instructions and a second storage area for storing data. Among them, the first storage area can store an operating system, application programs or instructions required for at least one function (such as a sound playback function, an image playback function, etc.). In addition, the memory 609 can include volatile memory or non-volatile memory, or the memory 609 can include both volatile and non-volatile memory. Among them, the non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash memory. The volatile memory can be a Random Access Memory (RAM), a Static RAM (SRAM), a Dynamic RAM (DRAM), a Synchronous DRAM (SDRAM), a Double Data Rate SDRAM (DDR SDRAM), an Enhanced SDRAM (ESDRAM), a Synchlink DRAM (SLDRAM), and a Direct Rambus RAM (DRRAM). The memory 609 in the embodiments of the present application includes but is not limited to these and any other suitable types of memory.

[0128] The processor 610 can include one or more processing units; optionally, the processor 610 integrates an application processor and a modem processor. Among them, the application processor mainly processes operations related to the operating system, user interface, and application programs, etc., and the modem processor mainly processes wireless communication signals, such as a baseband processor. It can be understood that the above-mentioned modem processor may not be integrated into the processor 610 either.

[0129] The embodiments of the present application also provide a readable storage medium. Programs or instructions are stored on the readable storage medium. When the programs or instructions are executed by a processor, each process of the above method embodiments is implemented, and the same technical effects can be achieved. To avoid repetition, it will not be elaborated here.

[0130] Among them, the processor is the processor in the electronic device in the above-mentioned embodiment. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs, etc.

[0131] Another embodiment of the present application provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement each process of the above method embodiment, and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.

[0132] It should be understood that the chip mentioned in the embodiment of the present application can also be referred to as a system-on-chip, system chip, chip system, or system-on-chip, etc.

[0133] The embodiment of the present application provides a computer program product. The program product is stored in a storage medium and is executed by at least one processor to implement each process of the above method embodiment, and can achieve the same technical effects. To avoid repetition, it will not be elaborated here.

[0134] It should be noted that in this article, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including a..." does not exclude the existence of additional identical elements in the process, method, article or device including that element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in a reverse order according to the functions involved. For example, the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0135] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-described embodiment methods can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions for causing a terminal (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods of various embodiments of the present application.

[0136] The embodiments of the present application have been described above in conjunction with the accompanying drawings. However, the present application is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present application, those of ordinary skill in the art can also make many forms without departing from the purpose of the present application and the scope protected by the claims, and all of them belong to the protection scope of the present application.

Claims

1. A bit rate control method for voice calls, which is executed by a terminal, characterized in that The method includes: When a voice call is established on the terminal, obtaining the historical call quality index of the terminal and the current network quality index of the terminal; When the historical call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold, setting the bit rate of the voice call to a first bit rate; wherein, the first bit rate is the maximum bit rate corresponding to the voice call.

2. The bit rate control method according to claim 1, characterized in that After obtaining the historical call quality index of the terminal and the current network quality index of the terminal, the method further includes: When the historical call quality index is not lower than the call quality threshold, obtaining the current call quality index of the terminal; When the current call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold, setting the bit rate of the voice call to the first bit rate.

3. The bit rate control method according to claim 1, characterized in that After obtaining the historical call quality index of the terminal and the current network quality index of the terminal, the method further includes: When both the historical call quality index and the current call quality index are not lower than the call quality threshold, the terminal negotiates the bit rate with the network device carrying the voice call; Determining a second bit rate based on the result of the bit rate negotiation; Setting the bit rate of the voice call to the second bit rate.

4. The bit rate control method according to any one of claims 1 to 3, characterized in that, After the terminal establishes the voice call, the method further includes: When the terminal re - establishes a radio resource control connection, setting the bit rate of the voice call to the first bit rate.

5. The bitrate control method according to any one of claims 1 to 3, characterized in that After the terminal establishes the voice call, the method further includes: When the terminal is in a moving state and the moving speed is greater than the speed threshold, setting the bit rate of the voice call to a third bit rate; wherein, the third bit rate is lower than the first bit rate.

6. A bit rate control device for voice calls, applied to a terminal, characterized in that, The bit rate control device includes: An obtaining module, configured to obtain the historical call quality index of the terminal and the current network quality index of the terminal when a voice call is established on the terminal; A setting module, configured to set the bit rate of the voice call to a first bit rate when the historical call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold; wherein, the first bit rate is the maximum bit rate corresponding to the voice call.

7. The bit rate control device according to claim 6, wherein: The obtaining module is further configured to obtain the current call quality index of the terminal when the historical call quality index is not lower than the call quality threshold; The setting module is further configured to set the bit rate of the voice call to the first bit rate when the current call quality index is lower than the call quality threshold and the current network quality index is not lower than the network quality threshold.

8. The bit rate control device according to claim 7, characterized in that, The bit rate control device further includes: A negotiation module, configured to control the terminal to negotiate the bit rate with the network device carrying the voice call when both the historical call quality index and the current call quality index are not lower than the call quality threshold. A determination module, configured to determine a second bit rate based on a result of bit rate negotiation; The setting module is further configured to set the bit rate of the voice call to the second bit rate.

9. The bit rate control device according to any one of claims 6 to 8, characterized in that, The bit rate control device further includes: The setting module is further configured to set the bit rate of the voice call to a first bit rate when detecting that the terminal reconstructs a radio resource control connection.

10. The bit rate control device according to any one of claims 6 to 8, wherein The setting module is further configured to set the bit rate of the voice call to a third bit rate when the terminal is in a moving state and a moving speed is greater than a speed threshold; wherein the third bit rate is lower than the first bit rate.

11. An electronic device, characterized in that, Comprising a processor and a memory, the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 5 are implemented.

12. A readable storage medium, characterized in that, A program or instruction is stored on the readable storage medium, and when the program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.