WO2023273763A1 - Video data transmission method and device - Google Patents

Video data transmission method and device Download PDF

Info

Publication number
WO2023273763A1
WO2023273763A1 PCT/CN2022/096020 CN2022096020W WO2023273763A1 WO 2023273763 A1 WO2023273763 A1 WO 2023273763A1 CN 2022096020 W CN2022096020 W CN 2022096020W WO 2023273763 A1 WO2023273763 A1 WO 2023273763A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
link
frame
video data
links
Prior art date
Application number
PCT/CN2022/096020
Other languages
French (fr)
Chinese (zh)
Inventor
聂振兴
张硕
姚松平
钟文国
骆亮亮
王皓
郭兴民
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023273763A1 publication Critical patent/WO2023273763A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding

Definitions

  • the embodiments of the present application relate to the technical field of streaming media transmission, and in particular, to a video data transmission method and device.
  • the application of video in real life is more and more extensive, such as video call, webcast, and near-field projection.
  • the transmission of video data is an important factor affecting the playback quality of video data.
  • the video sending end transmits data packets of video data on two links respectively, so as to realize redundant transmission of video data, for example, transmit all video data on the first link data packets, all data packets of video data are also transmitted on the second link.
  • one link can be the main link, and the other link can be the auxiliary link.
  • the data packets transmitted on the above two links are mutual backup.
  • the video receiving end can obtain the lost data packets from the data packets transmitted on another link, so as to successfully complete the decoding of the video data.
  • the link with limited bandwidth will not transmit video data.
  • Part of the video data may be lost when the bandwidth is not limited. Therefore, the two links can no longer serve as backups for each other.
  • the receiving end restarts also loses part of the video data, which is the same as the video data lost by the bandwidth-limited link, and the video data lost by the two links includes important information of the video data, then it will cause video
  • problems such as freeze, blurred screen and high delay occur.
  • Embodiments of the present application provide a method and device for transmitting video data, which can guarantee the normal transmission of important information in the video data during the transmission process of the video data to a certain extent.
  • the embodiment of the present application provides a video data transmission method, the method includes: detecting the transmission quality of N links; wherein, the N links are used to transmit the first video data, and the N links are For links in different networks, the above-mentioned first video data includes a plurality of video frames, and N is a positive integer greater than or equal to 2; according to the transmission quality of the above-mentioned N links, determine the video to be transmitted corresponding to the N links respectively frame; wherein, when the transmission quality of the kth link meets the preset condition, the video frames to be transmitted corresponding to the kth link are all video frames of the above-mentioned first video data; the kth link When the transmission quality of the link does not meet the preset conditions, the video frame to be transmitted corresponding to the kth link is a partial video frame in all of the above-mentioned first video data; wherein, the value of k is 1, 2, ... ... any value in N, the video frame to be transmitted includes all key data
  • the video sending end detects the transmission quality of the N links used to transmit the first video data, and determines the respective corresponding links of the N links according to the transmission quality of the N links.
  • the video frames to be transmitted wherein, when the transmission quality of the kth link meets the preset conditions, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and the kth link
  • the partial video frame in the first video data is used as the video frame to be transmitted of the kth link; and, the video frame to be transmitted determined above includes the first video frame All key data in the data.
  • this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the normal transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
  • the detection of the transmission quality of the kth link specifically includes: obtaining feedback information of the kth link, where the feedback information includes transmission delay and/or retransmission times; according to the above kth link
  • the feedback information of the kth link is used to determine the transmission quality of the kth link.
  • the transmission quality of the kth link meets the preset condition; if the transmission time of the kth link If the delay is greater than or equal to the preset delay, the transmission quality of the k-th link does not meet the above preset condition.
  • the transmission quality of the kth link meets the above preset conditions; if the retransmission of the kth link If the number of times is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the above preset condition.
  • the kth link When the above feedback information is the transmission delay and the number of retransmissions, if the transmission delay of the kth link is less than the preset time delay, and the number of retransmissions of the kth link is less than the preset number of times, then the kth link The transmission quality of the link meets the preset condition; if the transmission delay of the k link is greater than or equal to the preset threshold, and/or the number of retransmissions of the k link is greater than or equal to the preset number, then the The transmission quality of the kth link does not meet the preset condition.
  • determining the video frame to be transmitted corresponding to the kth link specifically includes: according to the kth link corresponding According to the preset proportion of the video frame of the first video data, according to the order of priority of the video frame of the first video data from high to low, select some video frames in the video frame of the above-mentioned first video data as the video frame to be transmitted corresponding to the kth link .
  • n preset ratio
  • Num 1 represents the quantity of the non-key video frame in the video frame of above-mentioned first video data
  • Num 2 represents the total quantity of the video frame of above-mentioned first video data
  • this non-key video frame Refers to video frames that include non-critical data.
  • the video sending end detects the transmission quality of the kth link used to transmit the first video data, and determines the kth link according to the transmission quality of the kth link Corresponding video frames to be transmitted, wherein, when the transmission quality of the kth link satisfies the preset condition, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and in the kth link When the transmission quality of the k links does not meet the preset condition, the partial video frames in the first video data are used as the video frames to be transmitted of the k link; and, the video frames to be transmitted determined above include the first video frame All key data in a video data.
  • this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the normal transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
  • the video data transmission method provided in the embodiment of the present application further includes: detecting the kth link The transmission quality of the link; according to the transmission quality of the k link, adjust the preset ratio corresponding to the k link.
  • the above-mentioned adjustment of the preset ratio corresponding to the k-th link according to the transmission quality of the k-th link specifically includes: when the transmission quality of the above-mentioned k-th link meets the preset condition In this case, the preset ratio is increased; when the transmission quality of the kth link does not meet the preset condition, the preset ratio is decreased.
  • the video sending end increases the preset ratio; that is to say, the transmission quality of the k link is lower than OK
  • the video sender increases the preset ratio so that the video sender can send more video frames in the video data to the video receiver, so that the video receiver can play high-quality videos based on more video frames in the video data video screen.
  • the method for transmitting video data further includes: according to the preset ratio corresponding to the adjusted k-th link, determining whether the second video data is in the k-th link The video frame to be transmitted corresponding to the link; the video frame to be transmitted corresponding to the kth link is transmitted in the kth link.
  • the video data transmission method provided by the embodiment of the present application further includes: performing frequency-domain layered coding on the first video data to obtain video frames of the first video data, and the first video data
  • the video frame of the data includes at least one base frame and extended frame of the key frame, and the base frame and extended frame of multiple forward frames;
  • the non-key video frame includes the extended frame of the key frame, the base frame of the forward frame and the forward frame
  • the key data of the above-mentioned first video data is the basic frame of the key frame.
  • the video data transmission method provided in the embodiment of the present application further includes: the priority of the video frame of the first video data is the basic frame of the key frame, the forward frame in order from high to low The base frame of the key frame, the extended frame of the key frame, and the extended frame of the forward frame.
  • the video data transmission method provided in the embodiment of the present application further includes: the i-th video frame among the video frames of the first video data corresponding to the first link is the first video frame
  • the i-th video frame in the video frame of the above-mentioned first video data corresponding to the second link is an extended frame of the above-mentioned first video frame;
  • the above-mentioned first link and the above-mentioned second link are N chains Two different links in the road.
  • the arrangement order of multiple video frames of the first video data transmitted on different links is: in the video frame queues corresponding to two different links, the video frames at the same position (or the same number or index) are the same
  • the basic frame and extended frame of a video frame the video sending end transmits the video frame in parallel on the two links according to the sequence of the video frame, and can quickly send the basic frame and extended frame of the video frame to the video receiver
  • the basic frame and the extended frame of the video frame can also be quickly aggregated to obtain a decoded video frame.
  • the method for transmitting video data further includes: determining a set of retransmitted video frames, where the set of retransmitted video frames is the retransmitted corresponding to each of the above N links.
  • the other link is a link except the j-th link among the above N links.
  • the transmission of the video frames in the above-mentioned retransmitted video frame set in the jth link includes: according to the priority order of the video frames in the above-mentioned retransmitted video frame set from high to low , transmit the video frames in the above retransmitted video frame set in the jth link.
  • the transmission of the video frames in the set of retransmitted video frames in the jth link by means of queue jumping transmission includes: inserting the set of retransmitted video frames into the jth link corresponding to The head of the queue of video frames to be transmitted.
  • the method before transmitting the video frames to be transmitted corresponding to the N links in the above-mentioned N links, the method further includes: encrypting the video frames to be transmitted respectively corresponding to the N links.
  • the video sending end transmits the video frames in the retransmission video frame set by jumping in the queue, and the video frames in the retransmission video frame set are transmitted preferentially, so that the video receiving end can obtain the lost video frames as soon as possible.
  • Video frame improve the speed of video frame aggregation at the video receiving end, and realize fast aggregation of video frames;
  • the priority of the frame is transmitted from high to low in order to retransmit the video frames in the video frame set. Since the video frame with higher priority contains more important data information, retransmitting the video frame according to the priority can guarantee to a certain extent Important information in the first video data is not lost, so as to ensure the playback quality of the video data.
  • the video data transmission device includes: a detection module, a determination module, and a transmission module; the detection module is used to detect the transmission quality of N links; wherein, the N links are used for transmission The first video data, the N links are links in different networks, the above-mentioned first video data includes a plurality of video frames, and N is a positive integer greater than or equal to 2; the determination module is used to determine according to the N links
  • the transmission quality is to determine the video frames to be transmitted corresponding to the N links respectively; wherein, when the transmission quality of the kth link meets the preset condition, the video frame to be transmitted corresponding to the kth link is the above-mentioned All video frames of a video data; in the case that the transmission quality of the kth link does not meet the preset condition, the video frame to be transmitted corresponding to the kth link is a partial video of all the above-mentioned first video data frame; wherein, the value of k is 1, 2,
  • the video data transmission device provided in the embodiment of the present application further includes: an acquisition module; the acquisition module is configured to acquire feedback information of the kth link, where the feedback information includes transmission delay and/or The number of retransmissions.
  • the determination module is configured to determine the transmission quality of the kth link according to the feedback information of the kth link.
  • the feedback information is transmission delay
  • the transmission delay of the kth link is less than the preset delay
  • the transmission quality of the kth link meets the preset condition; if the transmission time of the kth link If the delay is greater than or equal to the preset delay, the transmission quality of the k-th link does not meet the preset condition.
  • the transmission quality of the kth link meets the preset condition; if the number of retransmissions of the kth link is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition.
  • the feedback information is the transmission delay and the number of retransmissions
  • the transmission delay of the kth link is less than the preset time delay, and the number of retransmissions of the kth link is less than the preset number of times, then the kth link
  • the transmission quality of the link meets the preset condition; if the transmission delay of the k link is greater than or equal to the preset threshold, and/or the number of retransmissions of the k link is greater than or equal to the preset number, then the The transmission quality of the kth link does not meet the preset condition.
  • the video data transmission device provided in the embodiment of the present application includes: a control module; In order of priority from high to low, some video frames in the video frames of the first video data are selected as video frames to be transmitted corresponding to the kth link.
  • non-key video frame is Refers to video frames that include non-critical data.
  • the video data transmission device provided in the embodiment of the present application includes: an adjustment module; a detection module, configured to detect the transmission quality of the kth link; an adjustment module, configured to The transmission quality of the kth link is adjusted to a preset ratio corresponding to the kth link.
  • the adjustment module is specifically configured to increase the preset ratio when the transmission quality of the kth link meets the preset condition; If the transmission quality of the kth link does not meet the preset condition, reduce the preset ratio.
  • the determination module is further configured to determine the video frame to be transmitted corresponding to the K link of the second video data according to the adjusted preset ratio corresponding to the K link; the above transmission The module is further configured to transmit the video frame to be transmitted corresponding to the kth link in the above kth link.
  • the video data transmission device includes: an encoding module; the encoding module is configured to perform frequency-domain layered encoding on the first video data to obtain video frames of the first video data , the video frame of the first video data includes at least one basic frame and extended frame of a key frame, and a plurality of basic frames and extended frames of forward frames; the above-mentioned non-key video frames include extended frames of key frames, extended frames of forward frames The basic frame and the extended frame of the forward frame, the key data of the above-mentioned first video data is the basic frame of the key frame.
  • the priorities of the video frames of the first video data from low to high are the extended frame of the forward frame, the extended frame of the key frame, and the previous frame.
  • the i-th video frame among the video frames of the first video data corresponding to the first link is the basic frame of the first video frame, and the i-th video frame is the basic frame of the first video frame, and the i-th video frame is The i-th video frame in the video frame of the first video data corresponding to the two links is an extended frame of the first video frame; the first link and the second link are two different ones of the above N links link.
  • the video data transmission device provided by the embodiment of the present application further includes: a queue jumping module; the above-mentioned determining module is also used to determine a set of retransmitted video frames, and the set of retransmitted video frames is the above-mentioned N chain The intersection of the video frames to be retransmitted corresponding to the respective roads; the queue jumping module is used to transmit the video frames in the above retransmitted video frame set in the jth link in the queue jumping transmission mode; wherein, the jth link The transmission quality of is higher than the transmission quality of other links, and the other links are links other than the above j-th link among the above N links.
  • the transmission module is further configured to retransmit the video frames in the order of priority from high to low in the video frame set, and in the j The video frames in the retransmitted video frame set are transmitted in the link.
  • the above-mentioned queue-jumping module is specifically configured to insert the set of retransmitted video frames into the head of the queue of video frames to be transmitted corresponding to the above-mentioned jth link.
  • the video data transmission device provided in the embodiment of the present application further includes an encryption module; the encryption module is configured to encrypt video frames to be transmitted respectively corresponding to the N links.
  • the video data transmission device provided by the embodiment of the present application includes a memory and a processor, the memory is coupled to the processor; the memory is used to store computer program codes, and the computer program codes include computer instructions; when the computer instructions are When the processor is executed, the video data transmission device is made to execute the method described in any one of the first aspect and possible implementations thereof.
  • a computer storage medium provided by an embodiment of the present application includes computer instructions, and when the computer instructions are run on the video data transmission device, the video data transmission device is made to execute the first aspect and its possible implementations. any one of the methods described.
  • an embodiment of the present application provides a computer program product, which, when running on a computer, causes the computer to execute the method described in any one of the first aspect and possible implementations thereof.
  • FIG. 1 is a schematic diagram of a screen projection method provided in an embodiment of the present application
  • FIG. 2 is a schematic diagram of a scene using distributed cameras provided by the embodiment of the present application.
  • FIG. 3 is a second schematic diagram of a scene using distributed cameras provided by the embodiment of the present application.
  • FIG. 4 is a first schematic diagram of a video data transmission process provided by an embodiment of the present application.
  • FIG. 5 is a first schematic diagram of a coding method of video data provided by an embodiment of the present application.
  • FIG. 6 is a first schematic diagram of a video data transmission method provided by an embodiment of the present application.
  • FIG. 7 is a first schematic diagram of a multi-path transmission architecture provided by an embodiment of the present application.
  • FIG. 8 is a first structural schematic diagram of a video data transmission device provided by an embodiment of the present application.
  • FIG. 9 is a first schematic diagram of a video data transmission method provided by an embodiment of the present application.
  • FIG. 10 is a second schematic diagram of a video data transmission method provided by an embodiment of the present application.
  • FIG. 11 is a schematic diagram 1 of sorting a plurality of video frames provided by the embodiment of the present application.
  • FIG. 12 is a third schematic diagram of a video data transmission method provided by an embodiment of the present application.
  • FIG. 13 is a fourth schematic diagram of a video data transmission method provided by an embodiment of the present application.
  • FIG. 14 is a fifth schematic diagram of a video data transmission method provided by an embodiment of the present application.
  • FIG. 15 is a schematic structural diagram of a video data transmission device provided by the embodiment of the present application provided by the embodiment of the present application;
  • FIG. 16 is a second schematic structural diagram of a video data transmission device provided by the embodiment of the present application.
  • first and second in the description and claims of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order of objects.
  • first link and the second link are used to distinguish links in different networks, rather than describing a specific sequence of links.
  • words such as “exemplary” or “for example” are used as examples, illustrations or illustrations. Any embodiment or design scheme described as “exemplary” or “for example” in the embodiments of the present application shall not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Rather, the use of words such as “exemplary” or “such as” is intended to present related concepts in a concrete manner.
  • plural means two or more.
  • a plurality of video frames refers to two or more video frames.
  • streaming media (such as video) is more and more widely used in real life.
  • video data transmission is involved in near-field projection scenarios and distributed camera scenarios.
  • the projection methods can include: mirror coordination, heterogeneous collaboration, and reverse control, etc.
  • Mirroring coordination It refers to the real-time synchronous transmission of the video screen on the projecting side to the projected side so that it can be played synchronously on the projected side.
  • the large screen 101 is the projected side
  • the mobile phone 102 is the projected side.
  • the mobile phone 102 transmits the video image (specifically, the video data corresponding to the video image) during the video call to the large screen 101, and the large screen 101 can synchronously play the video image of the mobile phone 102.
  • Heterogeneous collaboration refers to the synchronous transmission of a task running in the background on the projection side to the projected side, so that it can be played synchronously on the projected side. At this time, the projected side can perform other tasks.
  • the large screen 103 is the projected side
  • the mobile phone 104 is the projected side.
  • the screen projection relationship between the mobile phone 104 and the large screen 103 is heterogeneous collaboration.
  • Display the chat interface (the chat interface displayed by the mobile phone running the social application) and the video playback interface (the interface displayed by the mobile phone running the video playback application) in a split-screen mode, and the mobile phone 104 can transmit the video picture displayed on the split screen 2 to the large screen 103
  • the large screen 103 synchronously plays the video screen displayed on the mobile phone 104.
  • the user can perform corresponding operations on the mobile phone 104 to put the video playback application in the background, so that the mobile phone 104 displays the chat interface in full screen.
  • Reverse control refers to the transmission of the screen displayed on the projection side to the projected side, so that the screen is displayed in real time on the projected side, and then the user performs related operations on the projected side, so that the projected side can In response to the operation, a corresponding task is performed.
  • the computer 105 is the side to be screened
  • the mobile phone 106 is the side to be screened.
  • the video picture displayed on the computer is synchronously transmitted to the computer 105, and the video picture is displayed on the display screen of the computer 105.
  • the user can operate the displayed content on the computer 105, and the mobile phone 106 can respond to the user's operation on the computer 105.
  • a user opens a certain video software in the mobile phone 106, and the mobile phone 106 displays an interface including multiple video resources.
  • the mobile phone 106 can respond to the opening operation of the video resource, and the mobile phone 106 displays the video picture corresponding to the video resource, and at the same time, the mobile phone 106
  • the displayed video frame is also synchronously transmitted to the computer 105, so that the computer 105 displays the video frame.
  • the screen projection side is the sending end of the video data
  • the screen projection side is the receiving end of the video data
  • the use of distributed cameras can realize video calls, remote control of mobile phones to take pictures, mobile live broadcasts, and cross-device dual-view recording, etc.
  • FIG. 2 is a schematic diagram of a scene using a distributed camera for a video call, wherein the camera on the large screen 201 and the mobile phone 202 form a distributed camera.
  • the camera on the screen 201 establishes a communication connection. Since the pixel of the camera on the large screen 201 is higher than the pixel of the self-contained camera of the mobile phone 202, when using the mobile phone 202 to carry out a video call, the camera on the large screen 201 is used as a video call.
  • the camera of the video picture specifically, collects the video picture through the camera on the large screen 201, and transmits the video picture synchronously to the mobile phone 202, and the mobile phone 202 displays the video picture in real time.
  • the large screen 201 is the sending end of the video data
  • the mobile phone 202 is the receiving end of the video data.
  • FIG. 2 is a schematic diagram of a scene where a distributed camera is used to remotely control a mobile phone to take pictures, wherein the smart watch 203 and the mobile phone 204 form a distributed camera;
  • the watch 203 establishes a communication connection, and the camera of the mobile phone 204 transmits the collected preview image to the smart watch 203, and the preview image is displayed synchronously on the smart watch 203, and then the user can operate on the smart watch 203 to control the mobile phone 204 to take pictures.
  • the user can select the "photograph" button on the smart watch 203, so that the mobile phone 204 responds to the "photograph” operation and collects images.
  • the mobile phone 204 is the video data sending end
  • the smart watch 203 is the video data receiving end.
  • FIG. 3 is a schematic diagram of a scene using a distributed camera for live broadcasting on a mobile phone, wherein the rear camera of the mobile phone 301 and the mobile phone 302 form a distributed camera, and the pixels of the rear camera of the mobile phone 301 are higher than those of the mobile phone 302
  • the live broadcast APP is run on the mobile phone 302
  • the rear camera of the mobile phone 301 collects live images (such as scenery or anchor), and then the mobile phone 301 will collect
  • the live broadcast picture is transmitted to the mobile phone 302 in real time, and the mobile phone 302 plays the live broadcast picture synchronously.
  • the mobile phone 301 is the sending end of the video data
  • the mobile phone 302 is the receiving end of the video data.
  • FIG. 3 is a schematic diagram of a scene where distributed cameras are used to perform cross-device dual-view recording, wherein mobile phone 303, mobile phone 305 and camera 304 form a distributed camera, and the mobile phone 303 and camera 304 are respectively established with mobile phone 305 Communication connection, after starting dual-view video recording, mobile phone 303 transmits the close-range picture of the target scene collected by the camera of this mobile phone 303 to mobile phone 305, and at the same time, camera 304 transmits the long-range picture of the target scene collected to mobile phone 305, and mobile phone 305 receives After the pictures sent by the mobile phone 303 and the camera 304, a close-range picture and a long-range picture are displayed on the display screen of the mobile phone 305 in a split-screen mode to realize double-view video recording.
  • the mobile phone 303 and the camera 304 are both video data sending ends, and the mobile phone 305 is the video data receiving end.
  • video data is a video stream, including multiple video frames, and each video frame is an image, therefore, a video frame may also be called an image frame.
  • the sending end encodes (preprocesses) the collected video data (including multiple video frames).
  • the encoding method is time-domain encoding and frequency-domain encoding;
  • the sending end encrypts the encoded video data, and sends the encrypted video data to the receiving end.
  • the receiving end receives the encrypted video data, first, reversely decrypt the encrypted video data according to the encryption method of the sending end to obtain the decrypted video data; then, reversely decode the video data according to the encoding method of the sending end to obtain The decoded video data, finally, the receiving end renders the decoded video data before playing.
  • Common video data coding methods may include time-domain coding and frequency-domain coding.
  • the forward search frame is referred to as the forward frame for short, and the following embodiments will not be described again.
  • Time-domain encoding the captured video frame can be encoded by time-domain encoding to obtain the small forward frame (ie: small P frame) and the large forward frame (large P frame) of the video frame, as shown in Figure 5 (a ), wherein, when the receiving end decodes a certain large P frame, it needs to rely on the decoding result of the previous large P frame of the large P frame and the corresponding small P frame of the large P frame.
  • Frequency domain encoding according to the frequency domain distribution of video data, the collected video frames are encoded into basic frames and extended frames, as shown in (b) in Figure 5; the basic frame of a video frame contains the low frequency data of the video frame , the extended frame of a video frame includes the high-frequency data of the video frame, the size (data volume) of the basic frame and the extended frame is different, specifically, the size ratio of the basic frame and the extended frame is between 1:4 and 1:8 In one case, the sum of the size of the base frame and the extended frame of a video frame may be 1.2 times that of the video frame.
  • multiple links can be used to transmit (i.e. multi-path transmission) video data, specifically as shown in Figure 6, the video sender transmits all data packets of the video data to be transmitted on the first link (i.e. data packets 1 to Data packet 8), also transmit all data packets of the video data to be transmitted on the second link, wherein, the data packets transmitted on the first link and the second link are mutual backups, when a data packet of a link occurs When it is lost, the video receiving end can obtain the lost data packet from the data packet transmitted by another link, so as to successfully complete the decoding of the video data.
  • the video sender transmits all data packets of the video data to be transmitted on the first link (i.e. data packets 1 to Data packet 8), also transmit all data packets of the video data to be transmitted on the second link, wherein, the data packets transmitted on the first link and the second link are mutual backups, when a data packet of a link occurs When it is lost, the video receiving end can obtain the lost data packet from the data packet transmitted by
  • the second link will lose a part of the video data packets when transmitting the data packets of the video data to be transmitted, if the first link is transmitting the video data packets to be transmitted In the process of data packets of video data, due to other factors (for example, the receiving end restarts), some video data packets are also lost, and the second link loses this part of video data packets and the first link loses this part of video data
  • the video data packets in the intersection part may contain important information in the video data to be transmitted, which will cause the receiving end to fail to decode the video data to be transmitted normally, and will cause the video receiving end to play the received video Problems such as stuttering, blurred screen, and high delay occur when data is uploaded.
  • the transmission process of the data packet is specifically: after the acquisition module at the sending end obtains the data packet sequence, it communicates with the receiving end through the communication module. Communication connection, then, the data stream module transmits the data packet sequence obtained by the above-mentioned acquisition module to the receiving end in the form of character stream or byte stream, wherein, the method for transmitting the data packet sequence from the sending end to the receiving end can be the above-mentioned multipath Any one of the transfer methods.
  • the transmission of the same video data on different links is carried out in the manner of parallel transmission on multiple links, which will not be described in detail later.
  • the embodiment of the present application provides a video data transmission method and device, a video transmission device or a video data sending end detection
  • the transmission quality of N links are used to transmit video data, and the N links are links in different networks
  • the video data includes video frames of the first video data, and N is greater than or equal to 2 is a positive integer
  • the video transmission device determines video frames to be transmitted respectively corresponding to the N links according to the transmission quality of the N links; wherein, when the transmission quality of the kth link meets the preset condition, The video frame to be transmitted corresponding to the kth link is the video frame of the first video data; if the transmission quality of the kth link does not meet the preset condition, the kth link corresponding to The transmission video frame is a part of the video frame of the above-mentioned first video data; wherein, the value of k is any one of 1, 2, ...
  • the above-mentioned determined video frame to be transmitted includes the first video data All key data in the video frame; the video transmission device transmits the video frames to be transmitted respectively corresponding to the N links in the N links.
  • the video transmission device in the embodiment of the present application can be a tablet computer, a mobile phone, a desktop, a laptop, a handheld computer, a notebook computer, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook, and
  • UMPC ultra-mobile personal computer
  • PDA personal digital assistant
  • the embodiment of the present application does not impose special restrictions on the specific form of the video transmission device.
  • the execution subject of the video data transmission method provided by the embodiment of the present application may be a device supporting video data transmission (the following embodiments are referred to as the video transmission device for short), please refer to FIG.
  • the video transmission device provided in the embodiment of the present application is introduced.
  • the mobile phone 800 shown in FIG. 8 is only an example of a video transmission device, and the mobile phone 800 may have more or fewer components than those shown in the figure, and two or more components may be combined, or Different component configurations are possible.
  • the various components shown in Figure 8 may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and/or application specific integrated circuits.
  • the mobile phone 800 may include a processor 810, an external memory interface 820, an internal memory 821, a universal serial bus (universal serial bus, USB) interface 830, a charging management module 840, a power management module 841, a battery 842, Antenna 1, antenna 2, radio frequency module 850, communication module 860, audio module 870, speaker 870A, receiver 870B, microphone 870C, earphone jack 870D, sensor module 880, button 890, motor 891, indicator 892, camera 893, display 894, and a subscriber identification module (subscriber identification module, SIM) card interface 895, etc.
  • SIM subscriber identification module
  • the above-mentioned sensor module 880 may include sensors such as pressure sensor, gyroscope sensor, air pressure sensor, magnetic sensor, acceleration sensor, distance sensor, proximity light sensor, fingerprint sensor, temperature sensor, touch sensor, ambient light sensor and bone conduction sensor.
  • sensors such as pressure sensor, gyroscope sensor, air pressure sensor, magnetic sensor, acceleration sensor, distance sensor, proximity light sensor, fingerprint sensor, temperature sensor, touch sensor, ambient light sensor and bone conduction sensor.
  • Processor 810 may include one or more processing units.
  • the processor 810 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory , video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processor (neural-network processing unit, NPU), etc.
  • application processor application processor, AP
  • modem processor graphics processing unit
  • ISP image signal processor
  • controller a memory
  • video codec digital signal processor
  • DSP digital signal processor
  • baseband processor baseband processor
  • neural network processor neural-network processing unit
  • the aforementioned controller may be the nerve center and command center of the mobile phone 800 .
  • the controller can generate an operation control signal according to the instruction opcode and timing signal, and complete the control of fetching and executing the instruction.
  • a memory may also be provided in the processor 810 for storing instructions and data.
  • the memory in the processor 810 is a cache memory, which can store instructions or data that the processor 810 has just used or recycled. If the processor 810 needs to use the instruction or data again, it can be directly recalled from the memory. Repeated access is avoided, and the waiting time of the processor 810 is reduced, thereby improving the efficiency of the system.
  • processor 810 may include an interface.
  • the interface may include an integrated circuit (Inter-Integrated Circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit Sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous transmitter (universal asynchronous receiver/transmitter, UART) interface, mobile industry processor interface (mobile industry processor interface, MIPI), general-purpose input/output (general-purpose input/output, GPIO) interface, SIM interface, and/or USB interface, etc.
  • I2C Inter-Integrated Circuit
  • I2S integrated circuit Sound
  • PCM pulse code modulation
  • PCM pulse code modulation
  • UART universal asynchronous transmitter
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • the I2C interface is a bidirectional synchronous serial bus, including a serial data line (serial data line, SDL) and a serial clock line (derail clock line, SCL).
  • processor 810 may include multiple sets of I2C buses.
  • the processor 810 can be respectively coupled to the touch sensor 280K, the charger, the flashlight, the camera 893 and so on through different I2C bus interfaces.
  • the processor 810 can be coupled to the touch sensor 280K through the I2C interface, so that the processor 810 and the touch sensor 280K can communicate through the I2C bus interface to realize the touch function of the mobile phone 800 .
  • the I2S interface can be used for audio communication.
  • processor 810 may include multiple sets of I2S buses.
  • the processor 810 may be coupled to the audio module 870 through an I2S bus to implement communication between the processor 810 and the audio module 870 .
  • the audio module 870 can transmit audio signals to the communication module 860 through the I2S interface, so as to realize the function of answering calls through the Bluetooth headset.
  • the PCM interface can also be used for audio communication, sampling, quantizing and encoding the analog signal.
  • the audio module 870 and the communication module 860 may be coupled through a PCM bus interface.
  • the audio module 870 can also transmit audio signals to the communication module 860 through the PCM interface, so as to realize the function of answering calls through the Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication, and the sampling rates of the two interfaces are different.
  • the MIPI interface can be used to connect the processor 810 with peripheral devices such as a display screen 894 and a camera 893 .
  • MIPI interface includes camera serial interface (camera serial interface, CSI), display serial interface (display serial interface, DSI), etc.
  • the processor 810 communicates with the camera 893 through the CSI interface to realize the shooting function of the mobile phone 800 .
  • the processor 810 communicates with the display screen 894 through the DSI interface to realize the display function of the mobile phone 800 .
  • the interface connection relationship between modules shown in the embodiment of the present application is only a schematic illustration, and does not constitute a structural limitation of the mobile phone 800 .
  • the mobile phone 800 may adopt different interface connection modes in the embodiment of the present application, or a combination of multiple interface connection modes.
  • the charging management module 840 is configured to receive charging input from the charger.
  • the charger may be a wireless charger or a wired charger.
  • the charging management module 840 can receive the charging input of the wired charger through the USB interface 830 .
  • the charging management module 840 can receive wireless charging input through the wireless charging coil of the mobile phone 800 . While the charging management module 840 is charging the battery 842 , it can also supply power to the mobile phone 800 through the power management module 841 .
  • the power management module 841 is used for connecting the battery 842 , the charging management module 840 and the processor 810 .
  • the power management module 841 receives the input of the battery 842 and/or the charging management module 840, and supplies power for the processor 810, the internal memory 821, the external memory interface 820, the display screen 894, the camera 893, and the communication module 860, etc.
  • the power management module 841 can also be used to monitor parameters such as battery capacity, battery cycle times, and battery health status (leakage, impedance).
  • the power management module 841 can also be disposed in the processor 810 .
  • the power management module 841 and the charging management module 840 can also be set in the same device.
  • the wireless communication function of the mobile phone 800 can be realized through the antenna 1, the antenna 2, the radio frequency module 850, the communication module 860, a modem, and a baseband processor.
  • Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in handset 800 can be used to cover single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: Cellular antennas can be multiplexed as WLAN diversity antennas. In some embodiments, an antenna may be used in conjunction with a tuning switch.
  • the radio frequency module 850 can provide a communication processing module applied on the mobile phone 800 including wireless communication solutions such as 2G/3G/4G/5G.
  • the radio frequency module 850 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA) and the like.
  • the radio frequency module 850 receives electromagnetic waves from the antenna 1, filters and amplifies the received electromagnetic waves, and transmits them to the modem for demodulation.
  • the communication module 860 can provide wireless local area networks (wireless local area networks, WLAN) (such as wireless fidelity (Wi-Fi) network), bluetooth (blue yooth, BT), global navigation satellite system, etc. applied on the mobile phone 800. (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • WLAN wireless local area networks
  • Wi-Fi wireless fidelity
  • BT blue yooth, BT
  • global navigation satellite system etc.
  • GNSS global navigation satellite system
  • frequency modulation frequency modulation, FM
  • NFC near field communication technology
  • infrared technology infrared, IR
  • the mobile phone 800 can access the Wi-Fi network through the wireless communication module 860 .
  • the wireless communication module 860 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 860 receives electromagnetic waves via the antenna 2 , frequency-modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 810 .
  • the wireless communication module 860 can also receive the signal to be sent from the processor 810, frequency-modulate it, amplify it, and convert it into electromagnetic waves through the antenna 2 to radiate out.
  • the mobile phone 800 realizes the display function through the GPU, the display screen 894, and the application processor.
  • the GPU is a microprocessor for image processing, and is connected to the display screen 894 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering.
  • Processor 810 may include one or more GPUs that execute program instructions to generate or change display information.
  • the display screen 894 is used to display images, videos and the like.
  • the display screen 894 includes a display panel.
  • the display screen 894 may be used to display the application interface of the above-mentioned first application, such as a device sharing interface, a device search interface, and a QR code scanning interface.
  • the mobile phone 800 can realize the shooting function through ISP, camera 893, video codec, GPU, display screen and application processor.
  • Camera 893 is used to capture still images or video.
  • the object generates an optical image through the lens and projects it to the photosensitive element.
  • the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
  • the ISP outputs the digital image signal to the DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other image signals.
  • the mobile phone 800 may include 1 or N cameras 893, where N is a positive integer greater than 1.
  • Digital signal processors are used to process digital signals. In addition to digital image signals, they can also process other digital signals. For example, when the mobile phone 800 selects a frequency point, the digital signal processor is used to perform Fourier transform on the energy of the frequency point.
  • Video codecs are used to compress or decompress digital video.
  • the handset 800 may support one or more video codecs. In this way, the mobile phone 800 can play or record videos in multiple encoding formats.
  • the mobile phone 800 uses a frequency domain encoder to encode video data.
  • the external memory interface 820 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 800.
  • the external memory card communicates with the processor 810 through the external memory interface 820 to realize the data storage function. Such as saving music, video and other files in the external memory card.
  • Internal memory 821 may be used to store computer-executable program code, including instructions.
  • the processor 810 executes various functional applications and data processing of the mobile phone 800 by executing instructions stored in the internal memory 821 .
  • the processor 810 may execute instructions stored in the internal memory 821, and the internal memory 821 may include a program storage area and a data storage area.
  • the mobile phone 800 can implement audio functions through an audio module 870, a speaker 870A, a receiver 870B, a microphone 870C, an earphone interface 870D, and an application processor. Such as music playback, recording, etc.
  • the audio module 870 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signal.
  • the audio module 870 may also be used to encode and decode audio signals.
  • the audio module 870 may be set in the processor 810 , or some functional modules of the audio module 870 may be set in the processor 810 .
  • Speaker 870A also called “horn” is used to convert audio electrical signals into sound signals.
  • Receiver 870B also called “earpiece” is used to convert audio electrical signals into sound signals.
  • Microphone 870C also known as “microphone” or “microphone”, is used to convert sound signals into electrical signals.
  • the earphone interface 870D is used to connect wired earphones.
  • the earphone interface 870D may be a USB interface 830, or a 3.5mm open mobile terminal platform (open mobile terminal platform, OMTP) standard interface, or a cellular telecommunications industry association of the USA (CTIA) standard interface.
  • OMTP open mobile terminal platform
  • CTIA cellular telecommunications industry association of the USA
  • the keys 890 include a power key, a volume key and the like. Key 890 may be a mechanical key. It can also be a touch button.
  • the mobile phone 800 receives the input of the key 890 and generates a key signal input related to the user setting and function control of the mobile phone 800 .
  • the motor 891 can generate a vibrating prompt.
  • the motor 891 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback.
  • the indicator 292 can be an indicator light, which can be used to indicate the charging status, the change of the battery capacity, and also can be used to indicate messages, missed calls, notifications and so on.
  • SIM card interface 895 is used for connecting SIM.
  • the SIM card can be connected and separated from the mobile phone 800 by inserting it into the SIM card interface 895 or pulling it out from the SIM card interface 895 .
  • the mobile phone 800 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
  • SIM card interface 895 can support Nano SIM card, Micro SIM card, SIM card, etc.
  • the methods in the following embodiments can all be implemented in a video transmission device having the above-mentioned hardware structure.
  • the video transmission device is a video sending end.
  • the above-mentioned video sending end is the mobile phone 800 shown in FIG. 8 as an example. The method of the application example will be described.
  • An embodiment of the present application provides a video data transmission method, which is applied to a video sending end.
  • the video data transmission method may include S910-S930.
  • the video sending end detects the transmission quality of the N links used to transmit the first video data.
  • the video sending end when the video sending end sends video data to the video receiving end, the video sending end can respectively send video data to the video receiving end through N links, where N is a positive integer greater than or equal to 2.
  • the first video data sent by the video sending end to the video receiving end includes a plurality of video frames, and the first video data originates from a video segment in the video to be transmitted.
  • a video segment may be A group of pictures (group of pictures, GOP) or multiple groups of pictures, and a video segment may also be video segments divided according to other methods, which are not specifically limited in this embodiment of the present application.
  • a GOP is composed of 1 key frame (for example, I frame) and 29 forward search frames (P frames).
  • N links are links in different networks, that is, the N links belong to different networks.
  • the value of N is 2, and the above two links used to transmit video data are link 1 and link 2 respectively, where link 1 can be a link in WIFI network 1, and link 2 can be WIFI Link in network 2.
  • the factors affecting the transmission quality of the link may include the transmission delay of the link, the number of retransmissions, etc., and the video sending end may determine the transmission quality of the link according to at least one of the above-mentioned influencing factors, specifically Details are described in the following Examples.
  • the video sending end determines, according to the transmission quality of the N links, video frames to be transmitted respectively corresponding to the N links.
  • one of the N links is used for description.
  • the k-th link is used as an example to describe the above S920, where the value of k is 1, 2, ... N any value in .
  • the video frame to be transmitted corresponding to a link refers to the video frame to be transmitted on the link.
  • the video sending end judges whether the transmission quality of the kth link meets the preset condition, and if the transmission quality of the kth link meets the preset condition, determines the video to be transmitted corresponding to the kth link Frames are all video frames of the first video data; in the case that the transmission quality of the kth link does not meet the preset condition (that is: the transmission quality of the kth link is poor), determine the kth chain
  • the video frame to be transmitted corresponding to the road is a part of the video frame of the first video data, wherein, the video frame to be transmitted includes all key data in the first video data (key data can be understood as important data in the first video data or data indispensable for decoding the first video data).
  • the video sending end after determining the video frames to be transmitted respectively corresponding to the N links, the video sending end encrypts the video frames to be transmitted respectively corresponding to the N links, wherein the encryption method may be Hash algorithm encryption, It may also be a symmetric encryption algorithm, and the specific encryption algorithm used is not limited in this application.
  • the encryption method may be Hash algorithm encryption, It may also be a symmetric encryption algorithm, and the specific encryption algorithm used is not limited in this application.
  • the video sender first judges the link 1 Whether the transmission quality meets the preset conditions, if the transmission quality of link 1 meets the preset conditions, then the above 10 video frames are the video frames to be transmitted in link 1; if the link 1 does not meet the preset conditions, then the above 10 video frames Part of the video frames in the video frames are determined as the video frames to be transmitted on the link 1, for example: 6 video frames in the above 10 video frames are determined as the video frames to be transmitted on the link 1.
  • the video transmission device also judges whether the transmission quality of link 2 satisfies the preset condition, and if the transmission quality of link 2 meets the preset condition, the above-mentioned 10 video frames are determined as the video frames to be transmitted of link 2; If link 2 does not meet the preset conditions, determine some of the above 10 video frames as video frames to be transmitted in link 2, for example: determine 8 of the above 10 video frames as link 2 Video frames to be transmitted on channel 2.
  • the video sending end transmits some video frames in the first video data on the link, which can reduce the transmission pressure of the link , to improve the transmission efficiency of the link.
  • the video sending end transmits the to-be-transmitted video frames respectively corresponding to the N links on the N links.
  • the video sending end transmits the corresponding video frames to be transmitted on N different links in parallel.
  • the video frames to be transmitted in link 1 are 6 video frames of the first video data
  • the video frames to be transmitted in link 2 are 8 video frames of the first video data
  • the video sending end The above-mentioned 6 video frames are transmitted on the link 1 and the above-mentioned 8 video frames are transmitted on the link 2 in parallel.
  • the video sending end detects the transmission quality of the N links used to transmit the first video data, and determines the respective corresponding links of the N links according to the transmission quality of the N links.
  • the video frames to be transmitted wherein, when the transmission quality of the kth link meets the preset conditions, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and the kth link
  • the partial video frame in the first video data is used as the video frame to be transmitted of the kth link; and, the video frame to be transmitted determined above includes the first video frame All key data in the data.
  • this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the smooth transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
  • the video data transmission method provided in the embodiment of the present application further includes S1010 .
  • the video sending end performs frequency-domain layered coding on the first video data to obtain multiple video frames of the first video data.
  • the plurality of video frames of the above-mentioned first video data are video frames obtained after the video sending end encodes the first video data in the collected video stream. It can be seen from the description of the above-mentioned embodiments that the first video data ( unencoded) includes at least one key frame and a number of forward frames.
  • the first video data may be encoded using a frequency-domain layered encoding method to obtain multiple video frames of the first video data.
  • the basic frame of the key frame and the extended frame of the key frame are obtained after frequency-domain layered coding.
  • the forward frame is obtained after frequency-domain layered coding.
  • the basic frame of the frame and the extended frame of the forward frame, so that the multiple video frames obtained after the encoding of the first video data include at least a basic frame and an extended frame of a key frame, and a plurality of basic frames and extended frames of the forward frame Extended frame.
  • the multiple video frames of the first video data transmitted on each of the N links can be arranged in a certain order, and the arrangement order of the multiple video frames corresponding to each of the N links is It may be the same, or it may be different.
  • the arrangement order of the multiple video frames corresponding to the first link is the same as that of the multiple video frames corresponding to the second link.
  • the order of arrangement of the video frames is different.
  • the i-th video frame corresponding to the first link is the basic frame of the first video frame
  • the i-th video frame corresponding to the second link is the basic frame of the first video frame.
  • the i video frames are extended frames of the first video frame; wherein, the first link and the second link are two different links among the above N links.
  • the first video frame may be a key frame or a forward frame.
  • FIG. 11 is a schematic diagram of the ordering of multiple video frames on the first link and multiple video frames on the second link.
  • the first video frame on the first link is The basic frame of a key frame (which can be called the first key frame)
  • the first video frame on the second link is the extended frame of the first key frame
  • the fourth video frame on the first link is An extended frame of a forward frame (may be referred to as a first forward frame)
  • the fourth video frame on the second link is a basic frame of the first forward frame.
  • the arrangement order of multiple video frames of the first video data transmitted on different links is: in the video frame queues corresponding to two different links, the video frames at the same position (or the same number or index) are the same
  • the basic frame and extended frame of a video frame the video sending end transmits the video frame in parallel on the two links according to the sequence of the video frame, and can quickly send the basic frame and extended frame of the video frame to the video receiver
  • the basic frame and the extended frame of the video frame can also be quickly aggregated to obtain a decoded video frame.
  • the video sending end needs to start the retransmission mechanism, and retransmit the above-mentioned one or more lost video frames to the video receiving end.
  • the video data transmission method provided in this embodiment of the present application further includes S1210-S1220.
  • the video sending end determines a retransmission video frame set.
  • the foregoing set of retransmitted video frames is an intersection of video frames to be retransmitted corresponding to each of the N links.
  • the set of video frames to be retransmitted in link 1 (that is, video frames lost on link 1) includes the basic frame of P1 frame, the extended frame of P3 frame, the set of P4 frame Extended frames of frames;
  • the set of video frames to be retransmitted in link 2 (that is, lost video frames on link 2) includes the basic frame of P1 frame, the extended frame of P2 frame, and the extended frame of P4 frame.
  • the set of retransmitted video frames includes: the basic frame of P1 frame and extension frames of P4 frames.
  • the video sending end transmits the video frames in the retransmission video frame set in the jth link in a queue-jumping transmission manner.
  • the transmission quality of the jth link above is higher than the transmission quality of other links in the above N links except the jth link, and the jth link is the link with the highest transmission quality among the N links .
  • the upload queue cutting transmission method is to insert the video frames in the retransmitted video frame set into the video frame queue being transmitted by the current link, so as to preferentially transmit the video frames in the retransmitted video frame set.
  • the video sending end may insert the video frame in the retransmitted video frame set into the head of the video frame queue being transmitted by the current link, that is, the video sending end temporarily stops transmitting the current video frame queue
  • the video frames in the retransmission video frame set are transmitted preferentially. After the transmission of the video frames in the retransmission video frame set is completed, the video sending end continues to transmit the video frames in the above video frame queue.
  • the above-mentioned method for the video sending end to transmit the video frames in the retransmission video frame set in the jth link specifically includes: the video sending end ranks the priority of the video frames in the retransmission video frame set from high to high In the lower order, the video frames in the retransmitted video frame set are transmitted in the jth link.
  • the priorities of the above video frames from low to high are: the extended frame of the forward frame, the extended frame of the key frame, the basic frame of the forward frame, and the basic frame of the key frame, wherein the higher the priority High means the video data in that video frame is more important.
  • the retransmission video frame set determined by the video sender includes the basic frame of the P1 frame and the extended frame of the P4 frame, which are used to transmit the video frames to be transmitted in the two links (such as link 1 and link 2) , the transmission quality of link 1 is better than that of link 2.
  • the video frames included in the current video frame queue are the basic frame of the P20 frame, the extended frame of the P20 frame, the basic frame of the P21 frame, the extended frame of the P21 frame...
  • the video sending end suspends the transmission of the video frames in the current video frame queue (that is, suspends the transmission of the basic frames of P20 frames, etc.), and the video sending end retransmits the video frames according to the priority of the video frame set
  • the basic frame of the P1 frame and the extended frame of the P4 frame are transmitted sequentially from high to low (the priority of the basic frame of the P1 frame is higher than that of the extended frame of the P4 frame).
  • the video sending end transmits the video frames in the retransmission video frame set by jumping in the queue, and the video frames in the retransmission video frame set are transmitted preferentially, so that the video receiving end can obtain the lost video frames as soon as possible.
  • Video frame improve the speed of video frame aggregation at the video receiving end, and realize fast aggregation of video frames;
  • the priority of the frame is transmitted from high to low in order to retransmit the video frames in the video frame set. Since the video frame with higher priority contains more important data information, retransmitting the video frame according to the priority can guarantee to a certain extent Important information in the first video data is not lost, so as to ensure the playback quality of the video data.
  • the video sending end transmits video data on each link in a similar manner.
  • the method for transmitting video data on the kth link includes: S1301-S1308.
  • the video sending end performs frequency-domain layered coding on the first video data to obtain multiple video frames of the first video data.
  • the video sending end acquires feedback information of the kth link.
  • the link feedback information may include transmission delay and/or retransmission times.
  • the transmission delay may be an average transmission delay of video frames, a sum of transmission delays of a predetermined number of video frames, or any one of transmission delays of a current video frame.
  • the video sending end determines the transmission quality of the k-th link according to the feedback information of the k-th link.
  • the video sending end determines whether the transmission quality of the k-th link satisfies a preset condition according to the feedback information of the k-th link.
  • the transmission delay of the kth link is less than the preset delay, the transmission quality of the kth link meets the preset condition; if the kth link If the transmission delays of the k links are greater than or equal to the preset delays, then the transmission quality of the k-th link does not meet the preset condition.
  • the transmission quality of the kth link meets the preset condition; if the kth link If the number of retransmissions of the kth link is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition.
  • the transmission quality of the kth link meets the preset conditions; if the transmission delay of the kth link is greater than or equal to the preset threshold, and/or the number of retransmissions of the kth link is greater than or is equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition.
  • the transmission quality of the kth link if the transmission quality of the kth link meets the preset condition, it means that the transmission quality of the kth link is better, and if the transmission quality of the kth link does not meet the preset condition, it means that the kth link The transmission quality of the link is poor.
  • the video sending end determines the video frame to be transmitted corresponding to the k th link according to the transmission quality of the k th link.
  • the video frames to be transmitted corresponding to the kth link may be all video frames of the first video data, or may be some video frames of the first video data.
  • S1304 includes S1304a or S1304b.
  • the video frames to be transmitted corresponding to the kth link are all video frames of the first video data.
  • the video sending end according to the preset proportion corresponding to the kth link, according to the priority of the video frame of the first video data from high to low In the order of , select some video frames in the video frames of the first video data as the video frames to be transmitted corresponding to the kth link.
  • n preset ratio
  • Num 1 represents the quantity of the non-key video frame in the video frame of the first video data
  • Num 2 represents the total quantity of the video frame of the first video data
  • non-key video frame refers to comprising Video frames for non-critical data.
  • the non-key video frames in the first video data include extended frames of the key frame, basic frames of the forward frame, and extended frames of the forward frame.
  • the video sending end may choose to discard non-key video frames in the video frames of the first video data, and the non-key video frames have little impact on video quality.
  • the basic frame of the key frame contains important information in the key frame, therefore, in the embodiment of the present application, it is stipulated that the basic frame of the key frame must be transmitted in the link as the video frame to be transmitted (that is, the basis of the key frame frame is a non-discardable video frame).
  • the priorities of the video frames of the first video data are, from high to low, as follows: the basic frame of the key frame, the basic frame of the forward frame, the extended frame of the key frame, and the extended frame of the forward frame.
  • the video frames of the above-mentioned first video data include 100 video frames, and the preset ratio is 40% (that is, when the link quality is poor, 60 video frames need to be discarded), the 100 video frames include 48 extended frames of forward frames, 2 extended frames of key frames, 48 base frames of forward frames, and 2 base frames of key frames.
  • the video sending end selects 38 basic frames of the forward frame and 2 The basic frame of the key frame of is used as the video frame to be transmitted corresponding to the kth link.
  • the video sending end transmits the video frame to be transmitted corresponding to the k-th link on the k-th link.
  • the video sending end detects the transmission quality of the kth link used to transmit the first video data, and determines the kth link according to the transmission quality of the kth link Corresponding video frames to be transmitted, wherein, when the transmission quality of the kth link satisfies the preset condition, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and in the kth link When the transmission quality of the k links does not meet the preset condition, the partial video frames in the first video data are used as the video frames to be transmitted of the k link; and, the video frames to be transmitted determined above include the first video frame All key data in a video data.
  • this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the smooth transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
  • the video sending end detects the transmission quality of the kth link.
  • the video sending end adjusts a preset ratio corresponding to the k-th link according to the transmission quality of the k-th link.
  • the above-mentioned video sending end will use the adjusted preset ratio for subsequent video data transmission according to the transmission quality of the k-th link, for example, the above-mentioned adjusted preset ratio is used to transmit the second The video data, wherein the second video data and the first video data come from two adjacent video segments of the same video to be transmitted.
  • the transmission quality of the k-th link is continuously detected according to the above method, and the preset ratio is dynamically adjusted according to the transmission quality of the k-th link, which can guarantee to a certain extent the transmission quality of the video to be transmitted The smooth transmission of the frame, and can improve the utilization rate of the kth link.
  • S1307 includes S1401-S1403.
  • the video sending end judges whether the transmission quality of the k-th link satisfies a preset condition.
  • the video sending end increases a preset ratio.
  • the video sender increases the preset ratio; that is to say, the transmission quality of the k link is better, and the video sender increases the preset ratio so that The video sending end sends more video frames in the video data to the video receiving end, thereby improving the playback quality of the video data decoded by the video receiving end.
  • the video sending end reduces the preset ratio.
  • the video sender When the transmission quality of the kth link does not meet the preset conditions, the video sender reduces the preset ratio, that is, when the transmission quality of the kth link is poor, the video frame to be transmitted decreases The proportion of non-key video frames, so that the video sender can reduce the number of video data frames sent to the video receiver, thereby reducing the transmission pressure of the kth link and improving the transmission efficiency of the kth link.
  • the video sending end selects part of the videos in the video frames of the second video data according to the preset ratio corresponding to the adjusted k-th link and in the order of priority of the video frames of the second video data from high to low frame as the video frame to be transmitted corresponding to the kth link.
  • the video sending end after the video sending end determines the video frame to be transmitted corresponding to the kth link, the video sending end transmits the video frame to be transmitted corresponding to the kth link on the kth link.
  • the embodiment of the present application provides a video data transmission device, the video data transmission device is used to execute each step in the above video data transmission method, and the embodiment of the present application can carry out the video data transmission device according to the above method example
  • each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module.
  • the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules.
  • the division of modules in the embodiment of this application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
  • FIG. 15 shows a possible structural diagram of the video data transmission device involved in the above embodiment.
  • the video data transmission device includes a detection module 1501 , a determination module 1502 and a transmission module 1503 .
  • the detection module 1501 is configured to detect the transmission quality of the N links, for example, execute S910 in the above method embodiment.
  • the determination module 1502 is configured to determine video frames to be transmitted respectively corresponding to the N links according to the transmission quality of the N links, for example, execute S920 in the above method embodiment.
  • the transmission module 1503 is configured to transmit the video frames to be transmitted respectively corresponding to the N links on the N links, for example, execute S930 in the above method embodiment.
  • the video data transmission device provided in the embodiment of the present application further includes: an encoding module 1507; the encoding module 1507 is configured to perform frequency-domain layered encoding on the first video data to obtain multiple video frames of the first video data, for example Execute S1010 and S1301 in the above method embodiment.
  • the determination module 1502 is also configured to determine a retransmission video frame set, for example, execute S1210 in the above method embodiment.
  • the video data transmission device provided in the embodiment of the present application further includes: a queue jumping module 1508; the queue jumping module 1508 is used to transmit the video frames in the retransmission video frame set in the jth link in a queue jumping transmission mode, for example Execute S1220 in the above method embodiment.
  • a queue jumping module 1508 is used to transmit the video frames in the retransmission video frame set in the jth link in a queue jumping transmission mode, for example Execute S1220 in the above method embodiment.
  • the video data transmission device provided in the embodiment of the present application further includes: an acquisition module 1504; the acquisition module 1504 is configured to acquire the feedback information of the kth link, for example, execute S1302 in the above method embodiment.
  • the determination module 1502 is further configured to determine the transmission quality of the kth link according to the feedback information of the kth link, for example, execute S1303 in the above method embodiment.
  • the determination module 1502 is further configured to determine the video frame to be transmitted corresponding to the kth link according to the transmission quality of the kth link. For example, execute S1304 in the above method embodiment.
  • the video data transmission device provided in the embodiment of the present application further includes: a control module 1505; the control module 1505 is used to send the video according to the kth link when the transmission quality of the kth link does not meet the preset condition.
  • the preset ratio corresponding to the kth link according to the order of the priority of the video frame of the first video data from high to low, select some video frames in the video frame of the first video data as the link corresponding to the kth link
  • the video frame to be transmitted for example, execute S1304b in the above method embodiment.
  • the above-mentioned transmission module 1503 is further configured to transmit the video frame to be transmitted corresponding to the k-th link on the k-th link; for example, execute S1305 in the above-mentioned method embodiment.
  • the detection module 1501 is further configured to detect the transmission quality of the kth link, for example, execute S1306 in the above method embodiment.
  • the video data transmission device provided in the embodiment of the present application further includes: an adjustment module 1506; the adjustment module 1506 is used for the video sending end to adjust the preset ratio corresponding to the k-th link according to the transmission quality of the k-th link , for example, execute S1307, S1402, and S1403 in the above method embodiment.
  • control module 1505 is further configured to select the link of the second video data according to the preset ratio corresponding to the adjusted k-th link, and according to the priority order of the video frames of the second video data from high to low.
  • Some video frames in the video frames are used as video frames to be transmitted corresponding to the kth link; for example, S1308 in the above method embodiment is executed.
  • Each module of the above-mentioned video data transmission device can also be used to perform other actions in the above-mentioned method embodiment, and all relevant content of each step involved in the above-mentioned method embodiment can be referred to the function description of the corresponding functional module, and will not be repeated here. .
  • the video data transmission device includes: a processing module 1601 and a communication module 1602 .
  • the processing module 1601 is used to control and manage the actions of the video data transmission device, for example, execute the steps performed by the detection module 1501, the determination module 1502, the acquisition module 1504, the control module 1505, the encoding module 1507 and the queue insertion module 1508, and/or Other processes for performing the techniques described herein.
  • the communication module 1602 is used to support the interaction between the video data transmission apparatus and other devices, for example, to perform the steps performed by the above transmission module 1503, and/or to perform other processes of the technology described herein.
  • the video data transmission device may further include a storage module 1603 for storing program codes of the video data transmission device, video frames to be transmitted, and the like.
  • the processing module 1601 may be a processor or a controller, such as the processor 810 in FIG. 8 .
  • the communication module 1602 may be a transceiver, an RF circuit, or a communication interface, etc., such as the mobile communication module 850 and/or the wireless communication module 860 in FIG. 8 .
  • the storage module 1603 may be a memory, such as the internal memory 821 in FIG. 8 .
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • a software program it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, all or part of the processes or functions according to the embodiments of the present application will be generated.
  • the computer can be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transferred from a website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device including a server, a data center, and the like integrated with one or more available media.
  • the available medium may be a magnetic medium (for example, a floppy disk, a magnetic disk, a magnetic tape), an optical medium (for example, a digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state drive (solid state drives, SSD)), etc. .
  • a magnetic medium for example, a floppy disk, a magnetic disk, a magnetic tape
  • an optical medium for example, a digital video disc (digital video disc, DVD)
  • a semiconductor medium for example, a solid state drive (solid state drives, SSD)
  • the disclosed system, device and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
  • the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage medium includes: flash memory, mobile hard disk, read-only memory, random access memory, magnetic disk or optical disk, and other various media capable of storing program codes.

Abstract

An embodiment of the present application provides a video data transmission method and device, which relate to the technical field of streaming media transmission, and can ensure to a certain extent smooth transmission of important information in the video data in a transmission process. The method comprises: detecting the transmission quality of N links; determining, according to the transmission quality of the N links, video frames to be transmitted which respectively correspond to the N links; when the transmission quality of a k-th link meets a preset condition, the video frames to be transmitted which correspond to the k-th link are all video frames of the first video data; when the transmission quality of the k-th link does not meet the preset condition, the video frames to be transmitted which correspond to the k-th link are part of the video frames of the first video data, the video frames to be transmitted comprising all key data of the first video data; and transmitting on the N links the video frames to be transmitted which respectively correspond to the N links.

Description

一种视频数据的传输方法及装置Method and device for transmitting video data
本申请要求于2021年06月29日提交国家知识产权局、申请号为202110729347.X、申请名称为“一种视频数据的传输方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the State Intellectual Property Office on June 29, 2021, with application number 202110729347.X and application name "A Video Data Transmission Method and Device", the entire content of which is incorporated by reference incorporated in this application.
技术领域technical field
本申请实施例涉及流媒体传输技术领域,尤其涉及一种视频数据的传输方法及装置。The embodiments of the present application relate to the technical field of streaming media transmission, and in particular, to a video data transmission method and device.
背景技术Background technique
视频在现实生活中的应用越来越广泛,如视频通话、网络直播以及近场投屏等。视频数据的传输是影响视频数据的播放质量的一个重要因素。The application of video in real life is more and more extensive, such as video call, webcast, and near-field projection. The transmission of video data is an important factor affecting the playback quality of video data.
目前,在进行视频数据传输的过程中,视频发送端在两条链路上分别传输视频数据的数据包,以实现视频数据的冗余传输,例如,在第一链路上传输视频数据的全部数据包,在第二链路上也传输视频数据的全部数据包。上述两条链路中,一条链路可以为主链路,另一个条链路为辅链路,上述两条链路上传输的数据包互为备份,当一条链路的数据包发生丢失时,视频接收端可以从另一条链路上传输的数据包中获取丢失的数据包,以顺利完成视频数据的解码。At present, in the process of video data transmission, the video sending end transmits data packets of video data on two links respectively, so as to realize redundant transmission of video data, for example, transmit all video data on the first link data packets, all data packets of video data are also transmitted on the second link. Among the above two links, one link can be the main link, and the other link can be the auxiliary link. The data packets transmitted on the above two links are mutual backup. When the data packets of one link are lost , the video receiving end can obtain the lost data packets from the data packets transmitted on another link, so as to successfully complete the decoding of the video data.
然而,当上述用于传输视频数据的两条链路中的至少一条链路的带宽受限时(即:两条传输链路一强一弱),该带宽受限的链路在传输视频数据时可能会丢失一部分视频数据,因此,这两条链路的不能再互为备份,在这种情况下,如果在带宽未受限的链路传输视频数据的过程中,由于其他因素(例如,接收端发生重启)也丢失了一部分视频数据,该部分视频数据与带宽受限的链路丢失的视频数据相同,且两条链路丢失的视频数据中包括视频数据的重要信息,那么将导致视频接收端在播放接收到的视频数据时出现卡顿、花屏以及时延高等问题。However, when the bandwidth of at least one link in the above-mentioned two links for transmitting video data is limited (that is: two transmission links are strong and the other is weak), the link with limited bandwidth will not transmit video data. Part of the video data may be lost when the bandwidth is not limited. Therefore, the two links can no longer serve as backups for each other. In this case, if other factors (for example, The receiving end restarts) also loses part of the video data, which is the same as the video data lost by the bandwidth-limited link, and the video data lost by the two links includes important information of the video data, then it will cause video When the receiving end plays the received video data, problems such as freeze, blurred screen and high delay occur.
发明内容Contents of the invention
本申请实施例提供一种视频数据的传输方法及装置,能够在一定程度上保证视频数据在传输过程中对该视频数据中的重要信息的正常传输。Embodiments of the present application provide a method and device for transmitting video data, which can guarantee the normal transmission of important information in the video data during the transmission process of the video data to a certain extent.
为达到上述目的,本申请实施例采用如下技术方案:In order to achieve the above purpose, the embodiment of the present application adopts the following technical solutions:
第一方面,本申请实施例提供一种视频数据的传输方法,该方法包括:检测N条链路的传输质量;其中,N条链路用于传输第一视频数据,该N条链路为不同网络中的链路,上述第一视频数据包括多个视频帧,N为大于或等于2的正整数;根据上述N条链路的传输质量,确定该N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有视频帧;在第k条链路的传输质量不满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有中的部分视频帧;其中,k的取值为1,2,……N中任意一个值,上述待传输视频帧包括第一视频数据的所有关键数据;在上述N条链路中传输该N条链路分别对应的待传输视频帧。In the first aspect, the embodiment of the present application provides a video data transmission method, the method includes: detecting the transmission quality of N links; wherein, the N links are used to transmit the first video data, and the N links are For links in different networks, the above-mentioned first video data includes a plurality of video frames, and N is a positive integer greater than or equal to 2; according to the transmission quality of the above-mentioned N links, determine the video to be transmitted corresponding to the N links respectively frame; wherein, when the transmission quality of the kth link meets the preset condition, the video frames to be transmitted corresponding to the kth link are all video frames of the above-mentioned first video data; the kth link When the transmission quality of the link does not meet the preset conditions, the video frame to be transmitted corresponding to the kth link is a partial video frame in all of the above-mentioned first video data; wherein, the value of k is 1, 2, ... ... any value in N, the video frame to be transmitted includes all key data of the first video data; the video frames to be transmitted respectively corresponding to the N links are transmitted in the above N links.
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据 的N条链路的传输质量,并根据N条链路的传输质量确定N条链路分别对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的正常传输,进而解决了视频接收端在播放接收到的视频数据时出现卡顿、花屏以及高时延等问题。In the video data transmission method provided in the embodiment of the present application, the video sending end detects the transmission quality of the N links used to transmit the first video data, and determines the respective corresponding links of the N links according to the transmission quality of the N links. The video frames to be transmitted, wherein, when the transmission quality of the kth link meets the preset conditions, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and the kth link When the transmission quality of the link does not meet the preset condition, the partial video frame in the first video data is used as the video frame to be transmitted of the kth link; and, the video frame to be transmitted determined above includes the first video frame All key data in the data. In this way, when the transmission quality of the kth link is poor, this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the normal transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
一种可能的实现方式中,上述检测第k条链路的传输质量,具体包括:获取第k条链路的反馈信息,该反馈信息包括传输时延和/或重传次数;根据上述第k条链路的反馈信息,确定该第k条链路的传输质量。In a possible implementation manner, the detection of the transmission quality of the kth link specifically includes: obtaining feedback information of the kth link, where the feedback information includes transmission delay and/or retransmission times; according to the above kth link The feedback information of the kth link is used to determine the transmission quality of the kth link.
当上述反馈信息为传输时延时,若第k条链路的传输时延小于预设时延,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设时延,则该第k条链路的传输质量不满足上述预设条件。When the above feedback information is transmission time delay, if the transmission time delay of the kth link is less than the preset time delay, the transmission quality of the kth link meets the preset condition; if the transmission time of the kth link If the delay is greater than or equal to the preset delay, the transmission quality of the k-th link does not meet the above preset condition.
当上述反馈信息为重传次数时,若第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足上述预设条件;若第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足上述预设条件。When the above feedback information is the number of retransmissions, if the number of retransmissions of the kth link is less than the preset number of times, the transmission quality of the kth link meets the above preset conditions; if the retransmission of the kth link If the number of times is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the above preset condition.
当上述反馈信息为传输时延和重传次数时,若第k条链路的传输时延小于预设时延,且该第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设阈值,和/或该第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。When the above feedback information is the transmission delay and the number of retransmissions, if the transmission delay of the kth link is less than the preset time delay, and the number of retransmissions of the kth link is less than the preset number of times, then the kth link The transmission quality of the link meets the preset condition; if the transmission delay of the k link is greater than or equal to the preset threshold, and/or the number of retransmissions of the k link is greater than or equal to the preset number, then the The transmission quality of the kth link does not meet the preset condition.
一种可能的实现方式中,在第k条链路的传输质量不满足预设条件的情况下,确定该第k条链路对应的待传输视频帧,具体包括:根据第k条链路对应的预设比例,按照该第一视频数据的视频帧的优先级从高到低的顺序,选择上述第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。In a possible implementation manner, when the transmission quality of the kth link does not meet the preset condition, determining the video frame to be transmitted corresponding to the kth link specifically includes: according to the kth link corresponding According to the preset proportion of the video frame of the first video data, according to the order of priority of the video frame of the first video data from high to low, select some video frames in the video frame of the above-mentioned first video data as the video frame to be transmitted corresponding to the kth link .
上述预设比例满足:
Figure PCTCN2022096020-appb-000001
其中,η表示预设比例,Num 1表示上述第一视频数据的视频帧中的非关键视频帧的数量,Num 2表示上述第一视频数据的视频帧的总数量;其中,该非关键视频帧是指包括非关键数据的视频帧。
The above preset ratios satisfy:
Figure PCTCN2022096020-appb-000001
Wherein, n represents preset ratio, and Num 1 represents the quantity of the non-key video frame in the video frame of above-mentioned first video data, and Num 2 represents the total quantity of the video frame of above-mentioned first video data; Wherein, this non-key video frame Refers to video frames that include non-critical data.
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据的第k条链路的传输质量,并根据第k条链路的传输质量确定第k条链路对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的正常传输,进而解决了视频接收端在播放接收到的视频数据时出现卡顿、花屏以及高时延等问题。In the video data transmission method provided in the embodiment of the present application, the video sending end detects the transmission quality of the kth link used to transmit the first video data, and determines the kth link according to the transmission quality of the kth link Corresponding video frames to be transmitted, wherein, when the transmission quality of the kth link satisfies the preset condition, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and in the kth link When the transmission quality of the k links does not meet the preset condition, the partial video frames in the first video data are used as the video frames to be transmitted of the k link; and, the video frames to be transmitted determined above include the first video frame All key data in a video data. In this way, when the transmission quality of the kth link is poor, this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the normal transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
一种可能的实现方式中,上述在N条链路中传输该N条链路分别对应的待传输视频 帧之后,本申请实施例提供的一种视频数据的传输方法,还包括:检测第k条链路的传输质量;根据第k条链路的传输质量,调整第k条链路对应的预设比例。In a possible implementation manner, after the video frames to be transmitted respectively corresponding to the N links are transmitted in the N links, the video data transmission method provided in the embodiment of the present application further includes: detecting the kth link The transmission quality of the link; according to the transmission quality of the k link, adjust the preset ratio corresponding to the k link.
一种可能的实现方式中,上述根据第k条链路的传输质量,调整该第k条链路对应的预设比例,具体包括:在上述第k条链路的传输质量满足预设条件的情况下,增大该预设比例;在该第k条链路的传输质量不满足预设条件的情况下,减小预设比例。In a possible implementation manner, the above-mentioned adjustment of the preset ratio corresponding to the k-th link according to the transmission quality of the k-th link specifically includes: when the transmission quality of the above-mentioned k-th link meets the preset condition In this case, the preset ratio is increased; when the transmission quality of the kth link does not meet the preset condition, the preset ratio is decreased.
本申请实施例提供的视频数据的传输方法中,在k条链路的传输质量满足预设条件的情况下,视频发送端增大预设比例;也就是说第k条链路的传输质量较好,视频发送端增大预设比例,以使视频发送端将视频数据中更多的视频帧发送给视频接收端,进而能够让视频接收端根据视频数据中更多的视频帧播放出高质量的视频画面。In the video data transmission method provided in the embodiment of the present application, when the transmission quality of the k links meets the preset condition, the video sending end increases the preset ratio; that is to say, the transmission quality of the k link is lower than OK, the video sender increases the preset ratio so that the video sender can send more video frames in the video data to the video receiver, so that the video receiver can play high-quality videos based on more video frames in the video data video screen.
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:根据调整后的第k条链路对应的预设比例,确定第二视频数据在该第K条链路对应的待传输视频帧;在上述第k条链路中传输第k条链路对应的待传输视频帧。In a possible implementation manner, the method for transmitting video data provided in the embodiment of the present application further includes: according to the preset ratio corresponding to the adjusted k-th link, determining whether the second video data is in the k-th link The video frame to be transmitted corresponding to the link; the video frame to be transmitted corresponding to the kth link is transmitted in the kth link.
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:对第一视频数据进行频域分层编码,得到第一视频数据的视频帧,该第一视频数据的视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧;非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧,上述第一视频数据的关键数据为关键帧的基础帧。In a possible implementation manner, the video data transmission method provided by the embodiment of the present application further includes: performing frequency-domain layered coding on the first video data to obtain video frames of the first video data, and the first video data The video frame of the data includes at least one base frame and extended frame of the key frame, and the base frame and extended frame of multiple forward frames; the non-key video frame includes the extended frame of the key frame, the base frame of the forward frame and the forward frame The key data of the above-mentioned first video data is the basic frame of the key frame.
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:第一视频数据的视频帧的优先级从高到低依次为关键帧的基础帧、前向帧的基础帧、关键帧的扩展帧、前向帧的扩展帧。In a possible implementation manner, the video data transmission method provided in the embodiment of the present application further includes: the priority of the video frame of the first video data is the basic frame of the key frame, the forward frame in order from high to low The base frame of the key frame, the extended frame of the key frame, and the extended frame of the forward frame.
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:第一链路对应的第一视频数据的视频帧中的第i个视频帧是第一视频帧的基础帧,第二链路对应的上述第一视频数据的视频帧中的第i个视频帧是上述第一视频帧的扩展帧;上述第一链路和上述第二链路是N条链路中的两条不同的链路。In a possible implementation manner, the video data transmission method provided in the embodiment of the present application further includes: the i-th video frame among the video frames of the first video data corresponding to the first link is the first video frame The i-th video frame in the video frame of the above-mentioned first video data corresponding to the second link is an extended frame of the above-mentioned first video frame; the above-mentioned first link and the above-mentioned second link are N chains Two different links in the road.
综上,不同链路上传输的第一视频数据的多个视频帧的排列顺序是:两条不同的链路对应的视频帧队列中,相同位置(或相同编号或索引)的视频帧是同一个视频帧的基础帧和扩展帧,视频发送端按照视频帧的这种排列顺序在两条连路上并行地传输该视频帧,能够快速地将该视频帧的基础帧和扩展帧发送至视频接收端,对于视频接收端,也可以快速地将该视频帧的基础帧和扩展帧进行聚合得到解码的视频帧。To sum up, the arrangement order of multiple video frames of the first video data transmitted on different links is: in the video frame queues corresponding to two different links, the video frames at the same position (or the same number or index) are the same The basic frame and extended frame of a video frame, the video sending end transmits the video frame in parallel on the two links according to the sequence of the video frame, and can quickly send the basic frame and extended frame of the video frame to the video receiver For the video receiving end, the basic frame and the extended frame of the video frame can also be quickly aggregated to obtain a decoded video frame.
一种可能的实现方式中,本申请实施例提供的一种视频数据的传输方法,还包括:确定重传视频帧集合,该重传视频帧集合是上述N条链路各自对应的待重传的视频帧的交集;以插队传输方式,在第j条链路中传输上述重传视频帧集合中的视频帧;其中,该第j条链路的传输质量高于其他链路的传输质量,该其他链路是上述N条链路中除第j条链路之外的链路。In a possible implementation manner, the method for transmitting video data provided by the embodiment of the present application further includes: determining a set of retransmitted video frames, where the set of retransmitted video frames is the retransmitted corresponding to each of the above N links. The intersection of the video frames; in the jth link, transmit the video frames in the retransmission video frame set in the jth link; wherein, the transmission quality of the jth link is higher than the transmission quality of other links, The other link is a link except the j-th link among the above N links.
一种可能的实现方式中,上述在第j条链路中传输上述重传视频帧集合中的视频帧,包括:按照上述重传视频帧集合中的视频帧的优先级从高到低的顺序,在第j条链路中传输上述重传视频帧集合中的视频帧。In a possible implementation manner, the transmission of the video frames in the above-mentioned retransmitted video frame set in the jth link includes: according to the priority order of the video frames in the above-mentioned retransmitted video frame set from high to low , transmit the video frames in the above retransmitted video frame set in the jth link.
一种可能的实现方式中,上述以插队传输方式,在第j条链路中传输重传视频帧集合中的视频帧,包括:将该重传视频帧集合插入到上述第j条链路对应的待传输视频帧队列 的首位。In a possible implementation, the transmission of the video frames in the set of retransmitted video frames in the jth link by means of queue jumping transmission includes: inserting the set of retransmitted video frames into the jth link corresponding to The head of the queue of video frames to be transmitted.
一种可能的实现方式中,上述在N条链路中传输该N条链路分别对应的待传输视频帧之前,还包括:对N条链路分别对应的待传输视频帧进行加密。In a possible implementation manner, before transmitting the video frames to be transmitted corresponding to the N links in the above-mentioned N links, the method further includes: encrypting the video frames to be transmitted respectively corresponding to the N links.
本申请实施例中,一方面,视频发送端以插队的方式传输重传视频帧集合中的视频帧,优先传输重传视频帧集合中的视频帧,可以使得视频接收端尽快地获取到丢失的视频帧,提升视频接收端聚合视频帧的速度,实现视频帧快速聚合;另一方面,上述视频发送端传输重传视频帧集合中的视频帧时,视频发送端按照重传视频集合中的视频帧的优先级从高到底的顺序传输重传视频帧集合中的视频帧,由于优先级越高的视频帧包括的数据信息越重要,因此,按照优先级重传视频帧能够在一定程度上保证第一视频数据中的重要信息不丢失,以保证视频数据的播放质量。In the embodiment of this application, on the one hand, the video sending end transmits the video frames in the retransmission video frame set by jumping in the queue, and the video frames in the retransmission video frame set are transmitted preferentially, so that the video receiving end can obtain the lost video frames as soon as possible. Video frame, improve the speed of video frame aggregation at the video receiving end, and realize fast aggregation of video frames; The priority of the frame is transmitted from high to low in order to retransmit the video frames in the video frame set. Since the video frame with higher priority contains more important data information, retransmitting the video frame according to the priority can guarantee to a certain extent Important information in the first video data is not lost, so as to ensure the playback quality of the video data.
第二方面,本申请实施例提供的视频数据传输装置,包括:检测模块、确定模块和传输模块;检测模块,用于检测N条链路的传输质量;其中,该N条链路用于传输第一视频数据,该N条链路为不同网络中的链路,上述第一视频数据包括多个视频帧,N为大于或等于2的正整数;确定模块,用于根据N条链路的传输质量,确定该N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,第k条链路对应的待传输视频帧为上述第一视频数据的所有视频帧;在第k条链路的传输质量不满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的所有中的部分视频帧;其中,k的取值为1,2,……N中任意一个值,上述待传输视频帧包括该第一视频数据的所有关键数据;传输模块,用于在上述N条链路中传输该N条链路分别对应的待传输视频帧。In the second aspect, the video data transmission device provided by the embodiment of the present application includes: a detection module, a determination module, and a transmission module; the detection module is used to detect the transmission quality of N links; wherein, the N links are used for transmission The first video data, the N links are links in different networks, the above-mentioned first video data includes a plurality of video frames, and N is a positive integer greater than or equal to 2; the determination module is used to determine according to the N links The transmission quality is to determine the video frames to be transmitted corresponding to the N links respectively; wherein, when the transmission quality of the kth link meets the preset condition, the video frame to be transmitted corresponding to the kth link is the above-mentioned All video frames of a video data; in the case that the transmission quality of the kth link does not meet the preset condition, the video frame to be transmitted corresponding to the kth link is a partial video of all the above-mentioned first video data frame; wherein, the value of k is 1, 2, ... any value in N, and the above-mentioned video frame to be transmitted includes all key data of the first video data; the transmission module is used for transmission in the above-mentioned N links The video frames to be transmitted respectively correspond to the N links.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置还包括:获取模块;上述获取模块,用于获取第k条链路的反馈信息,该反馈信息包括传输时延和/或重传次数。In a possible implementation manner, the video data transmission device provided in the embodiment of the present application further includes: an acquisition module; the acquisition module is configured to acquire feedback information of the kth link, where the feedback information includes transmission delay and/or The number of retransmissions.
确定模块,具有用于根据第k条链路的反馈信息,确定该第k条链路的传输质量。The determination module is configured to determine the transmission quality of the kth link according to the feedback information of the kth link.
当该反馈信息为传输时延时,若第k条链路的传输时延小于预设时延,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设时延,则该第k条链路的传输质量不满足预设条件。When the feedback information is transmission delay, if the transmission delay of the kth link is less than the preset delay, the transmission quality of the kth link meets the preset condition; if the transmission time of the kth link If the delay is greater than or equal to the preset delay, the transmission quality of the k-th link does not meet the preset condition.
当该反馈信息为重传次数时,若第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。When the feedback information is the number of retransmissions, if the number of retransmissions of the kth link is less than the preset number of times, the transmission quality of the kth link meets the preset condition; if the number of retransmissions of the kth link is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition.
当该反馈信息为传输时延和重传次数时,若第k条链路的传输时延小于预设时延,且该第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的传输时延大于或等于预设阈值,和/或该第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。When the feedback information is the transmission delay and the number of retransmissions, if the transmission delay of the kth link is less than the preset time delay, and the number of retransmissions of the kth link is less than the preset number of times, then the kth link The transmission quality of the link meets the preset condition; if the transmission delay of the k link is greater than or equal to the preset threshold, and/or the number of retransmissions of the k link is greater than or equal to the preset number, then the The transmission quality of the kth link does not meet the preset condition.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,包括:控制模块;控制模块,用于根据第k条链路对应的预设比例,按照上述第一视频数据的视频帧的优先级从高到低的顺序,选择该第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。In a possible implementation manner, the video data transmission device provided in the embodiment of the present application includes: a control module; In order of priority from high to low, some video frames in the video frames of the first video data are selected as video frames to be transmitted corresponding to the kth link.
上述预设比例满足:
Figure PCTCN2022096020-appb-000002
其中,η表示预设比例,Num 1表示上述第一视频数据的视频帧中的非关键视频帧的数量,Num 2表示该第一视频数据的视频帧的总数量;其中,非关键视频帧是指包括非关键数据的视频帧。
The above preset ratios satisfy:
Figure PCTCN2022096020-appb-000002
Wherein, n represents preset ratio, and Num 1 represents the quantity of the non-key video frame in the video frame of above-mentioned first video data, and Num 2 represents the total quantity of the video frame of this first video data; Wherein, non-key video frame is Refers to video frames that include non-critical data.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,包括:调整模块;检测模块,用于检测第k条链路的传输质量;调整模块,用于根据第k条链路的传输质量,调整该第k条链路对应的预设比例。In a possible implementation manner, the video data transmission device provided in the embodiment of the present application includes: an adjustment module; a detection module, configured to detect the transmission quality of the kth link; an adjustment module, configured to The transmission quality of the kth link is adjusted to a preset ratio corresponding to the kth link.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中调整模块,具体用于在第k条链路的传输质量满足预设条件的情况下,增大预设比例;在第k条链路的传输质量不满足预设条件的情况下,减小预设比例。In a possible implementation manner, in the video data transmission device provided in the embodiment of the present application, the adjustment module is specifically configured to increase the preset ratio when the transmission quality of the kth link meets the preset condition; If the transmission quality of the kth link does not meet the preset condition, reduce the preset ratio.
一种可能的实现方式中,上述确定模块,还用于根据调整后的第k条链路对应的预设比例,确定第二视频数据在该K条链路对应的待传输视频帧;上述传输模块,还用于在上述第k条链路中传输第k条链路对应的待传输视频帧。In a possible implementation manner, the determination module is further configured to determine the video frame to be transmitted corresponding to the K link of the second video data according to the adjusted preset ratio corresponding to the K link; the above transmission The module is further configured to transmit the video frame to be transmitted corresponding to the kth link in the above kth link.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,包括:编码模块;该编码模块,用于对第一视频数据进行频域分层编码,得到第一视频数据的视频帧,该第一视频数据的视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧;上述非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧,上述第一视频数据的关键数据为关键帧的基础帧。In a possible implementation manner, the video data transmission device provided in the embodiment of the present application includes: an encoding module; the encoding module is configured to perform frequency-domain layered encoding on the first video data to obtain video frames of the first video data , the video frame of the first video data includes at least one basic frame and extended frame of a key frame, and a plurality of basic frames and extended frames of forward frames; the above-mentioned non-key video frames include extended frames of key frames, extended frames of forward frames The basic frame and the extended frame of the forward frame, the key data of the above-mentioned first video data is the basic frame of the key frame.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中第一视频数据的视频帧的优先级从低到高依次为前向帧的扩展帧、关键帧的扩展帧、前向帧的基础帧、关键帧的基础帧。In a possible implementation, in the video data transmission device provided in the embodiment of the present application, the priorities of the video frames of the first video data from low to high are the extended frame of the forward frame, the extended frame of the key frame, and the previous frame. The base frame of the direction frame and the base frame of the key frame.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中第一链路对应的第一视频数据的视频帧中的第i个视频帧是第一视频帧的基础帧,第二链路对应的第一视频数据的视频帧中的第i个视频帧是第一视频帧的扩展帧;该第一链路和第二链路是上述N条链路中的两条不同的链路。In a possible implementation, in the video data transmission device provided in the embodiment of the present application, the i-th video frame among the video frames of the first video data corresponding to the first link is the basic frame of the first video frame, and the i-th video frame is the basic frame of the first video frame, and the i-th video frame is The i-th video frame in the video frame of the first video data corresponding to the two links is an extended frame of the first video frame; the first link and the second link are two different ones of the above N links link.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,还包括:插队模块;上述确定模块,还用于确定重传视频帧集合,该重传视频帧集合是上述N条链路各自对应的待重传的视频帧的交集;插队模块,用于以插队传输方式,在第j条链路中传输上述重传视频帧集合中的视频帧;其中,该第j条链路的传输质量高于其他链路的传输质量,其他链路是上述N条链路中除上述第j条链路之外的链路。In a possible implementation manner, the video data transmission device provided by the embodiment of the present application further includes: a queue jumping module; the above-mentioned determining module is also used to determine a set of retransmitted video frames, and the set of retransmitted video frames is the above-mentioned N chain The intersection of the video frames to be retransmitted corresponding to the respective roads; the queue jumping module is used to transmit the video frames in the above retransmitted video frame set in the jth link in the queue jumping transmission mode; wherein, the jth link The transmission quality of is higher than the transmission quality of other links, and the other links are links other than the above j-th link among the above N links.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,其中传输模块,还用于按照重传视频帧集合中的视频帧的优先级从高到低的顺序,在第j条链路中传输该重传视频帧集合中的视频帧。In a possible implementation, in the video data transmission device provided in the embodiment of the present application, the transmission module is further configured to retransmit the video frames in the order of priority from high to low in the video frame set, and in the j The video frames in the retransmitted video frame set are transmitted in the link.
一种可能的实现方式中,上述插队模块,具体用于将该重传视频帧集合插入到上述第j条链路对应的待传输视频帧队列的首位。In a possible implementation manner, the above-mentioned queue-jumping module is specifically configured to insert the set of retransmitted video frames into the head of the queue of video frames to be transmitted corresponding to the above-mentioned jth link.
一种可能的实现方式中,本申请实施例提供的视频数据传输装置,还包括加密模块;加密模块,用于对N条链路分别对应的待传输视频帧进行加密。In a possible implementation manner, the video data transmission device provided in the embodiment of the present application further includes an encryption module; the encryption module is configured to encrypt video frames to be transmitted respectively corresponding to the N links.
第三方面,本申请实施例提供的视频数据传输装置,包括存储器和处理器,该存储器与该处理器耦合;上述存储器用于存储计算机程序代码,该计算机程序代码包括计算机指 令;当计算机指令被所述处理器执行时,使得该视频数据传输装置执行第一方面及其可能的实现方式中任意之一所述的方法。In the third aspect, the video data transmission device provided by the embodiment of the present application includes a memory and a processor, the memory is coupled to the processor; the memory is used to store computer program codes, and the computer program codes include computer instructions; when the computer instructions are When the processor is executed, the video data transmission device is made to execute the method described in any one of the first aspect and possible implementations thereof.
第四方面,本申请实施例提供的一种计算机存储介质,包括计算机指令,当该计算机指令在视频数据传输装置上运行时,使得该视频数据传输装置执行第一方面及其可能的实现方式中任意之一所述的方法。In the fourth aspect, a computer storage medium provided by an embodiment of the present application includes computer instructions, and when the computer instructions are run on the video data transmission device, the video data transmission device is made to execute the first aspect and its possible implementations. any one of the methods described.
第五方面,本申请实施例提供的一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得该计算机执行第一方面及其可能的实现方式中任意之一所述的方法。In a fifth aspect, an embodiment of the present application provides a computer program product, which, when running on a computer, causes the computer to execute the method described in any one of the first aspect and possible implementations thereof.
应当理解的是,本申请实施例的第二方面至第五方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实施方式的技术效果。It should be understood that the beneficial effects achieved by the technical solutions of the second aspect to the fifth aspect of the embodiment of the present application and the corresponding possible implementation manners can refer to the technical effects of the above-mentioned first aspect and the corresponding possible implementation manners.
附图说明Description of drawings
图1为本申请实施例提供的投屏的方式示意图;FIG. 1 is a schematic diagram of a screen projection method provided in an embodiment of the present application;
图2为本申请实施例提供的一种使用分布式相机的场景示意图一;FIG. 2 is a schematic diagram of a scene using distributed cameras provided by the embodiment of the present application;
图3为本申请实施例提供的一种使用分布式相机的场景示意图二;FIG. 3 is a second schematic diagram of a scene using distributed cameras provided by the embodiment of the present application;
图4为本申请实施例提供的一种视频数据的传输流程示意图一;FIG. 4 is a first schematic diagram of a video data transmission process provided by an embodiment of the present application;
图5为本申请实施例提供的一种视频数据的编码方式示意图一;FIG. 5 is a first schematic diagram of a coding method of video data provided by an embodiment of the present application;
图6为本申请实施例提供的一种视频数据的传输方式示意图一;FIG. 6 is a first schematic diagram of a video data transmission method provided by an embodiment of the present application;
图7为本申请实施例提供的一种多路径传输架构示意图一;FIG. 7 is a first schematic diagram of a multi-path transmission architecture provided by an embodiment of the present application;
图8为本申请实施例提供的一种视频数据传输装置结构示意图一;FIG. 8 is a first structural schematic diagram of a video data transmission device provided by an embodiment of the present application;
图9为本申请实施例提供的一种视频数据的传输方法示意图一;FIG. 9 is a first schematic diagram of a video data transmission method provided by an embodiment of the present application;
图10为本申请实施例提供的一种视频数据的传输方法示意图二;FIG. 10 is a second schematic diagram of a video data transmission method provided by an embodiment of the present application;
图11为本申请实施例提供的一种多个视频帧的排序的示意图一;FIG. 11 is a schematic diagram 1 of sorting a plurality of video frames provided by the embodiment of the present application;
图12为本申请实施例提供的一种视频数据的传输方法示意图三;FIG. 12 is a third schematic diagram of a video data transmission method provided by an embodiment of the present application;
图13为本申请实施例提供的一种视频数据的传输方法示意图四;FIG. 13 is a fourth schematic diagram of a video data transmission method provided by an embodiment of the present application;
图14为本申请实施例提供的一种视频数据的传输方法示意图五;FIG. 14 is a fifth schematic diagram of a video data transmission method provided by an embodiment of the present application;
图15为本申请实施例提供的为本申请实施例提供的一种视频数据传输装置的结构示意图一;FIG. 15 is a schematic structural diagram of a video data transmission device provided by the embodiment of the present application provided by the embodiment of the present application;
图16为本申请实施例提供的为本申请实施例提供的一种视频数据传输装置的结构示意图二。FIG. 16 is a second schematic structural diagram of a video data transmission device provided by the embodiment of the present application.
具体实施方式detailed description
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。The term "and/or" in this article is just an association relationship describing associated objects, which means that there can be three relationships, for example, A and/or B can mean: A exists alone, A and B exist simultaneously, and there exists alone B these three situations.
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一链路和第二链路等是用于区别不同网络中的链路,而不是用于描述链路的特定顺序。The terms "first" and "second" in the description and claims of the embodiments of the present application are used to distinguish different objects, rather than to describe a specific order of objects. For example, the first link and the second link are used to distinguish links in different networks, rather than describing a specific sequence of links.
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。In the embodiments of the present application, words such as "exemplary" or "for example" are used as examples, illustrations or illustrations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of the present application shall not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Rather, the use of words such as "exemplary" or "such as" is intended to present related concepts in a concrete manner.
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个视频帧是指两个或两个以上的视频帧。In the description of the embodiments of the present application, unless otherwise specified, "plurality" means two or more. For example, a plurality of video frames refers to two or more video frames.
随着科技的发展,流媒体(例如视频)在现实生活中的应用越来越广泛,在日常生活中,近场投屏场景和分布式相机场景中均涉及视频数据传输。With the development of technology, streaming media (such as video) is more and more widely used in real life. In daily life, video data transmission is involved in near-field projection scenarios and distributed camera scenarios.
在近场投屏的场景中,投屏方式可以包括:镜像协调、异源协同以及反向控制等In the near-field projection scenario, the projection methods can include: mirror coordination, heterogeneous collaboration, and reverse control, etc.
镜像协调:是指将投屏侧的视频画面实时的同步传输至被投屏侧,使其在被投屏侧同步播放。Mirroring coordination: It refers to the real-time synchronous transmission of the video screen on the projecting side to the projected side so that it can be played synchronously on the projected side.
示例性的,参考图1中的(a),大屏101是被投屏侧,手机102是投屏侧,该手机102与大屏101的投屏方式是镜像协调,例如,当使用手机102进行视频通话时,手机102将视频通话时的视频画面(具体是视频画面对应的视频数据)传输至大屏101,大屏101可以同步播放手机上102的视频画面。Exemplarily, referring to (a) in FIG. 1 , the large screen 101 is the projected side, and the mobile phone 102 is the projected side. When making a video call, the mobile phone 102 transmits the video image (specifically, the video data corresponding to the video image) during the video call to the large screen 101, and the large screen 101 can synchronously play the video image of the mobile phone 102.
异源协同:是指将投屏侧后台运行的某一个任务同步传输至被投屏侧,使其在被投屏侧同步播放,此时,投屏侧可以执行其他任务。Heterogeneous collaboration: refers to the synchronous transmission of a task running in the background on the projection side to the projected side, so that it can be played synchronously on the projected side. At this time, the projected side can perform other tasks.
示例性的,参考图1中的(b),大屏103是被投屏侧,手机104是投屏侧,该手机104与大屏103之间的投屏关系是异源协同,手机104上以分屏的方式显示聊天界面(手机运行社交应用显示的聊天界面)和视频播放界面(手机运行视频播放应用显示的界面),手机104可以将分屏2上显示的视频画面传输至大屏103,大屏103同步播放手机104上显示的视频画面,投屏成功之后,用户可以在手机104上进行相应的操作,将视频播放应用置于后台运行,从而使得手机104全屏显示聊天界面。Exemplarily, referring to (b) in FIG. 1 , the large screen 103 is the projected side, and the mobile phone 104 is the projected side. The screen projection relationship between the mobile phone 104 and the large screen 103 is heterogeneous collaboration. Display the chat interface (the chat interface displayed by the mobile phone running the social application) and the video playback interface (the interface displayed by the mobile phone running the video playback application) in a split-screen mode, and the mobile phone 104 can transmit the video picture displayed on the split screen 2 to the large screen 103 , the large screen 103 synchronously plays the video screen displayed on the mobile phone 104. After the screen projection is successful, the user can perform corresponding operations on the mobile phone 104 to put the video playback application in the background, so that the mobile phone 104 displays the chat interface in full screen.
反向控制:是指将投屏侧显示的画面传输至被投屏侧,使该画面在被投屏侧上实时显示,然后,用户在被投屏侧上进行相关操作,从而投屏侧可以响应该操作,执行相应的任务。Reverse control: refers to the transmission of the screen displayed on the projection side to the projected side, so that the screen is displayed in real time on the projected side, and then the user performs related operations on the projected side, so that the projected side can In response to the operation, a corresponding task is performed.
参考图1中的(c),电脑105是被投屏侧,手机106是投屏侧,该手机106与电脑105之间的投屏方式是反向控制,手机106将该手机106的显示屏上显示的视频画面同步传输至电脑105,电脑105的显示屏上显示该视频画面,然后,用户可以在电脑105上对显示的内容进行操作,手机106可以响应用户在电脑上105的操作。例如,用户在手机106中打开某视频软件,手机106显示包括多个视频资源的界面,当手机106和电脑105建立反向控制的投屏连接之后,电脑105上也同步显示该包括多个视频资源的界面,进而,用户在电脑105上打开多个视频资源中的某个视频资源时,手机106可以响应该视频资源的打开操作,手机106显示视频资源对应的视频画面,同时,手机106上显示的视频画面也同步传输至电脑105,从而电脑105显示该视频画面。Referring to (c) in FIG. 1, the computer 105 is the side to be screened, and the mobile phone 106 is the side to be screened. The video picture displayed on the computer is synchronously transmitted to the computer 105, and the video picture is displayed on the display screen of the computer 105. Then, the user can operate the displayed content on the computer 105, and the mobile phone 106 can respond to the user's operation on the computer 105. For example, a user opens a certain video software in the mobile phone 106, and the mobile phone 106 displays an interface including multiple video resources. resource interface, and furthermore, when the user opens a certain video resource among multiple video resources on the computer 105, the mobile phone 106 can respond to the opening operation of the video resource, and the mobile phone 106 displays the video picture corresponding to the video resource, and at the same time, the mobile phone 106 The displayed video frame is also synchronously transmitted to the computer 105, so that the computer 105 displays the video frame.
综上所述的投屏场景中,上述投屏侧是视频数据的发送端,被投屏侧是视频数据的接收端。To sum up, in the screen projection scenario described above, the screen projection side is the sending end of the video data, and the screen projection side is the receiving end of the video data.
在分布式相机场景中,使用分布式相机可以实现视频通话、远程控制手机拍照、手机直播以及跨设备双景录像等。In the distributed camera scenario, the use of distributed cameras can realize video calls, remote control of mobile phones to take pictures, mobile live broadcasts, and cross-device dual-view recording, etc.
图2中的(a)是使用分布式相机进行视频通话的场景示意图,其中,大屏201上的摄像头与手机202组成一种分布式相机,在使用手机202进行视频通话之前,手机202与大屏201上的摄像头建立通信连接,由于大屏201上的摄像头的像素比手机202 的自带摄像头的像素高,当使用手机202进行视频通话时,将大屏201上的摄像头作为视频通话时采集视频画面的摄像头,具体的,通过大屏201上的摄像头采集视频画面,并将视频画面同步传输至手机202,手机202实时显示视频画面。(a) in Fig. 2 is a schematic diagram of a scene using a distributed camera for a video call, wherein the camera on the large screen 201 and the mobile phone 202 form a distributed camera. The camera on the screen 201 establishes a communication connection. Since the pixel of the camera on the large screen 201 is higher than the pixel of the self-contained camera of the mobile phone 202, when using the mobile phone 202 to carry out a video call, the camera on the large screen 201 is used as a video call. The camera of the video picture, specifically, collects the video picture through the camera on the large screen 201, and transmits the video picture synchronously to the mobile phone 202, and the mobile phone 202 displays the video picture in real time.
在上述视频通话的场景中,大屏201是视频数据的发送端,手机202是视频数据的接收端。In the above video call scenario, the large screen 201 is the sending end of the video data, and the mobile phone 202 is the receiving end of the video data.
图2中的(b)为使用分布式相机远程控制手机拍照的场景示意图,其中,智能手表203与手机204组成一种分布式相机;将手机204放置在远端进行拍照时,手机204与智能手表203建立通信连接,手机204的摄像头将采集到的预览画面传输至智能手表203,智能手表203上同步显示该预览画面,进而用户可以在该智能手表203进行操作来控制手机204的进行拍照。例如,用户觉得智能手表203当前显示的预览界面中的画面的效果比较好,用户可以在智能手表203中选择“拍照”按钮,如此,手机204响应该“拍照”操作,采集图像。(b) in FIG. 2 is a schematic diagram of a scene where a distributed camera is used to remotely control a mobile phone to take pictures, wherein the smart watch 203 and the mobile phone 204 form a distributed camera; The watch 203 establishes a communication connection, and the camera of the mobile phone 204 transmits the collected preview image to the smart watch 203, and the preview image is displayed synchronously on the smart watch 203, and then the user can operate on the smart watch 203 to control the mobile phone 204 to take pictures. For example, if the user thinks that the picture in the preview interface currently displayed by the smart watch 203 is better, the user can select the "photograph" button on the smart watch 203, so that the mobile phone 204 responds to the "photograph" operation and collects images.
在上述远程控制手机拍照的场景中,手机204是视频数据的发送端,智能手表203是视频数据的接收端。In the above scene where the mobile phone is remotely controlled to take pictures, the mobile phone 204 is the video data sending end, and the smart watch 203 is the video data receiving end.
图3中的(a)为使用分布式相机进行手机直播的场景示意图,其中,手机301的后置摄像头与手机302组成一种分布式相机,且手机301的后置摄像的像素高于手机302的前置摄像头,在直播的场景中,手机302与手机301建立通信连接之后,手机302上运行直播APP,手机301的后置摄像头采集直播画面(例如风景或主播),然后,手机301将采集的直播画面实时传输至手机302,手机302同步播放直播画面。(a) in FIG. 3 is a schematic diagram of a scene using a distributed camera for live broadcasting on a mobile phone, wherein the rear camera of the mobile phone 301 and the mobile phone 302 form a distributed camera, and the pixels of the rear camera of the mobile phone 301 are higher than those of the mobile phone 302 In the live broadcast scene, after the mobile phone 302 establishes a communication connection with the mobile phone 301, the live broadcast APP is run on the mobile phone 302, and the rear camera of the mobile phone 301 collects live images (such as scenery or anchor), and then the mobile phone 301 will collect The live broadcast picture is transmitted to the mobile phone 302 in real time, and the mobile phone 302 plays the live broadcast picture synchronously.
在上述手机直播的场景中,手机301是视频数据的发送端,手机302是视频数据的接收端。In the above scenario of mobile live broadcast, the mobile phone 301 is the sending end of the video data, and the mobile phone 302 is the receiving end of the video data.
图3中的(b)为使用分布式相机进行跨设备双景录像的场景示意图,其中,手机303、手机305与照相机304组成一种分布式相机,该手机303和照相机304分别与手机305建立通信连接,开始双景录像后,手机303将该手机303的摄像头采集的目标场景的近景画面传输至手机305,同时,照相机304将采集到的目标场景的远景画面传输至手机305,手机305接收到手机303和照相机304发送的画面之后,以分屏的方式在手机305的显示屏上显示近景画面和远景画面,实现双景录像。(b) in Figure 3 is a schematic diagram of a scene where distributed cameras are used to perform cross-device dual-view recording, wherein mobile phone 303, mobile phone 305 and camera 304 form a distributed camera, and the mobile phone 303 and camera 304 are respectively established with mobile phone 305 Communication connection, after starting dual-view video recording, mobile phone 303 transmits the close-range picture of the target scene collected by the camera of this mobile phone 303 to mobile phone 305, and at the same time, camera 304 transmits the long-range picture of the target scene collected to mobile phone 305, and mobile phone 305 receives After the pictures sent by the mobile phone 303 and the camera 304, a close-range picture and a long-range picture are displayed on the display screen of the mobile phone 305 in a split-screen mode to realize double-view video recording.
在上述跨设备双景录像的场景中,手机303和照相机304都是视频数据的发送端,手机305是视频数据的接收端。In the above scene of cross-device dual-view video recording, the mobile phone 303 and the camera 304 are both video data sending ends, and the mobile phone 305 is the video data receiving end.
可以理解的是,本申请实施例中,视频数据即为视频流,包括多个视频帧,每一个视频帧即为一幅图像,因此,视频帧也可以称为图像帧。It can be understood that, in this embodiment of the present application, video data is a video stream, including multiple video frames, and each video frame is an image, therefore, a video frame may also be called an image frame.
结合上述的多个涉及视频数据传输的场景,参考图4所示的视频数据的传输流程示意图,首先,发送端对采集到的视频数据(包括多个视频帧)进行编码(预处理),常用的编码方式有时域编码和频域编码等方式;其次,发送端对编码后的视频数据进行加密,将加密后的视频数据发送至接收端。接收端接收加密后视频数据时,首先,根据发送端的加密方式反向对该加密后视频数据进行解密,得到解密后的视频数据;然后,根据发送端的编码方式对视频数据进行反向解码,得到解码后的视频数据,最后,接收端对解码后的视频数据进行渲染之后再播放。Combining the above-mentioned multiple scenarios involving video data transmission, refer to the schematic diagram of the video data transmission process shown in Figure 4. First, the sending end encodes (preprocesses) the collected video data (including multiple video frames). The encoding method is time-domain encoding and frequency-domain encoding; secondly, the sending end encrypts the encoded video data, and sends the encrypted video data to the receiving end. When the receiving end receives the encrypted video data, first, reversely decrypt the encrypted video data according to the encryption method of the sending end to obtain the decrypted video data; then, reversely decode the video data according to the encoding method of the sending end to obtain The decoded video data, finally, the receiving end renders the decoded video data before playing.
常用的视频数据的编码方式可以包括时域编码和频域编码。Common video data coding methods may include time-domain coding and frequency-domain coding.
在本申请实施例中,将前向搜索帧简称为前向帧,以下实施例不再进行说明。In the embodiment of the present application, the forward search frame is referred to as the forward frame for short, and the following embodiments will not be described again.
时域编码:通过时域编码的方式可以对采集的视频帧编码得到视频帧的小前向帧(即:小P帧)和大前向帧(大P帧),如图5中的(a)所示,其中,接收端对某个大P帧进行解码时,需要依赖该大P帧的前一大P帧的解码结果和该大P帧对应的小P帧。Time-domain encoding: the captured video frame can be encoded by time-domain encoding to obtain the small forward frame (ie: small P frame) and the large forward frame (large P frame) of the video frame, as shown in Figure 5 (a ), wherein, when the receiving end decodes a certain large P frame, it needs to rely on the decoding result of the previous large P frame of the large P frame and the corresponding small P frame of the large P frame.
频域编码:是根据视频数据的频域分布将采集到的视频帧编码为基础帧和扩展帧,如图5中的(b)所示;一个视频帧的基础帧中包含视频帧的低频数据,一个视频帧的扩展帧中包括视频帧的高频数据,基础帧与扩展帧的大小(数据量大小)不同,具体的,基础帧与扩展帧的大小比例在1:4到1:8之间,一种情况下,一个视频帧的基础帧与扩展帧大小之和可以是该视频帧的1.2倍。Frequency domain encoding: according to the frequency domain distribution of video data, the collected video frames are encoded into basic frames and extended frames, as shown in (b) in Figure 5; the basic frame of a video frame contains the low frequency data of the video frame , the extended frame of a video frame includes the high-frequency data of the video frame, the size (data volume) of the basic frame and the extended frame is different, specifically, the size ratio of the basic frame and the extended frame is between 1:4 and 1:8 In one case, the sum of the size of the base frame and the extended frame of a video frame may be 1.2 times that of the video frame.
目前,可以采用多条链路传输(即多路径传输)视频数据,具体如图6所示,视频发送端在第一链路上传输待传输视频数据的全部数据包(即:数据包1至数据包8),在第二链路上也传输待传输视频数据的全部数据包,其中,第一链路和第二链路上传输的数据包互为备份,当一条链路的数据包发生丢失时,视频接收端可以从另一条链路传输的数据包中获取丢失的数据包,以顺利完成视频数据的解码。At present, multiple links can be used to transmit (i.e. multi-path transmission) video data, specifically as shown in Figure 6, the video sender transmits all data packets of the video data to be transmitted on the first link (i.e. data packets 1 to Data packet 8), also transmit all data packets of the video data to be transmitted on the second link, wherein, the data packets transmitted on the first link and the second link are mutual backups, when a data packet of a link occurs When it is lost, the video receiving end can obtain the lost data packet from the data packet transmitted by another link, so as to successfully complete the decoding of the video data.
然而,当上述两条链路中第二条链路的带宽受限时,第二链路在传输待传输视频数据的数据包时会丢失一部分视频数据包,若第一链路在传输待传输视频数据的数据包的过程中,由于其他因素(例如,接收端发生重启)也丢失了一部分视频数据包,且第二链路丢失这部分视频数据包与第一链路丢失的这部分视频数据包存在交集,而交集部分的视频数据包中可能存在该待传输视频数据中的重要信息,从而导致接收端不能对该待传输视频数据进行正常解码,将导致视频接收端在播放接收到的视频数据时出现卡顿、花屏以及时延高等问题。However, when the bandwidth of the second link in the above two links is limited, the second link will lose a part of the video data packets when transmitting the data packets of the video data to be transmitted, if the first link is transmitting the video data packets to be transmitted In the process of data packets of video data, due to other factors (for example, the receiving end restarts), some video data packets are also lost, and the second link loses this part of video data packets and the first link loses this part of video data There are intersections of packets, and the video data packets in the intersection part may contain important information in the video data to be transmitted, which will cause the receiving end to fail to decode the video data to be transmitted normally, and will cause the video receiving end to play the received video Problems such as stuttering, blurred screen, and high delay occur when data is uploaded.
上述两种多路径传输方法由多路径传输架构中的数据流模块实现,如图7所示,数据包的传输流程具体为:发送端的采集模块获取到数据包序列后,通过通信模块与接收端的通信连接,然后,数据流模块将上述采集模块获取到的数据包序列以字符流或字节流的形式传输至接收端,其中,发送端向接收端传输数据包序列的方法可以是上述多路径传输方法中的任意一种传输方法。The above two multi-path transmission methods are implemented by the data flow module in the multi-path transmission architecture. As shown in Figure 7, the transmission process of the data packet is specifically: after the acquisition module at the sending end obtains the data packet sequence, it communicates with the receiving end through the communication module. Communication connection, then, the data stream module transmits the data packet sequence obtained by the above-mentioned acquisition module to the receiving end in the form of character stream or byte stream, wherein, the method for transmitting the data packet sequence from the sending end to the receiving end can be the above-mentioned multipath Any one of the transfer methods.
本申请实施例中的多路径传输方法中,在不同链路上传输同一视频数据都是采用在多条链路上并行传输的方式进行传输,后续不再赘述。In the multi-path transmission method in the embodiment of the present application, the transmission of the same video data on different links is carried out in the manner of parallel transmission on multiple links, which will not be described in detail later.
基于现有技术中存在的视频数据传输过程中不能保证视频数据中的重要信息顺利传输的问题,本申请实施例提供一种视频数据的传输方法及装置,视频传输装置或视频数据的发送端检测N条链路的传输质量;该N条链路用于传输视频数据,该N条链路为不同网络中的链路;该视频数据包括第一视频数据的视频帧,N为大于或等于2的正整数;视频传输装置根据该N条链路的传输质量,确定该N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的视频帧;在该第k条链路的传输质量不满足预设条件的情况下,该第k条链路对应的待传输视频帧为上述第一视频数据的视频帧中的部分视频帧;其中,k的取值为1,2,……N中任意一个值,上述确定的待传输视频帧中包括第一视频数据的视频帧中的所有关键数据;视频传输装置在该N条 链路中传输N条链路分别对应的待传输视频帧。通过本申请实施例提供的技术方案,能够在一定程度上保证视频数据中的关键数据(即:重要信息)的顺利传输。Based on the problem that the important information in the video data cannot be guaranteed to be transmitted smoothly during the video data transmission process in the prior art, the embodiment of the present application provides a video data transmission method and device, a video transmission device or a video data sending end detection The transmission quality of N links; the N links are used to transmit video data, and the N links are links in different networks; the video data includes video frames of the first video data, and N is greater than or equal to 2 is a positive integer; the video transmission device determines video frames to be transmitted respectively corresponding to the N links according to the transmission quality of the N links; wherein, when the transmission quality of the kth link meets the preset condition, The video frame to be transmitted corresponding to the kth link is the video frame of the first video data; if the transmission quality of the kth link does not meet the preset condition, the kth link corresponding to The transmission video frame is a part of the video frame of the above-mentioned first video data; wherein, the value of k is any one of 1, 2, ... N, and the above-mentioned determined video frame to be transmitted includes the first video data All key data in the video frame; the video transmission device transmits the video frames to be transmitted respectively corresponding to the N links in the N links. Through the technical solutions provided by the embodiments of the present application, the smooth transmission of key data (ie, important information) in video data can be guaranteed to a certain extent.
示例性的,本申请实施例中的视频传输装置可以是平板电脑、手机、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)等设备,本申请实施例对该视频传输装置的具体形态不作特殊限制。Exemplary, the video transmission device in the embodiment of the present application can be a tablet computer, a mobile phone, a desktop, a laptop, a handheld computer, a notebook computer, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook, and For cellular phones, personal digital assistants (personal digital assistant, PDA) and other devices, the embodiment of the present application does not impose special restrictions on the specific form of the video transmission device.
本申请实施例提供的视频数据的传输方法的执行主体可以为支持视频数据传输的装置(以下实施例简称为视频传输装置),请参考图8,本申请实施例以视频传输装置为手机800为例,对本申请实施例提供的视频传输装置进行介绍。其中,图8所示的手机800仅仅是视频传输装置的一个范例,并且手机800可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图8中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。The execution subject of the video data transmission method provided by the embodiment of the present application may be a device supporting video data transmission (the following embodiments are referred to as the video transmission device for short), please refer to FIG. As an example, the video transmission device provided in the embodiment of the present application is introduced. Wherein, the mobile phone 800 shown in FIG. 8 is only an example of a video transmission device, and the mobile phone 800 may have more or fewer components than those shown in the figure, and two or more components may be combined, or Different component configurations are possible. The various components shown in Figure 8 may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and/or application specific integrated circuits.
如图8所示,手机800可以包括处理器810,外部存储器接口820,内部存储器821,通用串行总线(universal serial bus,USB)接口830,充电管理模块840,电源管理模块841,电池842,天线1,天线2,射频模块850,通信模块860,音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,传感器模块880,按键890,马达891,指示器892,摄像头893,显示屏894,以及用户标识模块(subscriber identification module,SIM)卡接口895等。As shown in Figure 8, the mobile phone 800 may include a processor 810, an external memory interface 820, an internal memory 821, a universal serial bus (universal serial bus, USB) interface 830, a charging management module 840, a power management module 841, a battery 842, Antenna 1, antenna 2, radio frequency module 850, communication module 860, audio module 870, speaker 870A, receiver 870B, microphone 870C, earphone jack 870D, sensor module 880, button 890, motor 891, indicator 892, camera 893, display 894, and a subscriber identification module (subscriber identification module, SIM) card interface 895, etc.
其中,上述传感器模块880可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器和骨传导传感器等传感器。Wherein, the above-mentioned sensor module 880 may include sensors such as pressure sensor, gyroscope sensor, air pressure sensor, magnetic sensor, acceleration sensor, distance sensor, proximity light sensor, fingerprint sensor, temperature sensor, touch sensor, ambient light sensor and bone conduction sensor.
处理器810可以包括一个或多个处理单元。例如,处理器810可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。 Processor 810 may include one or more processing units. For example, the processor 810 may include an application processor (application processor, AP), a modem processor, a graphics processing unit (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), a controller, a memory , video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural network processor (neural-network processing unit, NPU), etc. Wherein, different processing units may be independent devices, or may be integrated in one or more processors.
上述控制器可以是手机800的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。The aforementioned controller may be the nerve center and command center of the mobile phone 800 . The controller can generate an operation control signal according to the instruction opcode and timing signal, and complete the control of fetching and executing the instruction.
处理器810中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器810中的存储器为高速缓冲存储器,可以保存处理器810刚用过或循环使用的指令或数据。如果处理器810需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器810的等待时间,因而提高了系统的效率。A memory may also be provided in the processor 810 for storing instructions and data. In some embodiments, the memory in the processor 810 is a cache memory, which can store instructions or data that the processor 810 has just used or recycled. If the processor 810 needs to use the instruction or data again, it can be directly recalled from the memory. Repeated access is avoided, and the waiting time of the processor 810 is reduced, thereby improving the efficiency of the system.
在一些实施例中,处理器810可以包括接口。接口可以包括集成电路(Inter-Integrated Circuit,I2C)接口,集成电路内置音频(inter-integrated circuit Sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output, GPIO)接口,SIM接口,和/或USB接口等。In some embodiments, processor 810 may include an interface. The interface may include an integrated circuit (Inter-Integrated Circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit Sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous transmitter (universal asynchronous receiver/transmitter, UART) interface, mobile industry processor interface (mobile industry processor interface, MIPI), general-purpose input/output (general-purpose input/output, GPIO) interface, SIM interface, and/or USB interface, etc.
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDL)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器810可以包含多组I2C总线。处理器810可以通过不同的I2C总线接口分别耦合触摸传感器280K,充电器,闪光灯,摄像头893等。例如:处理器810可以通过I2C接口耦合触摸传感器280K,使处理器810与触摸传感器280K通过I2C总线接口通信,实现手机800的触摸功能。The I2C interface is a bidirectional synchronous serial bus, including a serial data line (serial data line, SDL) and a serial clock line (derail clock line, SCL). In some embodiments, processor 810 may include multiple sets of I2C buses. The processor 810 can be respectively coupled to the touch sensor 280K, the charger, the flashlight, the camera 893 and so on through different I2C bus interfaces. For example, the processor 810 can be coupled to the touch sensor 280K through the I2C interface, so that the processor 810 and the touch sensor 280K can communicate through the I2C bus interface to realize the touch function of the mobile phone 800 .
I2S接口可以用于音频通信。在一些实施例中,处理器810可以包含多组I2S总线。处理器810可以通过I2S总线与音频模块870耦合,实现处理器810与音频模块870之间的通信。在一些实施例中,音频模块870可以通过I2S接口向通信模块860传递音频信号,实现通过蓝牙耳机接听电话的功能。The I2S interface can be used for audio communication. In some embodiments, processor 810 may include multiple sets of I2S buses. The processor 810 may be coupled to the audio module 870 through an I2S bus to implement communication between the processor 810 and the audio module 870 . In some embodiments, the audio module 870 can transmit audio signals to the communication module 860 through the I2S interface, so as to realize the function of answering calls through the Bluetooth headset.
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块870与通信模块860可以通过PCM总线接口耦合。在一些实施例中,音频模块870也可以通过PCM接口向通信模块860传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信,两种接口的采样速率不同。The PCM interface can also be used for audio communication, sampling, quantizing and encoding the analog signal. In some embodiments, the audio module 870 and the communication module 860 may be coupled through a PCM bus interface. In some embodiments, the audio module 870 can also transmit audio signals to the communication module 860 through the PCM interface, so as to realize the function of answering calls through the Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication, and the sampling rates of the two interfaces are different.
MIPI接口可以被用于连接处理器810与显示屏894,摄像头893等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器810和摄像头893通过CSI接口通信,实现手机800的拍摄功能。处理器810和显示屏894通过DSI接口通信,实现手机800的显示功能。The MIPI interface can be used to connect the processor 810 with peripheral devices such as a display screen 894 and a camera 893 . MIPI interface includes camera serial interface (camera serial interface, CSI), display serial interface (display serial interface, DSI), etc. In some embodiments, the processor 810 communicates with the camera 893 through the CSI interface to realize the shooting function of the mobile phone 800 . The processor 810 communicates with the display screen 894 through the DSI interface to realize the display function of the mobile phone 800 .
本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对手机800的结构限定。手机800可以采用本申请实施例中不同的接口连接方式,或多种接口连接方式的组合。The interface connection relationship between modules shown in the embodiment of the present application is only a schematic illustration, and does not constitute a structural limitation of the mobile phone 800 . The mobile phone 800 may adopt different interface connection modes in the embodiment of the present application, or a combination of multiple interface connection modes.
充电管理模块840用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块840可以通过USB接口830接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块840可以通过手机800的无线充电线圈接收无线充电输入。充电管理模块840为电池842充电的同时,还可以通过电源管理模块841为手机800供电。The charging management module 840 is configured to receive charging input from the charger. Wherein, the charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 840 can receive the charging input of the wired charger through the USB interface 830 . In some wireless charging embodiments, the charging management module 840 can receive wireless charging input through the wireless charging coil of the mobile phone 800 . While the charging management module 840 is charging the battery 842 , it can also supply power to the mobile phone 800 through the power management module 841 .
电源管理模块841用于连接电池842,充电管理模块840与处理器810。电源管理模块841接收所述电池842和/或充电管理模块840的输入,为处理器810,内部存储器821,外部存储器接口820,显示屏894,摄像头893,和通信模块860等供电。电源管理模块841还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在一些实施例中,电源管理模块841也可以设置于处理器810中。在一些实施例中,电源管理模块841和充电管理模块840也可以设置于同一个器件中。The power management module 841 is used for connecting the battery 842 , the charging management module 840 and the processor 810 . The power management module 841 receives the input of the battery 842 and/or the charging management module 840, and supplies power for the processor 810, the internal memory 821, the external memory interface 820, the display screen 894, the camera 893, and the communication module 860, etc. The power management module 841 can also be used to monitor parameters such as battery capacity, battery cycle times, and battery health status (leakage, impedance). In some embodiments, the power management module 841 can also be disposed in the processor 810 . In some embodiments, the power management module 841 and the charging management module 840 can also be set in the same device.
手机800的无线通信功能可以通过天线1,天线2,射频模块850,通信模块860,调制解调器以及基带处理器等实现。The wireless communication function of the mobile phone 800 can be realized through the antenna 1, the antenna 2, the radio frequency module 850, the communication module 860, a modem, and a baseband processor.
天线1和天线2用于发射和接收电磁波信号。手机800中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将 蜂窝网天线复用为无线局域网分集天线。在一些实施例中,天线可以和调谐开关结合使用。 Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in handset 800 can be used to cover single or multiple communication frequency bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: Cellular antennas can be multiplexed as WLAN diversity antennas. In some embodiments, an antenna may be used in conjunction with a tuning switch.
射频模块850可以提供应用在手机800上的包括2G/3G/4G/5G等无线通信的解决方案的通信处理模块。射频模块850可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。射频模块850由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调器进行解调。The radio frequency module 850 can provide a communication processing module applied on the mobile phone 800 including wireless communication solutions such as 2G/3G/4G/5G. The radio frequency module 850 may include at least one filter, switch, power amplifier, low noise amplifier (low noise amplifier, LNA) and the like. The radio frequency module 850 receives electromagnetic waves from the antenna 1, filters and amplifies the received electromagnetic waves, and transmits them to the modem for demodulation.
通信模块860可以提供应用在手机800上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(blue yooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。例如,本申请实施例中,手机800可以通过无线通信模块860接入Wi-Fi网络。The communication module 860 can provide wireless local area networks (wireless local area networks, WLAN) (such as wireless fidelity (Wi-Fi) network), bluetooth (blue yooth, BT), global navigation satellite system, etc. applied on the mobile phone 800. (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions. For example, in the embodiment of the present application, the mobile phone 800 can access the Wi-Fi network through the wireless communication module 860 .
无线通信模块860可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块860经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器810。无线通信模块860还可以从处理器810接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。The wireless communication module 860 may be one or more devices integrating at least one communication processing module. The wireless communication module 860 receives electromagnetic waves via the antenna 2 , frequency-modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 810 . The wireless communication module 860 can also receive the signal to be sent from the processor 810, frequency-modulate it, amplify it, and convert it into electromagnetic waves through the antenna 2 to radiate out.
手机800通过GPU,显示屏894,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏894和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器810可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。The mobile phone 800 realizes the display function through the GPU, the display screen 894, and the application processor. The GPU is a microprocessor for image processing, and is connected to the display screen 894 and the application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering. Processor 810 may include one or more GPUs that execute program instructions to generate or change display information.
显示屏894用于显示图像,视频等。该显示屏894包括显示面板。例如,本申请实施例中,显示屏894可以用于显示上述第一应用的应用界面,如设备分享界面、设备搜索界面和二维码扫描界面等。The display screen 894 is used to display images, videos and the like. The display screen 894 includes a display panel. For example, in this embodiment of the present application, the display screen 894 may be used to display the application interface of the above-mentioned first application, such as a device sharing interface, a device search interface, and a QR code scanning interface.
手机800可以通过ISP,摄像头893,视频编解码器,GPU,显示屏以及应用处理器等实现拍摄功能。The mobile phone 800 can realize the shooting function through ISP, camera 893, video codec, GPU, display screen and application processor.
摄像头893用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机800可以包括1个或N个摄像头893,N为大于1的正整数。Camera 893 is used to capture still images or video. The object generates an optical image through the lens and projects it to the photosensitive element. The photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal. The ISP outputs the digital image signal to the DSP for processing. DSP converts digital image signals into standard RGB, YUV and other image signals. In some embodiments, the mobile phone 800 may include 1 or N cameras 893, where N is a positive integer greater than 1.
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当手机800在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。Digital signal processors are used to process digital signals. In addition to digital image signals, they can also process other digital signals. For example, when the mobile phone 800 selects a frequency point, the digital signal processor is used to perform Fourier transform on the energy of the frequency point.
视频编解码器用于对数字视频压缩或解压缩。手机800可以支持一种或多种视频编解码器。这样,手机800可以播放或录制多种编码格式的视频,在本申请中手机800使用频域编码器对视频数据进行编码。Video codecs are used to compress or decompress digital video. The handset 800 may support one or more video codecs. In this way, the mobile phone 800 can play or record videos in multiple encoding formats. In this application, the mobile phone 800 uses a frequency domain encoder to encode video data.
外部存储器接口820可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机 800的存储能力。外部存储卡通过外部存储器接口820与处理器810通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。The external memory interface 820 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 800. The external memory card communicates with the processor 810 through the external memory interface 820 to realize the data storage function. Such as saving music, video and other files in the external memory card.
内部存储器821可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。处理器810通过运行存储在内部存储器821的指令,从而执行手机800的各种功能应用以及数据处理。例如,在本申请实施例中,处理器810可以通过执行存储在内部存储器821中的指令,内部存储器821可以包括存储程序区和存储数据区。Internal memory 821 may be used to store computer-executable program code, including instructions. The processor 810 executes various functional applications and data processing of the mobile phone 800 by executing instructions stored in the internal memory 821 . For example, in the embodiment of the present application, the processor 810 may execute instructions stored in the internal memory 821, and the internal memory 821 may include a program storage area and a data storage area.
手机800可以通过音频模块870,扬声器870A,受话器870B,麦克风870C,耳机接口870D,以及应用处理器等实现音频功能。例如音乐播放,录音等。The mobile phone 800 can implement audio functions through an audio module 870, a speaker 870A, a receiver 870B, a microphone 870C, an earphone interface 870D, and an application processor. Such as music playback, recording, etc.
音频模块870用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块870还可以用于对音频信号编码和解码。在一些实施例中,音频模块870可以设置于处理器810中,或将音频模块870的部分功能模块设置于处理器810中。The audio module 870 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signal. The audio module 870 may also be used to encode and decode audio signals. In some embodiments, the audio module 870 may be set in the processor 810 , or some functional modules of the audio module 870 may be set in the processor 810 .
扬声器870A,也称“喇叭”,用于将音频电信号转换为声音信号。 Speaker 870A, also called "horn", is used to convert audio electrical signals into sound signals.
受话器870B,也称“听筒”,用于将音频电信号转换成声音信号。 Receiver 870B, also called "earpiece", is used to convert audio electrical signals into sound signals.
麦克风870C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。 Microphone 870C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals.
耳机接口870D用于连接有线耳机。耳机接口870D可以是USB接口830,也可以是3.5mm的开放移动手机平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。The earphone interface 870D is used to connect wired earphones. The earphone interface 870D may be a USB interface 830, or a 3.5mm open mobile terminal platform (open mobile terminal platform, OMTP) standard interface, or a cellular telecommunications industry association of the USA (CTIA) standard interface.
按键890包括开机键,音量键等。按键890可以是机械按键。也可以是触摸式按键。手机800接收按键890输入,产生与手机800的用户设置以及功能控制有关的键信号输入。The keys 890 include a power key, a volume key and the like. Key 890 may be a mechanical key. It can also be a touch button. The mobile phone 800 receives the input of the key 890 and generates a key signal input related to the user setting and function control of the mobile phone 800 .
马达891可以产生振动提示。马达891可以用于来电振动提示,也可以用于触摸振动反馈。The motor 891 can generate a vibrating prompt. The motor 891 can be used for incoming call vibration prompts, and can also be used for touch vibration feedback.
指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。The indicator 292 can be an indicator light, which can be used to indicate the charging status, the change of the battery capacity, and also can be used to indicate messages, missed calls, notifications and so on.
SIM卡接口895用于连接SIM。SIM卡可以通过插入SIM卡接口895,或从SIM卡接口895拔出,实现和手机800的接触和分离。手机800可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口895可以支持Nano SIM卡,Micro SIM卡,SIM卡等。 SIM card interface 895 is used for connecting SIM. The SIM card can be connected and separated from the mobile phone 800 by inserting it into the SIM card interface 895 or pulling it out from the SIM card interface 895 . The mobile phone 800 can support 1 or N SIM card interfaces, where N is a positive integer greater than 1. SIM card interface 895 can support Nano SIM card, Micro SIM card, SIM card, etc.
以下实施例中的方法均可以在具有上述硬件结构的视频传输装置中实现,该视频传输装置为视频发送端,以下实施例中以上述视频发送端是图8所示的手机800为例,对本申请实施例的方法进行说明。The methods in the following embodiments can all be implemented in a video transmission device having the above-mentioned hardware structure. The video transmission device is a video sending end. In the following embodiments, the above-mentioned video sending end is the mobile phone 800 shown in FIG. 8 as an example. The method of the application example will be described.
本申请实施例提供一种视频数据的传输方法,应用于视频发送端,如图9所示,该视频数据的传输方法可以包括S910-S930。An embodiment of the present application provides a video data transmission method, which is applied to a video sending end. As shown in FIG. 9 , the video data transmission method may include S910-S930.
S910、视频发送端检测用于传输第一视频数据的N条链路的传输质量。S910. The video sending end detects the transmission quality of the N links used to transmit the first video data.
在本申请实施例中,视频发送端向视频接收端发送视频数据时,视频发送端可以通过N条链路分别向视频接收端发送视频数据,N为大于或等于2的正整数。In the embodiment of the present application, when the video sending end sends video data to the video receiving end, the video sending end can respectively send video data to the video receiving end through N links, where N is a positive integer greater than or equal to 2.
基于上述实施例的描述可知,上述视频发送端向视频接收端发送的第一视频数据 包括多个视频帧,第一视频数据来源于待传输视频中的一个视频段,例如,一个视频段可以为一个图像组(group of pictures,GOP)或多个图像组,一个视频段也可以是按照其他方法划分的视频段,本申请实施例不作具体限定。Based on the description of the above embodiment, it can be seen that the first video data sent by the video sending end to the video receiving end includes a plurality of video frames, and the first video data originates from a video segment in the video to be transmitted. For example, a video segment may be A group of pictures (group of pictures, GOP) or multiple groups of pictures, and a video segment may also be video segments divided according to other methods, which are not specifically limited in this embodiment of the present application.
示例性的,一个GOP由1个关键帧(例如I帧)和29个前向搜索帧(P帧)组成。Exemplarily, a GOP is composed of 1 key frame (for example, I frame) and 29 forward search frames (P frames).
需要说明的是,上述N条链路为不同网络中的链路,即该N条链路属于不同的网络。例如,N的值为2,上述用于传输视频数据的2条链路分别为链路1和链路2,其中,链路1可以是WIFI网络1中的链路,链路2可以是WIFI网络2中的链路。It should be noted that the above N links are links in different networks, that is, the N links belong to different networks. For example, the value of N is 2, and the above two links used to transmit video data are link 1 and link 2 respectively, where link 1 can be a link in WIFI network 1, and link 2 can be WIFI Link in network 2.
本申请实施例中,链路的传输质量的影响因素可以包括链路的传输时延、重传次数等,视频发送端可以根据上述影响因素中的至少一种确定链路的传输质量,具体将在下述实施例中进行详细描述。In this embodiment of the application, the factors affecting the transmission quality of the link may include the transmission delay of the link, the number of retransmissions, etc., and the video sending end may determine the transmission quality of the link according to at least one of the above-mentioned influencing factors, specifically Details are described in the following Examples.
S920、视频发送端根据N条链路的传输质量,确定N条链路分别对应的待传输视频帧。S920. The video sending end determines, according to the transmission quality of the N links, video frames to be transmitted respectively corresponding to the N links.
本申请实施例中,以N条链路中的一条链路进行说明,例如,以第k条链路为例,对上述S920进行说明,其中,k的取值为1,2,……N中任意一个值。应理解,一条链路对应的待传输视频帧指的是在该链路上即将传输的视频帧。In this embodiment of the present application, one of the N links is used for description. For example, the k-th link is used as an example to describe the above S920, where the value of k is 1, 2, ... N any value in . It should be understood that the video frame to be transmitted corresponding to a link refers to the video frame to be transmitted on the link.
具体的,视频发送端判断第k条链路的传输质量是否满足预设条件,在第k条链路的传输质量满足预设条件的情况下,确定该第k条链路对应的待传输视频帧为第一视频数据的所有视频帧;在该第k条链路的传输质量不满足预设条件(即:第k条链路的传输质量较差)的情况下,确定该第k条链路对应的待传输视频帧为第一视频数据的部分视频帧,其中,该待传输视频帧中包括上述第一视频数据中所有的关键数据(关键数据可以理解为第一视频数据中的重要数据或者解码第一视频数据所不可缺少的数据)。Specifically, the video sending end judges whether the transmission quality of the kth link meets the preset condition, and if the transmission quality of the kth link meets the preset condition, determines the video to be transmitted corresponding to the kth link Frames are all video frames of the first video data; in the case that the transmission quality of the kth link does not meet the preset condition (that is: the transmission quality of the kth link is poor), determine the kth chain The video frame to be transmitted corresponding to the road is a part of the video frame of the first video data, wherein, the video frame to be transmitted includes all key data in the first video data (key data can be understood as important data in the first video data or data indispensable for decoding the first video data).
本申请实施例中,在确定N条链路分别对应的待传输视频帧后,视频发送端对该N条链路分别对应的待传输视频帧进行加密,其中,加密方式可以是Hash算法加密,还可以是对称加密算法,具体使用的加密算法本申请不进行限定。In the embodiment of the present application, after determining the video frames to be transmitted respectively corresponding to the N links, the video sending end encrypts the video frames to be transmitted respectively corresponding to the N links, wherein the encryption method may be Hash algorithm encryption, It may also be a symmetric encryption algorithm, and the specific encryption algorithm used is not limited in this application.
示例性的,假设在2条链路(分别为链路1和链路2)上分别传输的第一视频数据,该第一视频数据包括10个视频帧,视频发送端首先判断链路1的传输质量是否满足预设条件,若链路1的传输质量满足预设条件,则上述10个视频帧为链路1的待传输视频帧;若链路1不满足预设条件,则将上述10个视频帧中的部分视频帧确定为链路1上的待传输视频帧,例如:将上述10个视频帧中的6个视频帧确定为链路1的待传输视频帧。同理,视频传输装置也判断链路2的传输质量是否满足预设条件,若链路2的传输质量满足预设条件,则将上述10个视频帧确定为链路2的待传输视频帧;若链路2不满足预设条件,则将上述10个视频帧中的部分视频帧确定为链路2的待传输视频帧,例如:将上述10个视频帧中的8个视频帧确定为链路2的待传输视频帧。Exemplarily, assuming that the first video data transmitted on two links (link 1 and link 2 respectively), the first video data includes 10 video frames, the video sender first judges the link 1 Whether the transmission quality meets the preset conditions, if the transmission quality of link 1 meets the preset conditions, then the above 10 video frames are the video frames to be transmitted in link 1; if the link 1 does not meet the preset conditions, then the above 10 video frames Part of the video frames in the video frames are determined as the video frames to be transmitted on the link 1, for example: 6 video frames in the above 10 video frames are determined as the video frames to be transmitted on the link 1. Similarly, the video transmission device also judges whether the transmission quality of link 2 satisfies the preset condition, and if the transmission quality of link 2 meets the preset condition, the above-mentioned 10 video frames are determined as the video frames to be transmitted of link 2; If link 2 does not meet the preset conditions, determine some of the above 10 video frames as video frames to be transmitted in link 2, for example: determine 8 of the above 10 video frames as link 2 Video frames to be transmitted on channel 2.
本申请实施例中,在链路的传输质量不满足预设条件的情况下,视频发送端在该链路上传输第一视频数据中的部分视频帧,能够减小了该链路的传输压力,提高该链路的传输效率。In the embodiment of the present application, when the transmission quality of the link does not meet the preset conditions, the video sending end transmits some video frames in the first video data on the link, which can reduce the transmission pressure of the link , to improve the transmission efficiency of the link.
S930、视频发送端在N条链路上传输N条链路分别对应的待传输视频帧。S930. The video sending end transmits the to-be-transmitted video frames respectively corresponding to the N links on the N links.
在本申请实施例中,视频发送端并行的在N条不同链路上传输该N条链路各自对 应的待传输视频帧。In the embodiment of the present application, the video sending end transmits the corresponding video frames to be transmitted on N different links in parallel.
结合S920中的示例,链路1的待传输视频帧为第一视频数据的6个视频帧,链路2的待传输视频帧为第一视频数据的8个的视频帧,如此,视频发送端并行地在链路1上传输上述6个视频帧,在链路2上传输上述8个视频帧。With reference to the example in S920, the video frames to be transmitted in link 1 are 6 video frames of the first video data, and the video frames to be transmitted in link 2 are 8 video frames of the first video data, so, the video sending end The above-mentioned 6 video frames are transmitted on the link 1 and the above-mentioned 8 video frames are transmitted on the link 2 in parallel.
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据的N条链路的传输质量,并根据N条链路的传输质量确定N条链路分别对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的顺利传输,进而解决了视频接收端在播放接收到的视频数据时出现卡顿、花屏以及高时延等问题。In the video data transmission method provided in the embodiment of the present application, the video sending end detects the transmission quality of the N links used to transmit the first video data, and determines the respective corresponding links of the N links according to the transmission quality of the N links. The video frames to be transmitted, wherein, when the transmission quality of the kth link meets the preset conditions, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and the kth link When the transmission quality of the link does not meet the preset condition, the partial video frame in the first video data is used as the video frame to be transmitted of the kth link; and, the video frame to be transmitted determined above includes the first video frame All key data in the data. In this way, when the transmission quality of the kth link is poor, this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the smooth transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
可选的,结合图9,如图10所示,在S910之前,本申请实施例提供的视频数据的传输方法还包括S1010。Optionally, referring to FIG. 9 , as shown in FIG. 10 , before S910 , the video data transmission method provided in the embodiment of the present application further includes S1010 .
S1010、视频发送端对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧。S1010. The video sending end performs frequency-domain layered coding on the first video data to obtain multiple video frames of the first video data.
可选地,上述第一视频数据的多个视频帧是视频发送端对采集的视频流中的第一视频数据进行编码后得到的视频帧,结合上述实施例的描述可知,第一视频数据(未编码)包括至少一个关键帧和多个前向帧。Optionally, the plurality of video frames of the above-mentioned first video data are video frames obtained after the video sending end encodes the first video data in the collected video stream. It can be seen from the description of the above-mentioned embodiments that the first video data ( unencoded) includes at least one key frame and a number of forward frames.
在一种实现方式中,可以采用频域分层编码的编码方式对第一视频数据进行编码,得到第一视频数据的多个视频帧,具体的,对于第一视频数据中的任一个关键帧,经频域分层编码后得到该关键帧的基础帧和该关键帧的扩展帧,同理,对于第一视频数据中的任一个前向帧,经频域分层编码后得到该前向帧的基础帧和该前向帧的扩展帧,如此,第一视频数据经编码后得到的多个视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧。In an implementation manner, the first video data may be encoded using a frequency-domain layered encoding method to obtain multiple video frames of the first video data. Specifically, for any key frame in the first video data , the basic frame of the key frame and the extended frame of the key frame are obtained after frequency-domain layered coding. Similarly, for any forward frame in the first video data, the forward frame is obtained after frequency-domain layered coding The basic frame of the frame and the extended frame of the forward frame, so that the multiple video frames obtained after the encoding of the first video data include at least a basic frame and an extended frame of a key frame, and a plurality of basic frames and extended frames of the forward frame Extended frame.
关于频域分层编码的方法的详细描述可以参考上述实施例的相关描述,此处不再赘述。For a detailed description of the method for frequency-domain layered coding, reference may be made to relevant descriptions in the foregoing embodiments, and details are not repeated here.
本申请实施例中,N条链路中的每一个链路上传输的第一视频数据的多个视频帧可以按照一定的顺序排列,该N条链路各自对应的多个视频帧的排列顺序可能相同,也可能不同。In the embodiment of the present application, the multiple video frames of the first video data transmitted on each of the N links can be arranged in a certain order, and the arrangement order of the multiple video frames corresponding to each of the N links is It may be the same, or it may be different.
可选的,在一种实现方式中,以N条链路中第一链路和第二链路为例,第一链路对应的多个视频帧的排列顺序与第二链路对应的多个视频帧的排列顺序不同,具体的,第一视频数据的多个视频帧中,该第一链路对应的第i个视频帧是第一视频帧的基础帧,第二链路对应的第i个视频帧是该第一视频帧的扩展帧;其中,第一链路和第二链路是上述N条链路中的两条不同的链路。可选地,第一视频帧可以是关键帧,也可以是前向帧。Optionally, in an implementation manner, taking the first link and the second link among the N links as an example, the arrangement order of the multiple video frames corresponding to the first link is the same as that of the multiple video frames corresponding to the second link. The order of arrangement of the video frames is different. Specifically, among the multiple video frames of the first video data, the i-th video frame corresponding to the first link is the basic frame of the first video frame, and the i-th video frame corresponding to the second link is the basic frame of the first video frame. The i video frames are extended frames of the first video frame; wherein, the first link and the second link are two different links among the above N links. Optionally, the first video frame may be a key frame or a forward frame.
示例性的,图11为第一链路上的多个视频帧和第二链路上的多个视频帧的排序的 示意图,在图11中,第一链路上的第1个视频帧是一个关键帧(可以称为第一关键帧)的基础帧,第二链路上的第1个视频帧是第一关键帧的扩展帧,又例如,第一链路上第4个视频帧是一个前向帧(可以称为第一前向帧)的扩展帧,第二链路上第4个视频帧是第一前向帧的基础帧。Exemplarily, FIG. 11 is a schematic diagram of the ordering of multiple video frames on the first link and multiple video frames on the second link. In FIG. 11 , the first video frame on the first link is The basic frame of a key frame (which can be called the first key frame), the first video frame on the second link is the extended frame of the first key frame, and for example, the fourth video frame on the first link is An extended frame of a forward frame (may be referred to as a first forward frame), and the fourth video frame on the second link is a basic frame of the first forward frame.
综上,不同链路上传输的第一视频数据的多个视频帧的排列顺序是:两条不同的链路对应的视频帧队列中,相同位置(或相同编号或索引)的视频帧是同一个视频帧的基础帧和扩展帧,视频发送端按照视频帧的这种排列顺序在两条连路上并行地传输该视频帧,能够快速地将该视频帧的基础帧和扩展帧发送至视频接收端,对于视频接收端,也可以快速地将该视频帧的基础帧和扩展帧进行聚合得到解码的视频帧。To sum up, the arrangement order of multiple video frames of the first video data transmitted on different links is: in the video frame queues corresponding to two different links, the video frames at the same position (or the same number or index) are the same The basic frame and extended frame of a video frame, the video sending end transmits the video frame in parallel on the two links according to the sequence of the video frame, and can quickly send the basic frame and extended frame of the video frame to the video receiver For the video receiving end, the basic frame and the extended frame of the video frame can also be quickly aggregated to obtain a decoded video frame.
基于上述实施例的描述,视频发送端在多条链路上并行传输待传输视频帧的过程中,可能会因为一些因素(例如:接收端发生重启或接收端未及时消费发送端发送的消息,导致该消息超时)导致待传输视频帧中的一个或多个视频帧在上述多个链路上同时丢失,那么视频接收端从多条链路上都获取不到丢失的视频帧,为了解决这种问题,视频发送端需要启动重传机制,向视频接收端重传上述一个或多个丢失的视频帧。Based on the description of the above-mentioned embodiments, during the parallel transmission of video frames to be transmitted by the video sending end on multiple links, some factors may occur (for example: the receiving end restarts or the receiving end does not consume the message sent by the sending end in time, cause the message to time out) cause one or more video frames in the video frame to be transmitted to be lost on the above-mentioned multiple links at the same time, then the video receiving end cannot obtain the lost video frame from multiple links, in order to solve this For this kind of problem, the video sending end needs to start the retransmission mechanism, and retransmit the above-mentioned one or more lost video frames to the video receiving end.
可选的,结合图10,如图12所示,在多个链路上同时丢失同一个或多个视频帧的情况下,本申请实施例提供的视频数据的传输方法还包括S1210-S1220。Optionally, referring to FIG. 10 , as shown in FIG. 12 , in the case that one or more video frames are simultaneously lost on multiple links, the video data transmission method provided in this embodiment of the present application further includes S1210-S1220.
S1210、视频发送端确定重传视频帧集合。S1210. The video sending end determines a retransmission video frame set.
上述重传视频帧集合是N条链路各自对应的待重传的视频帧的交集。The foregoing set of retransmitted video frames is an intersection of video frames to be retransmitted corresponding to each of the N links.
示例性的,假设N的取值为2,链路1中的待重传的视频帧(即链路1上丢失的视频帧)的集合包括P1帧的基础帧、P3帧的扩展帧、P4帧的扩展帧;链路2中的待重传的视频帧(即链路2上丢失的视频帧)的集合包括P1帧的基础帧、P2帧的扩展帧、P4帧的扩展帧。取链路1的待重传的视频帧集合和链路2的待重传的视频帧集合的交集,将该交集作为重传视频帧集合,该重传视频帧集合包括:P1帧的基础帧和P4帧的扩展帧。Exemplarily, assuming that the value of N is 2, the set of video frames to be retransmitted in link 1 (that is, video frames lost on link 1) includes the basic frame of P1 frame, the extended frame of P3 frame, the set of P4 frame Extended frames of frames; the set of video frames to be retransmitted in link 2 (that is, lost video frames on link 2) includes the basic frame of P1 frame, the extended frame of P2 frame, and the extended frame of P4 frame. Take the intersection of the set of video frames to be retransmitted in link 1 and the set of video frames to be retransmitted in link 2, and use the intersection as a set of retransmitted video frames, the set of retransmitted video frames includes: the basic frame of P1 frame and extension frames of P4 frames.
S1220、视频发送端以插队传输方式,在第j条链路中传输重传视频帧集合中的视频帧。S1220. The video sending end transmits the video frames in the retransmission video frame set in the jth link in a queue-jumping transmission manner.
上述第j条链路的传输质量高于上述N条链路中除第j条链路以外的其他链路的传输质量,第j条链路是N条链路中传输质量最高的一条链路。The transmission quality of the jth link above is higher than the transmission quality of other links in the above N links except the jth link, and the jth link is the link with the highest transmission quality among the N links .
上传插队传输方式是将重传视频帧集合中的视频帧插入到当前链路正在传输的视频帧队列的中,以优先传输该重传视频帧集合中的视频帧。The upload queue cutting transmission method is to insert the video frames in the retransmitted video frame set into the video frame queue being transmitted by the current link, so as to preferentially transmit the video frames in the retransmitted video frame set.
可选的,本申请实施例中,视频发送端可以将重传视频帧集合中的视频帧插入到当前链路正在传输的视频帧队列的首位,即视频发送端暂时停止传输当前的视频帧队列中的视频帧,优先传输重传视频帧集合中的视频帧,待重传视频帧集合中的视频帧传输结束之后,视频发送端再继续传输上述视频帧队列中的视频帧。Optionally, in this embodiment of the application, the video sending end may insert the video frame in the retransmitted video frame set into the head of the video frame queue being transmitted by the current link, that is, the video sending end temporarily stops transmitting the current video frame queue For the video frames in the retransmission video frame set, the video frames in the retransmission video frame set are transmitted preferentially. After the transmission of the video frames in the retransmission video frame set is completed, the video sending end continues to transmit the video frames in the above video frame queue.
可选的,上述视频发送端在第j条链路中传输重传视频帧集合中的视频帧的方法,具体包括:视频发送端按照重传视频帧集合中的视频帧的优先级从高到低的顺序,在第j条链路中传输该重传视频帧集合中的视频帧。Optionally, the above-mentioned method for the video sending end to transmit the video frames in the retransmission video frame set in the jth link specifically includes: the video sending end ranks the priority of the video frames in the retransmission video frame set from high to high In the lower order, the video frames in the retransmitted video frame set are transmitted in the jth link.
本申请实施例中,上述视频帧的优先级从低到高依次为:前向帧的扩展帧、关键帧的扩展帧、前向帧的基础帧、关键帧的基础帧,其中,优先级越高代表该视频帧中的视频数据越重要。In the embodiment of the present application, the priorities of the above video frames from low to high are: the extended frame of the forward frame, the extended frame of the key frame, the basic frame of the forward frame, and the basic frame of the key frame, wherein the higher the priority High means the video data in that video frame is more important.
基于上述示例,视频发送端确定的重传视频帧集合包括P1帧的基础帧和P4帧的扩展帧,用于传输待传输视频帧的2条链路(例如链路1和链路2)中,链路1的传输质量优于链路2的传输质量。对于链路1,假设当前的视频帧队列包括的视频帧依次是P20帧的基础帧、P20帧的扩展帧、P21帧的基础帧、P21帧的扩展帧......P帧的100基础帧、P100帧的扩展帧,视频发送端暂停传输当前的视频帧队列中的视频帧(即暂停传输P20帧的基础帧等),视频发送端按照重传视频帧集合中的视频帧的优先级从高到底的顺序依次传输P1帧的基础帧、P4帧的扩展帧(P1帧的基础帧的优先级高于P4帧的扩展帧的优先级)。Based on the above example, the retransmission video frame set determined by the video sender includes the basic frame of the P1 frame and the extended frame of the P4 frame, which are used to transmit the video frames to be transmitted in the two links (such as link 1 and link 2) , the transmission quality of link 1 is better than that of link 2. For link 1, assume that the video frames included in the current video frame queue are the basic frame of the P20 frame, the extended frame of the P20 frame, the basic frame of the P21 frame, the extended frame of the P21 frame... 100 of the P frame For basic frames and extended frames of P100 frames, the video sending end suspends the transmission of the video frames in the current video frame queue (that is, suspends the transmission of the basic frames of P20 frames, etc.), and the video sending end retransmits the video frames according to the priority of the video frame set The basic frame of the P1 frame and the extended frame of the P4 frame are transmitted sequentially from high to low (the priority of the basic frame of the P1 frame is higher than that of the extended frame of the P4 frame).
本申请实施例中,一方面,视频发送端以插队的方式传输重传视频帧集合中的视频帧,优先传输重传视频帧集合中的视频帧,可以使得视频接收端尽快地获取到丢失的视频帧,提升视频接收端聚合视频帧的速度,实现视频帧快速聚合;另一方面,上述视频发送端传输重传视频帧集合中的视频帧时,视频发送端按照重传视频集合中的视频帧的优先级从高到底的顺序传输重传视频帧集合中的视频帧,由于优先级越高的视频帧包括的数据信息越重要,因此,按照优先级重传视频帧能够在一定程度上保证第一视频数据中的重要信息不丢失,以保证视频数据的播放质量。In the embodiment of this application, on the one hand, the video sending end transmits the video frames in the retransmission video frame set by jumping in the queue, and the video frames in the retransmission video frame set are transmitted preferentially, so that the video receiving end can obtain the lost video frames as soon as possible. Video frame, improve the speed of video frame aggregation at the video receiving end, and realize fast aggregation of video frames; The priority of the frame is transmitted from high to low in order to retransmit the video frames in the video frame set. Since the video frame with higher priority contains more important data information, retransmitting the video frame according to the priority can guarantee to a certain extent Important information in the first video data is not lost, so as to ensure the playback quality of the video data.
需要说明的是,本申请实施例中,视频发送端在每一条链路上传输视频数据的方法是类似的,下面以第k条链路为例对视频数据的传输方法进行详细介绍,如图13所示,在第k条链路上传输视频数据的方法包括:S1301-S1308。It should be noted that, in the embodiment of the present application, the video sending end transmits video data on each link in a similar manner. The following takes the kth link as an example to introduce the video data transmission method in detail, as shown in FIG. As shown in 13, the method for transmitting video data on the kth link includes: S1301-S1308.
S1301、视频发送端对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧。S1301. The video sending end performs frequency-domain layered coding on the first video data to obtain multiple video frames of the first video data.
应理解,上述视频发送端对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧的方法参考上述实施例对S1010的相关描述,此处不再赘述。It should be understood that, for the method of performing frequency-domain layered coding on the first video data by the above-mentioned video sending end to obtain multiple video frames of the first video data, refer to the relevant description of S1010 in the above-mentioned embodiment, and details are not repeated here.
S1302、视频发送端获取第k条链路的反馈信息。S1302. The video sending end acquires feedback information of the kth link.
本申请实施例中,链路的反馈信息可以包括传输时延和/或重传次数。可选的,上述传输时延可以为视频帧的平均传输时延、预定数量的视频帧的传输时延之和、或者当前视频帧的传输时延中任意一种。In this embodiment of the present application, the link feedback information may include transmission delay and/or retransmission times. Optionally, the transmission delay may be an average transmission delay of video frames, a sum of transmission delays of a predetermined number of video frames, or any one of transmission delays of a current video frame.
S1303、视频发送端根据第k条链路的反馈信息,确定第k条链路的传输质量。S1303. The video sending end determines the transmission quality of the k-th link according to the feedback information of the k-th link.
本申请实施例中,视频发送端根据第k条链路的反馈信息,确定第k条链路的传输质量是否满足预设条件。具体的:In the embodiment of the present application, the video sending end determines whether the transmission quality of the k-th link satisfies a preset condition according to the feedback information of the k-th link. specific:
当上述第k条链路的反馈信息为传输时延时,若第k条链路的传输时延小于预设时延,则该第k条链路的传输质量满足预设条件;若该第k条链路的传输时延大于或等于预设时延,则上述第k条链路的传输质量不满足预设条件。When the feedback information of the kth link above is the transmission delay, if the transmission delay of the kth link is less than the preset delay, the transmission quality of the kth link meets the preset condition; if the kth link If the transmission delays of the k links are greater than or equal to the preset delays, then the transmission quality of the k-th link does not meet the preset condition.
当上述第k条链路的反馈信息为重传次数时,若上述第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。When the feedback information of the kth link is the number of retransmissions, if the number of retransmissions of the kth link is less than the preset number of times, the transmission quality of the kth link meets the preset condition; if the kth link If the number of retransmissions of the kth link is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition.
当上述第k条链路的反馈信息为传输时延和重传次数时,若上述第k条链路的传输时延小于预设时延,且该第k条链路的重传次数小于预设次数,则该第k条链路的传输质量满足预设条件;若上述第k条链路的传输时延大于或等于预设阈值,和/或第k条链路的重传次数大于或等于预设次数,则该第k条链路的传输质量不满足预设条件。When the feedback information of the kth link is the transmission delay and the number of retransmissions, if the transmission delay of the kth link is less than the preset delay, and the retransmission times of the kth link is less than the preset If the number of times is set, the transmission quality of the kth link meets the preset conditions; if the transmission delay of the kth link is greater than or equal to the preset threshold, and/or the number of retransmissions of the kth link is greater than or is equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition.
应理解,本申请实施例中,第k条链路的传输质量满足预设条件表明第k条链路的传输质量较好,第k条链路的传输质量不满足预设条件表明第k条链路的传输质量较差。It should be understood that in this embodiment of the present application, if the transmission quality of the kth link meets the preset condition, it means that the transmission quality of the kth link is better, and if the transmission quality of the kth link does not meet the preset condition, it means that the kth link The transmission quality of the link is poor.
S1304、视频发送端根据第k条链路的传输质量,确定第k条链路对应的待传输视频帧。S1304. The video sending end determines the video frame to be transmitted corresponding to the k th link according to the transmission quality of the k th link.
参考对S920的描述,第k条链路对应的待传输视频帧可以是第一视频数据的所有视频帧,也可以是第一视频数据的部分视频帧,具体的,S1304包括S1304a或S1304b。Referring to the description of S920, the video frames to be transmitted corresponding to the kth link may be all video frames of the first video data, or may be some video frames of the first video data. Specifically, S1304 includes S1304a or S1304b.
S1304a、在第k条链路的传输质量满足预设条件的情况下,第k条链路对应的待传输视频帧是第一视频数据的所有视频帧。S1304a. In a case where the transmission quality of the kth link satisfies a preset condition, the video frames to be transmitted corresponding to the kth link are all video frames of the first video data.
S1304b、在第k条链路的传输质量不满足预设条件的情况下,视频发送端根据第k条链路对应的预设比例,按照第一视频数据的视频帧的优先级从高到低的顺序,选择第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。S1304b. In the case that the transmission quality of the kth link does not meet the preset condition, the video sending end, according to the preset proportion corresponding to the kth link, according to the priority of the video frame of the first video data from high to low In the order of , select some video frames in the video frames of the first video data as the video frames to be transmitted corresponding to the kth link.
上述预设比例满足:
Figure PCTCN2022096020-appb-000003
其中,η表示预设比例,Num 1表示第一视频数据的视频帧中的非关键视频帧的数量,Num 2表示第一视频数据的视频帧的总数量;其中,非关键视频帧是指包括非关键数据的视频帧。
The above preset ratios satisfy:
Figure PCTCN2022096020-appb-000003
Wherein, n represents preset ratio, and Num 1 represents the quantity of the non-key video frame in the video frame of the first video data, and Num 2 represents the total quantity of the video frame of the first video data; Wherein, non-key video frame refers to comprising Video frames for non-critical data.
可选的,上述第一视频数据中的非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧。在某一条链路的传输质量较差时,视频发送端可以选择丢弃第一视频数据的视频帧中的非关键视频帧,非关键视频帧对视频质量的影响较小。Optionally, the non-key video frames in the first video data include extended frames of the key frame, basic frames of the forward frame, and extended frames of the forward frame. When the transmission quality of a certain link is poor, the video sending end may choose to discard non-key video frames in the video frames of the first video data, and the non-key video frames have little impact on video quality.
应理解,由于关键帧的基础帧中包含关键帧中的重要信息,因此,在本申请实施例中规定关键帧的基础帧必须作为待传输视频帧在链路中传输(即:关键帧的基础帧是不可丢弃的视频帧)。上述第一视频数据的视频帧的优先级从高到低依次为:关键帧的基础帧、前向帧的基础帧、关键帧的扩展帧、前向帧的扩展帧。It should be understood that since the basic frame of the key frame contains important information in the key frame, therefore, in the embodiment of the present application, it is stipulated that the basic frame of the key frame must be transmitted in the link as the video frame to be transmitted (that is, the basis of the key frame frame is a non-discardable video frame). The priorities of the video frames of the first video data are, from high to low, as follows: the basic frame of the key frame, the basic frame of the forward frame, the extended frame of the key frame, and the extended frame of the forward frame.
示例性的,假设上述第一视频数据的视频帧中包括100个视频帧,预设比例为40%(即链路质量较差时,需丢弃60个视频帧),该100个视频帧中包括48个前向帧的扩展帧、2个的关键帧的扩展帧、48个前向帧的基础帧和2个的关键帧的基础帧。当第k条链路的传输质量不满足预设条件时,视频发送端根据上述第一视频数据的视频帧的优先级从高到低的顺序,选择38个前向帧的基础帧和2个的关键帧的基础帧作为第k条链路对应的待传输视频帧。Exemplarily, assuming that the video frames of the above-mentioned first video data include 100 video frames, and the preset ratio is 40% (that is, when the link quality is poor, 60 video frames need to be discarded), the 100 video frames include 48 extended frames of forward frames, 2 extended frames of key frames, 48 base frames of forward frames, and 2 base frames of key frames. When the transmission quality of the kth link does not meet the preset conditions, the video sending end selects 38 basic frames of the forward frame and 2 The basic frame of the key frame of is used as the video frame to be transmitted corresponding to the kth link.
S1305、视频发送端在第k条链路上传输第k条链路对应的待传输视频帧。S1305. The video sending end transmits the video frame to be transmitted corresponding to the k-th link on the k-th link.
本申请实施例提供的视频数据的传输方法中,视频发送端检测用于传输第一视频数据的第k条链路的传输质量,并根据第k条链路的传输质量确定第k条链路对应的待传输视频帧,其中,在第k条链路的传输质量满足预设条件的情况下,将第一视频数据中的所有视频帧作为第k条链路的待传输视频帧,在第k条链路的传输质量不满足预设条件的情况下,将第一视频数据中的部分视频帧作为第k条链路的待传输视频帧;并且,上述确定的待传输视频帧中包括第一视频数据中的所有关键数据。如此,当第k条链路传输质量较差时,在第k条链路上传输的第一视频数据中的这部分视频帧包括着第一视频数据中的所有关键数据,从而在一定程度上能够保证了第一视频数据中关键数据的顺利传输,进而解决了视频接收端在播放接收到的视频数据时出现卡 顿、花屏以及高时延等问题。In the video data transmission method provided in the embodiment of the present application, the video sending end detects the transmission quality of the kth link used to transmit the first video data, and determines the kth link according to the transmission quality of the kth link Corresponding video frames to be transmitted, wherein, when the transmission quality of the kth link satisfies the preset condition, all the video frames in the first video data are used as the video frames to be transmitted of the kth link, and in the kth link When the transmission quality of the k links does not meet the preset condition, the partial video frames in the first video data are used as the video frames to be transmitted of the k link; and, the video frames to be transmitted determined above include the first video frame All key data in a video data. In this way, when the transmission quality of the kth link is poor, this part of video frames in the first video data transmitted on the kth link includes all the key data in the first video data, thus to a certain extent It can ensure the smooth transmission of the key data in the first video data, and further solve the problems such as stuttering, blurred screen and high delay when the video receiving end plays the received video data.
S1306、视频发送端检测第k条链路的传输质量。S1306. The video sending end detects the transmission quality of the kth link.
应注意,上述S1306是在视频发送端将第k条链路对应的待传输视频帧在第k条链路上传输完毕后执行的。It should be noted that the above S1306 is executed after the video sending end completes the transmission of the to-be-transmitted video frame corresponding to the k-th link on the k-th link.
本申请实施例中,关于视频发送端检测第k条链路的传输质量的方法的详细描述可以参考上述实施例的相关描述,此处不再赘述。In the embodiment of the present application, for a detailed description of the method for detecting the transmission quality of the k-th link at the video sending end, reference may be made to the relevant description of the foregoing embodiments, and details are not repeated here.
S1307、视频发送端根据第k条链路的传输质量,调整第k条链路对应的预设比例。S1307. The video sending end adjusts a preset ratio corresponding to the k-th link according to the transmission quality of the k-th link.
在本申请实施例中,上述视频发送端根据第k条链路的传输质量,调整后的预设比例将用于后续的视频数据传输,例如,上述调整后的预设比例用于传输第二视频数据,其中,第二视频数据与第一视频数据来源于同一待传输视频的相邻的两个视频段。In the embodiment of the present application, the above-mentioned video sending end will use the adjusted preset ratio for subsequent video data transmission according to the transmission quality of the k-th link, for example, the above-mentioned adjusted preset ratio is used to transmit the second The video data, wherein the second video data and the first video data come from two adjacent video segments of the same video to be transmitted.
应理解,本申请实施例中,按照上述方式不断地检测第k条链路的传输质量,并根据第k条链路的传输质量动态地调整预设比例,能够在一定程度上保证待传输视频帧的顺利传输,并且可以提高第k条链路的利用率。It should be understood that in the embodiment of the present application, the transmission quality of the k-th link is continuously detected according to the above method, and the preset ratio is dynamically adjusted according to the transmission quality of the k-th link, which can guarantee to a certain extent the transmission quality of the video to be transmitted The smooth transmission of the frame, and can improve the utilization rate of the kth link.
结合图13,如图14所示,上述S1307包括S1401-S1403。Referring to FIG. 13, as shown in FIG. 14, the above S1307 includes S1401-S1403.
S1401、视频发送端判断第k条链路的传输质量是否满足预设条件。S1401. The video sending end judges whether the transmission quality of the k-th link satisfies a preset condition.
在本申请实施例中,关于视频发送端判断第k条链路的传输质量是否满足预设条件的方法的详细描述可以参考上述S1303的相关描述,此处不再赘述。In this embodiment of the present application, for a detailed description of the method for the video sending end to determine whether the transmission quality of the k-th link meets the preset condition, reference may be made to the relevant description of S1303 above, which will not be repeated here.
S1402、在第k条链路的传输质量满足预设条件的情况下,视频发送端增大预设比例。S1402. When the transmission quality of the kth link satisfies a preset condition, the video sending end increases a preset ratio.
在k条链路的传输质量满足预设条件的情况下,视频发送端增大预设比例;也就是说第k条链路的传输质量较好,视频发送端增大预设比例,以使视频发送端将视频数据中更多的视频帧发送给视频接收端,进而能够提高视频接收端解码的视频数据的播放质量。When the transmission quality of the k links meets the preset conditions, the video sender increases the preset ratio; that is to say, the transmission quality of the k link is better, and the video sender increases the preset ratio so that The video sending end sends more video frames in the video data to the video receiving end, thereby improving the playback quality of the video data decoded by the video receiving end.
S1403、在第k条链路的传输质量不满足预设条件的情况下,视频发送端减小预设比例。S1403. When the transmission quality of the k-th link does not meet the preset condition, the video sending end reduces the preset ratio.
在第k条链路的传输质量不满足预设条件的情况下,视频发送端减小预设比例,也就是说,在第k条链路的传输质量较差时,待传输视频帧中减少非关键视频帧的占比,以使视频发送端减少向视频接收端发送的视频数据帧数量,进而减小第k条链路的传输压力,提高第k条链路的传输效率。When the transmission quality of the kth link does not meet the preset conditions, the video sender reduces the preset ratio, that is, when the transmission quality of the kth link is poor, the video frame to be transmitted decreases The proportion of non-key video frames, so that the video sender can reduce the number of video data frames sent to the video receiver, thereby reducing the transmission pressure of the kth link and improving the transmission efficiency of the kth link.
S1308、视频发送端根据调整后的第k条链路对应的预设比例,按照第二视频数据的视频帧的优先级从高到低的顺序,选择第二视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧。S1308. The video sending end selects part of the videos in the video frames of the second video data according to the preset ratio corresponding to the adjusted k-th link and in the order of priority of the video frames of the second video data from high to low frame as the video frame to be transmitted corresponding to the kth link.
本申请实施例中,视频发送端确定出第k条链路对应的待传输视频帧之后,视频发送端在第k条链路上传输第k条链路对应的待传输视频帧。In the embodiment of the present application, after the video sending end determines the video frame to be transmitted corresponding to the kth link, the video sending end transmits the video frame to be transmitted corresponding to the kth link on the kth link.
相应地,本申请实施例提供一种视频数据传输装置,该视频数据传输装置用于执行上述视频数据的传输方法中各个的步骤,本申请实施例可以根据上述方法示例对该视频数据传输装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划 分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。Correspondingly, the embodiment of the present application provides a video data transmission device, the video data transmission device is used to execute each step in the above video data transmission method, and the embodiment of the present application can carry out the video data transmission device according to the above method example For the division of functional modules, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules. The division of modules in the embodiment of this application is schematic, and is only a logical function division, and there may be other division methods in actual implementation.
在采用对应各个功能划分各个功能模块的情况下,图15示出上述实施例中所涉及的视频数据传输装置的一种可能的结构示意图。如图15所示,该视频数据传输装置包括检测模块1501、确定模块1502和传输模块1503。In the case of dividing each functional module corresponding to each function, FIG. 15 shows a possible structural diagram of the video data transmission device involved in the above embodiment. As shown in FIG. 15 , the video data transmission device includes a detection module 1501 , a determination module 1502 and a transmission module 1503 .
检测模块1501用于检测N条链路的传输质量,例如执行上述方法实施例中的S910。The detection module 1501 is configured to detect the transmission quality of the N links, for example, execute S910 in the above method embodiment.
确定模块1502用于根据N条链路的传输质量,确定该N条链路分别对应的待传输视频帧,例如执行上述方法实施例中的S920。The determination module 1502 is configured to determine video frames to be transmitted respectively corresponding to the N links according to the transmission quality of the N links, for example, execute S920 in the above method embodiment.
传输模块1503用于在N条链路上传输N条链路分别对应的待传输视频帧,例如执行上述方法实施例中的S930。The transmission module 1503 is configured to transmit the video frames to be transmitted respectively corresponding to the N links on the N links, for example, execute S930 in the above method embodiment.
可选的,本申请实施例提供的视频数据传输装置还包括:编码模块1507;编码模块1507用于对第一视频数据进行频域分层编码,得到第一视频数据的多个视频帧,例如执行上述方法实施例中的S1010和S1301。Optionally, the video data transmission device provided in the embodiment of the present application further includes: an encoding module 1507; the encoding module 1507 is configured to perform frequency-domain layered encoding on the first video data to obtain multiple video frames of the first video data, for example Execute S1010 and S1301 in the above method embodiment.
可选的,上述确定模块1502也用于确定重传视频帧集合,例如执行上述方法实施例中的S1210。Optionally, the determination module 1502 is also configured to determine a retransmission video frame set, for example, execute S1210 in the above method embodiment.
可选的,本申请实施例提供的视频数据传输装置还包括:插队模块1508;插队模块1508用于以插队传输方式,在第j条链路中传输重传视频帧集合中的视频帧,例如执行上述方法实施例中的S1220。Optionally, the video data transmission device provided in the embodiment of the present application further includes: a queue jumping module 1508; the queue jumping module 1508 is used to transmit the video frames in the retransmission video frame set in the jth link in a queue jumping transmission mode, for example Execute S1220 in the above method embodiment.
可选的,本申请实施例提供的视频数据传输装置还包括:获取模块1504;获取模块1504用于获取第k条链路的反馈信息,例如执行上述方法实施例中的S1302。Optionally, the video data transmission device provided in the embodiment of the present application further includes: an acquisition module 1504; the acquisition module 1504 is configured to acquire the feedback information of the kth link, for example, execute S1302 in the above method embodiment.
可选的,上述确定模块1502还用于根据第k条链路的反馈信息,确定第k条链路的传输质量,例如执行上述方法实施例中的S1303。Optionally, the determination module 1502 is further configured to determine the transmission quality of the kth link according to the feedback information of the kth link, for example, execute S1303 in the above method embodiment.
可选的,上述确定模块1502还用于根据第k条链路的传输质量,确定第k条链路对应的待传输视频帧。例如执行上述方法实施例中的S1304。Optionally, the determination module 1502 is further configured to determine the video frame to be transmitted corresponding to the kth link according to the transmission quality of the kth link. For example, execute S1304 in the above method embodiment.
可选的,本申请实施例提供的视频数据传输装置还包括:控制模块1505;控制模块1505用于在第k条链路的传输质量不满足预设条件的情况下,视频发送端根据第k条链路对应的预设比例,按照上述第一视频数据的视频帧的优先级从高到低的顺序,选择该第一视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧;例如执行上述方法实施例中的S1304b。Optionally, the video data transmission device provided in the embodiment of the present application further includes: a control module 1505; the control module 1505 is used to send the video according to the kth link when the transmission quality of the kth link does not meet the preset condition. According to the preset ratio corresponding to the kth link, according to the order of the priority of the video frame of the first video data from high to low, select some video frames in the video frame of the first video data as the link corresponding to the kth link The video frame to be transmitted; for example, execute S1304b in the above method embodiment.
可选的,上述传输模块1503还用于在第k条链路上传输第k条链路对应的待传输视频帧;例如执行上述方法实施例中的S1305。Optionally, the above-mentioned transmission module 1503 is further configured to transmit the video frame to be transmitted corresponding to the k-th link on the k-th link; for example, execute S1305 in the above-mentioned method embodiment.
可选的,上述检测模块1501还用于检测第k条链路的传输质量,例如执行上述方法实施例中的S1306。Optionally, the detection module 1501 is further configured to detect the transmission quality of the kth link, for example, execute S1306 in the above method embodiment.
可选的,本申请实施例提供的视频数据传输装置还包括:调整模块1506;调整模块1506用于视频发送端根据第k条链路的传输质量,调整第k条链路对应的预设比例,例如执行上述方法实施例中的S1307、S1402以及S1403。Optionally, the video data transmission device provided in the embodiment of the present application further includes: an adjustment module 1506; the adjustment module 1506 is used for the video sending end to adjust the preset ratio corresponding to the k-th link according to the transmission quality of the k-th link , for example, execute S1307, S1402, and S1403 in the above method embodiment.
可选的,上述控制模块1505还用于根据调整后的第k条链路对应的预设比例,按照第二视频数据的视频帧的优先级从高到低的顺序,选择第二视频数据的视频帧中的部分视频帧作为第k条链路对应的待传输视频帧;例如执行上述方法实施例中的S1308。Optionally, the above-mentioned control module 1505 is further configured to select the link of the second video data according to the preset ratio corresponding to the adjusted k-th link, and according to the priority order of the video frames of the second video data from high to low. Some video frames in the video frames are used as video frames to be transmitted corresponding to the kth link; for example, S1308 in the above method embodiment is executed.
上述视频数据传输装置的各个模块还可以用于执行上述方法实施例中的其他动作, 上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。Each module of the above-mentioned video data transmission device can also be used to perform other actions in the above-mentioned method embodiment, and all relevant content of each step involved in the above-mentioned method embodiment can be referred to the function description of the corresponding functional module, and will not be repeated here. .
在采用集成的单元的情况下,本申请实施例提供的视频数据传输装置的结构示意图如图16所示。在图16中,视频数据传输装置包括:处理模块1601和通信模块1602。处理模块1601用于对视频数据传输装置的动作进行控制管理,例如,执行上述检测模块1501、确定模块1502、获取模块1504、控制模块1505、编码模块1507以及插队模块1508执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块1602用于支持视频数据传输装置与其他设备之间的交互等,例如,执行上述传输模块1503执行的步骤,和/或用于执行本文所描述的技术的其它过程。如图16所示,视频数据传输装置还可以包括存储模块1603,存储模块1603用于存储视频数据传输装置的程序代码和待传输视频帧等。In the case of using an integrated unit, a schematic structural diagram of the video data transmission device provided in the embodiment of the present application is shown in FIG. 16 . In FIG. 16 , the video data transmission device includes: a processing module 1601 and a communication module 1602 . The processing module 1601 is used to control and manage the actions of the video data transmission device, for example, execute the steps performed by the detection module 1501, the determination module 1502, the acquisition module 1504, the control module 1505, the encoding module 1507 and the queue insertion module 1508, and/or Other processes for performing the techniques described herein. The communication module 1602 is used to support the interaction between the video data transmission apparatus and other devices, for example, to perform the steps performed by the above transmission module 1503, and/or to perform other processes of the technology described herein. As shown in FIG. 16 , the video data transmission device may further include a storage module 1603 for storing program codes of the video data transmission device, video frames to be transmitted, and the like.
其中,处理模块1601可以是处理器或控制器,例如图8中的处理器810。通信模块1602可以是收发器、RF电路或通信接口等,例如图8中的移动通信模块850和/或无线通信模块860。存储模块1603可以是存储器,例如图8中的内部存储器821。Wherein, the processing module 1601 may be a processor or a controller, such as the processor 810 in FIG. 8 . The communication module 1602 may be a transceiver, an RF circuit, or a communication interface, etc., such as the mobile communication module 850 and/or the wireless communication module 860 in FIG. 8 . The storage module 1603 may be a memory, such as the internal memory 821 in FIG. 8 .
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。In the above embodiments, all or part of them may be implemented by software, hardware, firmware or any combination thereof. When implemented using a software program, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, all or part of the processes or functions according to the embodiments of the present application will be generated. The computer can be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transferred from a website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device including a server, a data center, and the like integrated with one or more available media. The available medium may be a magnetic medium (for example, a floppy disk, a magnetic disk, a magnetic tape), an optical medium (for example, a digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state drive (solid state drives, SSD)), etc. .
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and brevity of the description, only the division of the above-mentioned functional modules is used as an example for illustration. In practical applications, the above-mentioned functions can be allocated according to needs It is completed by different functional modules, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. For the specific working process of the above-described system, device, and unit, reference may be made to the corresponding process in the foregoing method embodiments, and details are not repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be Incorporation may either be integrated into another system, or some features may be omitted, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: flash memory, mobile hard disk, read-only memory, random access memory, magnetic disk or optical disk, and other various media capable of storing program codes.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the application, but the protection scope of the application is not limited thereto, and any changes or replacements within the technical scope disclosed in the application should be covered within the protection scope of the application . Therefore, the protection scope of the present application should be determined by the protection scope of the claims.

Claims (16)

  1. 一种视频数据的传输方法,其特征在于,包括:A method for transmitting video data, characterized in that it comprises:
    检测N条链路的传输质量;其中,所述N条链路用于传输第一视频数据,所述N条链路为不同网络中的链路,所述第一视频数据包括多个视频帧,N为大于或等于2的正整数;Detecting the transmission quality of N links; wherein, the N links are used to transmit the first video data, the N links are links in different networks, and the first video data includes a plurality of video frames , N is a positive integer greater than or equal to 2;
    根据所述N条链路的传输质量,确定所述N条链路分别对应的待传输视频帧;其中,在第k条链路的传输质量满足预设条件的情况下,所述第k条链路对应的待传输视频帧为所述第一视频数据的所有视频帧;在所述第k条链路的传输质量不满足预设条件的情况下,所述第k条链路对应的待传输视频帧为所述第一视频数据的所有中的部分视频帧;其中,k的取值为1,2,……N中任意一个值,所述待传输视频帧包括所述第一视频数据的所有关键数据;According to the transmission quality of the N links, determine the video frames to be transmitted respectively corresponding to the N links; wherein, when the transmission quality of the k-th link meets the preset condition, the k-th link The video frames to be transmitted corresponding to the links are all video frames of the first video data; when the transmission quality of the kth link does not meet the preset condition, the to-be-transmitted video frames corresponding to the kth link The transmission video frame is a partial video frame in all of the first video data; wherein, the value of k is any one of 1, 2, ... N, and the video frame to be transmitted includes the first video data All key data of
    在所述N条链路中传输所述N条链路分别对应的待传输视频帧。The video frames to be transmitted respectively corresponding to the N links are transmitted in the N links.
  2. 根据权利要求1所述的方法,其特征在于,检测所述第k条链路的传输质量,包括:The method according to claim 1, wherein detecting the transmission quality of the kth link comprises:
    获取所述第k条链路的反馈信息,所述反馈信息包括传输时延和/或重传次数;Acquire feedback information of the kth link, where the feedback information includes transmission delay and/or retransmission times;
    根据所述第k条链路的反馈信息,确定所述第k条链路的传输质量;Determine the transmission quality of the kth link according to the feedback information of the kth link;
    当所述反馈信息为传输时延时,若所述第k条链路的传输时延小于预设时延,则所述第k条链路的传输质量满足所述预设条件;若所述第k条链路的传输时延大于或等于预设时延,则所述第k条链路的传输质量不满足所述预设条件;When the feedback information is transmission delay, if the transmission delay of the kth link is less than a preset delay, the transmission quality of the kth link meets the preset condition; if the The transmission delay of the kth link is greater than or equal to the preset delay, then the transmission quality of the kth link does not meet the preset condition;
    当所述反馈信息为重传次数时,若所述第k条链路的重传次数小于预设次数,则所述第k条链路的传输质量满足所述预设条件;若所述第k条链路的重传次数大于或等于预设次数,则所述第k条链路的传输质量不满足所述预设条件;When the feedback information is the number of retransmissions, if the number of retransmissions of the kth link is less than a preset number of times, the transmission quality of the kth link meets the preset condition; if the kth link The number of retransmissions of the k link is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition;
    当所述反馈信息为传输时延和重传次数时,若所述第k条链路的传输时延小于预设时延,且所述第k条链路的重传次数小于预设次数,则所述第k条链路的传输质量满足所述预设条件;若所述第k条链路的传输时延大于或等于预设阈值,和/或所述第k条链路的重传次数大于或等于预设次数,则所述第k条链路的传输质量不满足所述预设条件。When the feedback information is the transmission delay and the number of retransmissions, if the transmission delay of the k-th link is less than a preset time delay, and the number of retransmissions of the k-th link is less than a preset number of times, Then the transmission quality of the kth link meets the preset condition; if the transmission delay of the kth link is greater than or equal to a preset threshold, and/or the retransmission of the kth link If the number of times is greater than or equal to the preset number of times, then the transmission quality of the kth link does not meet the preset condition.
  3. 根据权利要求1或2所述的方法,其特征在于,在所述第k条链路的传输质量不满足预设条件的情况下,确定所述第k条链路对应的待传输视频帧,包括:The method according to claim 1 or 2, wherein when the transmission quality of the k-th link does not meet a preset condition, determining the video frame to be transmitted corresponding to the k-th link, include:
    根据所述第k条链路对应的预设比例,按照所述第一视频数据的视频帧的优先级从高到低的顺序,选择所述第一视频数据的视频帧中的部分视频帧作为所述第k条链路对应的待传输视频帧;According to the preset ratio corresponding to the k-th link, according to the order of priority of the video frames of the first video data from high to low, select some video frames in the video frames of the first video data as The video frame to be transmitted corresponding to the kth link;
    所述预设比例满足:
    Figure PCTCN2022096020-appb-100001
    其中,η表示所述预设比例,Num 1表示所述第一视频数据的视频帧中的非关键视频帧的数量,Num 2表示所述第一视频数据的视频帧的总数量;其中,所述非关键视频帧是指包括非关键数据的视频帧。
    The preset ratio satisfies:
    Figure PCTCN2022096020-appb-100001
    Wherein, n represents the preset ratio, Num 1 represents the number of non-key video frames in the video frames of the first video data, and Num 2 represents the total number of video frames of the first video data; wherein, The non-key video frame refers to a video frame including non-key data.
  4. 根据权利要求3所述的方法,其特征在于,在所述N条链路中传输所述N条链路分别对应的待传输视频帧之后,所述方法还包括:The method according to claim 3, wherein after transmitting the video frames to be transmitted respectively corresponding to the N links in the N links, the method further comprises:
    检测所述第k条链路的传输质量;Detecting the transmission quality of the kth link;
    根据所述第k条链路的传输质量,调整所述第k条链路对应的预设比例。Adjusting the preset ratio corresponding to the kth link according to the transmission quality of the kth link.
  5. 根据权利要求4所述的方法,其特征在于,根据所述第k条链路的传输质量,调整 所述第k条链路对应的预设比例,包括:The method according to claim 4, wherein, according to the transmission quality of the k link, adjusting the preset ratio corresponding to the k link includes:
    在所述第k条链路的传输质量满足所述预设条件的情况下,增大所述预设比例;When the transmission quality of the kth link meets the preset condition, increase the preset ratio;
    在所述第k条链路的传输质量不满足所述预设条件的情况下,减小所述预设比例。If the transmission quality of the kth link does not meet the preset condition, reduce the preset ratio.
  6. 根据权利要求4或5所述的方法,其特征在于,所述方法还包括:The method according to claim 4 or 5, characterized in that the method further comprises:
    根据调整后的所述第k条链路对应的预设比例,确定第二视频数据在所述K条链路对应的待传输视频帧;Determine the video frames to be transmitted corresponding to the K links of the second video data according to the adjusted preset ratios corresponding to the K links;
    在所述第k条链路中传输第k条链路对应的待传输视频帧。The video frame to be transmitted corresponding to the kth link is transmitted in the kth link.
  7. 根据权利要求3-6中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 3-6, wherein the method further comprises:
    对第一视频数据进行频域分层编码,得到所述第一视频数据的视频帧,所述第一视频数据的视频帧包括至少一个关键帧的基础帧和扩展帧,以及多个前向帧的基础帧和扩展帧;所述非关键视频帧包括关键帧的扩展帧、前向帧的基础帧和前向帧的扩展帧,所述第一视频数据的关键数据为所述关键帧的基础帧。performing frequency-domain layered coding on the first video data to obtain a video frame of the first video data, the video frame of the first video data includes at least one basic frame and an extended frame of a key frame, and a plurality of forward frames The basic frame and the extended frame; the non-key video frame includes the extended frame of the key frame, the basic frame of the forward frame and the extended frame of the forward frame, and the key data of the first video data is the basis of the key frame frame.
  8. 根据权利要求7所述的方法,其特征在于,The method according to claim 7, characterized in that,
    所述第一视频数据的视频帧的优先级从高到低依次为所述关键帧的基础帧、所述前向帧的基础帧、所述关键帧的扩展帧、所述前向帧的扩展帧。The priority of the video frame of the first video data from high to low is the basic frame of the key frame, the basic frame of the forward frame, the extended frame of the key frame, and the extended frame of the forward frame frame.
  9. 根据权利要求1-7中任一项所述的方法,其特征在于,The method according to any one of claims 1-7, characterized in that,
    第一链路对应的所述第一视频数据的视频帧中的第i个视频帧是第一视频帧的基础帧,第二链路对应的所述第一视频数据的视频帧中的第i个视频帧是所述第一视频帧的扩展帧;所述第一链路和所述第二链路是所述N条链路中的两条不同的链路。The i-th video frame in the video frame of the first video data corresponding to the first link is the basic frame of the first video frame, and the i-th video frame in the video frame of the first video data corresponding to the second link The video frames are extended frames of the first video frame; the first link and the second link are two different links among the N links.
  10. 根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-8, further comprising:
    确定重传视频帧集合,所述重传视频帧集合是所述N条链路各自对应的待重传的视频帧的交集;Determine a retransmission video frame set, the retransmission video frame set is the intersection of the video frames to be retransmitted respectively corresponding to the N links;
    以插队传输方式,在第j条链路中传输所述重传视频帧集合中的视频帧;其中,所述第j条链路的传输质量高于其他链路的传输质量,所述其他链路是所述N条链路中除所述第j条链路之外的链路。Transmitting the video frames in the set of retransmitted video frames in the j-th link in a queue-jumping transmission mode; wherein, the transmission quality of the j-th link is higher than that of other links, and the other chains A path is a link except the j-th link among the N links.
  11. 根据权利要求10所述的方法,其特征在于,在第j条链路中传输所述重传视频帧集合中的视频帧,包括:The method according to claim 10, wherein transmitting the video frames in the set of retransmitted video frames in the jth link comprises:
    按照所述重传视频帧集合中的视频帧的优先级从高到低的顺序,在所述第j条链路中传输。The video frames in the set of retransmitted video frames are transmitted in the j-th link in descending order of priorities of the video frames.
  12. 根据权利要求1-11任一项所述的方法,其特征在于,以插队传输方式,在第j条链路中传输所述重传视频帧集合中的视频帧,包括:The method according to any one of claims 1-11, wherein the video frames in the set of retransmitted video frames are transmitted in the jth link in a queue-jumping transmission mode, including:
    将所述重传视频帧集合插入到所述第j条链路对应的待传输视频帧队列的首位。Inserting the set of retransmitted video frames into the head of the queue of video frames to be transmitted corresponding to the jth link.
  13. 根据权利要求1-12任一项所述的方法,其特征在于,在所述N条链路中传输所述N条链路分别对应的待传输视频帧之前,所述方法还包括:The method according to any one of claims 1-12, wherein before transmitting the video frames to be transmitted respectively corresponding to the N links in the N links, the method further comprises:
    对所述N条链路分别对应的待传输视频帧进行加密。Encrypting video frames to be transmitted respectively corresponding to the N links.
  14. 一种视频数据传输装置,其特征在于,包括存储器和处理器,所述存储器与所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述视频数据传输装置执行如权利要求1至13中任一项所述的方法。A video data transmission device, characterized in that it includes a memory and a processor, the memory is coupled to the processor; the memory is used to store computer program codes, and the computer program codes include computer instructions; when the computer When the instructions are executed by the processor, the video data transmission device is made to execute the method according to any one of claims 1 to 13.
  15. 一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在视频数据传输装置上运行时,使得所述视频数据传输装置执行如权利要求1至13中任一项所述的方法。A computer storage medium, characterized in that it includes computer instructions, and when the computer instructions are run on the video data transmission device, the video data transmission device executes the method according to any one of claims 1 to 13 .
  16. 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至13中任一项所述的方法。A computer program product, characterized in that, when the computer program product is run on a computer, the computer is made to execute the method according to any one of claims 1 to 13.
PCT/CN2022/096020 2021-06-29 2022-05-30 Video data transmission method and device WO2023273763A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110729347.X 2021-06-29
CN202110729347.XA CN115550683A (en) 2021-06-29 2021-06-29 Video data transmission method and device

Publications (1)

Publication Number Publication Date
WO2023273763A1 true WO2023273763A1 (en) 2023-01-05

Family

ID=84692518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/096020 WO2023273763A1 (en) 2021-06-29 2022-05-30 Video data transmission method and device

Country Status (2)

Country Link
CN (1) CN115550683A (en)
WO (1) WO2023273763A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405741A (en) * 2023-04-21 2023-07-07 深圳大学 Video transmission scheduling method, device and medium based on multiple transmission paths

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301733A (en) * 2015-06-26 2017-01-04 中兴通讯股份有限公司 The transmission method of data and device
US20170324455A1 (en) * 2016-05-09 2017-11-09 Qualcomm Incorporated Reference signals and link adaptation for massive mimo
CN112840735A (en) * 2018-09-27 2021-05-25 弗劳恩霍夫应用研究促进协会 Side chain feedback

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945281B (en) * 2014-04-29 2018-04-17 中国联合网络通信集团有限公司 Transmission of video processing method, device and system
US20160105689A1 (en) * 2014-10-13 2016-04-14 Vigor Systems Inc. Replacing a corrupted video frame
CN104320669A (en) * 2014-10-24 2015-01-28 北京有恒斯康通信技术有限公司 Video transmission method and apparatus
CN105553868A (en) * 2015-09-21 2016-05-04 宇龙计算机通信科技(深圳)有限公司 Data transmission method and device and terminal
CN105656774B (en) * 2016-01-12 2018-10-23 东北大学 A kind of network real-time video conversation media data multipath hybrid redundancy transmission method
CN109412756A (en) * 2018-11-09 2019-03-01 广州美凯信息技术股份有限公司 A kind of double-link backup method, system and storage medium based on optical fiber 4KHDR ultra high-definition transmission of video
CN109951722A (en) * 2019-02-27 2019-06-28 腾讯科技(深圳)有限公司 The transmission method and transmitting device of video data
CN111294664A (en) * 2019-05-28 2020-06-16 杭州萤石软件有限公司 Audio and video data transmission method, electronic equipment and storage medium
CN110225347A (en) * 2019-06-24 2019-09-10 北京大米科技有限公司 Method of transmitting video data, device, electronic equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301733A (en) * 2015-06-26 2017-01-04 中兴通讯股份有限公司 The transmission method of data and device
US20170324455A1 (en) * 2016-05-09 2017-11-09 Qualcomm Incorporated Reference signals and link adaptation for massive mimo
CN112840735A (en) * 2018-09-27 2021-05-25 弗劳恩霍夫应用研究促进协会 Side chain feedback

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405741A (en) * 2023-04-21 2023-07-07 深圳大学 Video transmission scheduling method, device and medium based on multiple transmission paths
CN116405741B (en) * 2023-04-21 2024-01-16 深圳大学 Video transmission scheduling method, device and medium based on multiple transmission paths

Also Published As

Publication number Publication date
CN115550683A (en) 2022-12-30

Similar Documents

Publication Publication Date Title
WO2021004381A1 (en) Screencasting display method, and electronic apparatus
WO2021018187A1 (en) Screen projection method and device
WO2020133183A1 (en) Audio data synchronization method and device
WO2020244623A1 (en) Air-mouse mode implementation method and related device
WO2020124610A1 (en) Transmission speed control method and device
WO2022121775A1 (en) Screen projection method, and device
WO2021185300A1 (en) Service type-based data transmission policy adjusting chip, device, and method
WO2022048371A1 (en) Cross-device audio playing method, mobile terminal, electronic device and storage medium
WO2022166618A1 (en) Screen projection method and electronic device
WO2023011380A1 (en) Multi-frame fusion transmission method in beidou communication system, and related apparatus
WO2023273763A1 (en) Video data transmission method and device
WO2021043250A1 (en) Bluetooth communication method, and related device
WO2023011379A1 (en) Inbound transmission control method and system in beidou communication system, and related apparatus
WO2023124186A1 (en) Communication method and communication apparatus
WO2022111712A1 (en) Audio and video synchronization method and device
WO2022042261A1 (en) Screen sharing method, electronic device and system
WO2022042151A1 (en) Audio recording method and device
CN115525366A (en) Screen projection method and related device
WO2022095581A1 (en) Data transmission method and terminal device
WO2024012345A1 (en) Mirroring picture processing method and related apparatus
WO2023061217A1 (en) Data transmission method and apparatus
WO2022007750A1 (en) Screen sharing method, terminal, and storage medium
WO2022228213A1 (en) Data tracking method and related apparatus
WO2023039890A1 (en) Video transmission method and electronic device
WO2022188813A1 (en) Bluetooth communication method and system, and electronic device

Legal Events

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

Ref document number: 22831585

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE