CN110572721B - Video transmission method and device - Google Patents
Video transmission method and device Download PDFInfo
- Publication number
- CN110572721B CN110572721B CN201810570709.3A CN201810570709A CN110572721B CN 110572721 B CN110572721 B CN 110572721B CN 201810570709 A CN201810570709 A CN 201810570709A CN 110572721 B CN110572721 B CN 110572721B
- Authority
- CN
- China
- Prior art keywords
- video data
- data packet
- target layer
- receiving end
- block
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
Images
Classifications
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64776—Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present disclosure relates to a video transmission method and apparatus, and relates to the technical field of terminals, wherein the method is applied to a receiving end, and comprises the following steps: the method comprises the steps that a first video data packet sent by a sending end is received through a target layer of a receiving end, the first video data packet comprises video data and a target layer check code, whether the first video data packet is correct or not is judged through the target layer of the receiving end by means of the target layer check code, when the first video data packet is wrong, a key frame request is sent to the sending end through the target layer of the receiving end, the key frame request is used for indicating the sending end to code a next video data packet to be sent in a key frame mode, and the next video data packet which is received by the target layer of the receiving end and is coded in the key frame mode and sent by the sending end is analyzed. When the transmission of the video data has errors, the video data can be quickly recovered, and the feedback time delay is reduced.
Description
Technical Field
The present disclosure relates to the field of terminal technologies, and in particular, to a video transmission method and apparatus.
Background
With the continuous development of terminal technology and image transmission technology, people can more conveniently use various intelligent terminals to watch video data, the requirements on video and image quality are increasingly improved, if the problem of data packet loss or error occurs in the video data transmission process, the video quality is reduced, or the video data is blocked, blurred or mosaicked, the video data can be recovered only by retransmitting the lost or erroneous data packet, or the video data can be recovered until the next key frame is received, and a larger time delay is caused.
Disclosure of Invention
To overcome the problems in the related art, it is an object of the present disclosure to provide a video transmission method and apparatus.
According to a first aspect of the embodiments of the present disclosure, there is provided a video transmission method applied to a receiving end, the method including:
receiving a first video data packet sent by a sending end through a target layer of the receiving end, wherein the first video data packet comprises video data and a target layer check code;
judging whether the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end;
when the first video data packet is in error, sending a key frame request to the sending end through a target layer of the receiving end, wherein the key frame request is used for indicating the sending end to encode the next video data packet to be sent in a key frame form;
and analyzing the next video data packet which is received by the target layer of the receiving end and is coded in a key frame form and sent by the sending end.
Optionally, when the first video data packet is in error, sending a key frame request to the sending end through the target layer of the receiving end includes:
and when the first video data packet is in error, sending the key frame request to a target layer of the sending end through the target layer of the receiving end.
Optionally, the determining, by the target layer of the receiving end, whether the first video data packet is correct by using the target layer check code includes:
judging whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end;
the method further comprises the following steps:
when a first block is wrong, sending a key block request to the sending end through a target layer of the receiving end, wherein the first block is any block in the first video data packet, and the key block request is used for indicating the sending end to encode a second block corresponding to the position of the first block in a next video data packet in a key frame mode;
and analyzing the next video data packet which is sent by the sending end and received by the target layer of the receiving end, and contains the second block coded in the form of the key frame.
Optionally, the target layer is a physical layer or a data link layer, and the key frame is an independent frame that contains complete decoded data and is independent of adjacent frames.
According to a second aspect of the embodiments of the present disclosure, there is provided a video transmission method applied to a transmitting end, the method including:
sending a first video data packet to a receiving end, wherein the first video data packet comprises video data and a target layer check code, and the first video data packet is used for judging whether the first video data packet is correct or not by the receiving end through a target layer of the receiving end by using the target layer check code;
when the first video data packet is in error, receiving a key frame request sent by a target layer of the receiving end from the receiving end, wherein the key frame request is used for indicating the sending end to encode the next video data packet to be sent in a key frame form;
and sending the next video data packet coded in a key frame mode to the receiving end.
Optionally, the first video data packet is used to:
the receiving end judges whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end;
the method further comprises the following steps:
when a first block is wrong, receiving a key block request sent by a target layer of the receiving end from the receiving end, wherein the key block request is used for indicating the sending end to encode a second block corresponding to the position of the first block in a next video data packet in a key frame mode;
and sending the next video data packet containing the second block coded in the form of the key frame to the receiving end.
According to a third aspect of the embodiments of the present disclosure, there is provided a video transmission apparatus applied to a receiving end, the apparatus including:
the receiving module is used for receiving a first video data packet sent by a sending end through a target layer of the receiving end, wherein the first video data packet comprises video data and a target layer check code;
the judging module is used for judging whether the first video data packet is correct or not by utilizing the target layer check code through a target layer of the receiving end;
a sending module, configured to send, when the first video data packet is in error, a key frame request to the sending end through a target layer of the receiving end, where the key frame request is used to instruct the sending end to encode a next video data packet to be sent in a form of a key frame;
and the analysis module is used for analyzing the next video data packet which is received by the target layer of the receiving end and is coded in the form of the key frame and sent by the sending end.
Optionally, the sending module is configured to:
and when the first video data packet is in error, sending the key frame request to a target layer of the sending end through the target layer of the receiving end.
Optionally, the determining module is configured to:
judging whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end;
the sending module is configured to send a key block request to the sending end through a target layer of the receiving end when a first block is in error, where the first block is any block in the first video data packet, and the key block request is used to instruct the sending end to encode a second block corresponding to the first block in a next video data packet in a key frame;
the parsing module is configured to parse the next video data packet, which is sent by the sending end and received by the target layer of the receiving end, and includes the second block encoded in the form of a key frame.
Optionally, the target layer is a physical layer or a data link layer, and the key frame is an independent frame that contains complete decoded data and is independent of adjacent frames.
According to a fourth aspect of the embodiments of the present disclosure, there is provided a video transmission apparatus applied to a transmitting end, the apparatus including:
the device comprises a sending module, a receiving module and a processing module, wherein the sending module is used for sending a first video data packet to a receiving end, the first video data packet comprises video data and a target layer check code, and the receiving end is used for judging whether the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end;
a receiving module, configured to receive, from the receiving end, a key frame request sent through a target layer of the receiving end when the first video data packet is in error, where the key frame request is used to instruct the sending end to encode a next video data packet to be sent in a form of a key frame;
and the sending module is used for sending the next video data packet which is coded in a key frame mode to the receiving end.
Optionally, the first video data packet is further configured to:
the receiving end judges whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end;
the receiving module is configured to receive, from the receiving end, a key block request sent by a target layer of the receiving end when a first block is in error, where the key block request is used to instruct the sending end to encode a second block corresponding to the first block in a next video data packet in a key frame form;
the sending module is configured to send the next video data packet including the second block encoded in the form of a key frame to the receiving end.
According to the technical scheme, the first video data packet containing video data and a target layer check code is sent to a target layer of a receiving end by a sending end, the target layer of the receiving end utilizes the target layer check code to determine whether the first video data packet is lost or has an error problem, when the first video data packet is judged to be in error, the target layer of the receiving end sends a key frame request to the sending end, after the sending end receives the key frame request, the next video data packet to be sent is coded in a key frame mode, the sending end sends the next video data packet coded in the key frame mode to the target layer of the receiving end, and then the receiving end analyzes the next video data packet. When the transmission of the video data has errors, the target layer of the receiving end does not request retransmission, but the video data after the request is transmitted in the form of key frames immediately, so that the video data can be recovered quickly, and the feedback time delay can be reduced.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description serve to explain the disclosure without limiting the disclosure. In the drawings:
FIG. 1 is a flow chart illustrating a method of video transmission according to an exemplary embodiment;
FIG. 2 is a flow diagram illustrating another method of video transmission in accordance with an exemplary embodiment;
FIG. 3 is a flow chart illustrating a method of video transmission according to an exemplary embodiment;
FIG. 4 is a block diagram illustrating another video transmission device in accordance with an exemplary embodiment;
FIG. 5 is a block diagram illustrating a video transmission device according to an exemplary embodiment;
fig. 6 is a block diagram illustrating a video transmission device 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.
Before introducing the video transmission method and apparatus provided by the present disclosure, an application scenario related to each embodiment in the present disclosure is first introduced, where the application scenario includes a sending end that sends video data and a receiving end that receives video data in a video transmission process. The sending end may be any server in the internet or other types of data terminals, and the receiving end may be any display device, such as a mobile terminal such as a smart phone, a tablet computer, a smart television, a smart watch, a PDA (Personal Digital Assistant, chinese), a portable computer, or a fixed terminal such as a desktop computer.
Fig. 1 is a flowchart illustrating a video transmission method according to an exemplary embodiment, as shown in fig. 1, applied to a receiving end, the method including:
For example, in the video transmission process, a sending end sends a first video data packet including video data and a target layer check code to a target layer of a receiving end, where the first video data packet is any video data packet sent by the sending end, the video data packet may include only one frame of video data and a corresponding target layer check code (for example, HARQ (Hybrid Automatic Repeat Request, chinese) technology for a physical layer, or ARQ (Automatic Repeat-Request, chinese) technology for a data link layer), or may include multiple frames of video data and a corresponding target layer check code for each frame of video data, and may be specified according to a preset protocol between the receiving end and the sending end, and it is required to say that the target layer check code corresponding to one frame of video data may include multiple frames, and after the target layer of the receiving end receives one frame of video data, one frame of video data is split or cascaded into a plurality of small packets, each small packet is provided with a corresponding target layer check code, so that if a scene that one frame of video data is not transmitted completely appears, a target layer of a receiving end can judge whether the received part of video data has errors according to the target layer check code corresponding to each small packet, and the judgment is not needed to be carried out after the received complete frame of video data is received. The video data is encoded by the sending end and contains video information, the target layer Check Code is used for checking whether the information transmitted by the receiving end and the sending end is wrong or not in the video transmission process, and the target layer Check Code can be a parity Check Code, a Hamming Code (English), a Cyclic Redundancy Check (CRC) Code (Chinese) Code, and the like. It should be noted that the target layer may be a structure layer of the computer network structure, such as the following network layer: the physical layer or the data link layer. The target layer in this embodiment includes, but is not limited to, a structure in an Open System interconnection (Open System interconnection, chinese) or five-layer network protocol, and may also be applicable to other network structures.
And 102, judging whether the first video data packet is correct or not by using the target layer check code through the target layer of the receiving end.
Illustratively, the target layer of the receiving end checks the first video data packet, and a corresponding checking method is selected to check the first video data packet according to different types of target layer checking codes agreed by the receiving end and the sending end. When the first video data packet is correct, namely the target layer check code in the first video data packet is matched with the video data in the first video data packet, the receiving end analyzes the first video data packet, the analyzed video data is displayed on a display interface of the receiving end, and when the first video data packet is wrong, namely the target layer check code in the first video data packet is not matched with the video data in the first video data packet, a lost or wrong scene is corresponding to the first video data packet (at the moment, the image quality on the display interface of the receiving end is reduced, or jamming, blurring or mosaic occurs), and a key frame request is sent to the sending end by the target layer of the receiving end. And after receiving the key frame request, the sending end encodes the next video data packet to be sent in a key frame mode. The key frame is an independent frame including all video data in a video data packet, and can be independently decoded without referring to images of other frames, and meanwhile, the key frame can also be used as a reference frame for decoding other frames, and is exemplified by a standard MPEG-4 (English: Moving Picture Experts Group, Chinese: motion Picture Experts Group) coding mode, and includes three types of frames: the frame decoding method comprises an I frame, a P frame and a B frame, wherein the I frame is a key frame and can be independently decoded without other information. When the target layer of the receiving end finds that the first video data packet is transmitted in error, the target layer of the receiving end does not request the transmitting end to retransmit the first video data packet, but requests the transmitting end to transmit the video data after the first video data packet in a form of a key frame. It should be noted that, the target layer at the receiving end directly determines whether the first video data packet is correct, so as to avoid the feedback delay caused by the transmission of the video data to the upper layer (network layer or transport layer, etc.).
And 104, analyzing the next video data packet which is received by the target layer of the receiving end and is coded in the form of the key frame and sent by the sending end.
For example, after the sending end encodes the next video data packet in the form of a key frame, the sending end sends the next video data packet encoded in the form of a key frame to the target layer of the receiving end. After the target layer of the receiving end receives the next video data packet which is coded in the form of the key frame, because the next video data packet which is coded in the form of the key frame is in the form of the key frame, the next video data packet which is coded in the form of the key frame can be independently decoded without referring to other frame images, so that the image on the display interface of the receiving end can be immediately restored.
In summary, in the present disclosure, a first video data packet including video data and a target layer check code is sent to a target layer of a receiving end by a sending end, the target layer of the receiving end determines whether the first video data packet is lost or has an error by using the target layer check code, when it is determined that the first video data packet is erroneous, the target layer of the receiving end sends a key frame request to the sending end, after the sending end receives the key frame request, a next video data packet to be sent is encoded in a key frame form, and the sending end sends the next video data packet encoded in the key frame form to the target layer of the receiving end and then the next video data packet is analyzed by the receiving end. When the transmission of the video data has errors, the target layer of the receiving end does not request retransmission, but the video data after the request is transmitted in the form of key frames immediately, so that the video data can be recovered quickly, and the feedback time delay can be reduced.
Optionally, step 103 includes:
and when the first video data packet is in error, sending a key frame request to a target layer of the sending end through the target layer of the receiving end.
For example, when the first video data packet is in error, the target layer at the receiving end sends the key frame request to the target layer at the sending end, so that feedback delay caused by transmission of data corresponding to the key frame request to an upper layer (a network layer, a transmission layer, or the like) can be avoided, and the feedback delay is further reduced.
Fig. 2 is a flow chart illustrating another video transmission method according to an example embodiment, as shown in fig. 2, step 102 includes:
and judging whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end.
The method further comprises the following steps:
and 105, when the first block is wrong, sending a key block request to the sending end through a target layer of the receiving end, wherein the first block is any block in the first video data packet, and the key block request is used for indicating the sending end to encode a second block corresponding to the position of the first block in a next video data packet in a key frame mode.
And 106, analyzing the next video data packet which is sent by the sending end and received by the target layer of the receiving end, and contains the second block coded in the form of the key frame.
For example, in a general case, in a video transmission process, a video data packet may be divided into a plurality of blocks, the coding modes of each block may be different from each other, each block also corresponds to a target layer check code, and a sender may first determine whether each block has an error, and then request the sender to code the corresponding block in a key frame manner. An error occurring in one block only affects the video data in the block, and has no effect on other blocks, so that the transmitting end can still encode other blocks in the next video data packet according to the original encoding mode except for the block in which the error occurs.
Therefore, the target layer of the receiving end can respectively judge whether each block in the first video data packet has an error, and then send a key block request to the sending end according to the block with the error, so as to instruct the sending end to encode a second block corresponding to the position of the first block in the next video data packet in a key frame mode. And after the second block in the next video data packet is coded in the form of a key frame at the sending end, the sending end sends the next video data packet containing the second block coded in the form of the key frame to a target layer of the receiving end. And the target layer of the receiving end decodes the next video data packet after receiving the video data packet.
Optionally, the target layer is a physical layer or a data link layer, and the key frame is an independent frame that contains complete decoded data and is independent of adjacent frames.
In summary, in the present disclosure, a first video data packet including video data and a target layer check code is sent to a target layer of a receiving end by a sending end, the target layer of the receiving end determines whether the first video data packet is lost or has an error by using the target layer check code, when it is determined that the first video data packet is erroneous, the target layer of the receiving end sends a key frame request to the sending end, after the sending end receives the key frame request, a next video data packet to be sent is encoded in a key frame form, and the sending end sends the next video data packet encoded in the key frame form to the target layer of the receiving end and then the next video data packet is analyzed by the receiving end. When the transmission of the video data has errors, the target layer of the receiving end does not request retransmission, but the video data after the request is transmitted in the form of key frames immediately, so that the video data can be recovered quickly, and the feedback time delay can be reduced.
Fig. 3 is a flowchart illustrating a video transmission method according to an exemplary embodiment, as shown in fig. 3, applied to a transmitting end, the method including:
For example, the sending end sends a first video data packet (which may be received by a target layer of the receiving end) including video data and a target layer check code to the receiving end, where the video data is encoded by the sending end and includes video information, and the target layer check code is data used to check whether information transmitted by the receiving end and the sending end is erroneous in a video transmission process, so that the target layer of the receiving end can determine whether the first video data packet is correct. The target layer may be a network layer of a computer network structure, such as: the physical layer or the data link layer. The target layer in this embodiment includes, but is not limited to, a network seven layer protocol (OSI) or a network five layer protocol (ip), and may be applied to other network structures.
For example, when the target layer of the receiving end determines that the first video data packet is erroneous (i.e. the target layer check code in the first video data packet does not match the video data in the first video data packet), the target layer of the receiving end sends a key frame request to the sending end. After receiving the key frame request, the sending end encodes the next video data packet to be sent in the form of a key frame and sends the encoded video data packet to the receiving end. In step 202, the target layer at the transmitting end may receive the key frame request sent by the target layer at the receiving end, so as to avoid the feedback delay caused by the transfer of the video data to the upper layer (such as the network layer or the transport layer).
Fig. 4 is a flow chart illustrating another video transmission method according to an example embodiment, as shown in fig. 4, a first video data packet is used for:
and the receiving end judges whether each block in the first video data packet is correct or not by using the target layer check code through the target layer of the receiving end.
The method further comprises the following steps:
For example, when the video data packet is divided into a plurality of blocks, the coding modes of the blocks may be different from each other, each block also corresponds to a target layer check code, and the target layer of the receiving end may first determine whether each block has an error, and then request the sending end to code the corresponding block in the form of a key frame. An error occurring in one block only affects the video data in the block, and has no effect on other blocks, so that the transmitting end can still encode other blocks in the next video data packet according to the original encoding mode except for the block in which the error occurs.
In summary, in the present disclosure, a first video data packet including video data and a target layer check code is sent to a target layer of a receiving end by a sending end, the target layer of the receiving end determines whether the first video data packet is lost or has an error by using the target layer check code, when it is determined that the first video data packet is erroneous, the target layer of the receiving end sends a key frame request to the sending end, after the sending end receives the key frame request, a next video data packet to be sent is encoded in a key frame form, and the sending end sends the next video data packet encoded in the key frame form to the target layer of the receiving end and then the next video data packet is analyzed by the receiving end. When the transmission of the video data has errors, the target layer of the receiving end does not request retransmission, but the video data after the request is transmitted in the form of key frames immediately, so that the video data can be recovered quickly, and the feedback time delay can be reduced.
Fig. 5 is a block diagram of a video transmission apparatus according to an exemplary embodiment, as shown in fig. 5, applied to a receiving end, the apparatus 300 includes:
the receiving module 301 is configured to receive, through a target layer of a receiving end, a first video data packet sent by a sending end, where the first video data packet includes video data and a target layer check code.
The determining module 302 is configured to determine whether the first video data packet is correct by using the target layer check code through the target layer of the receiving end.
A sending module 303, configured to send, when the first video data packet is in error, a key frame request to the sending end through a target layer of the receiving end, where the key frame request is used to instruct the sending end to encode a next video data packet to be sent in a form of a key frame.
And the parsing module 304 is configured to parse a next video data packet, which is received by the target layer of the receiving end and encoded in the form of a key frame by the sending end.
Optionally, the sending module 303 is configured to:
and when the first video data packet is in error, sending a key frame request to a target layer of the sending end through the target layer of the receiving end.
Optionally, the determining module 302 is configured to:
and judging whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end.
A sending module 303, configured to send, when the first block is an error, a key block request to the sending end through a target layer of the receiving end, where the first block is any block in the first video data packet, and the key block request is used to instruct the sending end to encode a second block, corresponding to the first block in the next video data packet, in a form of a key frame.
The parsing module 304 is configured to parse a next video data packet, which is sent by the sending end and received by the target layer of the receiving end, and includes the second block encoded in the form of the key frame.
Optionally, the target layer is a physical layer or a data link layer, and the key frame is an independent frame that contains complete decoded data and is independent of adjacent frames.
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.
In summary, in the present disclosure, a first video data packet including video data and a target layer check code is sent to a target layer of a receiving end by a sending end, the target layer of the receiving end determines whether the first video data packet is lost or has an error by using the target layer check code, when it is determined that the first video data packet is erroneous, the target layer of the receiving end sends a key frame request to the sending end, after the sending end receives the key frame request, a next video data packet to be sent is encoded in a key frame form, and the sending end sends the next video data packet encoded in the key frame form to the target layer of the receiving end and then the next video data packet is analyzed by the receiving end. When the transmission of the video data has errors, the target layer of the receiving end does not request retransmission, but the video data after the request is transmitted in the form of key frames immediately, so that the video data can be recovered quickly, and the feedback time delay can be reduced.
Fig. 6 is a block diagram illustrating a video transmission apparatus according to an exemplary embodiment, as shown in fig. 6, applied to a transmitting end, the apparatus 400 including:
the sending module 401 is configured to send a first video data packet to the receiving end, where the first video data packet includes video data and a target layer check code, and the receiving end determines whether the first video data packet is correct through the target layer of the receiving end by using the target layer check code.
A receiving module 402, configured to receive, from the receiving end, a key frame request sent through a target layer of the receiving end when the first video data packet is in error, where the key frame request is used to instruct the sending end to encode a next video data packet to be sent in a form of a key frame.
A sending module 401, configured to send the next video data packet encoded in the form of a key frame to the receiving end.
Optionally, the first video data packet is further configured to:
and the receiving end judges whether each block in the first video data packet is correct or not by using the target layer check code through the target layer of the receiving end.
A receiving module 402, configured to receive, from the receiving end, a key block request sent by a target layer of the receiving end when the first block is in error, where the key block request is used to instruct the sending end to encode a second block corresponding to the first block in a next video data packet in a form of a key frame.
A sending module 401, configured to send a next video data packet including the second block encoded in the form of the key frame to a receiving end.
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.
In summary, in the present disclosure, a first video data packet including video data and a target layer check code is sent to a target layer of a receiving end by a sending end, the target layer of the receiving end determines whether the first video data packet is lost or has an error by using the target layer check code, when it is determined that the first video data packet is erroneous, the target layer of the receiving end sends a key frame request to the sending end, after the sending end receives the key frame request, a next video data packet to be sent is encoded in a key frame form, and the sending end sends the next video data packet encoded in the key frame form to the target layer of the receiving end and then the next video data packet is analyzed by the receiving end. When the transmission of the video data has errors, the target layer of the receiving end does not request retransmission, but the video data after the request is transmitted in the form of key frames immediately, so that the video data can be recovered quickly, and the feedback time delay can be reduced.
Preferred embodiments of the present disclosure are described in detail above with reference to the accompanying drawings, however, the present disclosure is not limited to the specific details of the above embodiments, and other embodiments of the present disclosure may be easily conceived by those skilled in the art within the technical spirit of the present disclosure after considering the description and practicing the present disclosure, and all fall within the protection scope of the present disclosure.
It should be noted that the various features described in the above embodiments may be combined in any suitable manner without departing from the scope of the invention. Meanwhile, any combination can be made between various different embodiments of the disclosure, and the disclosure should be regarded as the disclosure of the disclosure as long as the combination does not depart from the idea of the disclosure. The present disclosure is not limited to the precise structures that have been described above, and the scope of the present disclosure is limited only by the appended claims.
Claims (6)
1. A video transmission method applied to a receiving end, the method comprising:
receiving a first video data packet sent by a sending end through a target layer of the receiving end, wherein the first video data packet comprises video data and a target layer check code, and the target layer is any structural layer below a network layer in a computer network mechanism;
judging whether the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end;
when the first video data packet is in error, sending a key frame request to a target layer of the sending end through the target layer of the receiving end, wherein the key frame request is used for indicating the sending end to encode the next video data packet to be sent in a key frame form;
analyzing the next video data packet which is received by the target layer of the receiving end and is coded in a key frame form and sent by the sending end;
the determining, by the target layer of the receiving end, whether the first video data packet is correct by using the target layer check code includes:
judging whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end, wherein the coding mode of each block is independent;
the method further comprises the following steps:
when a first block is wrong, sending a key block request to the sending end through a target layer of the receiving end, wherein the first block is any block in the first video data packet, the key block request is used for indicating the sending end to encode a second block corresponding to the position of the first block in a next video data packet in a key frame mode, and the encoding modes of blocks except the second block in the next video data packet are kept unchanged;
and analyzing the next video data packet which is sent by the sending end and received by the target layer of the receiving end, and contains the second block coded in the form of the key frame.
2. The method of claim 1, wherein the target layer is a physical layer or a data link layer, and wherein the key frame is an independent frame that contains complete decoded data and is independent of neighboring frames.
3. A video transmission method is applied to a sending end, and the method comprises the following steps:
sending a first video data packet to a receiving end, wherein the first video data packet comprises video data and a target layer check code, and the first video data packet is used for judging whether the first video data packet is correct or not by the receiving end through a target layer of the receiving end by using the target layer check code, and the target layer is any structural layer below a network layer in a computer network mechanism;
when the first video data packet is in error, receiving a key frame request from the receiving end through a target layer of the sending end, and sending the key frame request through the target layer of the receiving end, wherein the key frame request is used for indicating the sending end to encode the next video data packet to be sent in a key frame mode;
transmitting the next video data packet encoded in a key frame form to the receiving end;
the first video data packet is for:
the receiving end judges whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end, and the coding mode of each block is independent;
the method further comprises the following steps:
when a first block is wrong, receiving a key block request sent by a target layer of the receiving end from the receiving end, wherein the key block request is used for indicating the sending end to encode a second block corresponding to the position of the first block in a next video data packet in a key frame mode, and the encoding modes of blocks except the second block in the next video data packet are kept unchanged;
and sending the next video data packet containing the second block coded in the form of the key frame to the receiving end.
4. A video transmission apparatus, applied to a receiving end, the apparatus comprising:
the receiving module is used for receiving a first video data packet sent by a sending end through a target layer of the receiving end, wherein the first video data packet comprises video data and a target layer check code, and the target layer is any structural layer below a network layer in a computer network mechanism;
the judging module is used for judging whether the first video data packet is correct or not by utilizing the target layer check code through a target layer of the receiving end;
a sending module, configured to send, when the first video data packet is in error, a key frame request to a target layer of the sending end through the target layer of the receiving end, where the key frame request is used to instruct the sending end to encode a next video data packet to be sent in a key frame form;
the analysis module is used for analyzing the next video data packet which is received by the target layer of the receiving end and is coded in the form of key frames and sent by the sending end;
the judging module is used for:
judging whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end, wherein the coding mode of each block is independent;
the sending module is configured to send a key block request to the sending end through a target layer of the receiving end when a first block is in error, where the first block is any block in the first video data packet, the key block request is used to instruct the sending end to encode a second block corresponding to the first block in a next video data packet in a key frame manner, and encoding manners of blocks other than the second block in the next video data packet remain unchanged;
the parsing module is configured to parse the next video data packet, which is sent by the sending end and received by the target layer of the receiving end, and includes the second block encoded in the form of a key frame.
5. The apparatus of claim 4, wherein the target layer is a physical layer or a data link layer, and wherein the key frame is an independent frame that contains complete decoded data and is independent of neighboring frames.
6. A video transmission apparatus, applied to a transmitting end, the apparatus comprising:
the sending module is used for sending a first video data packet to a receiving end, wherein the first video data packet comprises video data and a target layer check code, the receiving end is used for judging whether the first video data packet is correct or not through a target layer of the receiving end by using the target layer check code, and the target layer is any structural layer below a network layer in a computer network mechanism;
a receiving module, configured to receive, from the receiving end through the target layer of the sending end when the first video data packet is in error, a key frame request sent through the target layer of the receiving end, where the key frame request is used to instruct the sending end to encode a next video data packet to be sent in a key frame form;
the sending module is configured to send the next video data packet encoded in a key frame form to the receiving end;
the first video data packet is further for:
the receiving end judges whether each block in the first video data packet is correct or not by using the target layer check code through a target layer of the receiving end, and the coding mode of each block is independent;
the receiving module is configured to receive, from the receiving end, a key block request sent by a target layer of the receiving end when a first block is in error, where the key block request is used to instruct the sending end to encode a second block corresponding to the first block in a next video data packet in a key frame format, and an encoding manner of blocks other than the second block in the next video data packet remains unchanged;
the sending module is configured to send the next video data packet including the second block encoded in the form of a key frame to the receiving end.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810570709.3A CN110572721B (en) | 2018-06-05 | 2018-06-05 | Video transmission method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810570709.3A CN110572721B (en) | 2018-06-05 | 2018-06-05 | Video transmission method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110572721A CN110572721A (en) | 2019-12-13 |
CN110572721B true CN110572721B (en) | 2022-02-22 |
Family
ID=68771873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810570709.3A Active CN110572721B (en) | 2018-06-05 | 2018-06-05 | Video transmission method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110572721B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113612962B (en) * | 2021-07-15 | 2024-11-15 | 深圳市捷视飞通科技股份有限公司 | Video conference processing method, system and device |
CN114025354A (en) * | 2021-11-17 | 2022-02-08 | 圆藏(上海)科技有限公司 | A communication method, system and storage medium for reducing information transmission errors |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937631A (en) * | 2006-10-24 | 2007-03-28 | 杭州华为三康技术有限公司 | User datagram protocol message processing method and device |
CN102752670A (en) * | 2012-06-13 | 2012-10-24 | 广东威创视讯科技股份有限公司 | Method, device and system for reducing phenomena of mosaics in network video transmission |
CN103002283A (en) * | 2012-11-20 | 2013-03-27 | 南京邮电大学 | Side Information Generation Method for Multi-View Distributed Video Compression |
CN104703053A (en) * | 2015-03-11 | 2015-06-10 | 青岛海尔智能家电科技有限公司 | Packet loss processing method, device and system of video transmission process |
CN106034242A (en) * | 2015-03-09 | 2016-10-19 | 杭州施强网络科技有限公司 | Audio/video live broadcast streaming media data transmission method in P2P system |
CN106937134A (en) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | A kind of coding method of data transfer, coding dispensing device and system |
CN107979765A (en) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | A kind of video data handling procedure, apparatus and system |
-
2018
- 2018-06-05 CN CN201810570709.3A patent/CN110572721B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937631A (en) * | 2006-10-24 | 2007-03-28 | 杭州华为三康技术有限公司 | User datagram protocol message processing method and device |
CN102752670A (en) * | 2012-06-13 | 2012-10-24 | 广东威创视讯科技股份有限公司 | Method, device and system for reducing phenomena of mosaics in network video transmission |
CN103002283A (en) * | 2012-11-20 | 2013-03-27 | 南京邮电大学 | Side Information Generation Method for Multi-View Distributed Video Compression |
CN106034242A (en) * | 2015-03-09 | 2016-10-19 | 杭州施强网络科技有限公司 | Audio/video live broadcast streaming media data transmission method in P2P system |
CN104703053A (en) * | 2015-03-11 | 2015-06-10 | 青岛海尔智能家电科技有限公司 | Packet loss processing method, device and system of video transmission process |
CN106937134A (en) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | A kind of coding method of data transfer, coding dispensing device and system |
CN107979765A (en) * | 2016-10-25 | 2018-05-01 | 中兴通讯股份有限公司 | A kind of video data handling procedure, apparatus and system |
Also Published As
Publication number | Publication date |
---|---|
CN110572721A (en) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6857095B2 (en) | Method for making data transmission more effective and a data transmission protocol | |
US9270420B2 (en) | Data communication using 2D bar codes | |
CN101155311B (en) | Video code stream error detecting and processing method in video communication | |
US7616661B2 (en) | Apparatus for transmitting/receiving a bit stream in a network and method therefor | |
USRE46167E1 (en) | Systems and methods for transmitting data over lossy networks | |
CN1287567C (en) | Multimedium communication method and apparatus on grouped channels | |
CN112804711B (en) | Data transmission method, data transmission device, computer readable medium and electronic equipment | |
CN105681342B (en) | H264-based error code resisting method and system for multi-channel video conference system | |
CN1722851A (en) | Error detecting method of mobile communication system | |
EP2166687A1 (en) | A method and apparatus for transmiting and receiving data packets | |
JP4703310B2 (en) | Communication method and communication system | |
KR970019219A (en) | VIDEO CODING USING SEGMENTED FRAMES AND RETRANSMISSION TO OVERCOME CHANNEL ERRORS | |
CN110572721B (en) | Video transmission method and device | |
JP2012222809A (en) | Method of reducing retransmission of data frame and receiving node therefor | |
CN110830818A (en) | Video transmission method and device | |
CN114567799B (en) | Video stream data transmission method and device, storage medium and electronic equipment | |
EP2850765B1 (en) | Method and apparatus for error recovery using information related to the transmitter | |
CN1863311B (en) | Method of transmitting video data | |
CN107872675B (en) | H.264-based video data repair method and transmission data terminal | |
CN110839164A (en) | Video transmission method and device | |
JPH1118086A (en) | Image communication method and apparatus | |
CN1780397A (en) | Method for ensuring low bit rate wireless channel transmission of high quality video signal | |
KR101196451B1 (en) | Apparatus and method for transfering bitstream | |
KR101429398B1 (en) | Method for porcessing scalable coding-baced data | |
JPH0799662A (en) | Dynamic image signal transmission method |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100085 unit C, building C, lin66, Zhufang Road, Qinghe, Haidian District, Beijing Applicant after: Beijing Xiaomi pinecone Electronic Co., Ltd Address before: 100085 Beijing city Haidian District Qinghe Shun Yip things Park Building 3 unit A Applicant before: BEIJING PINECONE ELECTRONICS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |