Data processing methods, devices and storage media
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-19
- Publication Date
- 2026-08-14
AI Technical Summary
目前的带宽探测技术的灵敏度受带宽探测的周期大小影响:探测周期越小,灵敏度越高;探测周期越大,灵敏度越小
[0042]本发明实施例中,实时按照预定码率向服务器发送媒体数据,并接收服务器反馈的新预定码率;若新预定码率与预定码率之差大于码率阈值,则以新预定码率为基础,按照梯度增长的码率向服务器发送探测数据和媒体数据,接收服务器响应每个探测数据反馈的探测码率,直至接收的第i个探测码率满足预定条件时停止,确定出目标码率;i为大于等于1的整数;基于目的码率向服务器发送后续的媒体数据。由于本方案可以通过新预定码率与预定码率之差准确的确定出带宽环境的变化,进而通过新预定码率指导检测数据和媒体数据进行探测,确定当前信道的可用带宽,进而提高了音视频通信质量。
Smart Images

Figure CN116962614B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technology, and in particular to a data processing method, apparatus and storage medium. Background Technology
[0002] In real-time audio and video communication on mobile terminals, frequent movement across different bandwidth environments inevitably leads to sudden bandwidth fluctuations. If real-time audio and video communication is insensitive to these bandwidth changes, continuing to use the high-bandwidth transmission rate when the mobile device suddenly switches from a high-bandwidth network to a low-bandwidth network will cause network congestion and prolonged audio and video stuttering. Conversely, continuing to use the low-bandwidth transmission rate when the mobile device switches from a low-bandwidth network to a high-bandwidth network will result in low bandwidth utilization, leading to insufficient audio and video clarity. This places high demands on the sensitivity of mobile devices to bandwidth changes. The sensitivity of current bandwidth probing technologies is affected by the probe period: a shorter probe period results in higher sensitivity, while a longer probe period results in lower sensitivity. Frequent bandwidth probing inevitably increases the amount of data sent to the network, making network congestion more likely and affecting the quality of audio and video communication. In other words, a probe period that is too short leads to poor audio and video communication quality; a probe period that is too long results in insufficient sensitivity, also leading to poor audio and video communication quality. Summary of the Invention
[0003] The present invention provides a data processing method, apparatus and storage medium that can improve the communication quality of audio and video when switching bandwidth.
[0004] The technical solution of this invention is implemented as follows:
[0005] This invention provides a data processing method, including:
[0006] The system sends media data to the server in real time according to the predetermined bitrate and receives new predetermined bitrates from the server.
[0007] If the difference between the new predetermined bitrate and the predetermined bitrate is greater than the bitrate threshold, then based on the new predetermined bitrate, probe data and media data are sent to the server according to the bitrate increasing in a gradient, and the probe bitrate fed back by the server for each probe data is received, until the i-th probe bitrate received meets the predetermined condition, and the target bitrate is determined; i is an integer greater than or equal to 1.
[0008] The subsequent media data is sent to the server based on the target bitrate.
[0009] In the above scheme, the step of sending probe data and media data to the server based on the new predetermined bitrate and according to a gradient-increasing bitrate, receiving the probe bitrate feedback from the server for each probe data, and stopping when the received i-th probe bitrate meets a predetermined condition, to determine the target bitrate, includes:
[0010] The first probe data and the media data are sent to the server according to the new predetermined bitrate;
[0011] Receive the first probe code rate fed back by the server in response to the first probe data;
[0012] If the first probe bitrate is greater than the corresponding first bitrate threshold, then the second probe data and the media data are sent to the server according to a predetermined multiple of the new predetermined bitrate, until the received i-th probe bitrate is less than the corresponding i-th bitrate threshold;
[0013] The i-th probe code rate is determined to be the target code rate.
[0014] In the above scheme, the step of sending the second probe data and the media data to the server according to a predetermined multiple of the new predetermined bitrate if the first probe bitrate is greater than the corresponding first bitrate threshold, until the received i-th probe bitrate is less than the corresponding i-th bitrate threshold, includes:
[0015] If the first probe bitrate is greater than the product of the new predetermined bitrate and the first value, then the second probe data and the media data are sent to the server according to the second transmission bitrate formed by the product of the new predetermined bitrate and the second value, until the received i-th probe bitrate is less than the product of the i-th transmission bitrate and the first value.
[0016] In the above scheme, the step of sending media data to the server in real time according to a predetermined bitrate and receiving a new predetermined bitrate from the server includes:
[0017] The system sends the media data to the server in real time according to a predetermined bitrate and receives predetermined probe packets from the server.
[0018] The new predetermined code rate is extracted from the predetermined probe packet.
[0019] This invention also provides a data processing method, including:
[0020] The receiving terminal sends media data according to a predetermined bitrate, calculates a new predetermined bitrate based on the media data, and feeds it back to the terminal;
[0021] Upon receiving the probe data and media data sent by the terminal, the corresponding probe bitrate is determined based on each probe data, and the probe bitrate is fed back to the terminal. This process continues until the terminal receives the i-th probe data and the media data and feeds back the i-th probe bitrate to the terminal. The probe data is sent by the terminal based on the new predetermined bitrate and according to a gradient-increasing bitrate when the difference between the new predetermined bitrate and the predetermined bitrate is greater than the bitrate threshold.
[0022] The terminal receives the subsequent media data sent at the destination bitrate; the destination bitrate is determined by the terminal through the received probe bitrate.
[0023] In the above scheme, receiving the probe data and the media data sent by the terminal, determining the corresponding probe bitrate based on each probe data, and feeding back the probe bitrate to the terminal, until the i-th probe data and the media data are received and the i-th probe bitrate is fed back to the terminal, includes:
[0024] Receive the first probe data and the media data sent by the terminal at the new predetermined bit rate;
[0025] The first detection bitrate is determined based on the first detection data and the media data, and the first detection bitrate is fed back to the terminal;
[0026] The system receives the second probe data and the media data sent by the terminal at a predetermined multiple of the new predetermined bit rate, and stops when the i-th probe bit rate is fed back to the terminal.
[0027] In the above scheme, determining the first probe bitrate based on the first probe data and the media data includes one of the following:
[0028] If the data capacity of the first probe data and the media data is less than the maximum local bandwidth capacity, then the data capacity is determined to be the first probe bit rate;
[0029] If the data capacity of the first probe data and the media data is not less than the maximum local bandwidth capacity, then the first probe bit rate is determined based on the maximum local bandwidth capacity.
[0030] This invention also provides a data processing apparatus, comprising:
[0031] The first transmitting and receiving unit is used to transmit media data to the server in real time according to a predetermined bitrate, and to receive a new predetermined bitrate fed back by the server.
[0032] The first determining unit is configured to, if the difference between the new predetermined bitrate and the predetermined bitrate is greater than a bitrate threshold, send probe data and media data to the server based on the new predetermined bitrate and according to a gradient-increasing bitrate, receive the probe bitrate fed back by the server for each probe data, and stop when the received i-th probe bitrate meets a predetermined condition, thereby determining the target bitrate; i is an integer greater than or equal to 1.
[0033] The first transmitting and receiving unit is used to send the subsequent media data to the server based on the destination bitrate.
[0034] This invention also provides a data processing apparatus, comprising:
[0035] The second transmitting and receiving unit is used to receive media data transmitted by the terminal according to a predetermined bit rate, calculate a new predetermined bit rate based on the media data, and feed it back to the terminal.
[0036] The second transmitting and receiving unit is used to receive the probe data and the media data sent by the terminal, determine the corresponding probe bitrate based on each probe data, and feed back the probe bitrate to the terminal, until the i-th probe data and the media data are received and the i-th probe bitrate is fed back to the terminal; the probe data is sent by the terminal based on the new predetermined bitrate and according to the gradient increasing bitrate when the difference between the new predetermined bitrate and the predetermined bitrate is greater than the bitrate threshold;
[0037] The second transmitting and receiving unit is configured to receive the subsequent media data transmitted by the terminal at a destination bitrate; the destination bitrate is determined by the terminal through the received probe bitrate.
[0038] This invention also provides a data processing apparatus, including a first memory and a first processor. The first memory stores a computer program that can run on the first processor. When the first processor executes the program, it implements the steps in the method on the terminal side.
[0039] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a first processor, implements the steps of the method on the terminal side.
[0040] This invention also provides a data processing apparatus, including a second memory and a second processor. The second memory stores a computer program that can run on the second processor. When the second processor executes the program, it implements the steps in the method on the server side.
[0041] This invention also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a second processor, implements the steps of the method on the server side.
[0042] In this embodiment of the invention, media data is sent to the server in real time according to a predetermined bitrate, and a new predetermined bitrate is received from the server. If the difference between the new predetermined bitrate and the original predetermined bitrate is greater than a bitrate threshold, probe data and media data are sent to the server based on the new predetermined bitrate and at a gradually increasing bitrate. The server responds with the probe bitrate for each probe data, and the process continues until the i-th probe bitrate meets a predetermined condition, thus determining the target bitrate. Here, i is an integer greater than or equal to 1. Subsequent media data is then sent to the server based on the target bitrate. Because this scheme can accurately determine changes in the bandwidth environment through the difference between the new predetermined bitrate and the original predetermined bitrate, and then guide the probe data and media data to determine the available bandwidth of the current channel using the new predetermined bitrate, the quality of audio and video communication is improved. Attached Figure Description
[0043] Figure 1 A schematic flowchart of an optional data processing method provided in an embodiment of the present invention;
[0044] Figure 2 A schematic flowchart of an optional data processing method provided in an embodiment of the present invention;
[0045] Figure 3 A schematic flowchart of an optional data processing method provided in an embodiment of the present invention;
[0046] Figure 4 A schematic flowchart of an optional data processing method provided in an embodiment of the present invention;
[0047] Figure 5 A schematic flowchart of an optional data processing method provided in an embodiment of the present invention;
[0048] Figure 6 An interactive schematic diagram of the data processing method provided in an embodiment of the present invention;
[0049] Figure 7 Schematic diagram of the data processing apparatus provided in the embodiments of the present invention Figure 1 ;
[0050] Figure 8 A hardware entity illustration of the data processing device provided in the embodiments of the present invention. Figure 1 ;
[0051] Figure 9 Schematic diagram of the data processing apparatus provided in the embodiments of the present invention Figure 2 ;
[0052] Figure 10 A hardware entity illustration of the data processing device provided in the embodiments of the present invention. Figure 2 . Detailed Implementation
[0053] To make the objectives, technical solutions, and advantages of the present invention clearer, the technical solutions of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be regarded as limitations on the present invention. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0054] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0055] If similar descriptions such as "first / second" appear in the invention document, the following explanation shall be added: In the following description, the terms "first / second / third" are used only to distinguish similar objects and do not represent a specific order of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of the invention described herein can be implemented in an order other than that illustrated or described herein.
[0056] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein is for the purpose of describing embodiments of the invention only and is not intended to limit the invention.
[0057] This invention provides a data processing method; please refer to [link / reference]. Figure 1 This is an optional flowchart illustrating a data processing method provided in an embodiment of the present invention, which will be combined with... Figure 1 The steps shown are explained.
[0058] S101. Send media data to the server in real time according to the predetermined bitrate, and receive the new predetermined bitrate from the server.
[0059] In this embodiment of the invention, the terminal sends media data to the server in real time according to a predetermined bitrate, and receives a new predetermined bitrate from the server.
[0060] In this embodiment of the invention, the terminal sends media data to the server according to the predetermined bitrate fed back by the server.
[0061] In this embodiment of the invention, the terminal sends media data to the server at a predetermined bitrate under the current bandwidth environment. After receiving the media data, the server calculates the new predetermined bitrate by calculating the capacity of the media data received from the terminal per unit time.
[0062] Media data includes audio data, video data, text data, and other media data.
[0063] S102. If the difference between the new predetermined bitrate and the predetermined bitrate is greater than the bitrate threshold, then based on the new predetermined bitrate, probe data and media data are sent to the server according to the bitrate increasing in a gradient, and the probe bitrate fed back by the server for each probe data is received, until the i-th probe bitrate received meets the predetermined condition and stops, thus determining the target bitrate.
[0064] In this embodiment of the invention, if the difference between the newly calculated predetermined bitrate and the predetermined bitrate is greater than a bitrate threshold, then based on the new predetermined bitrate, probe data and media data are sent to the server according to a gradient-increasing bitrate. The terminal receives the probe bitrate feedback from the server for each probe data, and stops when the received i-th probe bitrate meets a predetermined condition, thus determining the target bitrate. i is an integer greater than or equal to 1.
[0065] In this embodiment of the invention, the terminal performs gradient calculation on each predetermined bitrate fed back by the server and the previous bitrate. If the difference between the new predetermined bitrate and the predetermined bitrate is greater than a bitrate threshold, the terminal triggers bandwidth probing. The terminal sends padding packets and media data to the server at the new predetermined bitrate. The server feeds back the probe bitrate for this probe. If the probe bitrate is greater than the product of the new predetermined bitrate and a first threshold, the terminal sends padding packets and media data to the server again at twice the new predetermined bitrate. This continues until the i-th probe bitrate received by the terminal is less than the product of the corresponding transmission bitrate and the first threshold, thus determining the target bitrate.
[0066] In this embodiment of the invention, when a user moves from a high-bandwidth environment to a low-bandwidth environment, or vice versa, the difference between the new predetermined bitrate and the predetermined bitrate will exceed the bitrate threshold. Alternatively, a change in the bandwidth of the environment in which the terminal device is located will also cause the difference between the new predetermined bitrate and the predetermined bitrate to exceed the bitrate threshold.
[0067] S103. Send subsequent media data to the server based on the destination bitrate.
[0068] In this embodiment of the invention, the terminal sends subsequent media data to the server based on the target bitrate.
[0069] In this embodiment of the invention, the terminal sets the target bitrate to the bitrate of the media data sent by the paced sender module.
[0070] In this embodiment of the invention, the terminal sends media data to the server in real time according to a predetermined bitrate and receives a new predetermined bitrate from the server. If the difference between the new predetermined bitrate and the predetermined bitrate is greater than a bitrate threshold, then based on the new predetermined bitrate, probe data and media data are sent to the server at a gradually increasing bitrate. The terminal receives the probe bitrate from the server in response to each probe data, until the received i-th probe bitrate meets a predetermined condition, thus determining the target bitrate; i is an integer greater than or equal to 1. Subsequent media data is then sent to the server based on the target bitrate. Because this scheme can accurately determine changes in the bandwidth environment through the difference between the new predetermined bitrate and the predetermined bitrate, and then guide the probe data and media data to be probed using the new predetermined bitrate, the available bandwidth of the current channel is determined, thereby improving the quality of audio and video communication.
[0071] This invention provides a data processing method; please refer to [link / reference]. Figure 2 This is an optional flowchart illustrating a data processing method provided in an embodiment of the present invention, which will be combined with... Figure 2 The steps shown are explained.
[0072] S301, Filler Pack.
[0073] S302, Media Data.
[0074] S303, Transmitter.
[0075] In this embodiment of the invention, at the beginning of the audio / video call between the terminal and the server, a padding packet is sent to probe bandwidth based on the current sending bitrate. Assuming the bitrate of the i-th transmission is k, if the sending bitrate does not exceed the current environment's bandwidth limit, the actual probed bitrate value reported by the receiving end is greater than 0.75*k, and the bitrate of the (i+1)-th transmission is set to 2k, continuing the probe. If the probed bitrate value received from the server in the i-th transmission is less than the sending bitrate value k*0.75, the bandwidth probe ends, and the bandwidth limit is the probed bitrate value of the i-th transmission.
[0076] S304, RTP transmission.
[0077] In this embodiment of the invention, the terminal sends a Real-time Transport Protocol (RTP) packet composed of the padding packet and media data to the server.
[0078] S305, RTP receiver.
[0079] In this embodiment of the invention, the server receives RTP packets.
[0080] S306, Kalman filter.
[0081] S307, Detection.
[0082] In this embodiment of the invention, during a call, the terminal sends media packets to the server. The server uses a bandwidth estimation module to estimate the real-time bandwidth and returns REMB (Receiver Estimated Maximum Bitrate) to the sender via RTCP. The terminal adjusts the transmission of media data according to the REMB-guided transmission bitrate.
[0083] S308, Rate Control.
[0084] S309, Pretreatment.
[0085] S310, Detection estimation.
[0086] S311, REMB procedure.
[0087] S312, RTCP send.
[0088] In this embodiment of the invention, the server can calculate the probe bitrate corresponding to the media data sent by the terminal using a Kalman filter. The server then sends the RTCP packet generated from the probe bitrate to the terminal.
[0089] S313, RTCP reception.
[0090] S314, REMB.
[0091] Alternatively, after receiving the REMB, the terminal performs bandwidth change gradient calculation based on the Sender probe controller module to guide the timing of triggering bandwidth detection.
[0092] S315, Sender Detection and Control Unit.
[0093] In this embodiment of the invention, if the sender probe controller module triggers bandwidth detection, bandwidth detection is performed according to S303. If bandwidth detection is not triggered, proceed to S304 to S314.
[0094] In this embodiment of the invention, during the bandwidth detection period, the terminal performs bandwidth detection according to S303 and sets the bit rate of the transmitted media data to the pacedsender module; during the non-bandwidth detection period, the bandwidth value carried by REMB is set to the pacedsender to control the bit rate of the transmitted media data.
[0095] In this embodiment of the invention, the terminal combines the advantages of real-time bandwidth estimation based on transmission bitrate and available bandwidth detection based on padding data to provide a solution for bitrate control when the mobile terminal moves in different bandwidth environments. It uses real-time bandwidth estimation to determine the trend of bandwidth changes and uses bandwidth detection to determine the exact value of available bandwidth, and adjusts the transmission bitrate of media data in a timely manner, which greatly improves the quality of audio and video communication during frequent changes in available bandwidth.
[0096] The implementation of this proposal is mainly divided into two modules: real-time bandwidth adjustment based on media transmission bitrate and available bandwidth detection based on padding data. The real-time bandwidth adjustment module based on media transmission bitrate can be further divided into two parts: a bandwidth estimation module based on media transmission bitrate and a bandwidth adjustment strategy module based on the bandwidth estimation value. The bandwidth adjustment strategy module based on the bandwidth estimation value controls the triggering of bandwidth detection. If triggered, it uses available bandwidth detection based on padding data to detect available bandwidth.
[0097] In some embodiments, Figure 1 The shown S101 can also be implemented by S104 to S107, which will be explained in conjunction with each step.
[0098] S104. Send the first probe data and media data to the server according to the new predetermined bitrate.
[0099] In this embodiment of the invention, the terminal sends the first probe data and media data to the server according to the new predetermined bitrate.
[0100] In this embodiment of the invention, the terminal generates the first probe data according to the new predetermined bitrate, and packages the first probe data with the media data into an RTP packet and sends it to the server.
[0101] S105, Receive the first probe code rate fed back by the server in response to the first probe data.
[0102] In this embodiment of the invention, the terminal receives the first probe code rate fed back by the server in response to the first probe data.
[0103] In this embodiment of the invention, after receiving the first probe data and media data, the server determines the first probe bitrate based on the capacity of the first probe data and media data. The server then feeds back the first probe bitrate to the terminal.
[0104] S106. If the first probe bit rate is greater than the corresponding first bit rate threshold, then the second probe data and media data are sent to the server according to a predetermined multiple of the new predetermined bit rate, until the received i-th probe bit rate is less than the corresponding i-th bit rate threshold.
[0105] In this embodiment of the invention, if the first probe bit rate is greater than the corresponding first bit rate threshold, the terminal sends the second probe data and media data to the server according to a predetermined multiple of the new predetermined bit rate, until the received i-th probe bit rate is less than the corresponding i-th bit rate threshold.
[0106] The first bit rate threshold can be determined by the corresponding new predetermined bit rate. The i-th bit rate threshold can be determined by the corresponding bit rate of the i-th transmission.
[0107] The predetermined multiple of the new predetermined bitrate can be 2 or 3 times the new predetermined bitrate. In this embodiment of the invention, no specific limitation is placed on the predetermined multiple of the new predetermined bitrate.
[0108] S107. Determine the i-th probe code rate as the target code rate.
[0109] In this embodiment of the invention, the terminal determines the i-th probe code rate as the target code rate.
[0110] For example, the terminal can send the i-th probe data and media data at a bitrate of 3M / s. The i-th bitrate threshold can be 3 × 0.75, which is 2.25. When the server reports a probe bitrate of 2M / s for the i-th probe, the i-th probe bitrate of 2M / s is less than 2.25, and thus the terminal can determine that the target bitrate is 2M / s.
[0111] In this embodiment of the invention, the terminal sends probe data and media values to the server by gradually increasing the transmission bit rate until it is determined that the i-th probe bit rate is less than the corresponding i-th bit rate threshold. The target bit rate is then determined, which means the available bandwidth of the current channel is determined, thereby improving the quality of audio and video communication.
[0112] This invention provides a data processing method; please refer to [link / reference]. Figure 3 This is an optional flowchart illustrating a data processing method provided in an embodiment of the present invention. S104 to S107 shown can be implemented via S316 to S321. (The last sentence appears to be incomplete and possibly refers to a different process.) Figure 3 The steps shown are explained.
[0113] S316, Transmission Rate Control.
[0114] In this embodiment of the invention, the terminal sends media data at a predetermined bitrate, which is packaged into RTP packets and sent to the server.
[0115] S317, Kalman filter.
[0116] In this embodiment of the invention, after receiving the RTP packet, the server calculates the bitrate of the received media data and uses Kalman filtering to calculate the new predetermined bitrate of the media data sent by the terminal that the server receives in real time.
[0117] S318, receiver rate feedback module.
[0118] In this embodiment of the invention, the server packages the newly received predetermined bitrate into an RTCP packet in REMB format through the bitrate feedback module and feeds it back to the terminal.
[0119] S319, Bandwidth Change Calculation Module.
[0120] S320, Is the bandwidth gradient greater than the bandwidth threshold?
[0121] In this embodiment of the invention, the terminal calculates the absolute value of the bandwidth change gradient Abs(Grad(i)) based on the newly predetermined bitrate. If it is greater than a threshold, bandwidth detection is triggered; otherwise, proceed to step S321. In this embodiment of the invention, the terminal inputs the new predetermined bitrate fed back in step S318 into the transmission bitrate control module, and the media data transmission bitrate is controlled according to this bitrate.
[0122] S321, Available bandwidth detection.
[0123] In this embodiment of the invention, the terminal sends probe data and media data to the server based on a new predetermined bitrate and according to a gradient increasing bitrate. The terminal receives the probe bitrate fed back by the server for each probe data and stops when the received i-th probe bitrate meets the predetermined condition, thus determining the target bitrate.
[0124] In some embodiments, the illustrated S106 can be implemented by S108, which will be described in conjunction with the steps.
[0125] S108. If the first probe code rate is greater than the product of the new predetermined code rate and the first value, then the second probe data and media data are sent to the server according to the second transmission code rate formed by the product of the new predetermined code rate and the second value, until the received i-th probe code rate is less than the product of the i-th transmission code rate and the first value.
[0126] In this embodiment of the invention, if the terminal detects that the first probe code rate is greater than the product of the new predetermined code rate and the first value, it sends the second probe data and media data to the server according to the second transmission code rate formed by the product of the new predetermined code rate and the second value, until the received i-th probe code rate is less than the product of the i-th transmission code rate and the first value.
[0127] The first value can be a positive number between 0 and 1. The second value can be any positive number greater than 1. In this embodiment of the invention, no specific restrictions are placed on the first and second values.
[0128] In this embodiment of the invention, after the terminal receives the second probe code rate, if the second probe code rate is greater than the product of the second transmission code rate and the first predetermined value, the terminal sends the third probe data and media data to the server at the third transmission code rate formed by the product of the second transmission code rate and the second predetermined value. This process continues until the i-th probe code rate is received.
[0129] This invention provides a data processing method; please refer to [link / reference]. Figure 4 This is an optional flowchart illustrating a data processing method provided in an embodiment of the present invention. S108 shown can be implemented via S322 to S326, and will be combined with... Figure 4 The steps shown are explained.
[0130] S322, Transmission rate control.
[0131] In this embodiment of the invention, during the audio and video communication between the terminal and the server, the terminal generates a certain number of Padding packets and sends them together with the current media packets to the transmission bitrate control module, which then sends them to the server according to the new predetermined bitrate TargetBit.
[0132] In this embodiment of the invention, the terminal's transmission rate control module controls the transmission of media and padding packets according to the newly subscribed rate.
[0133] S323, Detection Code Rate Estimation Module.
[0134] S324, Receiver rate feedback module.
[0135] In this embodiment of the invention, after receiving the data packet, the server calculates the probe bit rate EstimateBit through the bit rate estimation module, and sends it back to the sending end through the REMB via the server bit rate feedback module.
[0136] Does S325, EstimateBit(i) exceed 0.75*TargetBit(i)?
[0137] In this embodiment of the invention, the terminal controls whether to continue bandwidth probing based on the probed bitrate EstimateBit(i). If EstimateBit(i) > 0.75 * TargetBit(i), then TargetBit(i+1) = TargetBit(i) * 2 is set in the bitrate control module to continue probing. Otherwise, EstimateBit is set in the audio / video encoder and the transmission bitrate control module, and the generation of padding packets is stopped, and media data is transmitted according to EstimateBit.
[0138] S326. TargetBit(i+1)=TargetBit(i)*2
[0139] In this embodiment of the invention, the terminal sets the bitrate of TargetBit(i)*2 as the bitrate for the next transmission and sends media data and padding packets.
[0140] In some embodiments, S101 shown can be implemented by S109-S110, which will be described in conjunction with the steps.
[0141] S109. Send media data to the server in real time according to the predetermined bitrate, and receive the predetermined probe packets fed back by the server.
[0142] In this embodiment of the invention, the terminal sends media data to the server in real time according to a predetermined bitrate, and receives predetermined probe packets from the server.
[0143] S110. Extract the new predetermined code rate from the predetermined probe packet.
[0144] In this embodiment of the invention, the terminal extracts a new predetermined code rate from the predetermined probe packet.
[0145] In this embodiment of the invention, the terminal transmits media data by obtaining a new predetermined bitrate from the server during non-probing periods.
[0146] This invention provides a data processing method; please refer to [link / reference]. Figure 5 This is an optional flowchart illustrating a data processing method provided in an embodiment of the present invention, which will be combined with... Figure 5 The steps shown are explained.
[0147] S201. Receive media data sent by the receiving terminal according to the predetermined bit rate, calculate a new predetermined bit rate based on the media data and feed it back to the terminal.
[0148] In this embodiment of the invention, the server receives media data sent by the terminal according to a predetermined bitrate, calculates a new predetermined bitrate based on the media data, and feeds it back to the terminal.
[0149] In this embodiment of the invention, after receiving media data, the server calculates a new predetermined bitrate based on the volume of media data received per unit time. The server then sends a predetermined probe packet based on the new predetermined bitrate to the terminal.
[0150] S202. Receive probe data and media data sent by the terminal, determine the corresponding probe bit rate based on each probe data, and feed back the probe bit rate to the terminal, until the i-th probe data and media data are received and the i-th probe bit rate is fed back to the terminal, then stop.
[0151] In this embodiment of the invention, the server receives probe data and media data sent by the terminal, determines the corresponding probe bitrate based on each probe data, and feeds back the probe bitrate to the terminal, until it stops feeding back the i-th probe data and media data to the terminal.
[0152] The probe data is sent by the terminal based on the new predetermined bit rate and according to the gradually increasing bit rate when the difference between the new predetermined bit rate and the predetermined bit rate is greater than the bit rate threshold.
[0153] In this embodiment of the invention, if the server detects that the data capacity of the first probe data and the media data is less than the maximum local bandwidth capacity, then the data capacity is determined as the first probe bitrate; if the data capacity of the first probe data and the media data is not less than the maximum local bandwidth capacity, then the first probe bitrate is determined based on the maximum local bandwidth capacity. The process by which the server determines each probe bitrate can refer to this scheme.
[0154] S203, The terminal sends subsequent media data at the destination bit rate; the destination bit rate is determined by the terminal through the received probe bit rate.
[0155] In this embodiment of the invention, the server receives subsequent media data sent by the terminal at the destination bitrate. The destination bitrate is determined by the terminal using a received probe bitrate.
[0156] This scheme can accurately determine changes in the bandwidth environment by comparing the new predetermined bit rate with the predetermined bit rate. Then, it can use the new predetermined bit rate to guide the detection of detection data and media data, determine the available bandwidth of the current channel, and thus improve the quality of audio and video communication.
[0157] Figure 5 The shown S202 can also be implemented by S204 to S206, which will be explained in conjunction with each step.
[0158] S204, The receiving terminal transmits the first probe data and media data at a new predetermined code rate.
[0159] In this embodiment of the invention, the server receives the first probe data and media data sent by the terminal at a new predetermined bit rate.
[0160] S205. Determine the first probe bit rate based on the first probe data and media data, and feed the first probe bit rate back to the terminal.
[0161] In this embodiment of the invention, the server determines the first probe bitrate based on the first probe data and the media data, and feeds back the first probe bitrate to the terminal.
[0162] In this embodiment of the invention, if the data capacity of the first probe data and the media data is less than the maximum local bandwidth capacity, then the data capacity is determined to be the first probe bit rate;
[0163] If the data capacity of the first probe data and the media data is not less than the maximum capacity of the local bandwidth, then the first probe bit rate is determined based on the maximum capacity of the local bandwidth.
[0164] S206. Receive the second probe data and media data sent by the terminal at a predetermined multiple of the new predetermined code rate, until the i-th probe code rate is fed back to the terminal.
[0165] In this embodiment of the invention, the server receives the second probe data and media data sent by the terminal at a predetermined multiple of the new predetermined bit rate, and stops when it feeds back the i-th probe bit rate to the terminal.
[0166] In this embodiment of the invention, after receiving the i-th probe bitrate, the terminal determines that the i-th probe bitrate is the target bitrate, and then stops the process of sending probe data and media data to the server, and continues to execute the process of sending media data to the server according to the predetermined bitrate.
[0167] In this embodiment of the invention, during the process of the terminal sending probe data, the server determines the corresponding probe bitrate based on each probe data and media data with gradient growth, and sends it to the terminal so that the terminal can accurately determine the target bitrate through the probe bitrate, thereby improving the communication quality of audio and video.
[0168] This invention provides a data processing method; please refer to [link / reference]. Figure 6 This is an interactive schematic diagram of the data processing method provided in the embodiments of the present invention, which will be combined with Figure 6 The steps shown are explained.
[0169] S401. The terminal sends media data to the server in real time according to the predetermined bitrate and receives the new predetermined bitrate from the server.
[0170] In this embodiment of the invention, the specific implementation process of S401 is described in S101, and will not be repeated here.
[0171] S402. If the difference between the new predetermined bitrate and the predetermined bitrate is greater than the bitrate threshold, the terminal sends probe data and media data to the server based on the new predetermined bitrate and according to the gradient increasing bitrate. The terminal receives the probe bitrate fed back by the server for each probe data until the received i-th probe bitrate meets the predetermined condition, and then stops to determine the target bitrate.
[0172] In this embodiment of the invention, the specific implementation process of S402 is described in S102, and will not be repeated here.
[0173] S403. The terminal sends subsequent media data to the server based on the destination bitrate.
[0174] In this embodiment of the invention, the specific implementation process of S403 is described in S103, and will not be repeated here.
[0175] Please see Figure 7 A schematic diagram of the structure of the data processing device provided in an embodiment of the present invention. Figure 1 .
[0176] This invention also provides a data processing apparatus 800, including a first transmitting and receiving unit 803 and a first determining unit 804.
[0177] The first transmitting and receiving unit 803 is used to transmit media data to the server in real time according to a predetermined bit rate, and to receive a new predetermined bit rate fed back by the server.
[0178] The first determining unit 804 is configured to, if the difference between the new predetermined bitrate and the predetermined bitrate is greater than a bitrate threshold, send probe data and media data to the server based on the new predetermined bitrate and according to a gradient-increasing bitrate, receive the probe bitrate fed back by the server for each probe data, and stop when the received i-th probe bitrate meets a predetermined condition, thereby determining the target bitrate; i is an integer greater than or equal to 1.
[0179] The first transmitting and receiving unit 803 is used to send the subsequent media data to the server based on the destination bitrate.
[0180] In this embodiment of the invention, the first transmitting and receiving unit 803 in the data processing device 800 is used to transmit the first probe data and the media data to the server according to the new predetermined bitrate; receive the first probe bitrate fed back by the server in response to the first probe data; if the first probe bitrate is greater than the corresponding first bitrate threshold, then transmit the second probe data and the media data to the server according to a predetermined multiple of the new predetermined bitrate, until the received i-th probe bitrate is less than the corresponding i-th bitrate threshold; the first determining unit 804 is used to determine that the i-th probe bitrate is the target bitrate.
[0181] In this embodiment of the invention, the first transmitting and receiving unit 803 in the data processing device 800 is used to transmit the second probe data and the media data to the server according to the second transmitting code rate formed by the product of the new predetermined code rate and the second value if the first probe code rate is greater than the product of the new predetermined code rate and the first value, until the received i-th probe code rate is less than the product of the i-th transmitting code rate and the first value.
[0182] In this embodiment of the invention, the first transmitting and receiving unit 803 in the data processing device 800 is used to transmit the media data to the server in real time according to a predetermined bitrate, and receive a predetermined probe packet fed back by the server; and extract the new predetermined bitrate from the predetermined probe packet.
[0183] In this embodiment of the invention, the data processing device 800 transmits media data to the server in real time at a predetermined bitrate through the first transmitting and receiving unit 803, and receives a new predetermined bitrate fed back by the server. If the difference between the new predetermined bitrate and the predetermined bitrate is greater than a bitrate threshold, the first determining unit 804, based on the new predetermined bitrate, transmits probe data and media data to the server at a gradually increasing bitrate, and receives the probe bitrate fed back by the server for each probe data, until the received i-th probe bitrate meets a predetermined condition, thus determining the target bitrate; i is an integer greater than or equal to 1. The first transmitting and receiving unit 803 then transmits subsequent media data to the server based on the target bitrate. Because this scheme can accurately determine changes in the bandwidth environment through the difference between the new predetermined bitrate and the predetermined bitrate, and then guides the detection data and media data to probe using the new predetermined bitrate, the available bandwidth of the current channel is determined, thereby improving the quality of audio and video communication.
[0184] It should be noted that, in the embodiments of the present invention, if the above-described data processing method is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of the present invention, or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a data processing device (which may be a personal computer, etc.) to execute all or part of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a magnetic disk, or an optical disk. Thus, the embodiments of the present invention are not limited to any specific hardware and software combination.
[0185] Correspondingly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps in the above-described method.
[0186] Correspondingly, this embodiment of the invention provides a data processing device, including a first memory 802 and a first processor 801. The first memory 802 stores a computer program that can run on the first processor 801. When the first processor 801 executes the program, it implements the steps in the above method.
[0187] It should be noted that the descriptions of the storage medium and device embodiments above are similar to those of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium and device embodiments of the present invention, please refer to the descriptions of the method embodiments of the present invention for understanding.
[0188] It should be noted that, Figure 8 A hardware entity illustration of the data processing device provided in the embodiments of the present invention. Figure 1 ,like Figure 8 As shown, the hardware entity of the data processing device 800 includes: a first processor 801 and a first memory 802, wherein;
[0189] The first processor 801 typically controls the overall operation of the data processing device 800.
[0190] The first memory 802 is configured to store instructions and applications executable by the first processor 801, and can also cache data to be processed or already processed by the first processor 801 and various modules in the data processing device 800 (e.g., image data, audio data, voice communication data and video communication data), which can be implemented by flash memory or random access memory (RAM).
[0191] Please see Figure 9 A schematic diagram of the structure of the data processing device provided in an embodiment of the present invention. Figure 2 .
[0192] This invention also provides a data processing apparatus 900, including a second transmitting and receiving unit 903.
[0193] The second transmitting and receiving unit 903 is used to receive media data transmitted by the terminal according to a predetermined bit rate, calculate a new predetermined bit rate based on the media data, and feed it back to the terminal.
[0194] The second transmitting and receiving unit 903 is used to receive the probe data and the media data sent by the terminal, determine the corresponding probe bitrate based on each probe data, and feed back the probe bitrate to the terminal, until the terminal feeds back the i-th probe bitrate after receiving the i-th probe data and the media data; the probe data is sent by the terminal based on the new predetermined bitrate and according to the gradient increasing bitrate when the terminal detects that the difference between the new predetermined bitrate and the predetermined bitrate is greater than the bitrate threshold;
[0195] The second transmitting and receiving unit 903 is used to receive the subsequent media data sent by the terminal at a destination bit rate; the destination bit rate is determined by the terminal through the received probe bit rate.
[0196] In this embodiment of the invention, the second transmitting and receiving unit 903 in the data processing device 900 is used to receive the first probe data and the media data transmitted by the terminal at the new predetermined code rate; determine the first probe code rate based on the first probe data and the media data, and feed back the first probe code rate to the terminal; receive the second probe data and the media data transmitted by the terminal at a predetermined multiple of the new predetermined code rate, until the i-th probe code rate is fed back to the terminal.
[0197] In this embodiment of the invention, the data processing device is configured to determine the data capacity as the first probe bitrate if the data capacity of the first probe data and the media data is less than the maximum local bandwidth capacity; and to determine the first probe bitrate based on the maximum local bandwidth capacity if the data capacity of the first probe data and the media data is not less than the maximum local bandwidth capacity.
[0198] In this embodiment of the invention, a second transmitting and receiving unit 903 is used to receive media data sent by a terminal at a predetermined bitrate, calculate a new predetermined bitrate based on the media data, and feed it back to the terminal. The second transmitting and receiving unit 903 is also used to receive probe data and the media data sent by the terminal, determine the corresponding probe bitrate based on each probe data, and feed the probe bitrate back to the terminal, until the terminal feeds back the i-th probe bitrate after receiving the i-th probe data and the media data. The probe data is sent by the terminal based on the new predetermined bitrate, with a gradually increasing bitrate, when the difference between the new predetermined bitrate and the predetermined bitrate is greater than a bitrate threshold. The second transmitting and receiving unit 903 is also used to receive subsequent media data sent by the terminal at a target bitrate, which is determined by the terminal using the received probe bitrate. Because this solution can accurately determine changes in the bandwidth environment through the difference between the new predetermined bitrate and the predetermined bitrate, and then guide the detection data and media data to probe using the new predetermined bitrate, the available bandwidth of the current channel is determined, thereby improving the quality of audio and video communication.
[0199] Correspondingly, this embodiment of the invention provides a data processing device, including a second memory 902 and a second processor 901. The second memory 902 stores a computer program that can run on the second processor 901. When the second processor 901 executes the program, it implements the steps in the above method.
[0200] It should be noted that the descriptions of the storage medium and device embodiments above are similar to those of the method embodiments above, and have similar beneficial effects. For technical details not disclosed in the storage medium and device embodiments of the present invention, please refer to the descriptions of the method embodiments of the present invention for understanding.
[0201] It should be noted that, Figure 10 A hardware entity illustration of the data processing device provided in the embodiments of the present invention. Figure 1 ,like Figure 10 As shown, the hardware entity of the data processing device 900 includes: a second processor 901 and a second memory 902, wherein;
[0202] The second processor 901 typically controls the overall operation of the data processing device 900.
[0203] The second memory 902 is configured to store instructions and applications executable by the second processor 901, and can also cache data to be processed or already processed by the second processor 901 and the various modules in the data processing device 900 (e.g., image data, audio data, voice communication data and video communication data), which can be implemented by flash memory or random access memory (RAM).
[0204] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of the invention. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of the invention, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the invention. The sequence numbers of the above-described embodiments of the invention are merely descriptive and do not represent the superiority or inferiority of the embodiments.
[0205] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0206] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the apparatus or units can be electrical, mechanical, or other forms.
[0207] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.
[0208] In addition, in the various embodiments of the present invention, each functional unit can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.
[0209] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.
[0210] Alternatively, if the integrated units of this invention are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this invention, or the parts that contribute to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROMs, magnetic disks, or optical disks.
[0211] The above description is merely an embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A data processing method, characterized in that, Applied to terminals, including: The system sends media data to the server in real time according to the predetermined bitrate and receives new predetermined bitrates from the server. If the absolute value of the bandwidth change gradient calculated based on the new predetermined bitrate is greater than the bitrate threshold, then based on the new predetermined bitrate, probe data and media data are sent to the server according to the gradient-increasing bitrate. The server responds with the probe bitrate for each probe data, and the process continues until the received i-th probe bitrate is less than the product of the i-th transmitted bitrate and a first value. The i-th probe bitrate is then determined to be the target bitrate; i is an integer greater than or equal to 1; the first value is a positive number between 0 and 1. The subsequent media data is sent to the server based on the target bitrate.
2. The data processing method according to claim 1, characterized in that, The process of sending probe data and media data to the server based on the new predetermined bitrate and increasing the bitrate in a gradient manner, receiving the probe bitrate from the server in response to each probe data, and stopping when the received i-th probe bitrate is less than the product of the i-th transmitted bitrate and a first value, and determining the i-th probe bitrate as the target bitrate, includes: The first probe data and the media data are sent to the server according to the new predetermined bitrate; Receive the first probe code rate fed back by the server in response to the first probe data; If the first probe bit rate is greater than the corresponding first bit rate threshold, then the second probe data and the media data are sent to the server according to a predetermined multiple of the new predetermined bit rate, until the received i-th probe bit rate is less than the product of the i-th sent bit rate and the first value; The i-th probe code rate is determined to be the target code rate.
3. The data processing method according to claim 2, characterized in that, If the first probe bitrate is greater than the corresponding first bitrate threshold, then the second probe data and the media data are sent to the server according to a predetermined multiple of the new predetermined bitrate, until the received i-th probe bitrate is less than the product of the i-th transmitted bitrate and the first value, including: If the first probe bitrate is greater than the product of the new predetermined bitrate and the first value, then the second probe data and the media data are sent to the server according to the second transmission bitrate formed by the product of the new predetermined bitrate and the second value, until the received i-th probe bitrate is less than the product of the i-th transmission bitrate and the first value.
4. The data processing method according to claim 1, characterized in that, The real-time transmission of media data to the server according to a predetermined bitrate and the receipt of a new predetermined bitrate from the server include: The system sends the media data to the server in real time according to a predetermined bitrate and receives predetermined probe packets from the server. The new predetermined code rate is extracted from the predetermined probe packet.
5. A data processing method, characterized in that, Applied to servers, including: The receiving terminal sends media data according to a predetermined bitrate, calculates a new predetermined bitrate based on the media data, and feeds it back to the terminal; Upon receiving the probe data and media data sent by the terminal, the system determines the corresponding probe bitrate based on each probe data and feeds the probe bitrate back to the terminal. This process continues until the system receives the i-th probe data and the media data and feeds back the i-th probe bitrate to the terminal, at which point it stops when the i-th probe bitrate is less than the product of the i-th transmission bitrate and a first value. The probe data is sent by the terminal based on the new predetermined bitrate and at a gradient-increasing bitrate when the absolute value of the bandwidth change gradient calculated by the new predetermined bitrate is greater than the bitrate threshold. The first value is a positive number between 0 and 1. The terminal receives the subsequent media data sent at a target bitrate; the target bitrate is determined by the terminal through the received probe bitrate.
6. The data processing method according to claim 5, characterized in that, The process of receiving probe data and media data sent by the terminal, determining the corresponding probe bitrate based on each probe data, and feeding back the probe bitrate to the terminal, continues until the i-th probe data and media data are received, and feedback is sent to the terminal that the i-th probe bitrate is less than the product of the i-th transmission bitrate and a first value, including: Receive the first probe data and the media data sent by the terminal at the new predetermined bit rate; The first detection bitrate is determined based on the first detection data and the media data, and the first detection bitrate is fed back to the terminal; The system receives the second probe data and the media data sent by the terminal at a predetermined multiple of the new predetermined bit rate, and stops when it reports back to the terminal that the i-th probe bit rate is less than the product of the i-th transmission bit rate and the first value.
7. The data processing method according to claim 6, characterized in that, The determination of the first probe bitrate based on the first probe data and the media data includes one of the following: If the data capacity of the first probe data and the media data is less than the maximum local bandwidth capacity, then the data capacity is determined to be the first probe bit rate; If the data capacity of the first probe data and the media data is not less than the maximum local bandwidth capacity, then the first probe bit rate is determined based on the maximum local bandwidth capacity.
8. A data processing apparatus, characterized in that, Applied to terminals, including: The first transmitting and receiving unit is used to transmit media data to the server in real time according to a predetermined bitrate, and to receive a new predetermined bitrate fed back by the server. The first determining unit is configured to, if the absolute value of the bandwidth change gradient calculated based on the new predetermined bitrate is greater than the bitrate threshold, send probe data and media data to the server based on the new predetermined bitrate and according to the gradient-increasing bitrate, receive the probe bitrate fed back by the server in response to each probe data, until the received i-th probe bitrate is less than the product of the i-th sent bitrate and a first value, and determine the i-th probe bitrate as the target bitrate; i is an integer greater than or equal to 1; the first value is a positive number between 0 and 1. The first transmitting and receiving unit is used to send the subsequent media data to the server based on the target bit rate.
9. A data processing apparatus, characterized in that, Applications to servers include: The second transmitting and receiving unit is used to receive media data transmitted by the terminal according to a predetermined bit rate, calculate a new predetermined bit rate based on the media data, and feed it back to the terminal. The second transmitting and receiving unit is configured to receive the probe data and media data sent by the terminal, determine the corresponding probe bitrate based on each probe data, and feed the probe bitrate back to the terminal, until the terminal is notified that the i-th probe bitrate is less than the product of the i-th transmitting bitrate and a first value after receiving the i-th probe data and the media data; the probe data is sent by the terminal based on the new predetermined bitrate and according to the gradient-increasing bitrate when the absolute value of the bandwidth change gradient calculated by the new predetermined bitrate is greater than the bitrate threshold; the first value is a positive number between 0 and 1. The second transmitting and receiving unit is used to receive the subsequent media data sent by the terminal at a target bit rate; the target bit rate is determined by the terminal through the received probe bit rate.
10. A data processing apparatus, characterized in that, It includes a first memory and a first processor, the first memory storing a computer program that can run on the first processor, and the first processor executing the program implementing the steps of the method according to any one of claims 1 to 4.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the first processor, it implements the steps of the method according to any one of claims 1 to 4.
12. A data processing apparatus, characterized in that, The method includes a second memory and a second processor, the second memory storing a computer program that can run on the second processor, the second processor executing the program to implement the steps of the method according to any one of claims 5 to 7.
13. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the second processor, it implements the steps of the method according to any one of claims 5 to 7.
Citation Information
Patent Citations
Multimedia data transmission method and device, storage medium, and server
CN107483401A
Self-adaptive congestion control method for dynamically adjusting gain coefficient
CN111683393A