[go: up one dir, main page]

CN110572721B - Video transmission method and device - Google Patents

Video transmission method and device Download PDF

Info

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
Application number
CN201810570709.3A
Other languages
Chinese (zh)
Other versions
CN110572721A (en
Inventor
周天阳
金骏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Pinecone Electronic Co Ltd
Original Assignee
Beijing Xiaomi Pinecone Electronic Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Pinecone Electronic Co Ltd filed Critical Beijing Xiaomi Pinecone Electronic Co Ltd
Priority to CN201810570709.3A priority Critical patent/CN110572721B/en
Publication of CN110572721A publication Critical patent/CN110572721A/en
Application granted granted Critical
Publication of CN110572721B publication Critical patent/CN110572721B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0847Transmission error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/647Control 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/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64776Control 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

Video transmission method and device
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:
step 101, a first video data packet sent by a sending end is received through a target layer of a receiving end, and the first video data packet comprises video data and a target layer check code.
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.
Step 103, 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, where the key frame request is used to instruct the sending end to encode the next video data packet to be sent in a key frame form.
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:
step 201, sending a first video data packet to a receiving end, where the first video data packet includes video data and a target layer check code, and the receiving end is configured to determine whether the first video data packet is correct through the target layer of the receiving end by using the target layer check code.
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.
Step 202, when the first video data packet is in error, a key frame request sent through a target layer of the receiving end is received from the receiving end, and the key frame request is used for instructing the sending end to encode the next video data packet to be sent in a key frame form.
Step 203, sending the next video data packet encoded in the form of key frame to the receiving end.
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:
step 204, when the first block is erroneous, a key block request sent by the target layer of the receiving end is received from the receiving end, where 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 key frame form.
Step 205, the next video data packet containing the second block encoded in the form of the key frame is sent to the receiving end.
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.
CN201810570709.3A 2018-06-05 2018-06-05 Video transmission method and device Active CN110572721B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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