CN107277423B - Method and device for packet loss retransmission - Google Patents
Method and device for packet loss retransmission Download PDFInfo
- Publication number
- CN107277423B CN107277423B CN201710630700.2A CN201710630700A CN107277423B CN 107277423 B CN107277423 B CN 107277423B CN 201710630700 A CN201710630700 A CN 201710630700A CN 107277423 B CN107277423 B CN 107277423B
- Authority
- CN
- China
- Prior art keywords
- data packet
- type
- lost
- lost data
- packet
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
The present disclosure relates to a method and a device for packet loss retransmission, which comprises receiving a data packet of a video, and detecting whether a lost data packet exists according to the number of the received data packet; if the lost data packet exists, determining the type of the lost data packet according to the type of the received data packet; determining whether to send a retransmission request for the lost data packet based on the type of the lost data packet. The importance of different types of data packets on decoding and playing is different, and whether the data packets are retransmitted or not is determined according to the types of the lost data packets, so that the method and the device for packet loss retransmission according to the embodiment of the disclosure can reduce the number of retransmission requests sent under the condition of not influencing video playing, thereby reducing data interaction, reducing time delay and relieving network congestion.
Description
Technical Field
The present disclosure relates to the field of real-time video communication, and in particular, to a method and an apparatus for packet loss retransmission.
Background
With the development of internet technology and the enhancement of mobile device functions, real-time video communication gradually becomes a common means for people to communicate in daily life. The real-time video communication technology is a technology for real-time video communication through a network, two or more persons are allowed to perform real-time video communication through the network, and the main application scenes comprise multi-person video conference, video telephone, remote medical treatment, online education and the like. Due to the real-time requirement of transmission, a UDP mode is adopted during real-time video transmission. If data packets are lost in the video transmission process, video image jamming and other phenomena can be caused, and the UDP protocol cannot make any detection or prompt.
Although the packet loss retransmission strategy adopted in the related art can solve the problem of packet loss in UDP transmission to a certain extent, in some cases, the strategy can cause delay increase and network congestion, and is not suitable for occasions with high real-time requirements, such as real-time video communication and the like.
Disclosure of Invention
In order to overcome the problems in the related art, the present disclosure provides an improved packet loss retransmission method and apparatus, which can reduce the delay caused by retransmission and alleviate network congestion.
According to a first aspect of the embodiments of the present disclosure, a method for packet loss retransmission is provided, where the method includes: receiving a data packet of a video, and detecting whether a lost data packet exists according to the number of the received data packet; if the lost data packet exists, determining the type of the lost data packet according to the type of the received data packet; determining whether to send a retransmission request for the lost data packet based on the type of the lost data packet.
In one possible implementation, the types of the data packets include type I, type B, and type P, and the determining whether to send the retransmission request for the lost data packet based on the type of the lost data packet includes: if the type of the lost data packet is an I frame or a P frame, sending a retransmission request aiming at the lost data packet; and if the type of the lost data packet is B frame, not sending a retransmission request aiming at the lost data packet.
In one possible implementation, the method further includes: and if the lost data packet exists and the type of the lost data packet cannot be judged, sending a retransmission request aiming at the lost data packet.
According to a second aspect of the present disclosure, there is provided a method for packet loss retransmission, the method including: receiving a retransmission request, wherein the retransmission request carries the number of a lost data packet; and if the data packet corresponding to the number is the data packet which is referred to in the video data coding process, retransmitting the data packet corresponding to the number.
According to a third aspect of the present disclosure, there is provided an apparatus for packet loss retransmission, the apparatus comprising: the packet loss detection module is used for receiving the data packets of the video and detecting whether the lost data packets exist according to the serial numbers of the received data packets; a type determining module, configured to determine, when the packet loss detecting module detects that the lost data packet exists, a type of the lost data packet according to a type of the received data packet; a request sending module, configured to determine whether to send a retransmission request for the lost data packet based on the type of the lost data packet determined by the type determining module.
In a possible implementation manner, the request sending module is specifically configured to: when the type of the lost data packet is an I frame or a P frame, sending a retransmission request aiming at the lost data packet; when the type of the lost data packet is a B frame, a retransmission request for the lost data packet is not sent.
In a possible implementation manner, the request sending module is further configured to send a retransmission request for the lost data packet when the packet loss detection module detects that the lost data packet exists and the type determination module cannot determine the type of the lost data packet.
According to a fourth aspect of the present disclosure, there is provided an apparatus for packet loss retransmission, the apparatus comprising: a request receiving module, configured to receive a retransmission request, where the retransmission request carries a number of a lost data packet; and the data sending module is used for retransmitting the data packet corresponding to the number when the data packet corresponding to the number carried by the retransmission request received by the request receiving module is a referred data packet in the video data encoding process.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects: different types of data packets have different importance for decoding and playing, and in the present disclosure, determining whether to retransmit a lost data packet based on its type, rather than retransmitting all of the lost data packets, can reduce the number of requests to send retransmissions and the number of data packets to retransmit. Therefore, the packet loss retransmission method and device according to aspects of the present disclosure can reduce data interaction, reduce delay, and alleviate network congestion.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
Fig. 1 is a flow chart illustrating a method of packet loss retransmission according to an exemplary embodiment;
fig. 2 is a flow chart of a method of packet loss retransmission according to an example embodiment;
fig. 3 is a flow chart of a method of packet loss retransmission according to an example embodiment;
fig. 4 is a timing diagram of a method of packet loss retransmission according to an example embodiment;
fig. 5 is a block diagram of an apparatus for retransmission of lost packets according to an example embodiment;
fig. 6 is a block diagram of an apparatus for retransmission of lost packets according to an example embodiment;
fig. 7 is a block diagram of an apparatus for retransmission of lost packets according to an example embodiment;
fig. 8 is a block diagram of an apparatus for retransmission of lost packets according to an example embodiment.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
Fig. 1 is a flowchart illustrating a method of packet loss retransmission according to an exemplary embodiment. As shown in fig. 1, the method is applied to a video decoding device such as a mobile phone and a decoder, and the packet loss retransmission method includes:
in step S11, a packet of video is received, and it is detected whether there is a missing packet according to the number of the received packet.
The encoding device numbers packets of video before transmitting the packets of the original video. After receiving the data packets of the video, the decoding device can detect whether the lost data packets exist according to the number of the received data packets. In one example, if the numbers of the received data packets are not consecutive, the decoding device may determine that there is a lost data packet, and the data packet corresponding to the discontinuous numbers is the lost data packet. For example: if the numbers of the received data packets are 1, 2, 4 and 5, the data packet corresponding to the number 3 is the lost data packet.
In step S12, if there is a missing packet, the type of the missing packet is determined according to the type of the received packet.
If uncompressed video data is transmitted, communication line failure and data storage capacity shortage are easily caused. Therefore, before transmitting video, video data is usually compression-encoded. According to the video compression coding standard, the compressed data packets are divided into different types, and the importance of the different types of data packets on decoding and playing is different.
The data packets themselves carry type indication information so that the decoding device can identify the type of each received data packet, and the decoding device can decode according to the type of the data packet. The sending and receiving of the video are carried out in a double way, the sending sequence rule of each type of data packet can be defined, and therefore the receiver can determine the type of the lost data packet according to the type of the received data packet.
In one possible implementation, the decoding device may determine the type of the missing data packet according to the type of the received data packet adjacent to the number of the missing data packet. In one example, the preset rule is: i frame-B frame-P frame-B frame, the received data packet is shown in table 1. Wherein, the I (Intra-Prediction) frame is a key frame, and the type of only one data packet in a group of data packets can be the I frame; the P (prediction) frame is a forward-referenced encoded frame, referred to by the I frame or the P frame closest to it, and may be a reference frame of its subsequent P frame or a reference frame of its preceding and subsequent B frames; b (Bi-prediction) frames are Bi-directionally referenced coded frames, with reference to the preceding I or P frame and the following P frame. The decoding apparatus determines that the packet corresponding to the number 2 is a lost packet, and since the type of the packet corresponding to the number 1 is an I frame, the step S12 may determine that the type of the lost packet is a B frame.
TABLE 1 received data packet
Numbering | 1 | 3 | 4 | 5 |
Type (B) | I frame | B frame | P frame | B frame |
In one possible implementation, the type of the lost packet may be determined according to the types of other received packets, for example, the type of the lost packet may be determined according to the types of a group of received packets, and when there is no packet of the I frame type in a group of packets, the type of the lost packet may be determined to be an I frame.
Step S13, it is determined whether to send a retransmission request for the lost packet based on the type of the lost packet.
In the present embodiment, whether to retransmit a data packet is determined based on the type of the lost data packet, instead of retransmitting all the lost data packets, so that the number of retransmission requests transmitted and the number of retransmitted data packets can be reduced. Therefore, the packet loss retransmission method and device according to aspects of the present disclosure can reduce data interaction, reduce delay, and alleviate network congestion.
In a possible implementation manner, the type of the data packet includes an I frame, a B frame, and a P frame, and if the type of the lost data packet is an I frame or a P frame, a retransmission request for the lost data packet is sent; and if the type of the lost data packet is B frame, not sending a retransmission request aiming at the lost data packet.
In the encoding process, the data packet of the I frame type is necessarily referred to by other data packets, so that the subsequent decoding process is certainly influenced after the data packet of the I frame type is lost, and the normal playing of a video picture is influenced.
During the encoding process, a packet of a P-frame type may be referred to by a packet of a P-frame type or a B-frame type. Therefore, the loss of a packet of the P frame type may affect the subsequent decoding process. Since the decoding device cannot determine whether the data packet of the P frame type is actually referred to by other data packets, in order to reduce the influence on video picture playing and improve user experience, if the type of the lost data packet is a P frame, a retransmission request for the lost data packet is sent.
The B frame type must not be referenced by other packets during the encoding process. Therefore, the subsequent decoding process is not affected after the data packet of the B frame type is lost, and if the type of the lost data packet is the B frame, the retransmission request aiming at the lost data packet is not sent.
By sending the retransmission requests for the lost data packets of the I frame type and the P frame type, but not sending the retransmission requests for the lost data packets of the B frame type, the packet loss retransmission method can reduce the number of the retransmission requests, reduce data interaction, reduce time delay and relieve network congestion on the premise of not influencing video playing.
Fig. 2 is a flowchart illustrating a method of packet loss retransmission according to an exemplary embodiment. As shown in fig. 2, on the basis of fig. 1, after performing step S11 to receive the data packets of the video and detecting whether there is a missing data packet according to the number of the received data packet, step S14 may also be performed:
in step S14, if there is a missing packet and the type of the missing packet cannot be determined, a retransmission request for the missing packet is sent.
In one possible implementation, when there is more than one possibility of the type of lost packet, a retransmission request for the lost packet is sent.
In one example, the preset rule is: i frame-B frame-P frame-B frame, the received data packet is shown in table 2. The decoding device determines that the data packet corresponding to the number 3 is a lost data packet, the type of the data packet corresponding to the number 2 is a B frame, and when the type of the lost data packet is determined according to the type of the received data packet adjacent to the number of the lost data packet, the type of the data packet corresponding to the number 3 may be a B frame or a P frame. The type of the lost packet has uncertainty, and a retransmission request for the lost packet needs to be sent at this time.
TABLE 2 received data packet
Numbering | 1 | 2 | 4 | 5 |
Type (B) | I frame | B frame | P frame | B frame |
In one possible implementation, when a complete set of data packets is completely lost, a retransmission request for each data packet in the set of data packets is sent.
By sending the retransmission request aiming at the lost data packet under the condition that the type of the lost data packet cannot be judged, the method for packet loss retransmission according to the disclosure can avoid the problem that the decoding fails due to the loss of important data packets, thereby influencing the video playing.
Fig. 3 is a flowchart illustrating a method of packet loss retransmission according to an example embodiment. As shown in fig. 3, the method is applied to an encoding device such as a camera and an encoder, and the method for packet loss retransmission includes:
step S21, receiving a retransmission request, where the retransmission request carries the number of the lost data packet.
In step S22, if the data packet corresponding to the number is a data packet referred to in the video data encoding process, the data packet corresponding to the number is retransmitted.
Although the decoding apparatus may not be able to judge the type of the lost packet, the type of the packet is determined by the encoding apparatus, and thus the encoding apparatus can accurately know the type of each packet. Although the decoding apparatus cannot determine whether the packet of the P frame type is referred to in the video data encoding process, the decoding apparatus can determine whether each packet of the P frame type is referred to in the video data encoding process.
In a possible implementation manner, when the type of the data packet corresponding to the number is an I frame, the encoding device retransmits the data packet corresponding to the number. In one possible implementation, when the type of the data packet corresponding to the number is a B frame, the encoding apparatus does not retransmit the data packet corresponding to the number. In a possible implementation manner, when the type of the data packet corresponding to the number is a P frame, the encoding device may not retransmit the data packet of the P frame type that is not referred to by other data packets, and the encoding device retransmits the data packet of the P frame type that is referred to by other data packets.
By not retransmitting the data packets which are not referred to in the video data encoding process, the packet loss retransmission method can reduce the number of the retransmitted data packets, reduce data interaction, reduce the delay caused by retransmitting the data packets and relieve network congestion under the condition of not influencing video playing.
Fig. 4 is a timing diagram illustrating a method of packet loss retransmission according to an exemplary embodiment. As shown in fig. 4, the method for retransmitting the lost packet includes:
in step S31, the encoding apparatus transmits packets of video to the decoding apparatus.
In step S32, the decoding apparatus receives packets of video and detects whether there is a missing packet based on the number of the received packets.
In step S33, if there is a missing packet, the decoding apparatus determines the type of the missing packet according to the type of the received packet. If the type of the lost packet can be determined, step S34 is executed; otherwise, step S35 is executed.
In step S34, if the type of the lost packet is an I frame or a P frame, the decoding device sends a retransmission request for the lost packet to the encoding device.
In step S35, the decoding apparatus sends a retransmission request for the lost packet to the encoding apparatus.
In step S36, the encoding device receives a retransmission request sent by the decoding device, where the retransmission request carries the number of the lost data packet.
In step S37, if the packet corresponding to the number is a packet referred to in the video data encoding process, the encoding apparatus retransmits the packet corresponding to the number to the decoding apparatus.
The decoding equipment determines whether to send the retransmission request or not based on the type of the lost data packet, and the coding equipment determines whether to retransmit the data packet or not based on whether the data packet corresponding to the retransmission request is referred to in the video data coding process. Therefore, the packet loss retransmission method can reduce data interaction, reduce delay caused by retransmission and relieve network congestion.
Fig. 5 is a block diagram illustrating an apparatus 500 for retransmission of lost packets according to an exemplary embodiment. Referring to fig. 5, the apparatus 500 includes: a packet loss detection module 501, configured to receive a data packet of a video, and detect whether a lost data packet exists according to a number of the received data packet; a type determining module 502, configured to determine, when the packet loss detecting module 502 detects that the lost data packet exists, a type of the lost data packet according to a type of the received data packet; a request sending module 503, configured to determine whether to send a retransmission request for the lost data packet based on the type of the lost data packet determined by the type determining module 502.
In a possible implementation manner, the types of the data packet include an I frame, a B frame, and a P frame, and the request sending module 503 is specifically configured to: when the type of the lost data packet is an I frame or a P frame, sending a retransmission request aiming at the lost data packet; when the type of the lost data packet is a B frame, a retransmission request for the lost data packet is not sent. In a possible implementation manner, the type determining module 502 is further configured to determine the type of the missing data packet according to the type of the received data packet adjacent to the number of the missing data packet.
In a possible implementation manner, the request sending module is further configured to send a retransmission request for the lost data packet when the packet loss detection module 501 detects that the lost data packet exists and the type determination module 502 cannot determine the type of the lost data packet.
Fig. 6 is a block diagram illustrating an apparatus 600 for retransmission of lost packets according to an exemplary embodiment. Referring to fig. 6, the apparatus 600 includes: a request receiving module 601, configured to receive a retransmission request, where the retransmission request carries a number of a lost data packet; a data sending module 602, configured to, when the data packet corresponding to the number carried in the retransmission request received by the request receiving module 601 is a data packet referred to in a video data encoding process, retransmit the data packet corresponding to the number.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Fig. 7 is a block diagram illustrating an apparatus 800 for retransmission of lost packets according to an example embodiment. For example, the apparatus 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, an exercise device, a personal digital assistant, and the like.
Referring to fig. 7, the apparatus 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input/output (I/O) interface 812, sensor component 814, and communication component 816.
The processing component 802 generally controls overall operation of the device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operations at the apparatus 800. Examples of such data include instructions for any application or method operating on device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The multimedia component 808 includes a screen that provides an output interface between the device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the device 800 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the apparatus 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The I/O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the device 800. For example, the sensor assembly 814 may detect the open/closed status of the device 800, the relative positioning of components, such as a display and keypad of the device 800, the sensor assembly 814 may also detect a change in the position of the device 800 or a component of the device 800, the presence or absence of user contact with the device 800, the orientation or acceleration/deceleration of the device 800, and a change in the temperature of the device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate communications between the apparatus 800 and other devices in a wired or wireless manner. The device 800 may access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the apparatus 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium comprising instructions, such as the memory 804 comprising instructions, executable by the processor 820 of the device 800 to perform the above-described method is also provided. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
Fig. 8 is a block diagram illustrating an apparatus 1900 for packet loss retransmission according to an example embodiment. For example, the apparatus 1900 may be provided as a server. Referring to FIG. 8, the device 1900 includes a processing component 1922 further including one or more processors and memory resources, represented by memory 1932, for storing instructions, e.g., applications, executable by the processing component 1922. The application programs stored in memory 1932 may include one or more modules that each correspond to a set of instructions. Further, the processing component 1922 is configured to execute instructions to perform the above-described method.
The device 1900 may also include a power component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input/output (I/O) interface 1958. The device 1900 may operate based on an operating system stored in memory 1932, such as Windows Server, MacOS XTM, UnixTM, LinuxTM, FreeBSDTM, or the like.
In an exemplary embodiment, a non-transitory computer readable storage medium is also provided that includes instructions, such as the memory 1932 that includes instructions, which are executable by the processing component 1922 of the apparatus 1900 to perform the above-described method. For example, the non-transitory computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (12)
1. A method for packet loss retransmission is applied to a video decoding device, and the video decoding device and an encoding device agree on a transmission sequence rule of each type of data packet, and the method comprises the following steps:
receiving a data packet of a video, and detecting whether a lost data packet exists according to the number of the received data packet;
if the lost data packet exists, determining the type of the lost data packet according to the type of the received data packet;
and determining whether to send a retransmission request for the lost data packet to the encoding device based on the type of the lost data packet, so that the encoding device determines whether to retransmit the data packet based on whether the data packet corresponding to the retransmission request is referred to in the video data encoding process.
2. The method of claim 1, wherein the types of data packets include I-frames, B-frames, and P-frames, and wherein determining whether to send a retransmission request for the lost data packet based on the type of the lost data packet comprises:
if the type of the lost data packet is an I frame or a P frame, sending a retransmission request aiming at the lost data packet;
and if the type of the lost data packet is B frame, not sending a retransmission request aiming at the lost data packet.
3. The method according to claim 1 or 2, characterized in that the method further comprises:
and if the lost data packet exists and the type of the lost data packet cannot be judged, sending a retransmission request aiming at the lost data packet.
4. A method for packet loss retransmission is applied to an encoding device, a video encoding device and a decoding device which agree on a transmission sequence rule of each type of data packet, and the method comprises the following steps:
receiving a retransmission request, wherein the retransmission request carries the number of a lost data packet;
and if the data packet corresponding to the number is the data packet which is referred to in the video data encoding process, retransmitting the data packet corresponding to the number, and not retransmitting the data packet which is not referred to in the video data encoding process.
5. A device for packet loss retransmission is applied to a video decoding device, and the video decoding device and an encoding device agree with a transmission sequence rule of each type of data packet, and the device comprises:
the packet loss detection module is used for receiving the data packets of the video and detecting whether the lost data packets exist according to the serial numbers of the received data packets;
a type determining module, configured to determine, when the packet loss detecting module detects that the lost data packet exists, a type of the lost data packet according to a type of the received data packet;
and a request sending module, configured to determine whether to send a retransmission request for the lost data packet to the encoding device based on the type of the lost data packet determined by the type determining module, so that the encoding device determines whether to retransmit the data packet based on whether the data packet corresponding to the retransmission request is referred to in a video data encoding process.
6. The apparatus according to claim 5, wherein the types of packets include I-frames, B-frames, and P-frames, and the request sending module is specifically configured to:
when the type of the lost data packet is an I frame or a P frame, sending a retransmission request aiming at the lost data packet;
when the type of the lost data packet is a B frame, a retransmission request for the lost data packet is not sent.
7. The apparatus according to claim 5 or 6, wherein the request sending module is further configured to send a retransmission request for the lost data packet when the packet loss detection module detects that the lost data packet exists and the type determination module cannot determine the type of the lost data packet.
8. An apparatus for retransmission of lost packets, wherein the apparatus is applied to an encoding device, a video encoding device and a decoding device agree on a transmission sequence rule of each type of data packet, and the apparatus comprises:
a request receiving module, configured to receive a retransmission request, where the retransmission request carries a number of a lost data packet;
and the data sending module is used for retransmitting the data packet corresponding to the number when the data packet corresponding to the number carried by the retransmission request received by the request receiving module is a data packet which is referred to in the video data encoding process, and not retransmitting the data packet which is not referred to in the video data encoding process.
9. An apparatus for retransmission of lost packets, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to perform the method of any one of claims 1 to 3.
10. An apparatus for retransmission of lost packets, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to perform the method of claim 4.
11. A non-transitory computer readable storage medium, instructions in the storage medium when executed by a processor implementing the method of any one of claims 1-3.
12. A non-transitory computer readable storage medium, instructions in the storage medium when executed by a processor implementing the method of claim 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710630700.2A CN107277423B (en) | 2017-07-28 | 2017-07-28 | Method and device for packet loss retransmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710630700.2A CN107277423B (en) | 2017-07-28 | 2017-07-28 | Method and device for packet loss retransmission |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107277423A CN107277423A (en) | 2017-10-20 |
CN107277423B true CN107277423B (en) | 2020-10-09 |
Family
ID=60075804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710630700.2A Active CN107277423B (en) | 2017-07-28 | 2017-07-28 | Method and device for packet loss retransmission |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107277423B (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110913421B (en) * | 2018-09-18 | 2021-10-29 | 大唐移动通信设备有限公司 | Method and device for determining voice packet number |
CN112669858B (en) * | 2019-10-14 | 2024-11-26 | 上海华为技术有限公司 | A data processing method and related device |
CN111246312A (en) * | 2020-01-15 | 2020-06-05 | 安徽文香信息技术有限公司 | Packet loss processing method and device |
CN111669610B (en) * | 2020-05-27 | 2022-08-05 | 北京奇艺世纪科技有限公司 | Live video transmission method, system, device, server, electronic equipment and storage medium |
CN111934828B (en) * | 2020-06-30 | 2021-12-10 | 浙江云朵网科技股份有限公司 | Data transmission method and system based on OFDMA mode |
WO2022011574A1 (en) * | 2020-07-14 | 2022-01-20 | 华为技术有限公司 | Data transmission method, sending device, and receiving device |
CN112511277B (en) * | 2020-11-24 | 2021-08-06 | 广州技象科技有限公司 | Data processing method and device |
CN113259063B (en) * | 2021-06-10 | 2022-02-08 | 腾讯科技(深圳)有限公司 | Data processing method, data processing device, computer equipment and computer readable storage medium |
CN116566553A (en) * | 2022-01-28 | 2023-08-08 | 展讯通信(上海)有限公司 | Communication method and communication device |
CN114390006B (en) * | 2022-02-18 | 2024-04-05 | 百果园技术(新加坡)有限公司 | Data packet transmission method, device, equipment and storage medium |
CN115021873A (en) * | 2022-06-13 | 2022-09-06 | 浙江大华技术股份有限公司 | A method, device and electronic device for data retransmission |
CN115550606A (en) * | 2022-08-31 | 2022-12-30 | 合肥埃科光电科技股份有限公司 | Image acquisition system and method based on network protocol |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101656747A (en) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | Method and system for transmitting streaming media data |
CN101753275A (en) * | 2008-12-15 | 2010-06-23 | 华为技术有限公司 | Method, device and system for retransmission of video messages |
CN102104468A (en) * | 2011-02-18 | 2011-06-22 | 中兴通讯股份有限公司 | Routing agent-based media sensing automatic retransmission request (ARQ) control method and system |
CN102547376A (en) * | 2010-12-28 | 2012-07-04 | 中国移动通信集团公司 | Video data transmission method, device and system |
CN103248882A (en) * | 2012-02-02 | 2013-08-14 | 腾讯科技(深圳)有限公司 | Method, device and system for transmitting multimedia data |
CN103428531A (en) * | 2012-05-25 | 2013-12-04 | 中兴通讯股份有限公司 | Method and system for ARQ controlling of multi-media data |
CN106067847A (en) * | 2016-05-25 | 2016-11-02 | 腾讯科技(深圳)有限公司 | A kind of voice data transmission method and device |
CN106792263A (en) * | 2016-12-09 | 2017-05-31 | 东方网力科技股份有限公司 | A kind of method of transmitting video data, apparatus and system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651826B (en) * | 2008-08-15 | 2012-08-08 | 华为技术有限公司 | Method and device for sending and receiving media and system |
US8036223B2 (en) * | 2009-02-26 | 2011-10-11 | Research In Motion Limited | Method, apparatus and system for improving packet throughput based on classification of packet loss in data transmissions |
US8374091B2 (en) * | 2009-03-26 | 2013-02-12 | Empire Technology Development Llc | TCP extension and variants for handling heterogeneous applications |
-
2017
- 2017-07-28 CN CN201710630700.2A patent/CN107277423B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753275A (en) * | 2008-12-15 | 2010-06-23 | 华为技术有限公司 | Method, device and system for retransmission of video messages |
CN101656747A (en) * | 2009-09-25 | 2010-02-24 | 深圳创维数字技术股份有限公司 | Method and system for transmitting streaming media data |
CN102547376A (en) * | 2010-12-28 | 2012-07-04 | 中国移动通信集团公司 | Video data transmission method, device and system |
CN102104468A (en) * | 2011-02-18 | 2011-06-22 | 中兴通讯股份有限公司 | Routing agent-based media sensing automatic retransmission request (ARQ) control method and system |
CN103248882A (en) * | 2012-02-02 | 2013-08-14 | 腾讯科技(深圳)有限公司 | Method, device and system for transmitting multimedia data |
CN103428531A (en) * | 2012-05-25 | 2013-12-04 | 中兴通讯股份有限公司 | Method and system for ARQ controlling of multi-media data |
CN106067847A (en) * | 2016-05-25 | 2016-11-02 | 腾讯科技(深圳)有限公司 | A kind of voice data transmission method and device |
CN106792263A (en) * | 2016-12-09 | 2017-05-31 | 东方网力科技股份有限公司 | A kind of method of transmitting video data, apparatus and system |
Also Published As
Publication number | Publication date |
---|---|
CN107277423A (en) | 2017-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107277423B (en) | Method and device for packet loss retransmission | |
EP2986020B1 (en) | Method and apparatus for adjusting video quality based on network environment | |
CN106210797B (en) | Network live broadcast method and device | |
CN110536168B (en) | Video uploading method and device, electronic equipment and storage medium | |
US10009283B2 (en) | Method and device for processing information | |
CN106231640B (en) | Wireless access point switching method and device | |
CN109196805B (en) | Method and device for transmitting retransmission codebook | |
WO2018141164A1 (en) | Downlink control information transmission method and apparatus | |
CN108401480A (en) | HARQ feedback method and device, equipment, computer readable storage medium | |
CN106713127B (en) | Method and device for acquiring and processing instant chat records | |
CN111654354A (en) | Detection method, device and storage medium of Maximum Transmission Unit (MTU) | |
US11546884B2 (en) | Method and device for determining time-frequency resource preemption, user equipment and base station | |
CN111953980A (en) | Video processing method and device | |
US11908481B2 (en) | Method for encoding live-streaming data and encoding device | |
CN109120929B (en) | Video encoding method, video decoding method, video encoding device, video decoding device, electronic equipment and video encoding system | |
CN112203126B (en) | Screen projection method, screen projection device and storage medium | |
CN105227426B (en) | Application interface switching method and device and terminal equipment | |
CN109729438B (en) | Method and device for sending video packet and method and device for receiving video packet | |
WO2018120779A1 (en) | Transmission method and device for downlink data | |
US10348793B2 (en) | Method, device and medium for determining coding format | |
CN107395724B (en) | Network request method and device | |
CN112954348B (en) | Video encoding method and device, electronic equipment and storage medium | |
CN108401534A (en) | Data receiver method and device, data transmission method for uplink and device | |
CN109565890B (en) | Contention random access method and device | |
CN109962757A (en) | Data transmission method and device based on view networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |