A video call data transmission method, electronic device and storage medium
By determining the target transmission bitrate that matches the uplink bandwidth of the sending client during video conferencing, and using the downlink parameters of the receiving client to obtain the matching target transmission bitrate, the problem of communication stuttering and delay caused by the transmission bitrate not meeting the bandwidth in video conferencing is solved, thus improving communication quality.
Patent Information
- Application Number
- CN202210863139.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-20
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2042-07-20
AI Technical Summary
In existing technologies, communication stuttering and latency issues caused by transmission bitrates not meeting uplink bandwidth or downlink parameters during video conferencing have not been effectively resolved.
By determining the target transmission bitrate that matches the uplink bandwidth of the sending client and obtaining the matching target transmission bitrate using the downlink parameters of the receiving client, the data is sent to the corresponding client to perform uplink transmission of video call data, ensuring that the transmission bitrate meets the bandwidth requirements of both the sending and receiving clients.
It effectively avoids communication lag and latency issues during video conferencing, thus improving the overall communication quality.
Smart Images

Figure CN115278152B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of communication technology, in particular to a video call data transmission method, an electronic device and a storage medium. In addition, the present application also relates to a transmission code rate determination method, an electronic device and a storage medium. BACKGROUND
[0002] As a conference mode that enables participants at different locations to have face-to-face conversations through communication devices and networks, video conferencing has been widely used in various industries. For an ongoing video conference, the communication quality during the video conference largely determines the participant experience. Therefore, how to improve the communication quality has become a problem that must be solved in the development of video conferencing. SUMMARY
[0003] The embodiments of the present application provide a video call data transmission method, an electronic device and a storage medium to improve the communication quality during the video conference. The embodiments of the present application also provide a transmission code rate determination method, an electronic device and a storage medium to improve the communication quality during the communication session.
[0004] In a first aspect, the embodiments of the present application provide a video call data transmission method applied in the process of video conferencing of multiple clients, and the method comprises:
[0005] For a sending client in the process of video conferencing and at least one receiving client corresponding to the sending client, a transmission code rate available for the sending client to send video call data uplink is determined, and the available transmission code rate is obtained by using downlink parameters corresponding to the receiving client;
[0006] Among the available transmission code rates, a target transmission code rate matching the uplink bandwidth of the sending client is determined;
[0007] The matching target transmission code rate is sent to the corresponding client for use by the multiple clients as the sending client in the uplink sending of the video call data;
[0008] The video call data sent by the sending client at the matching target transmission code rate is obtained;
[0009] The video call data in the video call data matching the downlink parameters is sent to the corresponding receiving client.
[0010] In a second aspect, the embodiments of the present application provide a transmission code rate determination method applied in the process of video conferencing of multiple clients, and the method comprises:
[0011] determining a target transmission code rate matching the uplink bandwidth of the sending client from the available transmission code rates;
[0012] determining a target transmission code rate matching the uplink bandwidth of the sending client from the available transmission code rates;
[0013] sending the matching target transmission code rate to the corresponding clients for use by the multiple clients as the sending client performs uplink transmission of the session data.
[0014] In a third aspect, an electronic device is provided, which includes a memory, a processor, and a computer program stored in the memory. The processor implements the method provided in any of the embodiments of the present application when executing the computer program.
[0015] In a fourth aspect, a computer readable storage medium is provided, which stores a computer program. The computer program is executed by a processor to implement the method provided in any of the embodiments of the present application.
[0016] Compared with the prior art, the present application has the following advantages:
[0017] The method for transmitting video call data provided in the present application, in the process of video conferencing of the multiple clients, first determines a target transmission code rate matching the uplink bandwidth of the sending client, and sends the matching target transmission code rate to the corresponding clients for use by the multiple clients as the sending client performs uplink transmission of the video call data. After sending the matching target transmission code rate to the corresponding clients, the video call data sent by the sending client at the matching target transmission code rate is obtained, and the video call data matching the downlink parameters in the video call data is sent to the corresponding receiving clients.
[0018] Since the available transmission code rate is obtained using the downlink parameters corresponding to the receiving clients, and the matching target transmission code rate is a target transmission code rate matching the uplink bandwidth of the sending client, the target transmission code rate can simultaneously satisfy the uplink bandwidth of the sending client and the downlink parameters corresponding to the receiving clients. Thus, the problem of communication lag and communication delay caused by the transmission code rate not satisfying the uplink bandwidth or the downlink parameters in the process of video conferencing is avoided, and the communication quality in the process of video conferencing is improved.
[0019] In addition, since the target transmission rate used by each of the plurality of clients as a sending client to perform uplink sending of session data can be determined, the transmission method of video call data provided by the present application can reduce the communication lag and communication delay problems existing in the process of the plurality of clients performing video conferencing.
[0020] The method for determining the transmission rate provided by the present application, in the process of the plurality of clients performing a communication session, needs to obtain the transmission rate that can be used by the sending client to send session data uplink, by using the downlink parameters corresponding to the receiving client, and then determine the target transmission rate matching the uplink bandwidth of the sending client from the transmission rate that can be used. After determining the target transmission rate matching the uplink bandwidth of the sending client, the matching target transmission rate is sent to the corresponding client for use by the plurality of clients as a sending client to perform uplink sending of session data.
[0021] Since the transmission rate that can be used is obtained by using the downlink parameters corresponding to the receiving client, and the matching target transmission rate is the target transmission rate matching the uplink bandwidth of the sending client, the target transmission rate can satisfy both the uplink bandwidth of the sending client and the downlink parameters corresponding to the receiving client. Thus, the communication lag and communication delay problems caused by the transmission rate not satisfying the uplink bandwidth or the downlink parameters in the process of the communication session are avoided, and the communication quality in the process of the communication session is improved.
[0022] In addition, since the target transmission rate used by each of the plurality of clients as a sending client to perform uplink sending of session data can be determined, the transmission method of video call data provided by the present application can reduce the communication lag and communication delay problems existing in the process of the plurality of clients performing video conferencing.
[0023] The above summary is merely intended to illustrate the present application and is not intended to limit the present application in any way. In addition to the illustrative aspects, embodiments and features described above, further aspects, embodiments and features of the present application will be readily apparent to those skilled in the art by reference to the drawings and the following detailed description. BRIEF DESCRIPTION OF DRAWINGS
[0024] In the drawings, like numerals refer to like elements throughout the various drawings. The drawings are not necessarily to scale, the emphasis instead being placed on the relations between various elements. It should be understood that the drawings only depict some embodiments in accordance with the present disclosure and should not be considered limiting of the scope of the present application.
[0025] Figure 1A scenario diagram of the method for determining a transmission code rate provided in an embodiment of the present application is shown in FIG. 1.
[0026] Figure 2 A flowchart of the method for determining a transmission code rate provided in an embodiment of the present application is shown in FIG. 2.
[0027] Figure 3 An example diagram of the process for determining a transmission code rate provided in an embodiment of the present application is shown in FIG. 3.
[0028] Figure 4 A flowchart of the method for determining a priority provided in an embodiment of the present application is shown in FIG. 4.
[0029] Figure 5 A flowchart of the method for transmitting video call data provided in another embodiment of the present application is shown in FIG. 5.
[0030] Figure 6 A structural block diagram of the device for determining a transmission code rate provided in an embodiment of the present application is shown in FIG. 6.
[0031] Figure 7 A structural block diagram of the device for transmitting video call data provided in another embodiment of the present application is shown in FIG. 7.
[0032] Figure 8 A block diagram of an electronic device for implementing an embodiment of the present application is shown in FIG. 8. DETAILED DESCRIPTION
[0033] In the following description, a large number of specific details are set forth in order to provide a thorough understanding of the present application. However, the present application can be practiced in many different ways from those described herein without departing from the scope of the present application, and it is understood that similar changes in form and detail can be made by those skilled in the art without departing from the spirit and scope of the present application, and it is therefore understood that the present application is not limited to the specific implementations disclosed herein.
[0034] In order to more clearly illustrate the method for determining a transmission code rate provided in an embodiment of the present application, first, the application scenario of the method for determining a transmission code rate provided in an embodiment of the present application is introduced. The method for determining a transmission code rate provided in an embodiment of the present application is generally applied to a scenario in which multiple clients perform a video conference, and at this time, the communication session performed by the multiple clients is a video conference.
[0035] The application scenario of the method for determining a transmission code rate provided in an embodiment of the present application is introduced in detail as follows. Figure 1 Figure 1 A scenario diagram of the method for determining a transmission code rate provided in an embodiment of the present application is shown in FIG. 1. Figure 1 Shown in FIG. 1 is a scenario in which three clients perform a video conference, wherein the client 101 corresponds to a participant A, the client 102 corresponds to a participant B, and the client 103 corresponds to a participant C.
[0036] Firstly, after the participant C triggers the client 103 to generate the video conference initiation request through the human-computer interaction interface, the client 103 sends the video conference initiation request to the server 104. The server 104 sends prompt information for prompting the participants to participate in the video conference to the client 101 and the client 102 respectively in response to the video conference initiation request. After receiving the prompt information, the client 101 and the client 102 generate and display trigger controls for triggering the clients to enter the video conference respectively. After the participant A and the participant B trigger the trigger controls through the human-computer interaction interface, the client 101 and the client 102 can enter the video conference initiated by the client 103.
[0037] Secondly, in the process of the video conference of the client 101, the client 102 and the client 103, the server 104 determines the transmission code rate that can be used by the sending client when sending the video call data uplink in response to the sending client and at least one receiving client corresponding to the sending client in the process of the video conference.
[0038] In the process of the video conference of the client 101, the client 102 and the client 103, the server 104 first determines the data transmission combination of the sending client and at least one receiving client of the video call data of the client 101, the client 102 and the client 103. Then, for the data transmission combination of the sending client and at least one receiving client of the session data, the transmission code rate that can be used by the sending client when sending the session data uplink is determined in response to the sending client and at least one receiving client corresponding to the sending client in the process of the communication session.
[0039] Specifically, in the process of the video conference of the client 101, the client 102 and the client 103, the client 101, the client 102 and the client 103 can all act as sending clients. When the client 101 acts as a sending client, the client 102 and the client 103 are receiving clients corresponding to the client 101. When the client 102 acts as a sending client, the client 101 and the client 103 are receiving clients corresponding to the client 102. When the client 103 acts as a sending client, the client 101 and the client 102 are receiving clients corresponding to the client 103.
[0040] That is, in the process of the video conference of the client 101, the client 102 and the client 103, the data transmission combination formed by the sending client and at least one receiving client of the video call data has three, which are respectively recorded as the first data transmission combination, the second data transmission combination and the third data transmission combination. The first data transmission combination is formed by the client 101 as the sending client and the client 102 and the client 103 as the receiving client; the second data transmission combination is formed by the client 102 as the sending client and the client 101 and the client 103 as the receiving client; and the third data transmission combination is formed by the client 103 as the sending client and the client 101 and the client 102 as the receiving client.
[0041] After determining the data transmission combination formed by the sending client and at least one receiving client of the video call data, the server 104 further determines the transmission code rate that can be used by the sending client when sending the video call data uplink. That is, the transmission code rate that can be used by the client 101 when sending the video call data uplink in the first data transmission combination, the transmission code rate that can be used by the client 102 when sending the video call data uplink in the second data transmission combination, and the transmission code rate that can be used by the client 103 when sending the video call data uplink in the third data transmission combination are determined respectively.
[0042] The transmission code rate that can be used is obtained by using the corresponding downlink parameters of the receiving client. For example, the transmission code rate that can be used by the client 101 when sending the video call data uplink in the first data transmission combination is obtained by using the corresponding downlink parameters of the client 102 and the client 103.
[0043] In actual application, the unit of the transmission code rate is generally kilobit per second (kbps, k=1000) or megabit per second (Mbps, M=1000000). The transmission code rate of the sending client when sending the video call data uplink is generally referred to as upload code rate, which specifically refers to the number of data bits transmitted per unit time by the sending client when sending the video call data; and the transmission code rate of the receiving client when receiving the video call data downlink is generally referred to as download code rate, which specifically refers to the number of data bits transmitted per unit time by the receiving client when downloading the video call data.
[0044] In practical applications, the download rate is often determined by the upload rate. Specifically, in the process of video conferencing between the sending client and at least one receiving client, if the upload rate used in the uplink transmission of the video call data by the sending client is 1.4M, 700K and 90K, the download rate that can be used by the receiving client when receiving the video call data in the downlink is generally only one of 1.4M, 700K and 90K. Since the download rate is often determined by the upload rate, in order to enable the receiving client to successfully receive the corresponding video call data in the downlink under the condition of meeting the downlink parameters after the sending client transmits the video call data in the uplink using a specific transmission rate, the transmission rate that can be used by the sending client when transmitting the video call data in the uplink needs to be determined by using the downlink parameters corresponding to the receiving client.
[0045] After determining the transmission rate that can be used by the sending client when transmitting the video call data in the uplink, the server 104 needs to determine the target transmission rate that matches the uplink bandwidth of the sending client from the available transmission rates. Specifically, from the transmission rates that can be used by the client 101 when transmitting the video call data in the uplink, the target transmission rate that matches the uplink bandwidth of the client 101 is determined; from the transmission rates that can be used by the client 102 when transmitting the video call data in the uplink, the target transmission rate that matches the uplink bandwidth of the client 102 is determined; from the transmission rates that can be used by the client 103 when transmitting the video call data in the uplink, the target transmission rate that matches the uplink bandwidth of the client 103 is determined.
[0046] After determining the target transmission rate that matches the uplink bandwidth of the sending client, the server 104 further needs to send the matched target transmission rate to the corresponding client for use by multiple clients as the sending client when transmitting the video call data in the uplink. That is, the target transmission rate that matches the uplink bandwidth of the client 101 is sent to the client 101, the target transmission rate that matches the uplink bandwidth of the client 102 is sent to the client 102, and the target transmission rate that matches the uplink bandwidth of the client 103 is sent to the client 103.
[0047] Again, the server 104 acquires the video call data transmitted by the sending client at the matched target transmission rate. Specifically, the video call data transmitted by the client 101 at the target transmission rate that matches the uplink bandwidth of the client 101, the video call data transmitted by the client 102 at the target transmission rate that matches the uplink bandwidth of the client 102, and the video call data transmitted by the client 103 at the target transmission rate that matches the uplink bandwidth of the client 103 are acquired respectively.
[0048] Finally, the server 104 sends the video call data matching the downlink parameter of the corresponding receiving client to the video call data. Taking the client 103 as an example, the server 104 sends the video call data matching the downlink parameter of the client 101 to the client 101, and sends the video call data matching the downlink parameter of the client 102 to the client 102.
[0049] Since the available transmission code rate is obtained by using the downlink parameter of the receiving client, the matching target transmission code rate is the target transmission code rate matching the uplink bandwidth of the sending client. Therefore, the target transmission code rate can simultaneously satisfy the uplink bandwidth of the sending client and the downlink parameter of the receiving client. Thus, the communication lag and communication delay problems caused by the transmission code rate not satisfying the uplink bandwidth or the downlink parameter in the video conference process are avoided, thereby improving the communication quality in the video conference process.
[0050] In addition, for multiple clients participating in the video conference, the target transmission code rate used in the uplink transmission of the session data performed by the sending client can be determined. Therefore, the technical solution of the present application can reduce the communication lag and communication delay problems existing in the process of multiple clients participating in the video conference.
[0051] It should be noted that the above application scenarios of the transmission code rate determination method provided in the embodiments of the present application are for the purpose of facilitating the understanding of the transmission code rate determination method provided in the embodiments of the present application, and are not intended to limit the transmission code rate determination method provided in the embodiments of the present application. The transmission code rate determination method provided in the embodiments of the present application can also be used in other communication session scenarios of multiple clients, for example, a live streaming and microphone connection scenario, in which the communication session of multiple clients is live streaming and microphone connection. Specifically, the application scenarios of the transmission code rate determination method provided in the embodiments of the present application are not limited.
[0052] In addition, the specific implementation of the server can be a server or a server cluster, or a cloud server. Of course, other computing devices can also be used instead of the server as the execution subject of the transmission code rate determination method provided in the embodiments of the present application.
[0053] The embodiments of the present application provide a transmission code rate determination method, which is applied in the process of multiple clients participating in a communication session, Figure 2 The flowchart of the transmission code rate determination method provided in an embodiment of the present application is shown in FIG. 1. As shown in FIG. 1, the method comprises the following steps. Figure 2
[0054] In step S201, for the sending client in the process of the communication session and at least one receiving client corresponding to the sending client, a transport code rate available for the sending client to send session data uplink is determined, and the transport code rate available is obtained by using the downlink parameter corresponding to the receiving client.
[0055] In the embodiments of the present application, in the process of the communication session of the plurality of clients, each client in the plurality of clients can act as a sending client and can also act as a corresponding receiving client when other clients are sending clients. Therefore, in the process of the communication session of the plurality of clients, there is usually at least one sending client, and each sending client has a corresponding receiving client.
[0056] Therefore, in the embodiments of the present application, for the sending client in the process of the communication session and at least one receiving client corresponding to the sending client, the specific implementation of determining the transport code rate available for the sending client to send session data uplink is generally as follows: first, determine the data transmission combination of the sending client and at least one receiving client of the session data, and then take the data transmission combination as a unit, for the data transmission combination of the sending client and at least one receiving client of the session data, respectively for the sending client in the process of the communication session and at least one receiving client corresponding to the sending client, to determine the transport code rate available for the sending client to send session data uplink.
[0057] In the process of the communication session of the plurality of clients, the data transmission combination of the sending client and at least one receiving client is usually multiple. And in general, the number of data transmission combinations is the same as the number of clients corresponding to the plurality of clients. Taking the plurality of clients including a first client, a second client, a third client and a fourth client as an example, in the process of the communication session of the first client, the second client, the third client and the fourth client, the data transmission combination generally has four, which are respectively recorded as: the first data transmission combination, the second data transmission combination, the third data transmission combination and the fourth data transmission combination.
[0058] The first data transmission combination is a data transmission combination formed by the first client as a sending client and the second client, the third client and the fourth client as receiving clients; the second data transmission combination is a data transmission combination formed by the second client as a sending client and the first client, the third client and the fourth client as receiving clients; the third data transmission combination is a data transmission combination formed by the third client as a sending client and the first client, the second client and the fourth client as receiving clients; and the fourth data transmission combination is a data transmission combination formed by the fourth client as a sending client and the first client, the second client and the third client as receiving clients.
[0059] In a possible implementation, the communication session in which the plurality of clients participate includes, but is not limited to, a video conference in which the plurality of clients participate, and a live in-mic session in which the plurality of clients participate. When the communication session is a video conference, the session data is video call data, and when the communication session is a live in-mic session, the session data is live service data.
[0060] In actual applications, the transmission code rate at which the sending client transmits the session data upward is generally referred to as upload code rate, and specifically refers to the number of data bits transmitted per unit time by the sending client when transmitting the session data; and the transmission code rate at which the receiving client receives the session data downward is generally referred to as download code rate, and specifically refers to the number of data bits transmitted per unit time by the receiving client when downloading the session data.
[0061] In actual applications, the download code rate is often determined by the upload code rate. Specifically, during a video conference in which the sending client and at least one receiving client participate, if the upload code rate used by the sending client when performing the upward transmission of the session data is 1.4M, 700K and 90K, then the download code rate that can be used by the receiving client when receiving the session data downward can only be one of 1.4M, 700K and 90K.
[0062] Since the download code rate is often determined by the upload code rate, in order to enable the receiving client to successfully receive the corresponding session data downward under the condition of meeting the download parameter after the sending client transmits the session data upward using a specific transmission code rate, the transmission code rate that can be used by the sending client when transmitting the session data upward needs to be obtained by using the download parameter corresponding to the receiving client during determination of the available transmission code rate. The unit of the transmission code rate is generally kilobits per second (kbps, k=1000) or megabits per second (Mbps, M=1000000). The uplink bandwidth refers to the bandwidth that can be used by the client as a sending client to transmit the session data upward.
[0063] In a possible implementation, the general implementation of determining the available transmission code rate can be as follows: first, the transmission code rate required by the receiving client is generated according to the downlink parameter. Then, at least one transmission code rate available when the sending client sends the session data according to the downlink parameter is determined based on the transmission code rate required by the receiving client. Finally, the transmission code rate matching the uplink bandwidth is selected from the at least one available transmission code rate to determine the available transmission code rate.
[0064] In a possible implementation, the transmission code rate required by the receiving client refers to the transmission code rate required by the receiving client for the sending client to send the session data. Since each client can act as a corresponding receiving client in the case of other clients being the sending client in the process of the multiple clients performing the communication session, the transmission code rate required by the receiving client includes the transmission code rates required by the receiving client for all the sending clients.
[0065] Taking three clients, client A, client B, and client C, as an example, in the process of the client A, the client B, and the client C performing the communication session, the client A can act as a receiving client in the case of the client B being the sending client, and can also act as a receiving client in the case of the client C being the sending client. At this time, for the client A acting as the receiving client, the transmission code rate required by the client A refers to the transmission code rate required by the client A for the client B to send the session data, and the transmission code rate required by the client A for the client C to send the session data.
[0066] Similarly, the client B can act as a receiving client in the case of the client A being the sending client, and can also act as a receiving client in the case of the client C being the sending client. At this time, for the client B acting as the receiving client, the transmission code rate required by the client B refers to the transmission code rate required by the client B for the client A to send the session data, and the transmission code rate required by the client B for the client C to send the session data.
[0067] Based on the same principle, the client C can act as a receiving client in the case of the client A being the sending client, and can also act as a receiving client in the case of the client B being the sending client. At this time, for the client C acting as the receiving client, the transmission code rate required by the client B refers to the transmission code rate required by the client B for the client A to send the session data, and the transmission code rate required by the client B for the client C to send the session data.
[0068] In a possible implementation, the downlink parameter generally includes a video resolution required by the receiving client and a downlink bandwidth of the receiving client. At this time, according to the downlink parameter, a specific implementation of generating the transmission code rate required by the receiving client can be: generating the transmission code rate required by the receiving client according to the video resolution required by the receiving client and the downlink bandwidth. Of course, the specific implementation of generating the transmission code rate required by the receiving client is not limited in the embodiment of the application.
[0069] In a possible implementation, the downlink bandwidth refers to a bandwidth that can be used by the client as a receiving client to receive and send session data.
[0070] The video resolution required by the receiving client refers to a video resolution required by the receiving client to send session data uplink by the sending client. Since each client can be a corresponding receiving client in the case of other clients as sending clients in the process of the communication session of the plurality of clients, the video resolution required by the receiving client includes the video resolution required by the receiving client to all sending clients.
[0071] Similarly, taking the plurality of clients as three clients of a client A, a client B and a client C as an example, in the process of the communication session of the client A, the client B and the client C, the client A can be a receiving client in the case of the client B as a sending client, and can be a receiving client in the case of the client C as a sending client. At this time, for the client A as a receiving client, the video resolution required by the client A refers to a video resolution required by the client A to send session data uplink by the client B and a video resolution required by the client A to send session data uplink by the client C.
[0072] The client B can be a receiving client in the case of the client A as a sending client, and can be a receiving client in the case of the client C as a sending client. At this time, for the client B as a receiving client, the video resolution required by the client B refers to a video resolution required by the client B to send session data uplink by the client A and a video resolution required by the client B to send session data uplink by the client C.
[0073] The client C can be a receiving client in the case of the client A as a sending client, and can be a receiving client in the case of the client B as a sending client. At this time, for the client C as a receiving client, the video resolution required by the client B refers to a video resolution required by the client B to send session data uplink by the client A and a video resolution required by the client B to send session data uplink by the client C.
[0074] In the embodiments of this application, the video resolution required by the receiving client is often obtained by utilizing the video resolutions supported by the sending client and the importance of the session data sent uplink by the sending client. Specifically, among the video resolutions supported by the sending client, a correspondence between the importance of the session data sent uplink by the sending client and the video resolution can be found to obtain the video resolution required by the receiving client.
[0075] Specifically, the level of importance is often determined by the data type of the session data. For example, session data of the shared data type often has a higher level of importance.
[0076] In one possible implementation, the process of generating the required transmission bitrate for the receiving client based on the video resolution and downlink bandwidth can be as follows: Figure 3 As shown, Figure 3 This is an example diagram illustrating a process for determining the transmission rate, as provided in an embodiment of this application. Figure 3 In this context, A represents client A, B represents client B, and C represents client C.
[0077] Figure 3 When clients A, B, and C act as sending clients, the supported video resolutions are 720p (plixes), 360p, and 180p. When clients A, B, and C send 720p session data uplink, the supported transmission bitrates are 1.4M, 1.1M, and 0.8M, respectively. When clients A, B, and C send 360p session data uplink, the supported transmission bitrates are 700K, 500K, and 300K, respectively. When clients A, B, and C send 180p session data uplink, the supported transmission bitrates are 250K, 170K, and 90K, respectively.
[0078] Depend on Figure 3 It can be seen that when client A acts as the sending client, clients B and C act as the corresponding receiving clients; when client B acts as the sending client, clients A and C act as the corresponding receiving clients; and when client C acts as the sending client, clients A and B act as the corresponding receiving clients.
[0079] Assuming that for the client A as a receiving client, the client A needs the video resolution of 180p for the session data uplink sent by the client B, and the client A needs the video resolution of 720p for the session data uplink sent by the client C. At this time, if 180p and 720p are taken as the inputs of the knapsack algorithm, and the current corresponding downlink bandwidth of the client A is taken as the constraint. It can be calculated that the preferred transmission code rate of the client A for the session data uplink sent by the client B is 250K, and the preferred transmission code rate of the client A for the session data uplink sent by the client C is 1.1M.
[0080] Assuming that for the client B as a receiving client, the client B needs the video resolution of 720p for the session data uplink sent by the client A, and the client B needs the video resolution of 180p for the session data uplink sent by the client C. At this time, if 180p and 720p are taken as the inputs of the knapsack algorithm, and the current corresponding downlink bandwidth (for example: 5M) of the client B is taken as the constraint. It can be calculated that the preferred transmission code rate of the client B for the session data uplink sent by the client A is 1.4M, and the preferred transmission code rate of the client B for the session data uplink sent by the client C is 250K.
[0081] Assuming that for the client C as a receiving client, the client C needs the video resolution of 720p for the session data uplink sent by the client A, and the client C needs the video resolution of 720p for the session data uplink sent by the client B. At this time, if 720p and 720p are taken as the inputs of the knapsack algorithm, and the current corresponding downlink bandwidth of the client C is taken as the constraint. It can be calculated that the preferred transmission code rate of the client C for the session data uplink sent by the client A is 1.1M, and the preferred transmission code rate of the client C for the session data uplink sent by the client B is 1.4M.
[0082] After the preferred transmission code rate required by the receiving client is obtained, the transmission code rate required by the receiving client can be determined based on the preferred transmission code rate. Taking the client B as the receiving client as an example, since the preferred transmission code rate of the client B for the session data uplink sent by the client A is 1.4M, 1.1M and 0.8M corresponding to 720p can also be taken as the transmission code rate of the client B for the session data uplink sent by the client A. That is, the transmission code rate of the client B for the session data uplink sent by the client A includes 1.4M, 1.1M and 0.8M.
[0083] In the embodiments of the present application, the sending client supports multiple video resolutions in uplink transmission, and supports multiple transmission bit rates under each video resolution. Therefore, when the uplink bandwidth or the downlink bandwidth fluctuates slightly, the sending client can only produce slight changes in transmission bit rate. In this way, when the uplink bandwidth or the downlink bandwidth fluctuates slightly, the data quality of the session data uplink transmitted by the sending client will not have a large difference, thereby ensuring that the participants have a smooth viewing experience.
[0084] In addition, in the embodiments of the present application, the implementation of the process of generating the transmission bit rate required by the receiving client according to the video resolution required by the receiving client and the downlink bandwidth is not specifically limited. For example, the transmission bit rate required by the receiving client can also be generated in the following manner: the process of generating the transmission bit rate required by the receiving client according to the video resolution required by the receiving client and the downlink bandwidth can also be that the transmission bit rate required by the receiving client is obtained in an exhaustive manner under the constraints of the video resolution required by the receiving client and the downlink bandwidth.
[0085] Since the sending client can only support one transmission bit rate under each video resolution, the specific implementation of determining the at least one transmission bit rate that can be used by the sending client to uplink transmit the session data according to the downlink parameters based on the transmission bit rate required by the receiving client is that: the intersection of the transmission bit rates required by different receiving clients for the sending client under a specific resolution is obtained, and the intersection is taken as the transmission bit rate required by the sending client under the specific resolution.
[0086] Please refer to Figure 3 Taking the sending client as the client B for example, the transmission bit rates of the session data uplink transmitted by the client B required by the client A include 250K, 170K and 90K, and the transmission bit rates of the session data uplink transmitted by the client B required by the client C include 1.4M, 1.1M and 0.8M. Then, the at least one transmission bit rate that can be used by the client B includes any one of 1.4M, 1.1M and 0.8M, and the combination of one of 250K, 170K and 90K. That is, the at least one transmission bit rate that can be used by the client B includes nine rate combinations, which are (1.4M, 250K), (1.1M, 250K), (0.8M, 250K), (1.4M, 170K), (1.1M, 170K), (0.8M, 170K), (1.4M, 90K), (1.1M, 90K) and (0.8M, 90K).
[0087] For the sending client, after determining the at least one available transmission rate for the receiving client to uplink the session data according to the downlink parameters, the sending client can only represent the sending client to perform the uplink of the session data at the corresponding transmission rate, and the session data sent by the sending client can meet the downlink parameter requirement of the receiving client. However, the current bandwidth corresponding to the sending client cannot necessarily support the uplink of the session data at some transmission rates. Therefore, in order to be able to determine the target transmission rate matching the uplink bandwidth from the available transmission rates, there needs to be a transmission rate matching the uplink bandwidth in the available transmission rates, and the transmission rate matching the uplink bandwidth is selected from the at least one available transmission rate to determine the available transmission rate.
[0088] Taking the client B as the sending client as an example, the implementation process of selecting the transmission rate matching the uplink bandwidth from the at least one available transmission rate to determine the available transmission rate is specifically described as follows: first, it is determined whether there is a case of exceeding the uplink bandwidth when the client B performs the uplink of the session data at the nine rate combinations. Then, the rate combination exceeding the uplink bandwidth is excluded to obtain the available transmission rate.
[0089] In addition, in order to ensure that there is a transmission rate matching the uplink bandwidth in the at least one available transmission rate, and further ensure that the target transmission rate can be determined from the available transmission rates, the following iterative steps can be performed when there is no transmission rate matching the uplink bandwidth in the at least one available transmission rate:
[0090] First, the downlink parameters of the receiving client are updated. Then, based on the updated downlink parameters of the receiving client, the at least one available transmission rate for the sending client to uplink the session data according to the downlink parameters is re-determined.
[0091] The updating of the downlink parameters of the receiving client includes updating the video resolution required by the receiving client in the downlink parameters of the receiving client. For example: when the client B performs the uplink of the session data at the nine rate combinations, the uplink bandwidth is exceeded, which proves that the transmission rate required by the client C for the client B to uplink the session data and the transmission rate required by the client A for the client B to uplink the session data are too high. That is, the client B cannot support the uplink of the session data at the transmission rates of 1.4M, 1.1M or 0.8M. That is, 1.4M, 1.1M or 0.8M needs to be excluded from the transmission rates supported by the client B. At this time, the client B only supports the uplink of the session data of 360p and 180p. After excluding the transmission rates supported by the client B, the video resolution required by the receiving client in the downlink parameters of the receiving client needs to be updated synchronously.
[0092] Please refer to Figure 2 In determining the transmission code rate available for sending the session data of the client, step S202 needs to be further performed.
[0093] S202, in the transmission code rates available, determine the target transmission code rate matching the uplink bandwidth of the sending client.
[0094] In the embodiments of the present application, the number of transmission code rates available can be multiple or one. When the number of transmission code rates available is only one, the implementation of determining the target transmission code rate matching the uplink bandwidth of the sending client in the transmission code rates available is to determine the transmission code rate available as the target transmission code rate matching the uplink bandwidth of the sending client.
[0095] In addition, when the number of transmission code rates available is only multiple, the implementation of determining the target transmission code rate matching the uplink bandwidth of the sending client in the transmission code rates available is as follows:
[0096] First, determine multiple candidate transmission code rates matching the uplink bandwidth in the transmission code rates available. Then, determine the priority corresponding to the multiple candidate transmission code rates. Finally, determine the target transmission code rate in the multiple candidate transmission code rates based on the priority.
[0097] In the embodiments of the present application, the way of determining the priority corresponding to the multiple candidate transmission code rates can be as shown in Figure 4 , which is a flow chart of a priority determination method provided by the embodiments of the present application. Figure 4
[0098] Step S401, determine the importance of the session data corresponding to the multiple candidate transmission code rates.
[0099] The importance is often determined by the data type of the session data. For example, the session data of the data type of shared data often has a higher importance. For example, the session data sent by the client B in uplink is a shared session, which proves that the session data has a higher importance.
[0100] Step S402, based on the importance, find the priority weight corresponding to the importance in the preset weight corresponding relationship list.
[0101] Generally, the importance is often determined by the data type of the session data, and the importance has a certain corresponding relationship with the video resolution required by the receiving client, which means that the higher the importance, the higher the video resolution required by the receiving client.
[0102] Please refer toFigure 3 Taking the sending client as the client B and the session data sent by the client B in the uplink as an example, in order to ensure that the session data with a high importance level can be sent by the sending client in the uplink at a high transmission code rate, the priority weight can be set as 0.7 for the transmission code rate supported in 720p and 0.3 for the transmission code rate supported in 180p.
[0103] Please refer to Figure 4 After the priority weight is determined, in order to determine the priority corresponding to the plurality of candidate transmission code rates, step S403 needs to be further performed.
[0104] In step S403, the priority is determined by using the priority weight and the code rate value corresponding to the plurality of candidate transmission code rates.
[0105] In a possible implementation, the specific implementation of determining the priority by using the priority weight and the code rate value corresponding to the plurality of candidate transmission code rates is that, for the plurality of candidate transmission code rates, the weight sum of the priority weight and the code rate value corresponding to a single candidate transmission code rate is calculated respectively, and the weight sum is determined as the priority.
[0106] Please refer to Figure 3 , assuming that the transmission code rates available for the client B include (1.4M, 250K), (1.1M, 250K), (0.8M, 250K), (1.4M, 170K), (1.1M, 170K), (0.8M, 170K), (1.4M, 90K), (1.1M, 90K), and (0.8M, 90K), and the priority weight is that the weight of the transmission code rate supported in 720p is 0.7 and the weight of the transmission code rate supported in 180p is 0.3. At this time, the priority corresponding to the single candidate transmission code rate (1.4M, 250K) is 1400K*0.7+250K*0.3, the priority corresponding to the single candidate transmission code rate (1.1M, 250K) is 1100K*0.7+250K*0.3, and so on, and the priority corresponding to the single candidate transmission code rate (0.8M, 90K) is 800K*0.7+90K*0.3.
[0107] In a possible implementation, the candidate transmission code rate with the highest priority in the plurality of candidate transmission code rates is determined as the target transmission code rate.
[0108] Taking the sending client as the client B and the session data sent by the client B in the uplink as an example, in order to ensure that the session data with a high importance level can be sent by the sending client in the uplink at a high transmission code rate, the priority weight can be set as 0.7 for the transmission code rate supported in 720p and 0.3 for the transmission code rate supported in 180p. Figure 3For example, assume that the available transmission rates for client C include (1.1M, 250K), (0.8M, 250K), (1.1M, 170K), (0.8M, 170K), (1.1M, 90K), (0.8M, 90K). If, after priority calculation, it is determined that (1.1M, 250K) among the available transmission rates for client C has the highest priority, then (1.1M, 250K) is determined as the matched target transmission rate.
[0109] Referring back to Figure 2 In the embodiments of the present application, after the target transmission rate matching the uplink bandwidth of the sending client is determined, step S203 needs to be further performed.
[0110] In step S203, the matched target transmission rate is sent to the corresponding client for use by the plurality of clients as the sending client in the uplink sending of the session data.
[0111] In the embodiments of the present application, since the plurality of clients can all be the sending client. Therefore, for each client, the client will have a matched target transmission rate. In order to enable each client to send the session data uplink with the matched target transmission rate when acting as the sending client, the matched target transmission rate needs to be sent to the corresponding client.
[0112] The method for determining the transmission rate provided by the embodiments of the present application, in the process of the communication session of the plurality of clients, for the sending client in the process of the communication session and at least one receiving client corresponding to the sending client, needs to first obtain the available transmission rate of the sending client in the uplink sending of the session data by using the downlink parameter corresponding to the receiving client, and then determine the target transmission rate matching the uplink bandwidth of the sending client from the available transmission rate. After the target transmission rate matching the uplink bandwidth of the sending client is determined, the matched target transmission rate is sent to the corresponding client for use by the plurality of clients as the sending client in the uplink sending of the session data.
[0113] Since the available transmission rate is obtained by using the downlink parameter corresponding to the receiving client, and the matched target transmission rate is the target transmission rate matching the uplink bandwidth of the sending client. Therefore, the target transmission rate can simultaneously satisfy the uplink bandwidth of the sending client and the downlink parameter corresponding to the receiving client. Thus, the problem of communication lag and communication delay in the process of the communication session caused by the transmission rate not satisfying the uplink bandwidth or the downlink parameter is avoided, and the communication quality in the process of the communication session is improved.
[0114] In addition, since the multiple clients performing the communication session can all determine the target transmission code rate used in the uplink transmission of the session data performed by the sending client as a sending client, the determination method of the transmission code rate provided by the present application can reduce the communication lag and communication delay problems existing in the process of the multiple clients performing the communication session as a whole.
[0115] After the matched target transmission code rate is sent to the corresponding client, the session data sent by the sending client at the matched target transmission code rate needs to be obtained, so that the corresponding receiving client can obtain the corresponding session data according to the downlink parameters corresponding to the receiving client, thereby ensuring the smooth performance of the communication session.
[0116] After the matched target transmission code rate is sent to the corresponding client, the session data sent by the sending client at the matched target transmission code rate needs to be obtained, so that the corresponding receiving client can obtain the corresponding session data according to the downlink parameters corresponding to the receiving client, thereby ensuring the smooth performance of the communication session.
[0117] In addition, after obtaining the session data sent by the sending client at the matched target transmission code rate based on the session data uplink transmission instruction, the determination method of the transmission code rate provided by the present application can further perform the following steps: first, obtain the session data uplink transmission request of the sending client for the matched target transmission code rate. Then, send the session data uplink transmission instruction to the sending client for instructing the uplink transmission of the session data. Finally, obtain the session data sent by the sending client at the matched target transmission code rate based on the session data uplink transmission instruction.
[0118] Corresponding to the determination method of the transmission code rate provided by the above-mentioned embodiments of the present application, the present application also provides a video call data transmission method. The video call data transmission method provided by the present application is applied in the process of video conference of multiple clients, and is different from the determination method of the transmission code rate provided by the above-mentioned embodiments of the present application. In addition, the video call data transmission method provided by the present application is similar to the determination method of the transmission code rate provided by the above-mentioned embodiments of the present application. Therefore, the embodiment description of the video call data transmission method provided by the present application is relatively simple, and the similarities between the video call data transmission method provided by the present application and the determination method of the transmission code rate provided by the above-mentioned embodiments of the present application will not be described in detail one by one.
[0119] The implementation process of another video call data transmission method provided by the present application can be as shown in Figure 5 Figure 5 A flow chart of a method for transmitting video call data is provided for another embodiment of the present application. As shown in Figure 5 The method includes the following steps:
[0120] In step S501, for a sending client and at least one receiving client corresponding to the sending client in a process of a video conference, a transmission code rate available for the sending client to send video call data uplink is determined, which is obtained by using downlink parameters corresponding to the receiving client.
[0121] In the embodiments of the present application, in a process of a video conference of multiple clients, each client in the multiple clients can act as a sending client and a corresponding receiving client when other clients act as sending clients. Therefore, in the process of the video conference of the multiple clients, there is at least one sending client, and each sending client has a corresponding receiving client.
[0122] Therefore, in the embodiments of the present application, for a sending client and at least one receiving client corresponding to the sending client in a process of a video conference, the specific implementation of determining a transmission code rate available for the sending client to send video call data uplink is generally as follows: first, a data transmission combination composed of the sending client and the at least one receiving client is determined, and then for the data transmission combination composed of the sending client and the at least one receiving client, the transmission code rate available for the sending client to send video call data uplink is determined for the sending client and the at least one receiving client corresponding to the sending client in the process of the video conference.
[0123] In the process of the video conference of the multiple clients, the data transmission combination composed of the sending client and the at least one receiving client is usually multiple. In general, the number of the data transmission combinations is the same as the number of the clients corresponding to the multiple clients.
[0124] Taking a plurality of clients including a first client, a second client and a third client for conducting a video conference as an example, in the process of conducting a video conference by the first client, the second client and the third client, the data transmission combinations generally have three, which are respectively denoted as a first data transmission combination, a second data transmission combination and a third data transmission combination. The first data transmission combination is a data transmission combination constituted by the first client as a sending client and the second client and the third client as receiving clients; the second data transmission combination is a data transmission combination constituted by the second client as a sending client and the first client and the third client as receiving clients; and the third data transmission combination is a data transmission combination constituted by the third client as a sending client and the first client and the second client as receiving clients.
[0125] In step S502, among the available transmission code rates, a target transmission code rate matching the uplink bandwidth of the sending client is determined.
[0126] In actual application, the transmission code rate of the sending client when sending the video call data is generally referred to as upload code rate, which specifically refers to the number of data bits transmitted per unit time when the sending client sends the video call data; and the transmission code rate of the receiving client when receiving the video call data is generally referred to as download code rate, which specifically refers to the number of data bits transmitted per unit time when the receiving client downloads the video call data.
[0127] In actual application, the download code rate is often determined by the upload code rate. Specifically, in the process of the sending client conducting a video conference with at least one receiving client, if the upload code rate used by the sending client when performing the uplink sending of the video call data is 1.4M, 700K and 90K, then the available download code rate of the receiving client when receiving the video call data can only be one of 1.4M, 700K and 90K.
[0128] Since the download code rate is often determined by the upload code rate, in order to enable the receiving client to successfully receive the corresponding video call data under the condition of meeting the downlink parameters after the sending client uses a specific transmission code rate to send the video call data uplink, the downlink parameters corresponding to the receiving client need to be used to obtain the available transmission code rate of the sending client when sending the video call data uplink in the process of determining the available transmission code rate. The transmission code rate refers to the number of data bits transmitted per unit time when the video call data is transmitted, and the unit of the transmission code rate is generally kbps, k=1000 or Mbps. The uplink bandwidth refers to the bandwidth available for the client as a sending client to send the video call data uplink.
[0129] Step S503: The matched target transmission code rate is sent to the corresponding client, so as to be used by the multiple clients as the sending client to perform uplink sending of the video call data.
[0130] In the embodiments of the present application, since the multiple clients can all be the sending client, for each client, the client will have a matched target transmission code rate. In order to enable each client to send the video call data at the matched target transmission code rate when acting as the sending client, the matched target transmission code rate needs to be sent to the corresponding client.
[0131] Step S504: The video call data sent by the sending client at the matched target transmission code rate is acquired.
[0132] After the matched target transmission code rate is sent to the corresponding client, the video call data sent by the sending client at the matched target transmission code rate needs to be acquired, so that the corresponding receiving client can acquire the corresponding video call data according to the downlink parameter of the receiving client, thereby ensuring smooth video conference.
[0133] Step S505: The video call data matched with the downlink parameter in the video call data is sent to the corresponding receiving client.
[0134] The video call data transmission method provided by the embodiments of the present application, in the process of video conference of the multiple clients, first determines the target transmission code rate matched with the uplink bandwidth of the sending client, and sends the matched target transmission code rate to the corresponding client, so as to be used by the multiple clients as the sending client to perform uplink sending of the video call data. After the matched target transmission code rate is sent to the corresponding client, the video call data sent by the sending client at the matched target transmission code rate is acquired, and the video call data matched with the downlink parameter in the video call data is sent to the corresponding receiving client.
[0135] Since the available transmission code rate is obtained by using the downlink parameter of the receiving client, and the matched target transmission code rate is the target transmission code rate matched with the uplink bandwidth of the sending client, the target transmission code rate can simultaneously satisfy the uplink bandwidth of the sending client and the downlink parameter of the receiving client. Thus, the communication lag and communication delay problems caused by the transmission code rate not satisfying the uplink bandwidth or the downlink parameter in the process of video conference are avoided, thereby improving the communication quality in the process of video conference.
[0136] In addition, for multiple clients performing video conference, each client can determine a target transmission code rate used in uplink transmission of video call data performed by the client as a sending client. Therefore, the transmission method of video call data provided by the embodiment of the application can reduce the communication lag and communication delay in the process of video conference of multiple clients.
[0137] Corresponding to the application scenario of the method and the determination method of the transmission code rate, the embodiment of the application further provides a determination apparatus of the transmission code rate, which is applied in the process of communication session of multiple clients. As shown in Figure 6 FIG. 6 is a structural block diagram of a determination apparatus of a transmission code rate provided by an embodiment of the application. The determination apparatus of the transmission code rate can include:
[0138] The transmission code rate determination module 601 is configured to determine, for a sending client and at least one receiving client corresponding to the sending client in the process of the communication session, a transmission code rate available for the sending client to use in uplink transmission of session data, and the available transmission code rate is obtained by using a downlink parameter corresponding to the receiving client.
[0139] The target transmission code rate determination module 602 is configured to determine, from the available transmission code rates, a target transmission code rate matching the uplink bandwidth of the sending client.
[0140] The target transmission code rate sending module 603 is configured to send the matching target transmission code rate to the corresponding client, so as to be used by the multiple clients as the sending client in uplink transmission of session data.
[0141] In a possible implementation, the transmission code rate determination module 601 is specifically configured to generate a required transmission code rate of the receiving client according to the downlink parameter, determine at least one transmission code rate available for the sending client to use in uplink transmission of session data according to the downlink parameter based on the required transmission code rate of the receiving client, and select a transmission code rate matching the uplink bandwidth from the at least one available transmission code rate, so as to determine the available transmission code rate.
[0142] In a possible implementation, the transmission code rate determination module 601 is further configured to update the downlink parameter of the receiving client if there is no transmission code rate matching the uplink bandwidth in the at least one available transmission code rate, re-determine at least one transmission code rate available for the sending client to use in uplink transmission of session data according to the downlink parameter based on the updated downlink parameter of the receiving client, and iteratively perform the process of determining the at least one available transmission code rate until there is a transmission code rate matching the uplink bandwidth in the at least one available transmission code rate.
[0143] In a possible implementation, the downlink parameter includes a video resolution required by the receiving client and a downlink bandwidth of the receiving client.
[0144] The transmission code rate determination module 601 is specifically configured to generate a transmission code rate required by the receiving client according to the video resolution required by the receiving client and the downlink bandwidth.
[0145] In a possible implementation, the transmission code rate determination module 601 is specifically configured to update the video resolution required by the receiving client in the downlink parameter of the receiving client.
[0146] In a possible implementation, the target transmission code rate determination module 602 includes:
[0147] The candidate transmission code rate determination submodule is configured to determine a plurality of candidate transmission code rates that match the uplink bandwidth from the available transmission code rates.
[0148] The priority determination submodule is configured to determine priorities corresponding to the plurality of candidate transmission code rates.
[0149] The target transmission code rate determination submodule is configured to determine the target transmission code rate from the plurality of candidate transmission code rates based on the priorities.
[0150] In a possible implementation, the priority determination submodule is specifically configured to determine an importance of the session data corresponding to the plurality of candidate transmission code rates, search for a priority weight corresponding to the importance in a preset weight corresponding relationship list based on the importance, and determine the priority by using the priority weight and code rate values corresponding to the plurality of candidate transmission code rates.
[0151] In a possible implementation, the apparatus further includes:
[0152] The uplink sending request acquisition module is configured to, after sending the matched target transmission code rate to the corresponding client, acquire a session data uplink sending request sent by the sending client for the matched target transmission code rate.
[0153] The uplink sending instruction sending module is configured to send a session data uplink sending instruction for instructing to send the session data uplink to the sending client.
[0154] The session data acquisition module is configured to acquire the session data sent by the sending client based on the session data uplink sending instruction and the matched target transmission code rate.
[0155] In a possible implementation, the apparatus further includes:
[0156] The session data obtaining request obtaining module is configured to obtain a session data obtaining request sent by the receiving client after obtaining the session data sent by the sending client based on the session data uplink sending instruction to match the target transmission code rate;
[0157] The session data determining module is configured to determine, in the session data, session data matching the downlink parameter according to the session data obtaining request;
[0158] The session data sending module is configured to send the session data matching the downlink parameter to the receiving client.
[0159] Corresponding to the application scenario and method of the method provided by the embodiments of the present application, the embodiments of the present application further provide a video call data transmission device, which is applied to the process of video conference of multiple clients. As shown in Figure 7 The video call data transmission device provided by another embodiment of the present application is shown in the structural block diagram, which can include:
[0160] The transmission code rate determining module 701 is configured to determine, for the sending client and at least one receiving client corresponding to the sending client in the process of video conference, a transmission code rate that can be used by the sending client when sending the video call data uplink, and the transmission code rate that can be used is obtained by using the downlink parameter corresponding to the receiving client;
[0161] The target transmission code rate determining module 702 is configured to determine, in the transmission code rate that can be used, a target transmission code rate matching the uplink bandwidth of the sending client;
[0162] The target transmission code rate sending module 703 is configured to send the matching target transmission code rate to the corresponding client, so as to be used by the multiple clients as the sending client in the uplink sending of the video call data;
[0163] The video call data obtaining module 704 is configured to obtain the video call data sent by the sending client at the matching target transmission code rate;
[0164] The video call data sending module 705 is configured to send the video call data matching the downlink parameter in the video call data to the corresponding receiving client.
[0165] Figure 8 A block diagram of an electronic device for implementing the embodiments of the present application is shown in Figure 8 The electronic device includes a memory 810 and a processor 820, and the memory 810 stores a computer program that can run on the processor 820. The processor 820 implements the method in the above embodiments when executing the computer program. The number of the memory 810 and the processor 820 can be one or more.
[0166] The electronic device further includes:
[0167] The communication interface 830 is configured to communicate with external devices and transmit data.
[0168] If the memory 810, the processor 820 and the communication interface 830 are implemented independently, the memory 810, the processor 820 and the communication interface 830 can be connected to each other through a bus and complete communication between each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For convenience of representation, Figure 8 In the figure, only one thick line is used to represent the bus, but it does not mean that there is only one bus or only one type of bus.
[0169] Optionally, in a specific implementation, if the memory 810, the processor 820 and the communication interface 830 are integrated on a chip, the memory 810, the processor 820 and the communication interface 830 can complete communication between each other through an internal interface.
[0170] The embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the method provided in the embodiment of the present application.
[0171] The embodiment of the present application further provides a chip, which includes a processor, and the processor is configured to call and run instructions stored in a memory, so that a communication device installed with the chip executes the method provided in the embodiment of the present application.
[0172] The embodiment of the present application further provides a chip, which includes an input interface, an output interface, a processor and a memory, the input interface, the output interface, the processor and the memory are connected through an internal connection path, and the processor is configured to execute code in the memory, and when the code is executed, the processor is configured to execute the method provided in the embodiment of the present application.
[0173] It is to be understood that the above-mentioned processor can be a central processing unit (CPU), but can also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc. It is worth noting that the processor can be a processor supporting an advanced RISC machine (ARM) architecture.
[0174] Further, the above-mentioned memory can include read-only memory and random access memory, and can also include non-volatile random access memory. The memory can be volatile memory or non-volatile memory, or can include both volatile and non-volatile memory. Among them, the non-volatile memory can include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory can include random access memory (RAM) used as an external cache. By way of example but not limitation, many forms of RAM are available. For example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct memory bus random access memory (Direct Rambus RAM, DR RAM).
[0175] In the above-described embodiments, all or part can be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed by a computer, all or part generates the processes or functions according to the present application. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium.
[0176] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. Also, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples, without contradiction.
[0177] In addition, the terms "first", "second", etc. are used only for the purpose of description and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality of" is two or more, unless otherwise explicitly specified.
[0178] Any process or method descriptions or descriptions in flow charts or otherwise described herein can be understood as representing code modules, segments, or portions of code that include one or more executable instructions for implementing specific logic functions or steps in the process. And the scope of the preferred embodiments of the present application includes additional implementation in which the functions can be performed in different order, including substantially concurrently or in reverse order, according to the functions involved, as will be understood by those skilled in the art.
[0179] The logic and / or steps represented in the flow chart or otherwise described herein, for example, can be considered as a list of executable instructions for implementing the logic function, which can be specifically embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus or device, such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, apparatus or device and execute the instructions, or in conjunction with these instructions execution system, apparatus or device.
[0180] It should be understood that each part of the present application can be realized by hardware, software, firmware or a combination thereof. In the above embodiments, a plurality of steps or methods can be realized by software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the above-mentioned embodiment methods can be completed by a program instructing the relevant hardware, which can be stored in a computer readable storage medium and includes one or a combination of the steps of the embodiment methods when executed.
[0181] In addition, each functional unit in each embodiment of the present application can be integrated in one processing module, or each unit can be physically present separately, or two or more units can be integrated in one module. The above-mentioned integrated module can be realized in the form of hardware or in the form of a software functional module. The above-mentioned integrated module, if realized in the form of a software functional module and sold or used as an independent product, can also be stored in a computer readable storage medium. The storage medium can be a read-only memory, a magnetic disk or an optical disk, etc.
[0182] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of various changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A method of transmitting video call data, the method comprising: The method is applied to a server, and in a process in which multiple clients perform a video conference through the server, the method comprises: For a sending client and at least one receiving client corresponding to the sending client in a process of the video conference, determining a transport code rate available for the sending client to send uplink video call data, the available transport code rate being obtained by using downlink parameters corresponding to the receiving client; In the available transport code rate, determining a target transport code rate matching an uplink bandwidth of the sending client; Sending the matching target transport code rate to the corresponding client for use by the multiple clients as the sending client in performing uplink sending of video call data; Obtaining video call data sent by the sending client at the matching target transport code rate; Sending video call data matching the downlink parameters in the video call data to the corresponding receiving client.
2. A method of determining a transmission code rate, characterized by, The method is applied to a server, and in a process in which multiple clients perform a communication session through the server, the method comprises: For a sending client and at least one receiving client corresponding to the sending client in a process of the communication session, determining a transport code rate available for the sending client to send uplink session data, the available transport code rate being obtained by using downlink parameters corresponding to the receiving client; In the available transport code rate, determining a target transport code rate matching an uplink bandwidth of the sending client; Sending the matching target transport code rate to the corresponding client for use by the multiple clients as the sending client in performing uplink sending of session data.
3. The method of claim 2, wherein, The determination of the transport code rate available for the sending client to send uplink session data comprises: Generating a required transport code rate of the receiving client according to the downlink parameters; Based on the required transport code rate of the receiving client, determining at least one transport code rate available for the sending client to send uplink session data according to the downlink parameters.
4. The method of claim 3, wherein, The determination of the transport code rate available for the sending client to send uplink session data further comprises: If there is no transport code rate matching the uplink bandwidth in the available at least one transport code rate, updating the downlink parameters of the receiving client; Based on the updated downlink parameters of the receiving client, redetermining at least one transport code rate available for the sending client to send uplink session data according to the downlink parameters; Iteratively performing the above process of determining the available at least one transport code rate until there is a transport code rate matching the uplink bandwidth in the available at least one transport code rate.
5. The method of claim 4, wherein, The downlink parameters comprise a required video resolution of the receiving client and a downlink bandwidth of the receiving client; The generation of the required transport code rate of the receiving client according to the downlink parameters comprises generating the required transport code rate of the receiving client according to the required video resolution of the receiving client and the downlink bandwidth.
6. The method of claim 5, wherein, The updating of the downlink parameters of the receiving client comprises updating the required video resolution of the receiving client in the downlink parameters of the receiving client.
7. The method according to any one of claims 2-6, characterized in that, The method further comprises: determining a plurality of candidate transmission code rates in the available transmission code rates that match the uplink bandwidth; determining a priority corresponding to the plurality of candidate transmission code rates; determining the target transmission code rate in the plurality of candidate transmission code rates based on the priority.
8. The method of claim 7, wherein, The method further comprises: determining an importance of session data corresponding to the plurality of candidate transmission code rates; finding a priority weight corresponding to the importance in a preset weight corresponding relationship list based on the importance; determining the priority by using the priority weight and a code rate value corresponding to the plurality of candidate transmission code rates.
9. The method according to any one of claims 2-6, characterized in that, After sending the matched target transmission code rate to the corresponding client, the method further comprises: obtaining a session data uplink sending request sent by the sending client for the matched target transmission code rate; sending a session data uplink sending instruction for instructing to send session data uplink to the sending client; obtaining session data sent by the sending client based on the session data uplink sending instruction and the matched target transmission code rate.
10. The method of claim 9, characterized in that, After obtaining the session data sent by the sending client based on the session data uplink sending instruction and the matched target transmission code rate, the method further comprises: obtaining a session data obtaining request sent by the receiving client; determining session data matching the downlink parameter in the session data for the session data obtaining request; sending the session data matching the downlink parameter to the receiving client. 11.An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor implements the method of any one of claims 1-10 when executing the computer program. 12.A computer readable storage medium having a computer program stored therein, wherein the computer program implements the method of any one of claims 1-10 when executed by a processor.
Citation Information
Patent Citations
Data transmission method and device
CN111314738A