WO2021163954A1 - 数据传输方法、装置、设备、系统及介质 - Google Patents

数据传输方法、装置、设备、系统及介质 Download PDF

Info

Publication number
WO2021163954A1
WO2021163954A1 PCT/CN2020/076009 CN2020076009W WO2021163954A1 WO 2021163954 A1 WO2021163954 A1 WO 2021163954A1 CN 2020076009 W CN2020076009 W CN 2020076009W WO 2021163954 A1 WO2021163954 A1 WO 2021163954A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
encoding rate
data frame
rate
packet
Prior art date
Application number
PCT/CN2020/076009
Other languages
English (en)
French (fr)
Inventor
陈振亚
郭仕林
蔡学锋
黄晓虎
李昆
Original Assignee
深圳市汇顶科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市汇顶科技股份有限公司 filed Critical 深圳市汇顶科技股份有限公司
Priority to CN202080001621.5A priority Critical patent/CN111869142B/zh
Priority to PCT/CN2020/076009 priority patent/WO2021163954A1/zh
Publication of WO2021163954A1 publication Critical patent/WO2021163954A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • This application relates to the field of Bluetooth communication technology, and in particular to a data transmission method, device, equipment, system, and medium.
  • Bluetooth technology is mainly divided into classic Bluetooth and Bluetooth Low Energy (BLE). Compared with classic Bluetooth, Bluetooth low energy can effectively reduce power consumption.
  • BLE is a point-to-point synchronous stream transmission connection (Connected isochronous stream, CIS) link.
  • the BLE CIS link is specifically used to transmit data to implement low-latency and low-power Bluetooth transmission. This link is also called a BLE synchronization (Isochronous) link.
  • the link When a BLE CIS link is established, the link will be configured with corresponding Quality of Service (QoS) parameters. Once the QoS parameter configuration is completed, unless the BLE CIS link is disconnected, the QoS parameters cannot be modified.
  • QoS Quality of Service
  • the various parameters in QoS and the current actual situation of the BLE CIS link determine the number of retransmissions of each data packet on the BLE CIS link. Each data packet includes a data frame, so each data is also determined The number of retransmissions of the frame.
  • QoS Quality of Service
  • This application provides a data transmission method, device, equipment, system, and medium, so as to alleviate the problem of playing jams.
  • the present application provides a data transmission method, including: the transmitting end reduces the first encoding rate of the transmitting end to the second encoding rate; the transmitting end generates a plurality of first data frames according to the second encoding rate, and Generate multiple first data packets, where each first data packet includes multiple first data frames, and at least two of the multiple first data packets include at least one identical first data frame; the sending end Send multiple first data packets to the receiving end.
  • the coding rate of the sender is reduced to increase the number of data frames in the first data packet, so that at least two first data packets contain at least An identical first data frame, from the perspective of big data, when the number of transmissions of some or all data frames increases, then for the entire audio or video, the data frame discarding will be reduced, thereby alleviating The playback freezes.
  • the encoding rate is also reduced, so that the transmission byte of the transmitting end in one or more time intervals is unchanged or only increased by a small amount. It is guaranteed to reduce the problem of data frame transmission failure when there is no need to increase or only slightly increase the transmission rate.
  • the first encoding rate is N times the second encoding rate
  • the number of first data frames included in each first data packet is N of the number of second data frames included in the second data packet Times
  • the second data packet is any data packet generated at the first coding rate
  • N is an integer greater than 1.
  • the i-th data packet in the plurality of first data packets includes: the i+1-th data frame in the plurality of first data frames, and the i+1-th data frame in the plurality of first data frames At least one data frame after the data frame, i is an integer. Assuming that the BLE CIS link quality remains unchanged before and after the bit rate is reduced, then in this case, it can be guaranteed that the data frame originally included in each data packet will be processed at least according to the original transmission times after the code rate is reduced. Transmission, and even the transmission times of some data frames will be increased, which can reduce the playback jam.
  • the above-mentioned at least one data frame located after the (i+1)th data frame and the (i+1)th data frame constitute a continuous data frame.
  • the last m data frames in the last data packet in the plurality of first data packets are the first m data frames in the plurality of first data frames, and m is a positive integer, so that the previous The transmission times of m data frames can reduce the frame loss rate of the first m data frames.
  • the method further includes: the transmitting end receives the first indication information from the receiving end; correspondingly, the transmitting end sets the first encoding rate of the transmitting end
  • the reduction to the second encoding rate includes: the transmitting end reduces the first encoding rate to the second encoding rate according to the first indication information.
  • the method further includes: the transmitting end judging whether the second encoding rate is equal to the lowest encoding rate allowed by the transmitting end. If the second encoding rate is equal to the lowest encoding rate allowed by the transmitting end, the transmitting end sends second indication information to the receiving end to indicate to the receiving end that the transmitting end is not allowed to lower the encoding rate. If the second encoding rate is greater than the lowest encoding rate allowed by the transmitting end, the transmitting end sends third indication information to the receiving end to indicate to the receiving end that the transmitting end currently allows the encoding rate to be reduced.
  • the receiving end After the receiving end receives the second indication information, even if the receiving end determines again that the packet loss rate of the data packet is greater than the preset packet loss rate, it does not send the first indication information to the sending end, thereby reducing the receiving end and the sending end. Power consumption at the end.
  • the method further includes the sending end receiving fourth indication information sent by the receiving end.
  • the transmitting end adjusts the second encoding rate of the receiving end to the first encoding rate according to the fourth instruction information, and based on this, the transmitting end can continue to decrease the encoding rate.
  • each first data packet includes: a length field of the first data frame.
  • the length field is located in the custom header field of each first data packet.
  • the sending end reduces the first coding rate of the sending end to the second coding rate, including: the sending end adjusts the parameters of the encoder in the sending end to Decrease the first encoding rate of the sending end to the second encoding rate.
  • the parameters of the encoder include at least one of the following: the length field of the data frame formed by the encoder encoding, the acquisition frequency of the data frame by the encoder, the number of subbands divided into the frequency band of the input audio signal corresponding to the encoder, and the block of the encoder quantity.
  • the data transmission method corresponding to the receiving end side, as well as the data transmission device, equipment, storage medium, and program product will be provided below.
  • the corresponding method on the transmitting end side please refer to the corresponding method on the transmitting end side, which will not be described in detail below.
  • the present application provides a data transmission method, including: a receiving end receives a plurality of first data packets; wherein, each first data packet includes a plurality of first data frames, and among the plurality of first data packets, At least two data packets include at least one identical first data frame, and the first data frame is a data frame generated by the sending end that reduces the first encoding rate to the second encoding rate and is generated according to the second encoding rate.
  • the first encoding rate is N times the second encoding rate
  • the number of first data frames included in each first data packet is the number of second data frames included in the second data packet N times
  • the second data packet is any data packet generated at the first coding rate
  • N is an integer greater than 1.
  • the i-th data packet in the plurality of first data packets includes: the i+1-th data frame in the plurality of first data frames, and the i+1-th data frame in the plurality of first data frames At least one data frame after the data frame, i is an integer.
  • the aforementioned at least one data frame located after the (i+1)th data frame and the (i+1)th data frame constitute a continuous data frame.
  • the last m data frames in the last data packet in the multiple first data packets are the first m data frames in the multiple first data frames, and m is a positive integer.
  • the method further includes: if the receiving end determines that the packet loss rate of the data packet is greater than the preset packet loss rate, sending first indication information to the sending end so that the sending end is based on The first indication information reduces the first encoding rate to the second encoding rate.
  • the method further includes: the receiving end receives second indication information from the sending end, where the second indication information is used to indicate that the sending end is currently not allowed to reduce the coding rate.
  • the receiving end receives third indication information from the sending end, where the third indication information is used to indicate that the sending end is currently allowed to reduce the coding rate.
  • the method further includes: if the receiving end determines that the packet loss rate of the data packet is less than or equal to the preset packet loss rate, sending fourth indication information to the sending end, so that the sending end will send the fourth indication information to the receiving end according to the fourth indication information.
  • the second encoding rate is adjusted back to the first encoding rate.
  • each first data packet includes: a length field of the first data frame.
  • the length field is located in the custom header field of each first data packet.
  • this application provides a data transmission device, including:
  • the first adjustment module is used to reduce the first encoding rate of the transmitting end to the second encoding rate
  • the generating module is used to generate multiple first data frames and multiple first data packets according to the second coding rate, wherein each first data packet includes multiple first data frames, and multiple first data At least two data packets in the packet include at least one identical first data frame.
  • the sending module is used to send multiple first data packets to the receiving end.
  • this application provides a data transmission device, including:
  • the first receiving module is configured to receive multiple first data packets
  • each first data packet includes a plurality of first data frames, and at least two of the plurality of first data packets include at least one identical first data frame, and the first data frame is the first data frame sent by the transmitting end.
  • the encoding rate is reduced to a second encoding rate, and a data frame is generated according to the second encoding rate.
  • the present application provides a data transmission device, including: at least one processor. And a memory communicatively connected with at least one processor.
  • the memory stores instructions that can be executed by at least one processor, and the instructions are executed by at least one processor, so that the at least one processor can execute a method such as the first aspect or an optional manner of the first aspect.
  • the present application provides a data transmission device, including: at least one processor. And a memory connected in communication with at least one processor.
  • the memory stores instructions that can be executed by at least one processor, and the instructions are executed by at least one processor, so that the at least one processor can execute a method such as the second aspect or an optional manner of the second aspect.
  • the present application provides a data transmission system, including the data transmission device according to the fifth aspect, and the data transmission device according to the sixth aspect.
  • the present application provides a non-transitory computer-readable storage medium storing computer instructions, and the computer instructions are used to make a computer execute a method such as the first aspect or an optional method of the first aspect.
  • the present application provides a non-transitory computer-readable storage medium storing computer instructions, which are used to make a computer execute a method such as the second aspect or an optional method of the second aspect.
  • the present application also provides a computer program product, the computer program product including computer instructions, the computer instructions are used to make the computer execute the data transmission method corresponding to the sending end.
  • the present application also provides a computer program product, the computer program product including computer instructions, and the computer instructions are used to make the computer execute the above-mentioned data transmission method corresponding to the receiving end.
  • This application provides a data transmission method, device, equipment, system and medium.
  • the method includes: the transmitting end reduces the first encoding rate of the transmitting end to the second encoding rate; the transmitting end generates a plurality of first data frames according to the second encoding rate, and generates a plurality of first data packets, wherein each A first data packet includes a plurality of first data frames, and at least two data packets of the plurality of first data packets include at least one identical first data frame; the transmitting end sends the multiple first data packets to the receiving end.
  • it alleviates the problem of playing lag.
  • it can also ensure that the burden of the air interface and transmission rate is not increased.
  • Figure 1 is a schematic diagram of data transmission on a BLE CIS link provided by an embodiment of the application
  • FIG. 2 is a schematic diagram of the structure of a data packet provided by an embodiment of this application.
  • FIG. 3 is a schematic diagram of data transmission on a BLE CIS link provided by another embodiment of the application.
  • Figure 4 is an application scenario diagram provided by an embodiment of the application.
  • FIG. 5 is an interaction flowchart of a data transmission method provided by an embodiment of this application.
  • FIG. 6 is a schematic diagram of data transmission on a BLE CIS link provided by still another embodiment of this application.
  • FIG. 7 is a schematic diagram of data transmission on a BLE CIS link provided by another embodiment of this application.
  • FIG. 8 is an interaction flowchart of a data transmission method provided by another embodiment of this application.
  • FIG. 9 is a schematic diagram of a data transmission device provided by an embodiment of this application.
  • FIG. 10 is a schematic diagram of a data transmission device provided by another embodiment of this application.
  • FIG. 11 is a schematic diagram of a data transmission device provided by an embodiment of this application.
  • FIG. 12 is a schematic diagram of a data transmission device provided by an embodiment of this application.
  • FIG. 13 is a schematic diagram of a data transmission system provided by an embodiment of this application.
  • the key to Bluetooth low energy technology is the BLE CIS link.
  • the link When a BLE CIS link is established, the link will be configured with corresponding QoS parameters. Once the QoS parameter configuration is completed, unless the BLE CIS link is disconnected, it will not be Modify QoS parameters.
  • the various parameters in the QoS and the current actual situation of the BLE CIS link determine the number of retransmissions of each data packet on the BLE CIS link. Each data packet includes a data frame, so it also determines each data packet. The number of retransmissions of the frame.
  • Fig. 1 is a schematic diagram of data transmission on a BLE CIS link provided by an embodiment of this application. As shown in Fig.
  • 0, 1, 2, 3, 4, and 5 respectively represent the number of the data packet (as shown in Figure 1, the number of each data packet is marked above each data packet), and the different data packets involved in BN Refers to data packets with different numbers.
  • the above QoS parameters determine the theoretical maximum number of retransmissions of all data packets, but because the status of the BLE CIS link is different in different situations, the QoS parameters and the current actual situation of the BLE CIS link determine the BLE CIS chain The actual maximum number of retransmissions of each data packet on the road.
  • FIG. 2 is a schematic diagram of the structure of a data packet provided by an embodiment of the application.
  • the data packet includes a specific header (Header), payload (Payload) fields, and message integrity check (Messages Integrity Check, MIC) field.
  • the payload field occupies a maximum of 251 bytes.
  • the payload field includes: a Custom Header field and at least one encoded data frame, such as data frame 1, data frame 2, data frame 3... .
  • the Custom Header field includes a data identification field (Flag), a data frame length field (Frame_len), a total number of data frames contained in the payload field (Frame_num), and the number of the data packet (Pkg_index).
  • Pkg_index is a continuously increasing number. Each data packet corresponds to a Pkg_index. Pkg_index can be used to determine whether packet loss has occurred.
  • the payload field when it is 126 bytes, it includes a 6-byte Custom Header field and an encoded data frame.
  • the receiving end successfully received the data packet 0 (corresponding to the confirmation ( acknowledge, ACK)), data packet 0 has not been retransmitted; data packet 1 has not been successfully received the first two times (that is, missing ACK (Missing Acks)), data packet 1 has been retransmitted twice and then sent successfully (corresponding to ACK );
  • Data packet 2 is still lost after being retransmitted once (corresponding to non-acknowledge (NACK)), data packet 3 is successfully sent after being retransmitted once; data packet 4 is successfully received but not retransmitted ;
  • Data packet 5 is still dropped after being retransmitted twice.
  • each data packet contains only one data frame, as shown in Figure 1, the number of the data frame is marked in the data packet to which it belongs, so data frame 1 has not been retransmitted; data frame 2 has been retransmitted twice, and the data Frame 3 was retransmitted once and then dropped, data frame 4 was retransmitted once; data frame 5 was not retransmitted; data frame 6 was retransmitted twice and then dropped.
  • data frame 3 and data frame 6 are lost, and then the headphone end, ie the receiving end, will have data interruption, which will cause the playback to freeze.
  • FIG. 3 is a schematic diagram of data transmission on a BLE CIS link provided by another embodiment of the application.
  • the data packet contains the first data frame, the first data packet contains the second data frame, and so on.
  • the receiving end successfully receives the data packet 0 (corresponding to the acknowledgement (ACK)); data Packet 1 is still discarded after being retransmitted once (corresponding to NACK); packet 2 is successfully received after being retransmitted once, packet 3 is sent once, and it is successfully received; packet 4 is retransmitted once After that, it was successfully received; data packet 5 was also retransmitted once, and it was successfully received; data packet 6 was sent once, and it was directly received successfully; data packet 7 was sent once, and it was directly received successfully; data After packet 8 is retransmitted twice, it is still discarded.
  • ACK acknowledgement
  • each data packet contains only one data frame, so. To sum up, data frame 2 and data frame 9 are lost, and then there will be data interruption on the earphone end, that is, the receiving end, which will cause the playback to freeze.
  • this application reduces the coding rate of the data frame without disconnecting the BLE CIS link and without modifying the QoS parameters, and at least two data packets in the first data packet contain at least one of the same first data Therefore, compared with the prior art, when the transmission quality of the same link is the same, the number of transmissions of the data frame is increased, thereby alleviating the problem of playing jams.
  • the data in this application can be audio data or video data, of course, it can also be other forms of data, which is not limited in this application.
  • FIG. 4 is an application scenario diagram provided by an embodiment of the application.
  • the sending end may be a chip, such as a BLE chip, or a smart phone, smart TV, or smart watch equipped with Bluetooth 6.0 protocol. Etc., but not limited to this.
  • the receiving end 402 may be a chip, such as a BLE chip, or a Bluetooth noodle headset supporting the Bluetooth 6.0 protocol, a Bluetooth True Wireless Stereo (TWS) headset, a Bluetooth headset, a Bluetooth speaker, etc., but it is not limited thereto.
  • TWS Bluetooth True Wireless Stereo
  • a BLE CIS link is established between the sending end 401 and the receiving end 402, and the sending end 401 and the receiving end 402 use Generic Audio Framework (GAF) and other protocols to transmit data packets on the BLE CIS link.
  • GAF Generic Audio Framework
  • GATT BLE Generic Attribute Profile
  • FIG. 4 is only an exemplary scenario of this application, and the application scenario of this application is not limited to this.
  • this application is also applicable to one-to-many (that is, one sending end and multiple receiving ends), and multiple Multiple (ie multiple senders and multiple receivers) application scenarios.
  • Fig. 5 is an interaction flowchart of a data transmission method provided by an embodiment of the application.
  • the execution subjects involved in this embodiment are the sender and the receiver. As shown in Fig. 5, the method includes the following steps:
  • Step S501 If the receiving end determines that the packet loss rate of the data packet is greater than the preset packet loss rate, the receiving end sends first indication information to the sending end.
  • the receiving end when receiving data packets, can count the number of lost packets in this time period at regular intervals. Due to the coding (Codec) parameters and QoS parameters of the transmitting end, it has been established during the establishment of the BLE CIS link. The interaction is completed, that is, the receiving end has learned the coding (Codec) parameters and QoS parameters, etc., and these parameters determine the total number of theoretically received data packets within the above-mentioned time period. Based on this, the receiving end can calculate the ratio of the number of lost packets in the above time period to the total number of data packets received in theory to obtain the packet loss rate of the data packets in this time period.
  • each data packet has a corresponding number, and the number of the data packet is continuously increasing.
  • the next data packet of the data packet and the previous data packet of the data packet The number of a data packet will not be consecutive, thus determining that the data packet is lost.
  • the aforementioned preset packet loss rate can be set according to actual conditions, for example, set to 5%.
  • the receiving end determines that the packet loss rate of the data packet is greater than the preset packet loss rate, it sends the first indication information to the sending end.
  • the first indication information is used to indicate that the sending end needs to reduce the coding rate.
  • Step S502 The transmitting end reduces the first encoding rate of the transmitting end to the second encoding rate.
  • the transmitting end may reduce the first encoding rate of the transmitting end to the second encoding rate under the instruction of the first indication information, or directly reduce the first encoding rate of the transmitting end to the second encoding rate, this application There is no restriction on this.
  • the so-called encoding rate at the transmitting end refers to the encoding rate of the encoder at the transmitting end.
  • the sender can directly adjust the coding rate.
  • the coding rate is calculated by the following formula:
  • bit_rate 8*frame_length*fs/nrof_subbands/nrof_blocks
  • bit_rate represents the coding rate
  • frame_length represents the length of a data frame
  • fs represents the acquisition frequency of the encoder
  • nrof_subbands represents the number of subbands of the frequency band of the input audio signal corresponding to the encoder
  • nrof_blocks represents the number of blocks of the encoder.
  • nrof_channels represents the number of channels on the sending end
  • bitpool represents the bitpool parameter
  • the encoder parameters include at least one of the following: the length field frame_length of the data frame formed by the encoder encoding, and the encoder pair of the data frame
  • the acquisition frequency fs of the encoder the number of subbands nrof_subbands into which the frequency band of the input audio signal corresponding to the encoder is divided, and the number of blocks of the encoder nrof_blocks.
  • the first encoding rate is the current encoding rate of the encoder, and the second encoding rate is less than the first encoding rate.
  • the second coding rate can be set according to actual conditions.
  • Step S503 The sending end generates multiple first data frames according to the second coding rate, and generates multiple first data packets.
  • each first data packet includes multiple first data frames, and at least two of the multiple first data packets include at least one identical first data frame, so as to increase part or all of the first data frame. Transmission success rate.
  • the above-mentioned multiple first data frames may be data frames within a certain time interval, or may be data frames within multiple time intervals, which is not limited in this application.
  • the first encoding rate is N times the second encoding rate
  • the number of first data frames included in each first data packet is the number of second data frames included in the second data packet N times
  • the second data packet is any data packet generated at the first coding rate
  • N is an integer greater than 1.
  • the number of data frames (ie, second data frames) included in one data packet (ie, second data packet) is 1 .
  • the second encoding rate is 48kbps for encoding
  • the playback time of one data frame ie, the first data frame or the second data frame
  • the playback time of one data frame ie, the first data frame or the second data frame
  • the length is reduced to 60 bytes.
  • the number of data frames (ie, the first data frame) included in one data packet (ie, the first data packet) is two.
  • the i-th data packet in the plurality of first data packets includes: the i+1-th data frame in the plurality of first data frames, and the i+1-th data frame in the plurality of first data frames At least one data frame after the data frame, i is an integer.
  • the 0th data packet in the first data packet includes the 1st data frame in the first data frame and at least 1 data frame after the 1st data frame, assuming that the 0th data frame in the first data frame
  • the data packet includes the first data frame in the first data frame and the 1 data frame after the first data frame
  • the 0th data packet in the first data packet includes the first data frame in the first data frame Data frame and the second data frame
  • the first data packet in the first data packet includes the second data frame and the third data frame in the first data frame, so, in the first data packet
  • the 0th data packet and the 1st data packet of both include the 2nd data frame in the first data frame.
  • the adjacent first data packet contains only one identical first data frame as an example. It can be understood that the adjacent first data packet may also contain two or more identical first data frames.
  • the data frame that is, two adjacent data packets among the plurality of first data packets may include at least one identical first data frame.
  • the first data packet in the first data packet contains the 1, 2, and 3 data frames in the first data frame
  • the second data packet in the first data packet contains the second data frame in the first data frame.
  • 3, and 4 data frames the following data packets can be deduced by analogy.
  • the third data packet in the first data packet contains the 3rd, 4th, and 5th data frames in the first data frame.
  • more At least two of the first data packets include two identical first data frames.
  • the first data packet in the first data packet contains the 1, 2, and 3 data frames in the first data frame
  • the second data packet in the first data packet contains the first data frame in the first data frame.
  • There are 3, 4, and 5 data frames and the following data packets can be deduced by analogy.
  • at least two data packets of the plurality of first data packets include a same first data frame.
  • the next data frame of the last data frame in the multiple first data frames is the first data frame in the multiple first data frames.
  • the i-th data packet includes: the (i+1)th data frame among the multiple first data frames, and, in the multiple first data frames, the At least one data frame after i+1 data frames.
  • the above-mentioned at least one data frame located after the (i+1)th data frame and the (i+1)th data frame constitute a continuous data frame.
  • the next data frame of the last data frame in the multiple first data frames is taken as the first data frame in the multiple first data frames.
  • the above-mentioned at least one data frame located after the i+1th data frame and the i+1th data frame constitute a continuous data frame as an example.
  • one data packet (that is, the first Data packet) includes the data frame (ie, the first data frame) of 2 data transmission situation: the data packet in Figure 7 refers to the first data packet, the data frame refers to the first data frame , This will not be repeated below.
  • the multiple first data frames are data frames within one time interval, as shown in FIG.
  • data packet 0 includes: data frame 1 and data frame 2, and data packet 1 includes : Data frame 2 and data frame 3; data packet 2 includes: data frame 1 and data frame 3; data packet 3 includes: data frame 4 and data frame 5; data packet 4 includes: data frame 5 and data frame 6; data packet 5 includes: data frame 4 and data frame 6; data packet 6 includes: data frame 7 and data frame 8; data packet 7 includes: data frame 8 and data frame 9; data packet 8 includes: data frame 7 and data frame 9.
  • the data packets in Figure 6 all refer to the first data packet, and the data frames all refer to the first data frame. This will not be repeated in the following, but within the first time interval , Data packet 0 contains data frame 1 and data frame 2. Data packet 1 also contains data frame 1 and data frame 2. In the second time interval, data packets 2 and 3 both contain data frame 3 and data frame 4. In the third time interval, data packets 4 and 5 both contain data frame 5 and data frame 6.
  • the last m data frames in the last data packet in the multiple first data packets are the first m data frames in the multiple first data frames, and m is a positive integer.
  • the last data packet in the first time interval, includes the first data frame.
  • the first data frame here is the first data frame in the first data frame and the second data frame.
  • the first data frame and the second data frame are the aforementioned multiple first data frames.
  • the last data packet in the first time interval, includes the first data frame.
  • the first data frame here is the first data frame among the first data frame, the second data frame, and the third data frame.
  • the first data frame, the second data frame, and the third data frame are the multiple first data frames mentioned above.
  • the number of transmissions of the first m data frames can be increased, thereby reducing the number of previous data frames.
  • the sending end carries at least one first data frame into the payload field of the corresponding first data packet.
  • the length of the at least one first data frame is the same, so the payload field of the first data packet also includes : The length field of the first data frame.
  • the length field is located in the Custom Header field of the first data packet.
  • Step S504 The sending end sends the multiple first data packets to the receiving end.
  • the encoding rate of the sender is reduced, and the number of data frames in the first data packet is increased, so that at least two first data packets contain at least one identical
  • the number of transmissions of some or all of the data frames has increased, so for the entire audio or video, the number of discarded data frames will be reduced, thereby alleviating the problem of playback jams .
  • the encoding rate is also reduced, so that the transmission byte of the transmitting end in one or more time intervals is unchanged or only increased by a small amount. Ensure that the burden of air interface transmission rate is not increased.
  • the sender still sends the first data packet to the receiver according to the number of transmissions of each first data packet. Based on this, the number of transmissions of each data frame remains unchanged or increased, thereby alleviating the problem of playback jams.
  • data packets 0, 1, and 2 include data frames 1, 2, and 3, which are just encoding
  • the bit rate becomes one-third of the original rate, and as long as any data packet is received, frames 1, 2, and 3 will be received, and the user will not experience obvious audio stuttering.
  • this application provides a data transmission method, in which the BLE CIS link is not disconnected, and the QoS parameters are not modified, by reducing the encoding rate of the data frame and increasing the number of data frames, thereby alleviating the playback card Sudden problem.
  • FIG. 8 is an interaction flowchart of a data transmission method provided by another embodiment of the application. As shown in FIG. 8, the above data transmission method further includes the following steps:
  • Step S505a If the second encoding rate is equal to the lowest encoding rate allowed by the transmitting end, the transmitting end sends second indication information to the receiving end.
  • the second indication information is used to indicate to the receiving end that the sending end is not allowed to reduce the coding rate at present.
  • Step S505b If the second encoding rate is greater than the lowest encoding rate allowed by the transmitting end, the transmitting end sends third indication information to the receiving end.
  • the third indication information is used to indicate to the receiving end that the sending end is currently allowed to lower the coding rate.
  • the receiving end After the receiving end receives the second indication information, even if the receiving end determines again that the packet loss rate of the data packet is greater than the preset packet loss rate, it does not send the first indication information to the sending end.
  • the receiving end receives the third indication information, and the receiving end determines again that the packet loss rate of the data packet is greater than the preset packet loss rate, the receiving end continues to send the first indication information to the sending end.
  • this step can be understood as the first time the encoding rate is lowered. At this time, there is usually no need to determine whether the encoding rate is allowed to be lowered. Of course, this step can also be understood as not the first time the encoding rate is lowered. At this time, it is usually necessary to determine whether the encoding rate is allowed to be lowered, or it may not be determined whether the encoding rate is allowed to be lowered.
  • the fourth indication information is sent to the sending end, so that the sending end adjusts the second coding rate of the receiving end according to the fourth indication information. Back to the first encoding rate.
  • the sender determines whether the second encoding rate is equal to the lowest encoding rate allowed by the sender, and if so, the sender sends second indication information to the receiver to indicate to the receiver that the sender is currently not allowed Decrease the encoding rate. Otherwise, the sending end sends third indication information to the receiving end to indicate to the receiving end that the sending end currently allows the coding rate to be reduced. Based on this, after the receiving end receives the second indication information, even if the receiving end determines again that the packet loss rate of the data packet is greater than the preset packet loss rate, it does not send the first indication information to the sending end, thereby reducing the receiving end and the sending end. Power consumption at the end.
  • the receiving end determines that the packet loss rate of the data packet is less than or equal to the preset packet loss rate, it sends fourth indication information to the sending end, so that the sending end adjusts the second coding rate of the receiving end back according to the fourth indication information To the first coding rate, based on this, the sender can continue to decrease the coding rate.
  • Fig. 9 is a schematic diagram of a data transmission device provided by an embodiment of the application.
  • the device is a part or all of the foregoing sending end, and includes:
  • the first adjustment module 902 is configured to reduce the first encoding rate of the transmitting end to the second encoding rate.
  • the generating module 903 is configured to generate a plurality of first data frames and generate a plurality of first data packets according to the second coding rate, wherein each first data packet includes a plurality of first data frames, And at least two data packets in the plurality of first data packets include at least one same first data frame.
  • the sending module 904 is configured to send multiple first data packets to the receiving end.
  • the first encoding rate is N times the second encoding rate
  • the number of first data frames included in each first data packet is N of the number of second data frames included in the second data packet Times
  • the second data packet is any data packet generated at the first coding rate
  • N is an integer greater than 1.
  • the i-th data packet in the plurality of first data packets includes: the i+1-th data frame in the plurality of first data frames, and the i+1-th data frame in the plurality of first data frames At least one data frame after the data frame, i is an integer.
  • At least one data frame located after the (i+1)th data frame and the (i+1)th data frame constitute a continuous data frame.
  • the last m data frames in the last data packet of the multiple first data packets are the first m data frames of the multiple first data frames, and m is a positive integer.
  • the device further includes: a first receiving module 901, configured to receive first indication information from the receiving end.
  • the first adjustment module 902 is specifically configured to: reduce the first encoding rate to the second encoding rate according to the first indication information.
  • the above device further includes:
  • the judging module 905 is used for judging whether the second encoding rate is equal to the lowest encoding rate allowed by the transmitting end.
  • the first sending module 906 is configured to send second indication information to the receiving end if the second encoding code rate is equal to the lowest encoding code rate allowed by the sending end, so as to indicate to the receiving end that the sending end is not allowed to reduce the encoding code rate currently.
  • the second sending module 907 is configured to send third indication information to the receiving end if the second encoding rate is greater than the lowest encoding rate allowed by the transmitting end, so as to indicate to the receiving end that the transmitting end is currently allowed to reduce the encoding rate.
  • it also includes:
  • the second receiving module 908 is configured to receive the fourth indication information sent by the receiving end.
  • the second adjustment module 909 is configured to adjust the second encoding rate of the receiving end to the first encoding rate according to the fourth instruction information.
  • each first data packet includes: a length field of the first data frame.
  • the length field is located in the custom header field of each first data packet.
  • the first adjustment module 602 is specifically configured to: adjust the parameters of the encoder in the sending end according to the first indication information, so as to reduce the first coding rate of the sending end Reduce to the second encoding rate.
  • the parameters of the encoder include at least one of the following: the length field of the data frame formed by the encoder encoding, the acquisition frequency of the data frame by the encoder, the number of subbands divided into the frequency band of the input audio signal corresponding to the encoder, and the block of the encoder quantity.
  • the data transmission device provided in the present application can be used to execute the data transmission method corresponding to the above-mentioned sending end.
  • the content and effect please refer to the above-mentioned method embodiment part, which will not be repeated here.
  • FIG. 10 is a schematic diagram of a data transmission device provided by another embodiment of this application.
  • the device is part or all of the above-mentioned receiving end and includes:
  • the first receiving module 1002 is configured to receive multiple first data packets.
  • each first data packet includes a plurality of first data frames, and at least two of the plurality of first data packets include at least one identical first data frame, and the first data frame is the first data frame sent by the transmitting end.
  • the encoding rate is reduced to the second encoding rate, and the data frame is generated according to the second encoding rate.
  • the first encoding rate is N times the second encoding rate
  • the number of first data frames included in each first data packet is the number of second data frames included in the second data packet N times
  • the second data packet is any data packet generated at the first coding rate
  • N is an integer greater than 1.
  • the i-th data packet in the plurality of first data packets includes: the i+1-th data frame in the plurality of first data frames, and the i+1-th data frame in the plurality of first data frames At least one data frame after the data frame, i is an integer.
  • At least one data frame located after the (i+1)th data frame and the (i+1)th data frame constitute a continuous data frame.
  • the last m data frames in the last data packet of the multiple first data packets are the first m data frames of the multiple first data frames, and m is a positive integer.
  • a first sending module 1001 configured to, if it is determined that the packet loss rate of the data packet is greater than the preset packet loss rate, send first indication information to the sending end, so that the sending end will The first encoding rate is reduced to the second encoding rate.
  • the above device further includes:
  • the second receiving module 1003 is configured to receive second indication information from the sending end, where the second indication information is used to indicate that the sending end is not allowed to reduce the coding rate at present.
  • the third receiving module 1004 is configured to receive third indication information from the sending end, where the third indication information is used to indicate that the sending end is currently allowed to reduce the coding rate.
  • it also includes:
  • the second sending module 1005 is configured to, if the packet loss rate of the data packet is less than or equal to the preset packet loss rate, send fourth indication information to the sending end, so that the sending end will determine the second coding rate of the receiving end according to the fourth indication information. Adjust back to the first encoding rate.
  • each first data packet includes: a length field of the first data frame.
  • the length field is located in the custom header field of each first data packet.
  • the data transmission device provided in this application can be used to execute the data transmission method corresponding to the above receiving end.
  • FIG. 11 is a schematic diagram of a data transmission device provided by an embodiment of the application.
  • the device serves as the foregoing sending end.
  • the device includes: at least one processor 1101. And a memory 1102 that is communicatively connected with at least one processor.
  • the memory 1102 stores instructions that can be executed by at least one processor 1101, and the instructions are executed by at least one processor 1101, so that the at least one processor 1101 can execute the above-mentioned data transmission method corresponding to the sending end.
  • the device further includes a transceiver 1103, which is used to implement data transmission with the receiving end.
  • the data transmission device provided in this application can be used to execute the data transmission method corresponding to the above-mentioned sending end.
  • the above-mentioned method embodiment part please refer to the above-mentioned method embodiment part, which will not be repeated here.
  • FIG. 12 is a schematic diagram of a data transmission device provided by an embodiment of the application.
  • the device serves as the foregoing receiving end.
  • the device includes: at least one processor 1201. And a memory 1202 communicatively connected with at least one processor.
  • the memory 1202 stores instructions that can be executed by the at least one processor 1201, and the instructions are executed by the at least one processor 1201, so that the at least one processor 1201 can execute the above-mentioned data transmission method corresponding to the receiving end.
  • the device further includes a transceiver 1203, which is used to implement data transmission with the receiving end.
  • the data transmission device provided in the present application can be used to execute the data transmission method corresponding to the above-mentioned receiving end.
  • the above-mentioned method embodiment part please refer to the above-mentioned method embodiment part, which will not be repeated here.
  • FIG. 13 is a schematic diagram of a data transmission system provided by an embodiment of the application. As shown in FIG. 13, the system includes the above-mentioned sending end 1301 and receiving end 1302. The sending end 1301 and the receiving end 1302 can be used to perform the foregoing For the content and effect of the data transmission method, please refer to the above method embodiment part, which will not be repeated here.
  • the present application also provides a non-transitory computer-readable storage medium storing computer instructions.
  • the computer instructions are used to make the computer execute the above-mentioned data transmission method corresponding to the sending end.
  • This application also provides a non-transitory computer-readable storage medium storing computer instructions, which are used to make the computer execute the data transmission method corresponding to the receiving end.
  • the computer program product includes computer instructions for causing a computer to execute the above-mentioned data transmission method corresponding to the sending end.
  • the computer program product includes computer instructions for causing a computer to execute the above-mentioned data transmission method corresponding to the receiving end.
  • a person of ordinary skill in the art can understand that all or part of the steps in the foregoing method embodiments can be implemented by a program instructing relevant hardware.
  • the aforementioned program can be stored in a computer readable storage medium. When the program is executed, it executes the steps including the foregoing method embodiments; and the foregoing storage medium includes: ROM, RAM, magnetic disk, or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

本申请提供一种数据传输方法、装置、设备、系统及介质。该方法包括:发送端将发送端的第一编码码率降低至第二编码码率;发送端根据第二编码码率生成多个第一数据帧,并生成多个第一数据包,其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧;发送端向接收端发送多个第一数据包。从而缓解了播放卡顿问题。

Description

数据传输方法、装置、设备、系统及介质 技术领域
本申请涉及蓝牙通信技术领域,尤其涉及一种数据传输方法、装置、设备、系统及介质。
背景技术
目前蓝牙技术主要分为经典蓝牙和低功耗蓝牙(Bluetooth Low Energy,BLE),低功耗蓝牙相比经典蓝牙可以有效的降低功耗。在新版本蓝牙6.0标准中,提出了一种新的基于低功耗(Low Energy,LE)技术的音频传输技术,其引入了终端端(即发送端)和耳机端(接收端)之间的BLE一种点对点的同步流传输连接(Connected isochronous stream,CIS)链路,该BLE CIS链路专门用于传输数据,以实现低延迟低功耗的蓝牙传输。该链路也被称为BLE同步(Isochronous)链路。
在建立BLE CIS链路时,该链路会被配置对应的服务质量(Quality of Service,QoS)参数,一旦完成QoS参数的配置,除非断开该BLE CIS链路,否则无法修改QoS参数。而QoS中的各项参数以及该BLE CIS链路的当前实际情况决定了BLE CIS链路上每个数据包的重传次数,每个数据包中包括一个数据帧,因此也决定了每个数据帧的重传次数。当某一时刻环境干扰较多,造成BLE CIS链路质量较差时,如果某数据包已经达到了其对应的重传次数,该数据包就会被丢弃,相应的,该数据包中的数据帧也会被丢弃。一旦频繁出现数据帧被丢弃的现象,耳机端就会出现数据断流现象,进而造成播放卡顿的现象。
发明内容
本申请提供一种数据传输方法、装置、设备、系统及介质,从而缓解播放卡顿的问题。
第一方面,本申请提供一种数据传输方法,包括:发送端将发送端的第一编码码率降低至第二编码码率;发送端根据第二编码码率生成多个第一数据帧,并生成多个第一数据包,其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧;发送端向接收端发送多个第一数据包。即在不断开BLE CIS链路,且不修改QoS参数的前提下,通 过降低发送端的编码码率的方式,以增加第一数据包中数据帧的数量,使得至少两个第一数据包包含至少一个相同的第一数据帧,从大数据角度分析,当存在部分或者全部数据帧的传输次数增加了,那么对于整个音频或者视频而言,其数据帧发生丢弃的情况将会减少,从而缓解了播放卡顿问题。另一方面,在本申请中不仅仅增加了数据帧的数量,还降低了编码码率,使得发送端在一个或者多个时间间隔内的传输字节不变或者只是进行少量的增加,从而可以保证不需要增加或者仅仅需要稍微增加传输速率的情况下减少数据帧传输失败问题。
可选的,第一编码码率为第二编码码率的N倍,每个第一数据包包含的第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,第二数据包是在第一编码码率下生成的任一个数据包,N为大于1的整数。从而缓解了播放卡顿问题。此外,通过本实施例提供的技术方案,使得发送端在一个或者多个时间间隔内所传输的字节没变,从而保证不需要提高数据传输速率,不会增加空口传输负担。
可选的,多个第一数据包中第i个数据包包括:多个第一数据帧中的第i+1个数据帧,和,在多个第一数据帧中位于第i+1个数据帧之后的至少一个数据帧,i为整数。假设在降低码率之前和之后,BLE CIS链路质量不变,那么这种情况下,能够保证每个数据包原先包括的数据帧经过降低编码码率处理之后,其一定至少按照原先的传输次数传输,甚至有些数据帧的传输次数会得到提高,从而可以降低播放卡顿的情况。
可选的,上述位于第i+1个数据帧之后的至少一个数据帧与第i+1个数据帧构成连续的数据帧。
可选的,上述多个第一数据包中的最后一个数据包中的最后m个数据帧为所述多个第一数据帧中的前m个数据帧,m为正整数,从而可以增加前m个数据帧的传输次数,进而可以减少前m个数据帧的丢帧率。
可选的,发送端将发送端的第一编码码率降低至第二编码码率之前,还包括:发送端从接收端接收第一指示信息;相应的,发送端将发送端的第一编码码率降低至第二编码码率,包括:发送端根据第一指示信息将第一编码码率降低至第二编码码率。
可选的,发送端将发送端的第一编码码率降低至第二编码码率之后,还包括:发送端判断第二编码码率是否等于发送端所允许的最低编码码率。若第二编码码率等于发送端所允许的最低编码码率,则发送端向接收端发送第二指示信息,以 向接收端指示发送端当前不允许下调编码码率。若第二编码码率大于发送端所允许的最低编码码率,则发送端向接收端发送第三指示信息,以向接收端指示发送端当前允许下调编码码率。基于此,当接收端接收到第二指示信息之后,即使接收端再次确定数据包的丢包率大于预设丢包率,也不向发送端发送第一指示信息,从而可以降低接收端和发送端的功耗。
可选的,该方法还包括发送端接收接收端发送的第四指示信息。发送端根据第四指示信息将接收端的第二编码码率调回至第一编码码率,基于此,发送端可以继续下调编码码率。
可选的,多个第一数据帧的长度均相同,每个第一数据包包括:第一数据帧的长度字段。其中,长度字段位于每个第一数据包的自定义头部字段中。
可选的,若发送端采用的编码技术是子带编码SBC,则发送端将发送端的第一编码码率降低至第二编码码率,包括:发送端调整发送端中编码器的参数,以将发送端的第一编码码率降低至第二编码码率。编码器的参数包括以下至少一项:编码器编码形成的数据帧的长度字段、编码器对数据帧的采集频率、编码器对应的输入音频信号的频带被划分的子带数量、编码器的块数量。通过该方法可以有效的调整发送端的编码码率,以增加每个数据帧的传输次数,从而减少丢包带来的播放卡顿现象。
下面将提供接收端侧对应的数据传输方法,以及,数据的传输装置、设备、存储介质及程序产品,其效果可参考上述发送端侧对应的方法,下面对此不再赘述。
第二方面,本申请提供一种数据传输方法,包括:接收端接收多个第一数据包;其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧,第一数据帧是发送端将第一编码码率降低至第二编码码率,并根据第二编码码率生成的数据帧。
可选的,若第一编码码率为第二编码码率的N倍,则每个第一数据包包含的第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,第二数据包是在第一编码码率下生成的任一个数据包,N为大于1的整数。
可选的,多个第一数据包中第i个数据包包括:多个第一数据帧中的第i+1个数据帧,和,在多个第一数据帧中位于第i+1个数据帧之后的至少一个数据帧,i为整数。
可选的,上述位于第i+1个数据帧之后的至少一个数据帧与第i+1个数据帧构 成连续的数据帧。
可选的,上述多个第一数据包中的最后一个数据包中的最后m个数据帧为所述多个第一数据帧中的前m个数据帧,m为正整数。
可选的,接收端接收多个第一数据包之前,还包括:若接收端确定数据包的丢包率大于预设丢包率,则向发送端发送第一指示信息,以使发送端根据第一指示信息将第一编码码率降低至第二编码码率。
可选的,该方法还包括:接收端从发送端接收第二指示信息,第二指示信息用于指示发送端当前不允许下调编码码率。或者,接收端从发送端接收第三指示信息,第三指示信息用于指示发送端当前允许下调编码码率。
可选的,该方法还包括:若接收端确定数据包的丢包率小于或等于预设丢包率,则向发送端第四指示信息,以使发送端根据第四指示信息将接收端的第二编码码率调回至第一编码码率。
可选的,多个第一数据帧的长度均相同,每个第一数据包包括:第一数据帧的长度字段。
其中,长度字段位于每个第一数据包的自定义头部字段中。
第三方面,本申请提供一种数据传输装置,包括:
第一调整模块,用于将发送端的第一编码码率降低至第二编码码率;
生成模块,用于根据第二编码码率生成多个第一数据帧,并生成多个第一数据包,其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧。
发送模块,用于向接收端发送多个第一数据包。
第四方面,本申请提供一种数据的传输装置,包括:
第一接收模块,用于接收多个第一数据包;
其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧,第一数据帧是发送端将第一编码码率降低至第二编码码率,并根据第二编码码率生成数据帧。
第五方面,本申请提供一种数据传输设备,包括:至少一个处理器。以及与至少一个处理器通信连接的存储器。其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面或第一方面的可选方式的方法。
第六方面,本申请提供一种数据传输设备,包括:至少一个处理器。以及与 至少一个处理器通信连接的存储器。其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第二方面或第二方面的可选方式的方法。
第七方面,本申请提供一种数据传输系统,包括如第五方面的数据传输设备,和,如第六方面的数据传输设备。
第八方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面或第一方面的可选方式的方法。
第九方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第二方面或第二方面的可选方式的方法。
第十方面,本申请还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令用于使计算机执行上述发送端对应的数据传输方法。
第十一方面,本申请还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令用于使计算机执行上述接收端对应的数据传输方法。
本申请提供一种数据传输方法、装置、设备、系统及介质。该方法包括:发送端将发送端的第一编码码率降低至第二编码码率;发送端根据第二编码码率生成多个第一数据帧,并生成多个第一数据包,其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧;发送端向接收端发送多个第一数据包。一方面,缓解了播放卡顿问题。另一方面,还能保证不增加空口和传输速率的负担。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的BLE CIS链路上的数据传输示意图;
图2为本申请一实施例提供的数据包的结构示意图;
图3为本申请另一实施例提供的BLE CIS链路上的数据传输示意图;
图4为本申请一实施例提供的应用场景图;
图5为本申请一实施例提供的一种数据传输方法的交互流程图;
图6为本申请再一实施例提供的BLE CIS链路上的数据传输示意图;
图7为本申请又一实施例提供的BLE CIS链路上的数据传输示意图;
图8为本申请另一实施例提供的一种数据传输方法的交互流程图;
图9为本申请一实施例提供的一种数据传输装置的示意图;
图10为本申请另一实施例提供的一种数据的传输装置的示意图;
图11为本申请一实施例提供的一种数据传输设备的示意图;
图12为本申请一实施例提供的一种数据传输设备的示意图;
图13为本申请一实施例提供的一种数据传输系统的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着移动技术的发展,越来越多的终端设备如手机等,取消了传统的3.5mm耳机接口,蓝牙耳机等无线音频设备随之得到了更加广泛的应用。很多入耳式蓝牙耳机为了方便携带和佩戴,外观尺寸往往较小,也就意味着供电电池尺寸相应的变小,能携带的电量减小。因此,功耗问题成为了制约这种蓝牙耳机发展的重要因素,基于此,低功耗蓝牙应运而生。
低功耗蓝牙技术的关键在于BLE CIS链路,在建立BLE CIS链路时,该链路会被配置对应的QoS参数,一旦完成QoS参数的配置,除非断开该BLE CIS链路,否则无法修改QoS参数。而QoS中的各项参数以及该BLE CIS链路的当前实际情况决定了BLE CIS链路上每个数据包的重传次数,每个数据包中包括一个数据帧, 因此也决定了每个数据帧的重传次数。当某一时刻环境干扰较多,造成BLE CIS链路质量较差时,如果某数据包已经达到了其对应的重传次数后,该数据包就是被丢弃,相应的,该数据包中的数据帧也会被丢弃。一旦频繁出现数据帧被丢弃的现象,耳机端就会出现数据断流现象,进而造成播放卡顿的现象。本实施例中,数据包可以是音频数据包,数据帧可以是音频数据帧。示例性的,以编码技术是LC3为例,图1为本申请一实施例提供的BLE CIS链路上的数据传输示意图,如图1所示,该BLE CIS链路被配置的单通道QoS参数包括:FT=1,NSE=4,BN=2,ISO Interval=20ms,其中,FT表示超时时间(Flush Timeout,FT),ISO Interval表示同步链路(Isochronous)时间间隔,该同步链路(Isochronous)即为上述的BLE CIS链路,NSE表示一个时间间隔内的子事件(Number of Subevent,NSE)个数,即NSE表示一个时间间隔内被允许发送的数据包的个数。BN表示一个时间间隔内能发送的不同的数据包的个数(Burst Num,BN)。0、1、2、3、4、5分别表示数据包的编号(如图1所示,每个数据包的编号被标记在每个数据包的上方),其中BN所涉及的不同的数据包指的是具有不同编号的数据包。上述QoS参数决定了理论上所有数据包的最大重传次数,但是由于在不同情况下,BLE CIS链路的状态也不同,因此QoS参数和该BLE CIS链路的当前实际情况决定了BLE CIS链路上每个数据包的实际最大重传次数。
需要说明的是,在本申请中,数据包的编号是从0开始的,数据帧的编号是从1开始的,下面对此不再赘述。
图2为本申请一实施例提供的数据包的结构示意图,如图2所示,数据包包含有一个特定的包头(Header)、有效载荷(Payload)字段和消息完整性检查(Messages Integrity Check,MIC)字段。通常payload字段最大占用251个字节,Payload字段包括:自定义头部(Custom Header)字段和至少一个编码后数据帧,如图2所示的数据帧1、数据帧2、数据帧3……。Custom Header字段包含数据标识字段(Flag)、一个数据帧的长度字段(Frame_len),payload字段中总共包含的数据帧的个数(Frame_num),和该数据包的编号(Pkg_index)。Pkg_index为一个连续增长的数字,每个数据包对应一个Pkg_index,Pkg_index可以用来判断是否发生丢包现象。
其中,当payload字段为126字节,其包含一个6字节的自定义头部(Custom Header)字段和一个编码后数据帧。基于此,假设第0个数据包包含第1个数据帧,第1个数据包包含第2个数据帧,以此类推,如图1所示,接收端成功接收到了 数据包0(对应确认(acknowledge,ACK)),数据包0没有被重传;数据包1前两次都未被成功接收(即缺失ACK(Missing Acks)),数据包1被重传了2次后发送成功(对应ACK);数据包2被重传1次后还是被丢掉(对应非确认(non-acknowledge,NACK)),数据包3被重传1次后成功发送;数据包4被成功接收,没有被重传;数据包5被重传了2次后还是被丢掉。
由于每个数据包只包含一个数据帧,如图1所示,数据帧的编号被标记在所属的数据包中,所以数据帧1没有被重传;数据帧2被重传了2次,数据帧3被重传1次后被丢掉,数据帧4被重传了1次;数据帧5没有被重传;数据帧6被重传了2次后被丢掉。综上,数据帧3和数据帧6被丢掉,这时耳机端即接收端就会出现数据断流现象,进而造成播放卡顿的现象。
再例如:图3为本申请另一实施例提供的BLE CIS链路上的数据传输示意图,图3与图1不同的是,图3中BN=3,如图3所示,假设第0个数据包包含第1个数据帧,第1个数据包包含第2个数据帧,以此类推,如图3所示,接收端成功接收到了数据包0(对应确认(acknowledge,ACK));数据包1被重传了1次后仍然被丢弃(对应NACK);数据包2被重传1次后被成功接收,数据包3发送1次,就被成功接收;数据包4被重发1次后,被成功接收;数据包5也被重发1次后,被成功接收;数据包6被发送1次后,直接被成功接收;数据包7被发送1次后,直接被成功接收;数据包8被重发2次后,仍然被丢弃。
由于每个数据包只包含一个数据帧,所以。综上,数据帧2和数据帧9被丢掉,这时耳机端即接收端就会出现数据断流现象,进而造成播放卡顿的现象。
本申请的主旨思想是:由于用户对于丢包断流造成的卡顿现象感知很明显,但是对于短时间的由编解码码率降低导致的音质变差感知较不明显。所以本申请在不断开BLE CIS链路,且不修改QoS参数的前提下,降低数据帧的编码码率,并且第一数据包中的至少两个数据包包含至少一个相同的所述第一数据帧,由此,在相同的链路传输质量时,与现有技术相比,增加了数据帧的传输次数,从而缓解播放卡顿的问题。
需要说明的是,本申请中的数据可以是音频数据或者视频数据,当然还可以是其他形式的数据,本申请对此不做限制。下面重点以音频数据为例,对本申请技术方案进行阐述。
示例性的,图4为本申请一实施例提供的应用场景图,如图4所示,发送端可以是芯片,例如BLE芯片,也可以是搭载蓝牙6.0协议的智能手机、智能电视、 智能手表等,但不限于此。接收端402可以是芯片,例如BLE芯片,也可以是支持蓝牙6.0协议的蓝牙面条耳机、蓝牙真无线立体声(True Wireless Stereo,TWS)耳机、蓝牙头戴耳机、蓝牙音箱等,但不限于此。其中,发送端401与接收端402之间建立有BLE CIS链路,发送端401和接收端402在该BLE CIS链路上采用通用音频框架(Generic Audio Framework,GAF)等协议进行数据包的传输,同时发送端401与接收端402之间建立有BLE通用属性配置文件(Generic Attribute Profile,GATT)链路,发送端401和接收端402在该链路上采用GATT等协议进行音频控制信息的传输。
需要说明的是,图4仅是本申请一种示例性场景,本申请的应用场景不限于此,例如,本申请还适用于一对多(即一个发送端和多个接收端)、多对多(即多个发送端和多个接收端)的应用场景。
下面将对本申请技术方案进行详细说明:
图5为本申请一实施例提供的一种数据传输方法的交互流程图,本实施例涉及的执行主体为发送端和接收端,如图5所示,该方法包括如下步骤:
(可选的)步骤S501:若接收端确定数据包的丢包率大于预设丢包率,则接收端向发送端发送第一指示信息。
可选的,接收端在接收数据包时,可以每隔一段时间统计一次该时间段内的丢包数量,由于发送端的编码(Codec)参数和QoS参数等,在建立BLE CIS链路过程中已经完成交互,即接收端已经获知编码(Codec)参数和QoS参数等,而这些参数决定了上述时间段内理论上接收到的数据包的总个数。基于此,接收端可以计算上述时间段内的丢包数量与理论上接收到的数据包的总个数的比值,以得到该时间段内的数据包的丢包率。
其中,如图2所示,每个数据包具有对应的编号,而数据包的编号是连续增长的,当某个数据包丢包后,该数据包的后一个数据包与该数据包的前一个数据包的编号将不连续,从而确定该数据包丢失。
可选的,上述预设丢包率可根据实际情况设置,比如设置为5%。一旦接收端确定数据包的丢包率大于预设丢包率,则向发送端发送第一指示信息。该第一指示信息用于指示发送端需要降低编码码率。
步骤S502:发送端将发送端的第一编码码率降低至第二编码码率。
其中,发送端可以在第一指示信息的指示下将发送端的第一编码码率降低至第二编码码率,也可以直接将发送端的第一编码码率降低至第二编码码率,本申 请对此不做限制。
所谓发送端的编码码率指的是发送端的编码器的编码码率。在LC3编码技术中,编码码率bitrate=nbits/frame_duration,其中bitrate表示编码码率,nbits表示一个数据帧包括的比特数,nbits=8*nbytes,nbytes表示一个数据帧包括的字节数,frame_duration表示帧间隔,该帧间隔即为一个数据帧的播放时间。在LC3编码技术中,发送端可以直接调整编码码率。假设图1对应的一个数据帧的播放时间为10ms,该数据帧的长度为120字节,计算得到的编码码率为(120*8*1000)/10=96千比特每秒(kilobit per second,kbps)
在子带编码(Subband Coding,SBC)技术中:通过如下公式计算编码码率:
bit_rate=8*frame_length*fs/nrof_subbands/nrof_blocks
对应单声道和两个独立的声道而言,
Figure PCTCN2020076009-appb-000001
Figure PCTCN2020076009-appb-000002
对应立体声和联合立体声而言,
Figure PCTCN2020076009-appb-000003
Figure PCTCN2020076009-appb-000004
其中,bit_rate表示编码码率,frame_length表示一个数据帧的长度,fs表示编码器的采集频率,nrof_subbands表示编码器对应的输入音频信号的频带被划分的子带数量,nrof_blocks表示编码器的块数量,nrof_channels表示发送端的声道数量,bitpool表示比特池参数,范围是2-250,该值越大,则编码码率越高,音质越好。
Figure PCTCN2020076009-appb-000005
表示向上取整。对联合立体声而言,join=1,对于立体声而言,join=0。因此,在SBC编码技术中,发送端可以通过调整编码器参数,来调整编码码率,该编码器参数包括以下至少一项:编码器编码形成的数据帧的长度字段frame_length、编码器对数据帧的采集频率fs、编码器对应的输入音频信号的频带被划分的子带数量nrof_subbands、编码器的块数量nrof_blocks。
上述第一编码码率为编码器的当前编码码率,上述第二编码码率小于第一编码码率。在本申请中,可以根据实际情况设置第二编码码率。
步骤S503:发送端根据第二编码码率生成多个第一数据帧,并生成多个第一数据包。
其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧,以增加部分或者全部第一数据帧的传输成功率。
其中,上述的多个第一数据帧可以是某一个时间间隔内的数据帧,也可以是 多个时间间隔内的数据帧,本申请对此不做限制。
可选的,若第一编码码率为第二编码码率的N倍,则每个第一数据包包含的第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,第二数据包是在第一编码码率下生成的任一个数据包,N为大于1的整数。从而缓解了播放卡顿问题。此外,通过本实施例提供的技术方案,使得发送端在一个或者多个时间间隔内所传输的字节不变,从而保证不会影响数据传输速率,并且也不会增加空口传输负担。例如:如图1所示,BLE CIS链路的配置参数不变,即ISO interval=20ms,NSE=4,FT=1,BN=2。此时降低发送端的编码码率,编码码率降为(60*8*1000)/10=48kbps。即第一编码码率为96kbps,第二编码码率为48kbps,而如图1所示,一个数据包(即第二数据包)包括的数据帧(即第二数据帧)的个数为1。当采用第二编码码率48kbps进行编码时,一个数据帧(即第一数据帧或第二数据帧)的播放时间仍然为10ms,一个数据帧(即第一数据帧或第二数据帧)的长度降低为60字节。这种情况下,如图6所示,一个数据包(即第一数据包)包括的数据帧(即第一数据帧)的个数为2。
可选的,多个第一数据包中第i个数据包包括:多个第一数据帧中的第i+1个数据帧,和,在多个第一数据帧中位于第i+1个数据帧之后的至少一个数据帧,i为整数。例如,第一数据包中的第0个数据包包括第一数据帧中的第1个数据帧和位于第1个数据帧之后的至少1个数据帧,假设第一数据包中的第0个数据包包括第一数据帧中的第1个数据帧和位于第1个数据帧之后的1个数据帧,则第一数据包中的第0个数据包包括第一数据帧中的第1个数据帧和第2个数据帧,以此类推,第一数据包中的第1个数据包包括第一数据帧中的第2个数据帧和第3个数据帧,如此,第一数据包中的第0个数据包和第1个数据包都包含第一数据帧中的第2个数据帧。本实施例以相邻的第一数据包中仅包含一个相同的第一数据帧为例,可以理解的是,相邻的第一数据包中也可以包含两个或者更多的相同的第一数据帧,即多个第一数据包中的相邻的两个数据包可以包含至少一个相同的第一数据帧。
例如,第一数据包中的第1个数据包包含第一数据帧中的第1、2、3个数据帧,第一数据包中的第2个数据包包含第一数据帧中的第2、3、4个数据帧,后面的数据包以此类推,第一数据包中的第3个数据包包含第一数据帧中的第3、4、5个数据帧,本实施例中,多个第一数据包中的至少两个数据包包含两个相同的第一数据帧。再例如,第一数据包中的第1个数据包包含第一数据帧中的第1、2、3 个数据帧,第一数据包中的第2个数据包包含第一数据帧中的第3、4、5个数据帧,后面的数据包以此类推,本实施例中,多个第一数据包中的至少两个数据包包含一个相同的第一数据帧。
可选的,上述多个第一数据帧中的最后一个数据帧的下一个数据帧为上述多个第一数据帧中的第1个数据帧。或者,上述多个第一数据包中部分数据包满足:第i个数据包包括:多个第一数据帧中的第i+1个数据帧,和,在多个第一数据帧中位于第i+1个数据帧之后的至少一个数据帧。
可选的,上述位于第i+1个数据帧之后的至少一个数据帧与第i+1个数据帧构成连续的数据帧。
下面以上述多个第一数据帧中的最后一个数据帧的下一个数据帧为上述多个第一数据帧中的第1个数据帧。且上述位于第i+1个数据帧之后的至少一个数据帧与第i+1个数据帧构成连续的数据帧为例,对降低图3对应的编码码率后,一个数据包(即第一数据包)包括的数据帧(即第一数据帧)个数为2的数据传输情况进行说明:图7中的数据包均指的是第一数据包,数据帧均指的是第一数据帧,下面对此不再赘述,当上述多个第一数据帧为一个时间间隔内的数据帧时,如图7所示,数据包0包括:数据帧1和数据帧2;数据包1包括:数据帧2和数据帧3;数据包2包括:数据帧1和数据帧3;数据包3包括:数据帧4和数据帧5;数据包4包括:数据帧5和数据帧6;数据包5包括:数据帧4和数据帧6;数据包6包括:数据帧7和数据帧8;数据包7包括:数据帧8和数据帧9;数据包8包括:数据帧7和数据帧9。再例如:如图6所示,图6中的数据包均指的是第一数据包,数据帧均指的是第一数据帧,下面对此不再赘述,在第一个时间间隔内,数据包0包含数据帧1和数据帧2。数据包1也包含数据帧1和数据帧2。在第二个时间间隔内,数据包2和3均包含数据帧3和数据帧4。在第三个时间间隔内,数据包4和5均包含数据帧5和数据帧6。
可选的,上述多个第一数据包中的最后一个数据包中的最后m个数据帧为所述多个第一数据帧中的前m个数据帧,m为正整数。如图6所示,在第一个时间间隔内,最后一个数据包包括第1个数据帧。这里的第1个数据帧即为第1个数据帧和第2个数据帧中的前1个数据帧。第1个数据帧和第2个数据帧即为上述的多个第一数据帧。类似的,如图7所示,在第一个时间间隔内,最后一个数据包包括第1个数据帧。这里的第1个数据帧即为第1个数据帧、第2个数据帧和第3个数据帧中的前1个数据帧。第1个数据帧、第2个数据帧和第3个数据帧 即为上述的多个第一数据帧。如果图7中第一个时间间隔内的每个数据包均包括第1个数据帧、第2个数据帧和第3个数据帧,在这种情况下,最后一个数据包包括第1个数据帧和第2个数据帧,即m=2。在本申请中,通过在最后一个数据包中的最后m个数据帧携带上述多个第一数据帧中的前m个数据帧,从而可以增加前m个数据帧的传输次数,进而可以减少前m个数据帧的丢帧率。
可选的,发送端将至少一个第一数据帧携带至对应的第一数据包中的payload字段中,此外,至少一个第一数据帧的长度均相同,因此第一数据包的payload字段还包括:第一数据帧的长度字段。可选的,该长度字段位于第一数据包的Custom Header字段中。
步骤S504:发送端向接收端发送所述多个第一数据包。
即在不断开BLE CIS链路,且不修改QoS参数的前提下,降低发送端的编码码率的方式,增加第一数据包中数据帧的数量,使得至少两个第一数据包包含至少一个相同的第一数据帧,从大数据角度分析,部分或者全部数据帧的传输次数增加了,那么对于整个音频或者视频而言,其数据帧发生丢弃的情况将会减少,从而缓解了播放卡顿问题。另一方面,在本申请中不仅仅增加了数据帧的数量,还降低了编码码率,使得发送端在一个或者多个时间间隔内的传输字节不变或者只是进行少量的增加,从而可以保证不增加空口传输速率的负担。
尤其是当多个第一数据包中第i个数据包包括:多个第一数据帧中的第i+1个数据帧,和,在多个第一数据帧中位于第i+1个数据帧之后的至少一个数据帧,假设BLE CIS链路质量不变,这时发送端仍然按照每个第一数据包的传输次数向接收端发送第一数据包。基于此,每个数据帧的传输次数保持不变或者增加,从而缓解了播放卡顿问题。
例如:如图6所示,假设数据包的传输次数没有任何变化,即在与图1的链路质量相同的情况下,数据包0没有被重传;数据包1被重传了2次后发送成功;数据包2被重传了1次后还是被丢掉,数据包3被重传了1次后成功发送;数据包4没有被重传;数据包5被重传了2次后还是被丢掉。基于此,数据帧的重传发生了变化,其中数据帧1被重传了3次,并成功发送,数据帧2被重传了3次,并成功发送,数据帧3被重传了3次,并成功发送,数据帧4被重传了3次,并成功发送,数据帧5被重传了3次,并成功发送,数据帧6被重传了3次,并成功发送。对比图1所示方案,在没有调整前,数据帧3和数据帧6发生了丢包。但是采用了本实施例的方法后,数据帧3和数据帧6都发送成功了。
再例如:如图7所示,在与图3的链路质量相同的情况下,假设数据包的传输次数没有任何变化,但数据帧的传输次数发生了变化,其中数据帧1被传输了3次,并成功发送,数据帧2被传输了3次,并成功发送,数据帧3被传输了3次,并成功发送。数据帧4、5、6均被传输了3次,并成功发送。同样的,数据帧7、8、9也均被传输了3次,并成功发送。对比图3所示方案,在没有调整前,数据帧2和数据帧9被丢弃。但是采用了本实施例的方法后,数据帧2和数据帧9都被发送接收了。
即使BLE CIS链路质量发生了变化时,例如质量变差,由于部分或者全部数据帧的传输次数增加了,从而从大数据分析角度来讲,同样也可以缓解播放卡顿问题,例如,假设第一时间间隔内,发送数据包0、1、2,数据包0、1、2分别包括数据帧1、2、3,假设由于链路质量,仅数据包0、1收到了,数据包2没收到,即数据帧3丢失;在同样的链路质量或者更差的链路质量的条件下,采用本方案,例如,数据包0、1、2都包括数据帧1、2、3,只是编码码率变为原来的三分之一,则只要任意一个数据包收到,帧1、2、3就会收到,用户不会感受到音频明显的卡顿现象。
综上,本申请提供一种数据传输方法,其中在不断开BLE CIS链路,且不修改QoS参数的前提下,通过降低数据帧的编码码率,增加数据帧的数量,从而缓解了播放卡顿问题。
在上述步骤S502之后,发送端还向接收端指示是否允许下调编码码率。示例性的,图8为本申请另一实施例提供的一种数据传输方法的交互流程图,如图8所示,上述数据传输方法还包括如下步骤:
步骤S505a:若第二编码码率等于发送端所允许的最低编码码率,则发送端向接收端发送第二指示信息。
该第二指示信息用于向接收端指示发送端当前不允许下调编码码率。
步骤S505b:若第二编码码率大于发送端所允许的最低编码码率,则发送端向接收端发送第三指示信息。
该第三指示信息用于向接收端指示发送端当前允许下调编码码率。
基于此,当接收端接收到第二指示信息之后,即使接收端再次确定数据包的丢包率大于预设丢包率,也不向发送端发送第一指示信息。当接收端接收到第三指示信息,且接收端再次确定数据包的丢包率大于预设丢包率,则接收端继续向 发送端发送第一指示信息。
需要说明的是,在本申请中,接收端是在不断的判断是否可以发送第一指示信息。而在上述步骤S501中,该步骤可以被理解为第一次下调编码码率,这时通常无需确定是否允许下调编码码率。当然,该步骤也被可以被理解为非第一次下调编码码率,这时通常需要确定是否被允许下调编码码率,也可以不确定是否被允许下调编码码率。
可选的,若接收端确定数据包的丢包率小于或等于预设丢包率,则向发送端第四指示信息,以使发送端根据第四指示信息将接收端的第二编码码率调回至第一编码码率。
在本实施例中,发送端判断第二编码码率是否等于发送端所允许的最低编码码率,若是,则发送端向接收端发送第二指示信息,以向接收端指示发送端当前不允许下调编码码率。否则,则发送端向接收端发送第三指示信息以向接收端指示发送端当前允许下调编码码率。基于此,当接收端接收到第二指示信息之后,即使接收端再次确定数据包的丢包率大于预设丢包率,也不向发送端发送第一指示信息,从而可以降低接收端和发送端的功耗。进一步地,若接收端确定数据包的丢包率小于或等于预设丢包率,则向发送端第四指示信息,以使发送端根据第四指示信息将接收端的第二编码码率调回至第一编码码率,基于此,发送端可以继续下调编码码率。
图9为本申请一实施例提供的一种数据传输装置的示意图,该装置是上述发送端的部分或者全部,包括:
第一调整模块902,用于将发送端的第一编码码率降低至第二编码码率。
生成模块903,用于生成模块,用于根据第二编码码率生成多个第一数据帧,并生成多个第一数据包,其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧。
发送模块904,用于向接收端发送多个第一数据包。
可选的,第一编码码率为第二编码码率的N倍,每个第一数据包包含的第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,第二数据包是在第一编码码率下生成的任一个数据包,N为大于1的整数。
可选的,多个第一数据包中第i个数据包包括:多个第一数据帧中的第i+1个数据帧,和,在多个第一数据帧中位于第i+1个数据帧之后的至少一个数据帧,i为整数。
可选的,位于第i+1个数据帧之后的至少一个数据帧与第i+1个数据帧构成连续的数据帧。
可选的,多个第一数据包中的最后一个数据包中的最后m个数据帧为多个第一数据帧中的前m个数据帧,m为正整数。
可选的,该装置还包括:第一接收模块901,用于从接收端接收第一指示信息。相应的,第一调整模块902具体用于:根据第一指示信息将第一编码码率降低至第二编码码率。
可选的,上述装置还包括:
判断模块905,用于判断第二编码码率是否等于发送端所允许的最低编码码率。
第一发送模块906,用于若第二编码码率等于发送端所允许的最低编码码率,则向接收端发送第二指示信息,以向接收端指示发送端当前不允许下调编码码率。
第二发送模块907,用于若第二编码码率大于发送端所允许的最低编码码率,则向接收端发送第三指示信息,以向接收端指示发送端当前允许下调编码码率。
可选的,还包括:
第二接收模块908,用于接收接收端发送的第四指示信息。
第二调整模块909,用于根据第四指示信息将接收端的第二编码码率调回至第一编码码率。
可选的,多个第一数据帧的长度均相同,每个第一数据包包括:第一数据帧的长度字段。其中,长度字段位于每个第一数据包的自定义头部字段中。
可选的,若发送端采用的编码技术是子带编码SBC,则第一调整模块602具体用于:根据第一指示信息调整发送端中编码器的参数,以将发送端的第一编码码率降低至第二编码码率。编码器的参数包括以下至少一项:编码器编码形成的数据帧的长度字段、编码器对数据帧的采集频率、编码器对应的输入音频信号的频带被划分的子带数量、编码器的块数量。
本申请提供的数据的传输装置,可以用于执行上述发送端对应的数据传输方法,其内容和效果可参考上述方法实施例部分,对此不再赘述。
图10为本申请另一实施例提供的一种数据的传输装置的示意图,该装置是上述接收端的部分或者全部,包括:
第一接收模块1002,用于接收多个第一数据包。其中,每个第一数据包包括多个第一数据帧,且多个第一数据包中的至少两个数据包包含至少一个相同的第一数据帧,第一数据帧是发送端将第一编码码率降低至第二编码码率,并根据第 二编码码率生成的数据帧。
可选的,若第一编码码率为第二编码码率的N倍,则每个第一数据包包含的第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,第二数据包是在第一编码码率下生成的任一个数据包,N为大于1的整数。
可选的,多个第一数据包中第i个数据包包括:多个第一数据帧中的第i+1个数据帧,和,在多个第一数据帧中位于第i+1个数据帧之后的至少一个数据帧,i为整数。
可选的,位于第i+1个数据帧之后的至少一个数据帧与第i+1个数据帧构成连续的数据帧。
可选的,多个第一数据包中的最后一个数据包中的最后m个数据帧为多个第一数据帧中的前m个数据帧,m为正整数。
可选的,还包括:第一发送模块1001,用于若确定数据包的丢包率大于预设丢包率,则向发送端发送第一指示信息,以使发送端根据第一指示信息将第一编码码率降低至第二编码码率。
可选的,上述装置还包括:
第二接收模块1003,用于从发送端接收第二指示信息,第二指示信息用于指示发送端当前不允许下调编码码率。
或者,
第三接收模块1004,用于从发送端接收第三指示信息,第三指示信息用于指示发送端当前允许下调编码码率。
可选的,还包括:
第二发送模块1005,用于若数据包的丢包率小于或等于预设丢包率,则向发送端第四指示信息,以使发送端根据第四指示信息将接收端的第二编码码率调回至第一编码码率。
可选的,多个第一数据帧的长度均相同,每个第一数据包包括:第一数据帧的长度字段。其中,长度字段位于每个第一数据包的自定义头部字段中。
本申请提供的数据的传输装置,可以用于执行上述接收端对应的数据传输方法,其内容和效果可参考上述方法实施例部分,对此不再赘述。
图11为本申请一实施例提供的一种数据传输设备的示意图,该设备作为上述发送端,如图11所示,该设备包括:至少一个处理器1101。以及与至少一个处理器通信连接的存储器1102。其中,存储器1102存储有可被至少一个处理器1101 执行的指令,指令被至少一个处理器1101执行,以使至少一个处理器1101能够执行上述发送端对应的数据传输方法。可选的,该设备还包括收发器1103,用于实现与接收端之间的数据传输。
本申请提供的数据传输设备,可以用于执行上述发送端对应的数据传输方法,其内容和效果可参考上述方法实施例部分,对此不再赘述。
图12为本申请一实施例提供的一种数据传输设备的示意图,该设备作为上述接收端,如图12所示,该设备包括:至少一个处理器1201。以及与至少一个处理器通信连接的存储器1202。其中,存储器1202存储有可被至少一个处理器1201执行的指令,指令被至少一个处理器1201执行,以使至少一个处理器1201能够执行上述接收端对应的数据传输方法。可选的,该设备还包括收发器1203,用于实现与接收端之间的数据传输。
本申请提供的数据传输设备,可以用于执行上述接收端对应的数据传输方法,其内容和效果可参考上述方法实施例部分,对此不再赘述。
图13为本申请一实施例提供的一种数据传输系统的示意图,如图13所示,该系统包括上述的发送端1301和接收端1302,该发送端1301和接收端1302可以用于执行上述数据传输方法,其内容和效果可参考上述方法实施例部分,对此不再赘述。
本申请还提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述发送端对应的数据传输方法。
本申请还提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述接收端对应的数据传输方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令用于使计算机执行上述发送端对应的数据传输方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令用于使计算机执行上述接收端对应的数据传输方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (42)

  1. 一种数据传输方法,其特征在于,包括:
    发送端将所述发送端的第一编码码率降低至第二编码码率;
    所述发送端根据所述第二编码码率生成多个第一数据帧,并生成多个第一数据包,其中,每个所述第一数据包包括多个所述第一数据帧,且所述多个第一数据包中的至少两个数据包包含至少一个相同的所述第一数据帧;
    所述发送端向接收端发送所述多个第一数据包。
  2. 根据权利要求1所述的方法,其特征在于,所述第一编码码率为所述第二编码码率的N倍;每个所述第一数据包包含的所述第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,所述第二数据包是在所述第一编码码率下生成的任一个数据包,N为大于1的整数。
  3. 根据权利要求1所述的方法,其特征在于,所述多个第一数据包中第i个数据包包括:所述多个第一数据帧中的第i+1个数据帧,和,在所述多个第一数据帧中位于所述第i+1个数据帧之后的至少一个数据帧,i为整数。
  4. 根据权利要求3所述的方法,其特征在于,所述位于所述第i+1个数据帧之后的至少一个数据帧与所述第i+1个数据帧构成连续的数据帧。
  5. 根据权利要求3所述的方法,其特征在于,所述多个第一数据包中的最后一个数据包中的最后m个数据帧为所述多个第一数据帧中的前m个数据帧,m为正整数。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述发送端将发送端的第一编码码率降低至第二编码码率之前,还包括:
    所述发送端从所述接收端接收第一指示信息;
    相应的,所述发送端将发送端的第一编码码率降低至第二编码码率,包括:
    所述发送端根据所述第一指示信息将所述第一编码码率降低至所述第二编码码率。
  7. 根据权利要求1-6所述的方法,其特征在于,所述发送端根据所述第一指示信息将所述第一编码码率降低至所述第二编码码率之后,还包括:
    所述发送端判断所述第二编码码率是否等于所述发送端所允许的最低编码码率;
    若所述第二编码码率等于所述发送端所允许的最低编码码率,则所述发送端向所述接收端发送第二指示信息,以向所述接收端指示所述发送端当前不允许下 调编码码率;
    若所述第二编码码率大于所述发送端所允许的最低编码码率,则所述发送端向所述接收端发送第三指示信息,以向所述接收端指示所述发送端当前允许下调编码码率。
  8. 根据权利要求1-7任一项所述的方法,其特征在于,还包括:
    所述发送端接收所述接收端发送的第四指示信息;
    所述发送端根据所述第四指示信息将所述接收端的第二编码码率调回至所述第一编码码率。
  9. 根据权利要求1-8任一项所述的方法,其特征在于,所述多个第一数据帧的长度均相同,每个所述第一数据包包括:所述第一数据帧的长度字段;
    其中,所述长度字段位于每个所述第一数据包的自定义头部字段中。
  10. 根据权利要求1-9任一项所述的方法,其特征在于,若所述发送端采用的编码技术是子带编码SBC,则所述发送端将发送端的第一编码码率降低至第二编码码率,包括:
    所述发送端调整所述发送端中编码器的参数,以将所述发送端的第一编码码率降低至第二编码码率;
    所述编码器的参数包括以下至少一项:所述编码器编码形成的数据帧的长度字段、所述编码器对数据帧的采集频率、所述编码器对应的输入音频信号的频带被划分的子带数量、编码器的块数量。
  11. 一种数据传输方法,其特征在于,包括:
    接收端接收多个第一数据包;
    其中,每个所述第一数据包包括多个第一数据帧,且所述多个第一数据包中的至少两个数据包包含至少一个相同的所述第一数据帧,所述第一数据帧是所述发送端将第一编码码率降低至第二编码码率,并根据所述第二编码码率生成的数据帧。
  12. 根据权利要求11所述的方法,其特征在于,所述第一编码码率为所述第二编码码率的N倍;每个所述第一数据包包含的所述第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,所述第二数据包是在所述第一编码码率下生成的任一个数据包,N为大于1的整数。
  13. 根据权利要求11所述的方法,其特征在于,所述多个第一数据包中第i个数据包包括:所述多个第一数据帧中的第i+1个数据帧,和,在所述多个第一数 据帧中位于所述第i+1个数据帧之后的至少一个数据帧,i为整数。
  14. 根据权利要求13所述的方法,其特征在于,所述位于所述第i+1个数据帧之后的至少一个数据帧与所述第i+1个数据帧构成连续的数据帧。
  15. 根据权利要求13所述的方法,其特征在于,所述多个第一数据包中的最后一个数据包中的最后m个数据帧为所述多个第一数据帧中的前m个数据帧,m为正整数。
  16. 根据权利要求11-15任一项所述的方法,其特征在于,所述接收端接收多个第一数据包之前,还包括:
    若所述接收端确定数据包的丢包率大于预设丢包率,则向所述发送端发送第一指示信息,以使所述发送端根据所述第一指示信息将所述第一编码码率降低至所述第二编码码率。
  17. 根据权利要求11-16任一项所述的方法,其特征在于,还包括:
    所述接收端从所述发送端接收第二指示信息,所述第二指示信息用于指示所述发送端当前不允许下调编码码率;
    或者,
    所述接收端从所述发送端接收第三指示信息,所述第三指示信息用于指示所述发送端当前允许下调编码码率。
  18. 根据权利要求11-17任一项所述的方法,其特征在于,还包括:
    若所述接收端确定数据包的丢包率小于或等于所述预设丢包率,则向所述发送端所述第四指示信息,以使所述发送端根据所述第四指示信息将所述接收端的第二编码码率调回至所述第一编码码率。
  19. 根据权利要求11-18任一项所述的方法,其特征在于,所述多个第一数据帧的长度均相同,每个所述第一数据包包括:所述第一数据帧的长度字段;
    其中,所述长度字段位于每个所述第一数据包的自定义头部字段中。
  20. 一种数据传输装置,其特征在于,包括:
    第一调整模块,用于将发送端的第一编码码率降低至第二编码码率;
    生成模块,用于根据所述第二编码码率生成多个第一数据帧,并生成多个第一数据包,其中,每个所述第一数据包包括多个所述第一数据帧,且所述多个第一数据包中的至少两个数据包包含至少一个相同的所述第一数据帧;
    发送模块,用于向接收端发送所述多个第一数据包。
  21. 根据权利要求20所述的装置,其特征在于,所述第一编码码率为所述第 二编码码率的N倍,每个所述第一数据包包含的所述第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,所述第二数据包是在所述第一编码码率下生成的任一个数据包,N为大于1的整数。
  22. 根据权利要求20所述的装置,其特征在于,所述多个第一数据包中第i个数据包包括:所述多个第一数据帧中的第i+1个数据帧,和,在所述多个第一数据帧中位于所述第i+1个数据帧之后的至少一个数据帧,i为整数。
  23. 根据权利要求22所述的装置,其特征在于,所述位于所述第i+1个数据帧之后的至少一个数据帧与所述第i+1个数据帧构成连续的数据帧。
  24. 根据权利要求22所述的装置,其特征在于,所述多个第一数据包中的最后一个数据包中的最后m个数据帧为所述多个第一数据帧中的前m个数据帧,m为正整数。
  25. 根据权利要求20-24任一项所述的装置,其特征在于,还包括:
    第一接收模块,用于从所述接收端接收第一指示信息;
    相应的,所述第一调整模块具体用于:
    根据所述第一指示信息将所述第一编码码率降低至所述第二编码码率。
  26. 根据权利要求20-25任一项所述的装置,其特征在于,还包括:
    判断模块,用于判断所述第二编码码率是否等于所述发送端所允许的最低编码码率;
    第一发送模块,用于若所述第二编码码率等于所述发送端所允许的最低编码码率,则向所述接收端发送第二指示信息,以向所述接收端指示所述发送端当前不允许下调编码码率;
    第二发送模块,用于若所述第二编码码率大于所述发送端所允许的最低编码码率,则向所述接收端发送第三指示信息,以向所述接收端指示所述发送端当前允许下调编码码率。
  27. 根据权利要求20-26任一项所述的装置,其特征在于,还包括:
    第二接收模块,用于接收所述接收端发送的第四指示信息;
    第二调整模块,用于根据所述第四指示信息将所述接收端的第二编码码率调回至所述第一编码码率。
  28. 根据权利要求20-27任一项所述的装置,其特征在于,所述多个第一数据帧的长度均相同,每个所述第一数据包包括:所述第一数据帧的长度字段;
    其中,所述长度字段位于每个所述第一数据包的自定义头部字段中。
  29. 根据权利要求20-28任一项所述的装置,其特征在于,若所述发送端采用的编码技术是子带编码SBC,则所述第一调整模块具体用于:
    调整所述发送端中编码器的参数,以将所述发送端的第一编码码率降低至第二编码码率;
    所述编码器的参数包括以下至少一项:所述编码器编码形成的数据帧的长度字段、所述编码器对数据帧的采集频率、所述编码器对应的输入音频信号的频带被划分的子带数量、编码器的块数量。
  30. 一种数据传输装置,其特征在于,包括:
    第一接收模块,用于接收多个第一数据包;
    其中,每个所述第一数据包包括多个第一数据帧,且所述多个第一数据包中的至少两个数据包包含至少一个相同的所述第一数据帧,所述第一数据帧是所述发送端将第一编码码率降低至第二编码码率,并根据所述第二编码码率生成的数据帧。
  31. 根据权利要求30所述的装置,其特征在于,若所述第一编码码率为所述第二编码码率的N倍,则每个所述第一数据包包含的所述第一数据帧的个数为第二数据包包含的第二数据帧的个数的N倍,所述第二数据包是在所述第一编码码率下生成的任一个数据包,N为大于1的整数。
  32. 根据权利要求30所述的装置,其特征在于,所述多个第一数据包中第i个数据包包括:所述多个第一数据帧中的第i+1个数据帧,和,在所述多个第一数据帧中位于所述第i+1个数据帧之后的至少一个数据帧,i为整数。
  33. 根据权利要求32所述的装置,其特征在于,所述位于所述第i+1个数据帧之后的至少一个数据帧与所述第i+1个数据帧构成连续的数据帧。
  34. 根据权利要求32所述的装置,其特征在于,所述多个第一数据包中的最后一个数据包中的最后m个数据帧为所述多个第一数据帧中的前m个数据帧,m为正整数。
  35. 根据权利要求30-34任一项所述的装置,其特征在于,还包括:
    第一发送模块,用于若确定数据包的丢包率大于预设丢包率,则向所述发送端发送第一指示信息,以使所述发送端根据所述第一指示信息将所述第一编码码率降低至所述第二编码码率。
  36. 根据权利要求30-35任一项所述的装置,其特征在于,还包括:
    第二接收模块,用于从所述发送端接收第二指示信息,所述第二指示信息用 于指示所述发送端当前不允许下调编码码率;
    或者,
    第三接收模块,用于从所述发送端接收第三指示信息,所述第三指示信息用于指示所述发送端当前允许下调编码码率。
  37. 根据权利要求30-36任一项所述的装置,其特征在于,还包括:
    第二发送模块,用于若数据包的丢包率小于或等于所述预设丢包率,则向所述发送端所述第四指示信息,以使所述发送端根据所述第四指示信息将所述接收端的第二编码码率调回至所述第一编码码率。
  38. 根据权利要求30-37任一项所述的装置,其特征在于,所所述多个第一数据帧的长度均相同,每个所述第一数据包包括:所述第一数据帧的长度字段;
    其中,所述长度字段位于每个所述第一数据包的自定义头部字段中。
  39. 一种数据传输设备,其特征在于,包括:
    至少一个处理器;以及
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的方法。
  40. 一种数据传输设备,其特征在于,包括:
    至少一个处理器;以及
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求11-19中任一项所述的方法。
  41. 一种数据传输系统,其特征在于,包括如权利要求39所述的数据传输设备,和,如权利要求40所述的数据传输设备。
  42. 一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-19中任一项所述的方法。
PCT/CN2020/076009 2020-02-20 2020-02-20 数据传输方法、装置、设备、系统及介质 WO2021163954A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080001621.5A CN111869142B (zh) 2020-02-20 2020-02-20 数据传输方法、装置、设备、系统及介质
PCT/CN2020/076009 WO2021163954A1 (zh) 2020-02-20 2020-02-20 数据传输方法、装置、设备、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/076009 WO2021163954A1 (zh) 2020-02-20 2020-02-20 数据传输方法、装置、设备、系统及介质

Publications (1)

Publication Number Publication Date
WO2021163954A1 true WO2021163954A1 (zh) 2021-08-26

Family

ID=72968473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/076009 WO2021163954A1 (zh) 2020-02-20 2020-02-20 数据传输方法、装置、设备、系统及介质

Country Status (2)

Country Link
CN (1) CN111869142B (zh)
WO (1) WO2021163954A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552454A (zh) * 2020-04-29 2020-08-18 广州酷狗计算机科技有限公司 音频播放方法、装置、终端及存储介质
CN114301884A (zh) * 2021-08-27 2022-04-08 腾讯科技(深圳)有限公司 音频数据的发送方法、接收方法、装置、终端及存储介质
CN117424947A (zh) * 2023-12-19 2024-01-19 无锡梵克罗电气设计有限公司 骑行设备系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584956B (zh) * 2020-12-01 2023-01-10 合肥炬芯智能科技有限公司 蓝牙通信方法及系统、蓝牙接收端和发射端的通信方法
CN115086922A (zh) * 2021-03-11 2022-09-20 Oppo广东移动通信有限公司 一种蓝牙通信方法、蓝牙设备以及计算机存储介质
CN113259710B (zh) * 2021-06-22 2021-09-21 北京百瑞互联技术有限公司 改进音频传输卡顿的方法、系统及介质
WO2024001435A1 (zh) * 2022-06-30 2024-01-04 海信视像科技股份有限公司 一种显示设备和数据处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1995910B1 (en) * 2007-05-23 2012-07-11 Broadcom Corporation Synchronization of a split audio, video, or other data stream with separate sinks
CN106357415A (zh) * 2015-07-16 2017-01-25 华为技术有限公司 抗丢包处理方法和装置
CN107170460A (zh) * 2017-06-30 2017-09-15 深圳Tcl新技术有限公司 音质调整方法、系统、主机端、及存储介质
CN108093257A (zh) * 2017-12-05 2018-05-29 北京小米移动软件有限公司 视频编码的码率控制方法、电子设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944689B (zh) * 2014-04-04 2017-03-01 浙江大学 一种适合物理层无速率编码传输的流水线传输方法
CN105704580B (zh) * 2016-01-21 2018-09-11 深圳比特新技术有限公司 一种视频传输方法
CN107181968B (zh) * 2016-03-11 2019-11-19 腾讯科技(深圳)有限公司 一种视频数据的冗余控制方法和装置
CN107295395A (zh) * 2017-06-27 2017-10-24 武汉斗鱼网络科技有限公司 码率自适应调节方法、装置及电子设备
CN109524015B (zh) * 2017-09-18 2022-04-15 杭州海康威视数字技术股份有限公司 音频编码方法、解码方法、装置及音频编解码系统
CN108039938A (zh) * 2017-12-21 2018-05-15 国网浙江省电力有限公司电力科学研究院 电力物联网低功耗并发数据帧编码方法及系统
CN110557217B (zh) * 2018-06-01 2021-08-03 华为技术有限公司 一种业务数据的处理方法及装置
CN110784745B (zh) * 2019-11-26 2021-12-07 科大讯飞股份有限公司 一种视频传输方法、装置、系统、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1995910B1 (en) * 2007-05-23 2012-07-11 Broadcom Corporation Synchronization of a split audio, video, or other data stream with separate sinks
CN106357415A (zh) * 2015-07-16 2017-01-25 华为技术有限公司 抗丢包处理方法和装置
CN107170460A (zh) * 2017-06-30 2017-09-15 深圳Tcl新技术有限公司 音质调整方法、系统、主机端、及存储介质
CN108093257A (zh) * 2017-12-05 2018-05-29 北京小米移动软件有限公司 视频编码的码率控制方法、电子设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111552454A (zh) * 2020-04-29 2020-08-18 广州酷狗计算机科技有限公司 音频播放方法、装置、终端及存储介质
CN114301884A (zh) * 2021-08-27 2022-04-08 腾讯科技(深圳)有限公司 音频数据的发送方法、接收方法、装置、终端及存储介质
CN114301884B (zh) * 2021-08-27 2023-12-05 腾讯科技(深圳)有限公司 音频数据的发送方法、接收方法、装置、终端及存储介质
CN117424947A (zh) * 2023-12-19 2024-01-19 无锡梵克罗电气设计有限公司 骑行设备系统
CN117424947B (zh) * 2023-12-19 2024-03-12 无锡梵克罗电气设计有限公司 骑行设备系统

Also Published As

Publication number Publication date
CN111869142A (zh) 2020-10-30
CN111869142B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
WO2021163954A1 (zh) 数据传输方法、装置、设备、系统及介质
US11349900B2 (en) Voice encoding and sending method and apparatus
US20190104424A1 (en) Ultra-low latency audio over bluetooth
US10595137B2 (en) Method of exchanging data packages of different sizes between first and second portable communication devices
CN110351201B (zh) 一种数据处理方法及装置
US7693058B2 (en) Method for enhancing transmission quality of streaming media
CN106209915A (zh) 一种实时流媒体无线传输方法及其系统
US11889281B2 (en) Method for managing a plurality of multimedia communication links in a point-to-multipoint Bluetooth network
WO2003088551A1 (fr) Systeme de transmission de donnees, appareil de transmission de donnees, procede de transmission de donnees et programme informatique
US10257104B2 (en) Terminal and method for audio data transmission
CN113346982B (zh) 数据传输方法、发送方法、接收方法及装置
US20230179902A1 (en) Communication method applied to binaural wireless headset, and apparatus
WO2021217360A1 (zh) 发送端的mcs调整方法、设备、无人机和存储介质
CN114982369A (zh) 音频数据传输的方法、装置、芯片和电子设备
EP3890356A1 (en) Bluetooth audio exchange with transmission diversity
JP2017076956A (ja) 第1のポータブル通信デバイスと第2のポータブル通信デバイスの間で異なるサイズのデータ・パッケージを交換する方法
CN112087416B (zh) 一种双向隐蔽信道的通信方法及系统
CN108040332B (zh) 基于蓝牙的音频传输方法及装置、存储介质、终端
WO2018081937A1 (zh) 一种确定音视频数据编码速率的方法、终端以及存储介质
JP2017076957A (ja) 第1のポータブル通信デバイスと第2のポータブル通信デバイスの間でデータ・パッケージを交換する方法
JP2007096982A (ja) 情報送信装置、送信条件制御方法及び記録媒体
US20240063981A1 (en) Uplink management for true wireless earbuds
CN114650523B (zh) 一种蓝牙通信方法及设备
CN113556650B (zh) Tws耳机无线通信方法、系统、装置及存储介质
CN115189809B (zh) 基于qoe的异构网络实时视频传输arq与fec模式选择方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20920284

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20920284

Country of ref document: EP

Kind code of ref document: A1