CN106899380B - VOLTE video telephone transmission method and system - Google Patents

VOLTE video telephone transmission method and system Download PDF

Info

Publication number
CN106899380B
CN106899380B CN201510961170.0A CN201510961170A CN106899380B CN 106899380 B CN106899380 B CN 106899380B CN 201510961170 A CN201510961170 A CN 201510961170A CN 106899380 B CN106899380 B CN 106899380B
Authority
CN
China
Prior art keywords
received
data packet
packet
feedback information
sending
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201510961170.0A
Other languages
Chinese (zh)
Other versions
CN106899380A (en
Inventor
秦海琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leadcore Technology Co Ltd
Datang Semiconductor Design Co Ltd
Original Assignee
Leadcore Technology Co Ltd
Datang Semiconductor Design Co Ltd
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 Leadcore Technology Co Ltd, Datang Semiconductor Design Co Ltd filed Critical Leadcore Technology Co Ltd
Priority to CN201510961170.0A priority Critical patent/CN106899380B/en
Publication of CN106899380A publication Critical patent/CN106899380A/en
Application granted granted Critical
Publication of CN106899380B publication Critical patent/CN106899380B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/33Flow control; Congestion control using forward notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention relates to the technical field of information, and discloses a VOLTE video telephone transmission method and a VOLTE video telephone transmission system. In the invention, a receiving end receives a VOLTE video telephone data packet and sends feedback information to a sending end; wherein the feedback information is the receiving state of the data packet; the sending end judges whether packet loss exists or not according to the received feedback information; if so, the lost packet is retransmitted. By the method, the sending end can check whether the packet is lost or not in time, and when the packet is lost, reliable and quick data retransmission is realized, the overall delay is reduced, and the system overhead is reduced.

Description

VOLTE video telephone transmission method and system
Technical Field
The invention relates to the technical field of information, in particular to a VOLTE video telephone transmission method and a VOLTE video telephone transmission system.
Background
VOLTE (Voice over LTE, LTE network video telephony) video telephony service is one of core services of 4G communication, and is also a great functional advance different from conventional call services, where VOLTE is an IP data transmission technology, video data is transmitted using RTP (Real-time Transport Protocol), control information is transmitted via RTCP (Real-time Transport Protocol), and a Session Initiation Protocol (SIP) is used to negotiate video transmission parameters. Unlike the general video streaming service, the video telephony service focuses on real-time interactivity, which means that transmission delay must be strictly controlled, and a long data buffer cannot be established like streaming media, otherwise the user experience is significantly affected. In addition, since video data is sensitive to packet loss, if packet loss occurs, an image cannot be decoded correctly, and image errors are accumulated until the next key frame occurs. Therefore, for VOLTE video telephony service, the transmission quality of data has a direct impact on the image effect.
At present, the processing mode for packet loss mainly includes realizing packet loss retransmission through out-band information feedback, or directly realizing packet loss retransmission through in-band information feedback. The out-of-band retransmission mainly adopts an RTP/AVPF (Audio-Visual profile with Feedback, Audio-video transmission Feedback) mechanism, and informs the sending end of retransmitting a lost data packet by feeding back a NACK (non-acknowledgement) message through RTCP. The in-band retransmission mainly adds feedback information into an RTP packet, feeds the feedback information back to a sending end through a video transmission channel, and retransmits data after the sending end analyzes the information. However, these methods still have limitations:
first, the retransmission delay is too long. There is no explicit indication of packet loss for RTP, which is usually counted by the receiving end. If the data packet is not received after exceeding the specified time, the data packet is determined to be lost, which causes that the normal playing time of the data packet is approached or exceeded when the lost packet is found, and in addition, the feedback message waits for data retransmission, which causes that the video delay is too large (possibly reaching several seconds); if the retransmission is fed back immediately as soon as the data packet serial number is found to be wrong, then the retransmission delay seems to be reduced, but because the data packet is only out of order rather than lost, too many feedback messages are generated, finally, a sending end initiates many unnecessary data retransmissions, bandwidth tension is caused, lost packets are further generated, and finally, more time is spent on data retransmission.
Second, the packet loss information cannot be reliably fed back. The RTCP is used for the outband retransmission, the RTCP bandwidth in VOLTE video telephone service needs to be negotiated in advance and is usually low, which means that RTCP information cannot be sent randomly, the actual feedback information is difficult to estimate, and the RTCP packet loss is possibly caused, and the packet loss information is usually fed back only once, so that the retransmission effect is influenced once packet loss occurs. For the in-band retransmission, although there is no bandwidth problem in returning the message using the video channel, the RTP itself will also lose the packet, so the feedback message may not be transmitted to the sending end because of the data loss.
Third, the overhead is large. In both in-band and out-of-band feedback, the receiving end usually feeds back information only after packet loss occurs, so the transmitting end can only know which data the receiving end has lost, but cannot know which data has been received or which data has been played. The sending end can only cache the sent video data packets as much as possible, so as to ensure that the corresponding data packets can be retransmitted when the packet loss feedback message is received. However, since the video code stream is high and the data amount is large, a large amount of cache data occupies too much system memory, especially in an embedded environment, the memory capacity is originally limited, and a running error may be caused by insufficient memory.
Disclosure of Invention
The invention aims to provide a VOLTE video telephone transmission method and a VOLTE video telephone transmission system, so that a transmitting end can check whether packet loss occurs or not in time, and when packet loss occurs, reliable and rapid data retransmission is realized, the overall delay is reduced, and the system overhead is reduced.
In order to solve the above technical problem, an embodiment of the present invention provides a VOLTE video telephony transmission method, including the following steps:
a receiving end receives the VOLTE video telephone data packet and sends feedback information to a sending end; wherein the feedback information is the receiving state of the data packet; the sending end judges whether packet loss exists or not according to the received feedback information; if so, the lost packet is retransmitted.
The embodiment of the invention also provides a VOLTE video telephone transmission system, which comprises: a receiving end and a transmitting end; the receiving end includes: the communication module is used for receiving VOLTE video telephone data packets; sending feedback information to a sending end; wherein the feedback information is the receiving state of the data packet; the transmitting end comprises: the packet loss judging module is used for judging whether packet loss exists according to the received feedback information; and when the packet loss is determined to exist, retransmitting the lost data packet.
Compared with the prior art, the embodiment of the present invention has the following main differences and effects: the receiving end feeds back the receiving state of the VOLTE video telephone data packet to the sending end, so that the sending end can quickly know whether the data packet is successfully sent, and the sending end can determine whether packet loss exists. Even if the feedback information is lost, whether the packet loss exists can be further determined through the subsequent feedback information, and the reliability of packet loss judgment is greatly improved, so that the implementation mode of the invention realizes reliable and quick data retransmission, reduces time delay and avoids increasing bandwidth burden.
In addition, in the step of sending the feedback information to the sending end, the in-band feedback is carried out to the sending end through a real-time transport protocol (RTP) packet. The RTP packet is used for carrying out in-band feedback to the sending end, so that the bandwidth of RTCP transmission information is not occupied, and in-band video code stream transmission is not influenced, the influence on the existing data transmission is avoided even if the RTCP transmission information is frequently sent, and the stability of the sent feedback information is ensured.
In addition, the data packet corresponds to a unique serial number; in the step of sending the feedback information to the sending end, indicating that the receiving state of the data packet is received by sending the sequence number of the received data packet; in the step of determining whether there is a packet loss, if the sequence number corresponding to the data packet sent by the sending end is not in the received feedback information, it is determined that the data packet is lost. Through the step, the sending end in the embodiment of the invention can judge whether the data packet is lost or not through the feedback information by judging whether the sequence number corresponding to the data sent by the sending end is not in the received feedback information without waiting for the report of the receiving end, thereby further reducing the total delay.
In addition, in the step of transmitting the serial number of the received data packet, the serial number to be transmitted is encoded and then transmitted; in the step of determining whether packet loss exists, the method further includes the following substeps: and decoding the received feedback information to obtain the sequence number corresponding to the data packet in the received state. Through the step, the data overhead occupied by the feedback information in the RTP extension packet header can be reduced, so that the practicability of the implementation mode of the invention is increased, and the popularization of the implementation mode of the invention is facilitated.
In addition, before the step of transmitting the sequence number of the received packet, the method further includes the steps of: detecting the playing state of a data packet corresponding to a serial number to be sent; and in the step of sending the sequence numbers of the received data packets, sending the sequence numbers corresponding to the data packets which are not played. Through the step, the data overhead of the feedback information in the RTP extension packet header can be further reduced.
In addition, when the transmitting end transmits the VOLTE video telephone data packet, the transmitted data packet is backed up to a transmitting end for caching; after the sending end receives the feedback information, the method also comprises the following steps: and the sending end determines the data packet received by the receiving end according to the received feedback information, and releases the data packet received by the receiving end from the sending end cache. Through the step, the sending end in the embodiment of the invention can determine the data packet received by the receiving end according to the received feedback information and release the received data packet from the sending end buffer, thereby reducing the buffer amount and lowering the system overhead.
Drawings
Fig. 1 is a schematic flow chart of a VOLTE video telephony transmission method according to a first embodiment of the present invention;
fig. 2 is a flow chart illustrating a VOLTE video telephony transmission method according to a second embodiment of the present invention;
fig. 3 is a flow chart illustrating a VOLTE video telephony transmission method according to a third embodiment of the present invention;
fig. 4 is a schematic diagram of a packet loss retransmission process of a VOLTE video telephony transmission method according to a third embodiment of the present invention;
fig. 5 is a block schematic diagram of a VOLTE video telephony transmission system according to a fourth embodiment of the present invention;
fig. 6 is a block diagram illustrating a packet loss determining module of a VOLTE video telephony transmission system according to a fifth embodiment of the present invention;
fig. 7 is a block schematic diagram of a VOLTE video telephony transmission system according to a sixth embodiment of the present invention;
fig. 8 is a schematic diagram illustrating a format of a feedback message in a VOLTE video telephony transmission method according to a first embodiment of the present invention;
fig. 9 is a schematic diagram of another format of a feedback message in a VOLTE video telephony transmission method according to the first embodiment of the present invention;
fig. 10 is a schematic diagram of another format of a feedback message in a VOLTE video telephony transmission method according to the first embodiment of the present invention;
fig. 11 is a schematic diagram of another format of a feedback message in a VOLTE video telephony transmission method according to the first embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail below with reference to the accompanying drawings. However, it will be appreciated by those of ordinary skill in the art that numerous technical details are set forth in order to provide a better understanding of the present application in various embodiments of the present invention. However, the technical solutions claimed in the claims of the present application can be implemented without these technical details and with various changes and modifications based on the following embodiments.
A first embodiment of the present invention relates to a VOLTE video telephony transmission method. The flow is shown in fig. 1, and specifically comprises the following steps:
step 101, a receiving end receives a VOLTE video telephony data packet and sends feedback information to a sending end.
Specifically, the receiving end receives the VOLTE video telephony data packet, which may be VOLTE voice transmission and VOLTE video transmission, and may send feedback information to the sending end through a real-time transport protocol RTP packet. Wherein, the feedback information is the receiving state of the data packet. The receiving state of the data packet can be a received state and a non-received state.
It is worth mentioning that the sending frequency of the feedback information can be freely controlled, each RTP packet does not need to carry the feedback information, and the information can be fed back to the sending end only when the data buffer state of the receiving end changes. For example, when the receiving end newly receives a data packet or the data packet is played, the receiving end may feed back information to the transmitting end.
In this embodiment, since the packet is associated with a unique sequence number, the receiving end indicates that the reception status of the packet is received by transmitting the sequence number of the received packet.
And 102, the sending end judges whether packet loss exists or not according to the received feedback information. If yes, go to step 103; if not, the process is ended.
Step 103, the transmitting end retransmits the lost data packet.
Specifically, the sending end may obtain a sequence number corresponding to the data packet in the received state according to the received feedback information, and then determine whether to discard the packet according to determining whether the sequence number corresponding to the data packet sent by the sending end is in the received feedback information. And if the lost packet is judged, the transmitting end retransmits the lost data packet. That is to say, the feedback information is represented by RTP packet sequence numbers, the sending end lists the RTP data segments received by the receiving end one by one, and the void area between the segments is a packet loss area. Moreover, the sending end lists the RTP data segments received by the receiving end one by one to judge whether the RTP data segments are lost or not, so that the sending end can lose the RTP data segments again when feeding back the receiving end, and the sending end can also know all packet loss conditions through subsequent messages, and feedback information omission caused by packet loss can be avoided.
For example, the feedback information may be expressed as: seq0-Seq1, Seq3-Seq4, … …. From this feedback message it can be known that: since the subsequent data packets are received and are in the hole region between Seq1 to Seq3, the data packets between Seq1 to Seq3 may lose packets, and the transmitting end retransmits the data packets of Seq1-Seq 3; if there is no other feedback information after Seq4, it indicates that the receiving end has not received the data packet after Seq 4. When the sending end retransmits the Seq1-Seq3 data packets, the received feedback information is still: seq0-Seq1, Seq3-Seq4, … …, the sending end can determine that the data packet transmitted by Seq1-Seq3 is lost again, and can retransmit the data packet of Seq1-Seq3 again until the receiving end determines that the data packet of Seq1-Seq3 is received by the receiving end according to the received feedback information.
It should be noted that, in this embodiment, the receiving end is only responsible for feeding back the receiving state of the data packet to the sending end, and does not determine whether the packet is lost, but the sending end determines whether the packet is lost according to whether the sequence number corresponding to the data packet sent by the sending end is in the received feedback information, and does not need to wait for the report of the receiving end, so that the overall delay can be reduced, the retransmission rhythm is controlled, and the receiving end receives the lost data packet as soon as possible without affecting normal data, and no obvious decoding and playing delay is caused; moreover, the data packet is not retransmitted once as the receiving end, but retransmitted for many times after the packet loss of a certain data packet is determined according to the received feedback information until the certain data packet is determined to be received by the receiving end, so that the reliable transmission of the packet loss information can be ensured.
Preferably, the receiving end can encode the serial number to be sent and then send the encoded serial number, and the sending end decodes the received feedback information first and then judges packet loss. Wherein, the feedback information is carried and transmitted by RTP extension packet header. The encoding process is as follows:
the feedback message is delivered through RTP Header Extension, the format of RTP Header is as shown in fig. 8, and after setting the X bit in fig. 8, the Header Extension may be enabled, and the format thereof is as shown in fig. 9.
The defined by profile in fig. 9 is used to distinguish different RTP Header extensions, and this field may be agreed according to the actual usage environment, and if a terminal that does not support the method is encountered, the feedback information may be skipped, and decoding is not affected; length indicates the specific length of the Header Extension; the header extension is the information specific content.
In the present embodiment, specific feedback information is filled in the header extension, and the format is as shown in fig. 10.
The SSRC in fig. 10 is an SSRC of the RTP data stream at the transmitting end, so that the transmitting end can distinguish different feedback information; sequence number represents the sequence number of the starting RTP packet and occupies 16 bits fixedly; len and delta represent the sequence numbers of the subsequent RTP packets, and the length of the sequence numbers is variable, and the sequence numbers are paired and used for indicating a sequence number section, but the total number of the sections is not limited; endmarker indicates the end of the sequence number segment, fixed to "11111110"; finally, the pad portion (filled with 0) to maintain 32-bit alignment.
The RTP packet sequence number is a 16-bit unsigned number, so that 32 bits are occupied for representing one sequence number section, and the length of feedback information needs to be reduced as much as possible in order to improve transmission efficiency. In real-time systems, the number of buffered video packets is not very large, so the RTP packet sequence numbers in the feedback information are usually concentrated in a small range, so that only the first sequence number value (sequence number field) is delivered completely, and only the sequence number increment (len and delta fields) is delivered subsequently. To further compress the amount of data, the len and delta fields are of variable length. When decoding, firstly, decoding a len field (len should be distinguished from an end marker) from a data stream to obtain the bit length of delta, then reading the length data as delta, and finally synthesizing a serial number according to the values of len and delta.
The len encoding rule is: when len is 0 to 6, directly converting into 3-bit data; when len is 7 to 16, a 3-bit prefix "111" is filled in, then n "1" s are followed, and finally "0" s are obtained, and the number of middle "1" s is related to the len value.
The calculation method of the serial number increment comprises the following steps: when len is more than 0, the increment of the sequence number is 1< (len-1) + delta; when len is 0, the sequence number increment is 0. And adding the increment of the current serial number to the last serial number to obtain the value of the current serial number.
Specifically, the coding is as follows, the smaller the increment of the sequence number, the shorter the code word, and the sequence number of the RTP packet is concentrated in a small range in most cases, so that higher transmission efficiency can be obtained, as shown in table 1 below.
Figure DEST_PATH_GDA0000948980720000081
Figure DEST_PATH_GDA0000948980720000091
Table 1
For example, if the feedback messages are Seq103-Seq210, Seq212-Seq215, Seq220-Seq240, then the sequence number increments are expressed as: 103 (starting sequence number), 107, 2, 3, 5, 20. The specific values and corresponding codewords are:
sequence number 103, codeword 0000000001100111
len0 ═ 7, delta0 ═ 43, and codeword ═ 1110|101011
len1 ═ 2, delta1 ═ 0, codeword ═ 010|0
len2 ═ 2, delta2 ═ 1, and codeword ═ 010|1
len3 ═ 3, delta3 ═ 1, and codeword ═ 011|01
len4 ═ 5, delta4 ═ 4, and codeword ═ 101|0100
The message body (excluding the end markers and pads) is 30 bits in total, and if the 16-bit sequence number is used for transmission without compression using the method, 96 bits are required. The complete RTP Header Extension is shown in FIG. 11.
Of course, in practical applications, there are other implementations that are not listed here.
By the embodiment, the receiving end feeds back the receiving state of the VOLTE video telephone data packet to the sending end, so that the sending end can quickly know whether the data packet is successfully sent, and the sending end determines whether packet loss exists. Even if the feedback information is lost, whether the packet loss exists can be further determined through the subsequent feedback information, and the reliability of packet loss judgment is greatly improved, so that the implementation mode of the invention realizes reliable and quick data retransmission, reduces time delay and avoids increasing bandwidth burden.
A second embodiment of the present invention relates to a VOLTE video telephony transmission method. The second embodiment is substantially the same as the first embodiment, and mainly differs therefrom in that: as shown in fig. 2, in the second embodiment of the present invention, the receiving end additionally detects the playing status of the data packet corresponding to the serial number to be sent, so as to send only the serial number corresponding to the data packet that is not played, thereby reducing the number of serial numbers sent by the receiving end, thereby reducing the data transmission amount and improving the transmission efficiency.
The difference lies in that: step 201, detecting the playing state of the data packet corresponding to the serial number to be sent.
Specifically, the receiving end may divide the receiving status of the data packet into a received and played RTP packet sequence number, an unreceived RTP packet sequence number, and a received and unplayed RTP packet sequence number, and then feed back the received and unplayed RTP packet sequence number to the sending end, where the received and played RTP packet sequence number is not fed back to the sending end.
Steps 202 to 204 in this embodiment are the same as steps 101 to 103 in the first embodiment, and are not described herein again.
Through the implementation mode, the number of the serial numbers sent by the receiving end can be reduced, so that the data transmission quantity is reduced, the transmission efficiency is improved, and the use experience of a user is improved.
A third embodiment of the present invention relates to a VOLTE video telephony transmission method. The third embodiment is substantially the same as the second embodiment, and mainly differs in that: as shown in fig. 3, in the third embodiment of the present invention, the sending end determines the data packets that have been received by the receiving end according to the received feedback information, and then releases the data packets from the sending end buffer, so as to reduce the buffer amount and reduce the system overhead.
Steps 301 and 302 in this embodiment are the same as steps 201 and 202 in the second embodiment, and are not described herein again. The difference lies in that:
step 303, the sending end determines the data packet received by the receiving end according to the received feedback information, and releases the data packet received by the receiving end from the sending end cache.
Specifically, the receiving end may divide the receiving status of the data packet into a received and played RTP packet sequence number, an unreceived RTP packet sequence number, and a received and unplayed RTP packet sequence number, and then feed back the received and unplayed RTP packet sequence number to the sending end. After receiving the feedback information, the sending end may determine that the RTP sequence number before the received but not played RTP packet sequence number is received and played, and the RTP sequence number after the received but not played RTP packet sequence number is not received. When the transmitting end transmits the VOLTE video telephone data packet, the transmitted data packet can be backed up to the transmitting end cache, and a considerable system memory is occupied, so that the received data packet is released from the transmitting end cache, the cache amount can be reduced, and the system overhead is reduced.
For example, the packet loss retransmission process in this embodiment is shown in fig. 4:
in the initial state, the video buffer of terminal a holds the packets Seq90 to Seq100, and the receiving buffer of terminal B has received the packets Seq90 to Seq 99.
Terminal a transmits the data packet of Seq 100.
After receiving Seq100, terminal B feeds back the packet that has received Seq90 to Seq 100.
After receiving the feedback message, the terminal a releases the data packets from Seq90 to Seq100 from the video cache, and at the same time, adds the newly encoded data packet Seq101 into the video cache, and then sends Seq101, and packet loss occurs during transmission.
Terminal a adds the newly encoded data packet Seq102 to the video buffer and then transmits Seq 102.
After receiving Seq102, terminal B feeds back that Seq90 to Seq100 and Seq102 have been received.
After receiving the feedback message, terminal a finds that terminal B has not received Seq101, and then retransmits Seq101, while the received Seq102 is released.
After receiving Seq101, terminal B feeds back that Seq90 to Seq102 have been received.
After receiving the feedback message, the terminal a knows that the terminal B has received the Seq101, and then releases the data of the video cache.
Steps 304 and 305 in this embodiment are the same as steps 203 and 204 in the second embodiment, and are not described herein again.
Through the implementation mode, the sending end can determine the data packet received by the receiving end according to the received feedback information and release the received data packet from the sending end cache, so that the buffer memory amount is reduced, the system overhead is reduced, and the popularization of the invention is facilitated.
The steps of the above methods are divided for clarity, and the implementation may be combined into one step or split some steps, and the steps are divided into multiple steps, so long as the steps contain the same logical relationship, which is within the protection scope of the present patent; it is within the scope of the patent to add insignificant modifications to the algorithms or processes or to introduce insignificant design changes to the core design without changing the algorithms or processes.
A fourth embodiment of the present invention relates to a VOLTE video telephony transmission system, as shown in fig. 5, including: a receiving end and a transmitting end.
The receiving end includes: the communication module is used for receiving VOLTE video telephone data packets; and is further configured to send feedback information to the sending end. In this embodiment, the communication module performs in-band feedback to the sending end through a real-time transport protocol RTP packet. Wherein the feedback information is the receiving state of the data packet, the communication module utilizes the RTP extension packet header to carry the feedback information,
the transmitting end includes: the packet loss judging module is used for judging whether packet loss exists according to the received feedback information; and when the packet loss is determined to exist, retransmitting the lost data packet.
It is worth mentioning that the data packet corresponds to a unique serial number. A communication module of a receiving end indicates that the receiving state of the data packet is received by sending the sequence number of the received data packet; and the packet loss judging module of the sending end judges that the data packet is lost when the serial number corresponding to the data packet sent by the sending end is not in the received feedback information.
By the implementation mode, the practicability of the implementation mode is improved, and the implementation in practical application is facilitated, so that the popularization of the implementation mode is facilitated.
It should be understood that this embodiment is a system example corresponding to the first embodiment, and may be implemented in cooperation with the first embodiment. The related technical details mentioned in the first embodiment are still valid in this embodiment, and are not described herein again in order to reduce repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the first embodiment.
It should be noted that each module referred to in this embodiment is a logical module, and in practical applications, one logical unit may be one physical unit, may be a part of one physical unit, and may be implemented by a combination of multiple physical units. In addition, in order to highlight the innovative part of the present invention, elements that are not so closely related to solving the technical problems proposed by the present invention are not introduced in the present embodiment, but this does not indicate that other elements are not present in the present embodiment.
A fifth embodiment of the present invention relates to a VOLTE video telephony transmission system. The fifth embodiment is substantially the same as the fourth embodiment, and mainly differs therefrom in that: the communication module encodes the serial number to be transmitted and then transmits the encoded serial number. As shown in fig. 6, in a fifth embodiment of the present invention, the packet loss determining module further includes the following sub-modules: the device comprises a receiving submodule, a decoding submodule and a judging submodule.
The receiving submodule is used for receiving feedback information;
the decoding submodule is used for decoding the feedback information received by the receiving submodule to obtain a serial number corresponding to the data packet in the received state;
the judging submodule is used for judging whether packet loss exists according to the sequence number obtained by the decoding submodule; and when the packet loss is determined to exist, retransmitting the lost data packet.
Since the second embodiment corresponds to the present embodiment, the present embodiment can be implemented in cooperation with the second embodiment. The related technical details mentioned in the second embodiment are still valid in this embodiment, and the technical effects that can be achieved in the second embodiment can also be achieved in this embodiment, and are not described herein again in order to reduce the repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the second embodiment.
A sixth embodiment of the present invention relates to a VOLTE video telephony transmission system. The sixth embodiment is substantially the same as the fifth embodiment, and mainly differs therefrom in that: as shown in fig. 7, the sender includes a sender buffer.
The transmitting terminal buffer is used for storing the backup of the transmitted data packet when the transmitting terminal transmits the VOLTE video telephone data packet; and the data packet receiving device is also used for determining the data packet received by the receiving end according to the received feedback information and releasing the data packet received by the receiving end from the cache of the sending end when the sending end receives the feedback information.
Since the third embodiment corresponds to the present embodiment, the present embodiment can be implemented in cooperation with the third embodiment. The related technical details mentioned in the third embodiment are still valid in this embodiment, and the technical effects that can be achieved in the third embodiment can also be achieved in this embodiment, and are not described herein again in order to reduce the repetition. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the third embodiment.
It will be understood by those of ordinary skill in the art that the foregoing embodiments are specific examples for carrying out the invention, and that various changes in form and details may be made therein without departing from the spirit and scope of the invention in practice.

Claims (13)

1. A VOLTE video telephony transmission method, comprising the steps of:
a receiving end receives VOLTE video telephone data packets, and sends feedback information to a sending end when the data buffer state of the receiving end changes; wherein the feedback information is the receiving state of the data packet; wherein the buffer status changing comprises: the receiving end newly receives the data packet or the data packet is played; wherein the feedback information comprises a receiving state of a received but not played data packet;
the sending end judges whether packet loss exists or not according to the received feedback information; if so, the lost packet is retransmitted.
2. A VOLTE videophone transmission method according to claim 1, wherein in the step of sending the feedback information to the sending end, in-band feedback is performed to the sending end by a real-time transport protocol RTP packet.
3. A VOLTE videophone transmission method according to claim 2, wherein in the step of sending the feedback information to the sending end, the feedback information is carried by the RTP extension packet header.
4. A VOLTE videophone transmission method according to claim 1 wherein the data packets correspond to a unique serial number;
in the step of sending the feedback information to the sending end, indicating that the receiving state of the data packet is received by sending the sequence number of the received data packet;
in the step of determining whether there is a packet loss, if the sequence number corresponding to the data packet sent by the sending end is not in the received feedback information, it is determined that the data packet is lost.
5. A VOLTE video telephony transmission method according to claim 4, wherein in said step of transmitting the sequence number of the received packet, the sequence number to be transmitted is encoded and then transmitted;
in the step of determining whether packet loss exists, the method further includes the following substeps: and decoding the received feedback information to obtain the sequence number corresponding to the data packet in the received state.
6. A VOLTE video telephony transmission method according to claim 4, further comprising, before said step of sending the sequence number of the received packet, the steps of: detecting the playing state of a data packet corresponding to a serial number to be sent;
and in the step of sending the sequence numbers of the received data packets, sending the sequence numbers corresponding to the data packets which are not played.
7. The VOLTE videophone transmission method of claim 1, wherein when the transmitting end transmits the VOLTE videophone data packet, the transmitted data packet is backed up to a transmitting end buffer;
after the sending end receives the feedback information, the method also comprises the following steps:
and the sending end determines the data packet received by the receiving end according to the received feedback information, and releases the data packet received by the receiving end from the sending end cache.
8. A VOLTE video telephony transmission system, comprising: a receiving end and a transmitting end;
the receiving end includes:
the communication module is used for receiving VOLTE video telephone data packets; when the data buffer state of the receiving end changes, feedback information is sent to the sending end; wherein the feedback information is the receiving state of the data packet; wherein the buffer status changing comprises: the receiving end newly receives the data packet or the data packet is played; wherein the feedback information comprises a receiving state of a received but not played data packet;
the transmitting end comprises:
the packet loss judging module is used for judging whether packet loss exists according to the received feedback information; and when the packet loss is determined to exist, retransmitting the lost data packet.
9. A VOLTE videophone transmission system according to claim 8, wherein said communication module performs in-band feedback to said transmitting end via a real-time transport protocol RTP packet.
10. A VOLTE videophone transmission system according to claim 9, wherein said communication module carries said feedback information using said RTP extension packet header.
11. A VOLTE videophone transmission system according to claim 8 wherein the data packets correspond to a unique serial number;
the communication module of the receiving end indicates the receiving state of the data packet to be received by sending the sequence number of the received data packet;
and the packet loss judging module of the sending end judges that the data packet is lost when the sequence number corresponding to the data packet sent by the sending end is not in the received feedback information.
12. A VOLTE videophone transmission system according to claim 11 wherein the communication module encodes a serial number to be transmitted and then transmits the encoded serial number;
the packet loss determining module further comprises the following sub-modules:
the receiving submodule is used for receiving feedback information;
the decoding submodule is used for decoding the feedback information received by the receiving submodule to obtain a serial number corresponding to the data packet in the received state;
the judging submodule is used for judging whether packet loss exists according to the sequence number obtained by the decoding submodule; and when the packet loss is determined to exist, retransmitting the lost data packet.
13. A VOLTE videophone transmission system according to claim 8 wherein the transmitting end includes a transmitting end buffer for storing a backup of the transmitted data packets when the transmitting end transmits the VOLTE videophone data packets; and when the sending end receives the feedback information, determining the data packet received by the receiving end according to the received feedback information, and releasing the data packet received by the receiving end from the sending end cache.
CN201510961170.0A 2015-12-19 2015-12-19 VOLTE video telephone transmission method and system Active CN106899380B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510961170.0A CN106899380B (en) 2015-12-19 2015-12-19 VOLTE video telephone transmission method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510961170.0A CN106899380B (en) 2015-12-19 2015-12-19 VOLTE video telephone transmission method and system

Publications (2)

Publication Number Publication Date
CN106899380A CN106899380A (en) 2017-06-27
CN106899380B true CN106899380B (en) 2020-03-17

Family

ID=59189902

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510961170.0A Active CN106899380B (en) 2015-12-19 2015-12-19 VOLTE video telephone transmission method and system

Country Status (1)

Country Link
CN (1) CN106899380B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769795B (en) * 2018-05-31 2020-12-25 福建星网智慧科技股份有限公司 Video signal realizing system and method
CN110290130B (en) * 2019-06-21 2020-09-01 京信通信系统(中国)有限公司 VOLTE data transmission method and device, access network equipment and storage medium
CN110233856B (en) * 2019-06-28 2022-04-05 北京云中融信网络科技有限公司 Message processing method and device and computer readable storage medium
CN113936670A (en) 2020-06-28 2022-01-14 腾讯科技(深圳)有限公司 Packet loss retransmission method, system, device, computer readable storage medium and apparatus
CN114051173B (en) * 2021-10-09 2023-08-08 广州广哈通信股份有限公司 RTP extension header-based video frame reliable transmission method, device and equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724327A (en) * 2012-06-29 2012-10-10 百度在线网络技术(北京)有限公司 System and method for providing real-time web browser service for browser
CN103873936A (en) * 2012-12-10 2014-06-18 联想(北京)有限公司 Playing method and electronic device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4452983B2 (en) * 2004-01-08 2010-04-21 ソニー株式会社 Receiving apparatus and method, program, and recording medium
CN101150494A (en) * 2006-09-22 2008-03-26 联想(北京)有限公司 Data packet transmission device, receiving device and method
KR20080062692A (en) * 2006-12-29 2008-07-03 삼성전자주식회사 Stream recording method, apparatus and system
CN101621368B (en) * 2009-08-13 2012-10-17 北京必创科技有限公司 Method, device and system for retransmitting data packet
CN103716136B (en) * 2013-12-23 2017-08-29 上海网达软件股份有限公司 A kind of data transferring method and system
CN104980819A (en) * 2015-06-26 2015-10-14 安徽四创电子股份有限公司 Video transmission method and device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724327A (en) * 2012-06-29 2012-10-10 百度在线网络技术(北京)有限公司 System and method for providing real-time web browser service for browser
CN103873936A (en) * 2012-12-10 2014-06-18 联想(北京)有限公司 Playing method and electronic device

Also Published As

Publication number Publication date
CN106899380A (en) 2017-06-27

Similar Documents

Publication Publication Date Title
CN106899380B (en) VOLTE video telephone transmission method and system
CN109923809B (en) Encoding and decoding method using forward error correction, and encoding and decoding system
KR100634946B1 (en) Apparatus and method for packet error correction
KR100612003B1 (en) Apparatus for transmitting/receiving bitstream in network and method thereof
KR100941562B1 (en) Medium streaming distribution system
KR101644215B1 (en) A method and apparatus for parsing a network abstraction-layer for reliable data communication
KR101449710B1 (en) Data communication system, data transmitting apparatus, data transmitting method, and method for determining packet size and redundancy
KR101242663B1 (en) Packet transmission apparatus, communication system and computer-readable recording medium
US7206280B1 (en) Method and apparatus for asynchronous incremental redundancy reception in a communication system
EP2437421B1 (en) Method, device and communication system for retransmitting based on forward error correction
KR100998454B1 (en) Error recovery using in band error patterns
EP2518910A1 (en) Seamless handover of multicast sessions in internet protocol based wireless networks using staggercasting
JP5109787B2 (en) Data transmission system, program and method
KR20040023568A (en) Forward error correction system and method for packet based communication systems
AU2008303800A1 (en) Method and system for transmitting data packets to multiple receivers
JP2010519789A (en) An error filter that distinguishes video data errors on reverse and forward links
WO2014205814A1 (en) Data transmission method, apparatus, base station and user equipment
KR100760421B1 (en) Method of message transmission via signalling channel, and control apparatus thereof
CN114337917A (en) Data transmission method based on forward error correction and short message sending device
CN111200761A (en) Method for packet loss retransmission in real-time streaming media transmission system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170627

Assignee: Shanghai Li Ke Semiconductor Technology Co., Ltd.

Assignor: Leadcore Technology Co., Ltd.

Contract record no.: 2018990000159

Denomination of invention: Transmission method and system for VOLTE video call

License type: Common License

Record date: 20180615

EE01 Entry into force of recordation of patent licensing contract
GR01 Patent grant
GR01 Patent grant