Video image high-bandwidth transmission method, device and system

By compressing and converting the video stream into interface data packets and transmitting with a predetermined protocol, the problem that the existing technology cannot achieve high-speed transmission of ultra-high-definition videos is solved, and efficient video data transmission is achieved.

CN119299712AActive Publication Date: 2025-01-10NANJING ZGMICRO CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411430921.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-12
Publication Date
2025-01-10
Estimated Expiration
2044-10-12

AI Technical Summary

Technical Problem

Existing video transmission chips cannot achieve high-speed transmission of ultra-high-definition 8k videos, and cannot meet the needs of high bandwidth and efficient transmission.

Method used

By compressing the video stream and converting the compressed video stream and bypass data into interface data packets, it is transmitted using a predetermined protocol (such as A-PHY or ASA-ML), and decide whether to compress the video stream according to needs and select the appropriate one transmission protocol to improve transmission rate.

Benefits of technology

It realizes high-speed transmission of ultra-high-definition video, reduces transmission bandwidth requirements, ensures transmission standardization and efficiency, and meets the requirements of high bandwidth and high-speed transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119299712A_ABST
    Figure CN119299712A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of data transmission, in particular to a video image high-bandwidth transmission method, device and system. The method comprises the following steps: when determining to compress a video stream, compressing the video stream to obtain a compressed video stream; converting the compressed video stream and bypass data matched with the video stream into a series of interface data packets; and converting the interface data packet into data of a predetermined protocol, and transmitting the data of the predetermined protocol. In the embodiment, the video stream is compressed and transmitted, so that the demand on transmission bandwidth is reduced; meanwhile, a compressed video stream and bypass data are converted into an interface data packet, so that the format of transmission data is limited, and the transmission standardization is ensured; in addition, the data is converted into the data of the predetermined protocol for transmission, a transmission protocol can be selected according to actual needs, for example, when a high-definition video is transmitted, a high-definition video protocol can be selected for transmission, and the transmission rate is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data transmission, and in particular to a method, device and system for high-bandwidth transmission of video images. Background Art

[0002] With the vigorous development of the digital media industry, the number of multimedia devices related to digital signal transmission is also growing rapidly, and people's demands for the efficiency and reliability of digital signal transmission between transmission devices are also gradually increasing.

[0003] Existing video transmission chips usually transmit the original video image, such as a 2-megapixel video image data stream, directly from the transmitter to the receiver during high-speed transmission (high speed is defined as 8Gbps, or 8Gb per second). However, this method cannot achieve high-speed transmission of ultra-high-definition 8k (resolution is 7680×4320 pixels) video (30 frames per second). Summary of the invention

[0004] In view of this, the present invention provides a method, device and system for high-bandwidth transmission of video images to solve the problem that the prior art cannot achieve ultra-high-definition video transmission.

[0005] In a first aspect, the present invention provides a method for high-bandwidth video transmission, comprising: when determining to compress a video stream, compressing the video stream to obtain a compressed video stream; converting the compressed video stream and bypass data matching the video stream into a series of interface data packets; converting the interface data packets into data of a predetermined protocol, and transmitting the data of the predetermined protocol.

[0006] In the present invention, the video stream is compressed and transmitted, which reduces the demand for transmission bandwidth; at the same time, the compressed video stream and bypass data are converted into the form of interface data packets, which realizes the limitation of the transmission data format and ensures the standardization of transmission; in addition, the data is converted into data of a predetermined protocol for transmission, and the transmission protocol can be selected according to actual needs. For example, when transmitting high-definition video, the high-definition video protocol can be selected for transmission, thereby improving the transmission rate.

[0007] In an optional implementation, before compressing the video stream to obtain a compressed video stream, it also includes: determining whether to compress the video stream; when it is determined not to compress the video stream, converting the video stream and bypass data matching the video stream into predetermined protocol data, and transmitting the predetermined protocol data.

[0008] In the present invention, it can be determined whether to compress or not the video stream for transmission according to actual needs, thereby avoiding the problem of high requirements on computing resources when all compression transmission is adopted.

[0009] In an optional implementation, the predetermined protocol is A-PHY or ASA-ML; determining whether to compress the video stream includes: determining whether to compress the video stream according to data in a mode register; when it is determined not to compress the video stream, using a selector to directly guide the video stream and bypass data matching the video stream to a non-compressed channel; when it is determined to compress the video stream, using a selector to guide the video stream and bypass data matching the video stream to a compressed channel.

[0010] In the present invention, the A-PHY or ASA-ML protocol is used as the predetermined protocol for data transmission, which meets the high-speed and high-bandwidth transmission requirements.

[0011] In an optional embodiment, the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, the data packet information includes one or more of the following information: a first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; a second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data, and when the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data, and when the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data; when the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data.

[0012] In the present invention, data packet information and sub-data are set in the interface data packet, and the first to fifth identifiers are used to represent different data packet information respectively, thereby accurately realizing the transmission of different types of data and realizing the identification of the transmitted data.

[0013] In an optional embodiment, only one of the first to fifth identifiers in the same data packet information is valid, and when the fourth identifier is valid, the data packet information also includes: a first field indicating the number of bytes of the current row of embedded data, a first field indicating the number of bytes of the current row of embedded data in the current frame in the video stream; when the fifth identifier is valid, the data packet information also includes: a second field indicating the number of bytes of the current row of user-defined data, a second field indicating the number of bytes of the current row of user-defined data in the current frame in the video stream; and a third field indicating the data type of the user-defined data.

[0014] In the present invention, the first field, the second field and the third field representing the embedded data and the user-defined data are set in the data packet information, thereby facilitating the identification of the byte number and type of the embedded data and the user-defined data.

[0015] In an optional embodiment, when the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data, the data bit width of the sub-data is equal to M times the bit width of each embedded data, M is a natural number greater than or equal to 2, and M copies of embedded data can fill one sub-data. When the remaining embedded data in the current row cannot fill one sub-data, the first invalid data is filled in the unfilled sub-data to fill it, and the first field is used to identify the first invalid data and the embedded data in the sub-data; when the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, and N copies of embedded data fill one sub-data. When the remaining user-defined data in the current row cannot fill one sub-data, the second invalid data is filled in the unfilled sub-data to fill it, and the second field is used to identify the second invalid data and the user-defined data in the sub-data.

[0016] In the present invention, multiple copies of embedded data or user-defined data are transmitted in the sub-data, that is, the embedded data and the user-defined data are transmitted in combination, thereby achieving the effect of improving the transmission efficiency by expanding the bit width; in addition, when the embedded data or user-defined data cannot fill the sub-data, invalid data is used to supplement it, thereby ensuring the normal transmission of the data.

[0017] In an optional embodiment, when the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream.

[0018] In the present invention, multiple compressed video data are transmitted in sub-data, that is, the compressed video data are combined and transmitted, thereby achieving the effect of improving the transmission efficiency by expanding the bit width.

[0019] In an optional implementation, the data bit width in the sub-data is equal to X times the bit width of the compressed video stream, where X is a natural number greater than or equal to 2, and X portions of compressed video data in the compressed video stream fill up one sub-data. When the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, the unfilled sub-data is filled with third invalid data to fill it up; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, which is used to identify the compressed video data and the third invalid data in the sub-data.

[0020] In the present invention, when the compressed video data cannot fill up the sub-data, invalid data is used to supplement, thereby ensuring normal data transmission. Meanwhile, the sixth identifier is used to identify the invalid data, thereby facilitating the preparation and determination of the compressed video data at the receiving end.

[0021] In an optional embodiment, in each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same.

[0022] In an optional implementation, the number of sub-data in different interface data packets is set to be the same or different.

[0023] In the present invention, the number of sub-packets in each interface data packet can be determined as needed, and the number of sub-packets in different interface data packets can be set to be the same or different as needed to ensure that the bypass data of each line of each frame of the video stream is transmitted in a timely manner.

[0024] In a second aspect, the present invention provides a method for high-bandwidth video transmission, which includes: receiving data of a predetermined protocol, converting the data of the predetermined protocol into a series of interface data packets; parsing the interface data packets to obtain a video stream and bypass data; when the video stream is a compressed video stream, decompressing the compressed video stream, and transmitting the decompressed video stream and bypass data.

[0025] In an optional embodiment, the predetermined protocol is A-PHY or ASA-ML. When the video stream is a compressed video stream, before decompressing the compressed video stream, it also includes: determining whether the video stream is a compressed video stream or a non-compressed video stream according to a mode register; when the video stream is determined to be a compressed video stream, using a selector to guide the compressed video stream to a decompression channel; when the video stream is determined to be an uncompressed video stream, using a selector to guide the non-compressed video stream to a non-decompression channel.

[0026] In an optional embodiment, the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, the data packet information includes one or more of the following information: a first identifier indicating the beginning of a frame, wherein when the first identifier is valid, it indicates the beginning of a frame; a second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; indicating that the data in the sub-data in the current interface data packet is embedded a fourth identifier of format data, when the fourth identifier is valid, it indicates that the data in the sub-data of the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data of the current interface data packet is user-defined data, when the fifth identifier is valid, it indicates that the data in the sub-data of the current interface data packet is user-defined data; when the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data; only one of the first identifier to the fifth identifier in the same data packet information can be valid, and when the fourth identifier is valid, the data packet information also includes: an embedded The first field of the number of bytes of the embedded data represents the first field of the number of bytes of the current row of the embedded data; when the fifth identifier is valid, the data packet information also includes: a second field representing the number of bytes of the user-defined data of the current row of the current frame in the video stream; a second field representing the number of bytes of the current row of the user-defined data; and a third field representing the data type of the user-defined data; when the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more copies of embedded data, and the data bit width of the sub-data is equal to M times the bit width of each copy of the embedded data, M is a natural number greater than or equal to 2, and M copies of embedded data can fill one sub-data, and the remaining embedded data in the current row cannot fill When a sub-data is full, first invalid data is filled in the unfilled sub-data to fill it up, and the first field is used to identify the first invalid data and embedded data in the sub-data; when the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, and N embedded data fills one sub-data, and when the remaining user-defined data in the current row cannot fill one sub-data, second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and user-defined data in the sub-data;When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module; the data bit width in the sub-data is equal to X times the bit width of the compressed video stream, X is a natural number greater than or equal to 2, and X compressed video data in the compressed video stream fills up one sub-data, and when the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, the third invalid data is filled in the unfilled sub-data to fill it up; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data. ;

[0027] In an optional embodiment, in each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same.

[0028] In a third aspect, the present invention provides a video high-bandwidth transmission device, comprising: a compression module, which is used to compress the video stream to obtain a compressed video stream when it is determined that the video stream is to be compressed; a first data packet interface, which is used to convert the compressed video stream and bypass data matching the video stream into a series of interface data packets; a first protocol adaptation layer, which is used to convert the interface data packet into data of a predetermined protocol and transmit the data of the predetermined protocol.

[0029] In an optional embodiment, it also includes: a first mode register, which is used to determine whether to compress the video stream; a first selector, which is used to guide the video stream and the bypass data matching the video stream directly to the non-compressed channel when it is determined that the video stream does not need to be compressed, and transmit it to the protocol adaptation layer through the non-compressed channel; the first selector is also used to guide the video stream and the bypass data matching the video stream to the compressed channel when it is determined that the video stream is to be compressed, and transmit it to the data packet interface through the compressed channel; the predetermined protocol is A-PHY or ASA-ML; the data packet interface includes: a bypass data cache, the bit width of the output data of the bypass data cache is M times the bit width of the input data, M is a natural number greater than or equal to 2, and the bypass data cache outputs M copies of bypass data each time.

[0030] In an optional embodiment, the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, the data packet information includes one or more of the following information: a first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; a second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data, and when the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data, and when the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data; when the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include sub-data, and in the third identifier, When the first identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes sub-data, and only one of the first identifier to the fifth identifier in the same data packet information can be valid. When the fourth identifier is valid, the data packet information also includes: a first field indicating the number of bytes of the embedded data of the current row of the current frame in the video stream, and a first field indicating the number of bytes of the current row of the embedded data; when the fifth identifier is valid, the data packet information also includes: a second field indicating the number of bytes of the user-defined data of the current row of the current frame in the video stream, and a second field indicating the number of bytes of the current row of the user-defined data; and a third field indicating the data type of the user-defined data. When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data, and the data bit width of the sub-data is equal to M times the bit width of each embedded data, where M is a natural number greater than or equal to 2, and M embedded data can fill up one sub-data. When the remaining embedded data in the current row cannot fill up one sub-data, the unfilled sub-data is filled with first invalid data to fill it up, and the first field is used to identify invalid data and embedded data in the sub-data;When the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, N embedded data fills up one sub-data, when the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, the second field is used to identify the second invalid data and the user-defined data in the sub-data, when the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module, the data bit width in the sub-data is equal to X times the bit width of the compressed video stream output by the compression module, X is greater than or equal to 2. A natural number, X portions of compressed video data in the compressed video stream output by the compression module fill one sub-data, and when the remaining compressed video stream fails to fill one sub-data at the end of each frame of the video stream, the third invalid data is filled in the unfilled sub-data to fill it up; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data; in each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface, and in each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same. ;

[0031] In a fourth aspect, the present invention provides a video high-bandwidth transmission device, comprising: a second protocol adaptation layer, which is used to receive data of a predetermined protocol and convert the data of the predetermined protocol into a series of interface data packets; a second data packet interface, which is used to parse the interface data packets to obtain a video stream and bypass data; a decompression module, which is used to decompress the compressed video stream when the video stream is a compressed video stream, and transmit the decompressed video stream and bypass data.

[0032] In an optional embodiment, it also includes: a second mode register, which is used to determine whether the video stream is a compressed video stream or an uncompressed video stream; a second selector, which is used to guide the compressed video stream to the decompression channel when the video stream is determined to be a compressed video stream, and transmit it to the decompression module through the decompression channel; the second selector is also used to guide the uncompressed video stream to the non-decompression channel for transmission when the video stream is determined to be an uncompressed video stream; the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, and the data packet information includes one or more of the following information : A first identifier indicating the start of a frame, wherein the first identifier is valid, indicating the start of a frame; a second identifier indicating the end of a frame, wherein the second identifier is valid, indicating the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, wherein the third identifier is valid, indicating that the data in the sub-data in the current interface data packet is compressed video data; a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data, wherein the fourth identifier is valid, indicating that the data in the sub-data in the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data, wherein the fifth identifier is valid When the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data; only one of the first identifier to the fifth identifier in the same data packet information is valid, and when the fourth identifier is valid, the data packet information also includes: a first field indicating the number of bytes of the current row of the current frame in the video stream, a first field indicating the number of bytes of the current row of the embedded data; when the fifth identifier is valid, the data packet information also includes: a first field indicating the number of bytes of the current row of the current frame in the video stream, a first field indicating the number of bytes of the current row of the embedded data; The second field defining the number of bytes of the data indicates the second field indicating the number of bytes of the current row of the user-defined data; and the third field indicating the data type of the user-defined data; when the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data, the data bit width of the sub-data is equal to M times the bit width of each embedded data, M is a natural number greater than or equal to 2, M embedded data can fill up one sub-data, when the remaining embedded data in the current row cannot fill up one sub-data, the first invalid data is filled in the unfilled sub-data to fill it up, and the first field is used to identify the first invalid data and the embedded data in the sub-data;When the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, N embedded data fills up one sub-data, and when the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data; when the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in a compressed video stream output by a compression module, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module; the data bit width in the sub-data is equal to X times the bit width of the compressed video stream, X is greater than A natural number equal to 2, X portions of compressed video data in the compressed video stream fill one sub-data, and when the remaining compressed video stream of each frame of the video stream fails to fill one sub-data, the third invalid data is filled in the unfilled sub-data to fill it; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data; in each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface, and in each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same. ;

[0033] In a fifth aspect, the present invention provides a video high-bandwidth transmission system, comprising: a video sending end, which is a video high-bandwidth transmission device as described in the third aspect of the present invention and any one of the above; a video receiving end, which is a video high-bandwidth transmission device as described in the fourth aspect of the present invention and any one of the above.

[0034] In a sixth aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the video high-bandwidth transmission method of the first aspect of the present invention and any one of the first aspects or the video high-bandwidth transmission method of the second aspect of the present invention and any one of the second aspects by executing the computer instructions. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0036] Figure 1 is a schematic diagram of a process of a high-bandwidth transmission method for video images according to an embodiment of the present invention;

[0037] Figure 2 is a flow chart of another method for high-bandwidth transmission of video images according to an embodiment of the present invention;

[0038] Figure 3 is a schematic diagram of the combination of compressed video image data to be transmitted and bypass data according to an embodiment of the present invention;

[0039] Figure 4 is a data timing diagram of a data packet interface according to an embodiment of the present invention;

[0040] Figure 5 is a flow chart of another video image high-bandwidth transmission method according to an embodiment of the present invention;

[0041] Figure 6 is a flowchart of another method for high-bandwidth transmission of video images according to an embodiment of the present invention;

[0042] Figure 7 is a structural block diagram of a video image high-bandwidth transmission system according to an embodiment of the present invention;

[0043] Figure 8 is a structural block diagram of a video image high-bandwidth transmission system according to an embodiment of the present invention;

[0044] Fig. 9 is a structural block diagram of another video image high-bandwidth transmission system according to an embodiment of the present invention;

[0045] Fig.10 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0046] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0047] According to an embodiment of the present invention, an embodiment of a high-bandwidth video transmission method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0048] In this embodiment, a high-bandwidth video transmission method is provided, which can be used at a video sending end. Figure 1 is a flow chart of a method for high-bandwidth video transmission according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0049] Step S101, when it is determined to compress the video stream, compress the video stream to obtain a compressed video stream; specifically, whether to compress the video stream can be determined according to the size of the video stream. When the resolution of the transmitted video stream is large, the video stream can be compressed. When compressing the video stream, a video compression algorithm can be used, for example, a frame difference method or an H.264 encoder can be used to achieve compression. The specific compression algorithm can be determined according to actual conditions and will not be described in detail here.

[0050] Step S102, converting the bypass data matching the compressed video stream and the video stream into a series of interface data packets; wherein the bypass data may be some subtitles or audio, title, label and other data added to the video. The bypass data is specifically embedded data or user-defined data. The bypass data belongs to non-video image data and is not compressed. The video stream is the video image data stream, and the bypass data and the video stream together constitute the camera serial interface data stream (camera serial interface, CSI data stream). Before the bypass data and the compressed video stream are transmitted, they can be converted into the format of the interface data packet to facilitate transmission.

[0051] Step S103, converting the interface data packet into data of a predetermined protocol, and transmitting the data of the predetermined protocol. Specifically, a protocol adaptation layer can be used to implement protocol conversion, that is, a series of interface data packets are converted according to a predetermined protocol, and after conversion, the converted data can be transmitted using the predetermined protocol, for example, to a video receiving end.

[0052] In this embodiment, a video high-bandwidth transmission method is provided. Figure 2 As shown, the method comprises the following steps:

[0053] Step S201, determining whether to compress the video stream.

[0054] Specifically, the above step S201 includes:

[0055] Step S2011, determining whether to compress the video stream according to the data in the mode register; specifically, the mode register can be set in the video transmitter, and after receiving the camera serial interface data stream containing the video stream and bypass data, the video transmitter can determine whether to compress according to the resolution size of the video stream or other rules. The determination process can be implemented by the mode register.

[0056] Step S2012, when it is determined that the video stream is not to be compressed, a selector is used to directly guide the video stream and the bypass data matching the video stream to the non-compressed channel; specifically, when it is determined that no compression is performed, a selector can be used to guide the camera serial interface data stream to the non-compressed channel in the video transmitter for transmission. The non-compressed channel can directly realize the transparent transmission of the camera serial interface data stream, that is, the video stream is not compressed, and the camera serial interface data stream containing the video stream and the bypass data is directly transmitted to the protocol adaptation layer through the non-compressed channel.

[0057] Step S2013, when it is determined to compress the video stream, a selector is used to guide the video stream and the bypass data matching the video stream to the compression channel. Specifically, when it is determined to compress, a selector can be used to guide the camera serial interface data stream to the compression channel in the video transmitter. The video stream is compressed in the compression channel.

[0058] Step S202, when it is determined that the video stream is not to be compressed, the video stream and the bypass data matching the video stream are converted into data of a predetermined protocol, and the predetermined protocol data is transmitted. Specifically, the selector transmits the camera serial interface data stream containing the video stream and the bypass data to the protocol adaptation layer through an uncompressed channel, and the protocol adaptation layer converts it into data of a predetermined protocol.

[0059] Step S203: When it is determined that the video stream is to be compressed, the video stream is compressed to obtain a compressed video stream. Figure 1 Step S101 of the illustrated embodiment will not be described in detail here.

[0060] Step S204: convert the compressed video stream and the bypass data matching the video stream into a series of interface data packets.

[0061] In an optional embodiment, the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, the data packet information includes one or more of the following information: a first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; a second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data, and when the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data, and when the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data; when the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data.

[0062] Only one of the first to fifth identifiers in the same data packet information is valid. When the fourth identifier is valid, the data packet information also includes: a first field indicating the number of bytes in the current row of embedded data; when the fifth identifier is valid, the data packet information also includes: a second field indicating the number of bytes in the current row of user-defined data; and a third field indicating the data type of the user-defined data.

[0063] Specifically, when the interface data packet is obtained by conversion, each frame of data in the compressed video stream, embedded data (also called embedded data stream) and user-defined data (also called user-defined data stream) is processed according to the row. When the video stream and bypass data are converted into the interface data packet, the data packet information can be set in the interface data packet to indicate the transmission data type. Among them, the first identifier to the fifth identifier in the data packet information indicate different transmission data types (different transmission data types include frame start, frame end, embedded data, user-defined data or compressed video data). In this embodiment, different data bits of the data packet information are used to indicate the first identifier to the fifth identifier. At the same time, other data bits of the data packet information can also realize the transmission of other data.

[0064] Among them, since the receiving end will regenerate parameters such as image format, image width and image height when decompressing the compressed video stream, it is necessary to send signals such as the data type of the user-defined data (6-bit pix_data_type signal, the user-defined data has multiple data types, and the embedded data has a unique data type), the number of valid data bytes per line of bypass data (16-bit pix_wc signal), the frame sequence number of the image (16-bit frame_number signal), and the virtual channel identifier (5-bit vcid signal) from the transmitting end to the receiving end. In this embodiment, the transmission of these parameters is achieved through other data bits of the data packet information.

[0065] In this embodiment, the data packet information includes a total of 64 bits, and the upper five bits represent the first to fifth identifiers respectively. When the corresponding data bit is 1, it indicates that the corresponding identifier is valid, wherein the upper five bits of the data packet information are mutually exclusive (that is, only one of the first to fifth identifiers in the same data packet information is valid), and the lower 59 bits of the data packet information can be defined repeatedly. It should be noted that since the upper 5 bits of the data packet information are mutually exclusive, the lower 59 bits can be defined repeatedly. When parsing, the receiving end can first judge the upper 5 bits, that is, determine the transmission data type and then check the lower 59 bits. Among them, the specific 64-bit setting of the data packet information representing the transmission data type (pkt_info_dst) can refer to the following Table 1:

[0066] Table 1

[0067]

[0068] As shown in Table 1 above, the data packet information in the interface data packet includes a first identifier indicating the start of a frame (Vsync), a second identifier indicating the end of a frame (Frame_end), a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data (Enc_data), a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data (Embedded_data), and a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data (User_define_data), that is, the data packet information can be represented by its upper five bits [59,63] to represent five different identifiers. At the same time, the lower 59 bits of the data packet information can also realize the transmission of other data.

[0069] Among them, when the first identifier of the data packet information, i.e., pkt_info_dst

[63] , is valid, other data bits such as pkt_info_dst[15:0] can be used to transmit the frame sequence number (frame_number) of the image, and pkt_info_dst[20:16] can be used to transmit the virtual channel identifier (vcid). When the fourth identifier of the data packet information, pkt_info_dst

[61] , is valid, the data packet information can also include a first field indicating the number of bytes of the current row of embedded data, for example, using data bits such as pkt_info_dst[15:0] to indicate the number of bytes of this row of embedded data (pix_wc). When the fourth identifier pkt_info_dst

[60] of the data packet information is valid, the data packet information also includes a second field indicating the number of bytes of the current row of user-defined data. For example, data bits such as pkt_info_dst[31:16] can be used to indicate the number of bytes of this row of user-defined data (pix_wc), and data bits such as pkt_info_dst[37:32] can also be used to indicate the data type (pix_data_type) of the current user-defined data.

[0070] In an optional embodiment, when the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data, the data bit width of the sub-data is equal to M times the bit width of each embedded data, M is a natural number greater than or equal to 2, and M embedded data can fill one sub-data. When the remaining embedded data in the current row cannot fill one sub-data, the first invalid data is filled in the unfilled sub-data to fill it, and the first field is used to identify the first invalid data and embedded data in the sub-data.

[0071] When the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, and N embedded data fill up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data.

[0072] When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream. The data bit width in the sub-data is equal to X times the bit width of the compressed video stream, where X is a natural number greater than or equal to 2, and X compressed video data in the compressed video stream fills up one sub-data. When the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, the third invalid data is filled in the unfilled sub-data to fill it up; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, which is used to identify the compressed video data and the third invalid data in the sub-data.

[0073] Specifically, when the video stream is compressed and transmitted, the bandwidth requirement is reduced and the transmission efficiency is improved. On this basis, in order to further improve the transmission efficiency, the bit width of the sub-data in the interface data packet can be expanded so that each sub-data can accommodate multiple embedded data, multiple user-defined data or multiple compressed video data. When setting the bit width of the sub-data, the data bit width of the sub-data can be set to be equal to M times the bit width of each embedded data, the data bit width of the sub-data can be set to be equal to N times the bit width of each user-defined data, or the data bit width in the sub-data can be set to be equal to X times the bit width of the compressed video stream.

[0074] In practical applications, in order to allow the sub-data in different interface data packets to accommodate multiple embedded data, multiple user-defined data or multiple compressed video data, the bit width of the sub-data can be set to the least common multiple of the embedded data bit width, the user-defined data bit width and the compressed video data bit width. Figure 3 As shown, when the bit width of the compressed video data is 32 bits, the bypass data (including user-defined data and embedded data) outputs a bit width of 64 bits per clock cycle, and the bit width of the sub-data can be set to 128 bits. Thus, each sub-data includes two embedded data, two user-defined data, or four compressed video data. That is, when the interface data packet is obtained by conversion, the four compressed data can be combined to form the sub-data in one interface data packet, and the two bypass data can be combined to form the sub-data in one interface data packet.

[0075] In actual transmission, the number of bytes in each row of bypass data is not fixed. When combining multiple copies of bypass data to form sub-data, there may be insufficient data in the current row to make up multiple copies of bypass data. When the fourth identifier or the fifth identifier of the data packet information in the interface data packet is valid, the data packet information contains a first field indicating the number of bytes in the current row of embedded data or a second field indicating the number of bytes in the current row of user-defined data. Therefore, the number of bytes in the current row of embedded data or user-defined data can be determined based on the first field or the second field, and whether the current row of bypass data can be combined to form multiple copies of bypass data can be determined based on the number of bytes.

[0076] In addition, when the transmitting end compresses the video stream, there will be a delay phenomenon. For example, for a frame of data in the video stream (a frame of data includes multiple lines), the transmitting end will compress it after receiving 2 to 4 lines, that is, there will be a delay of 2 to 4 lines when compressing the image. Therefore, if the bypass data should be at the end line of a frame of data, the position of the bypass data in a frame will change due to the delay phenomenon during the compression of the video stream. Based on this, this embodiment sets a bypass data cache at the transmitting end, and the bit width of the output data of the bypass data cache is M times the bit width of the input data, M is a natural number greater than or equal to 2, and the bypass data cache outputs M copies of bypass data each time. For example, when the bypass data bit width is 64 bits, the bit width of the input data of the bypass data cache is 64 bits, the bit width of the output data is 128 bits, and the capacity is depth 512×bit width 128 bits. In addition, since the bit width of the output data of the bypass data cache is M times the bit width of the input data, the bypass data cache output data can directly constitute a sub-data of an interface data packet.

[0077] When bypass data is input into the bypass data cache, the number of bytes of the current row of the input bypass data can be determined. If it is determined that the number of bytes of the current row cannot reach the bit width of the output data of the bypass data cache, the first invalid data or the second invalid data is supplemented according to the type of the bypass data to make it reach the bit width of the output data. For example, the current row of bypass data includes 64 bits of data. When the bit width of the output data is 128 bits, it is necessary to supplement 64 bits of first invalid data. The supplemented first invalid data or second invalid data can be determined by copying the current row data. For example, when transmitting embedded data, the 64 bits of data of the current row can be copied as the first invalid data. When transmitting user-defined data, the 64 bits of data of the current row can be copied as the second invalid data. In addition, other methods can also be used to determine the first invalid data or the second invalid data. Moreover, since the output data of the bypass data cache can directly constitute a sub-data of an interface data packet, supplementing the first invalid data and the second invalid data in the bypass data cache is also equivalent to filling the sub-data.

[0078] At the same time, the number of data in a frame of compressed video data is not fixed. If it is detected that when a frame of compressed video stream transmission ends, the last remaining data bit width does not meet the requirement of a sub-data bit width, the third invalid data is filled to fill a sub-data. For example, the compressed video stream bit width is 32 bits, and the sub-data bit width is 128 bits. After 4 compressed video data in a frame of compressed video stream form a sub-data, there are still 2 compressed video data remaining, but 2 compressed video data cannot form a sub-data, therefore, 64 bits of third invalid data can be filled, and the third invalid data can be composed of 0. Thus, the sub-data includes 64 bits of compressed video data and 64 bits of third invalid data. At the same time, the filled third invalid data also needs to be identified at the receiving end, therefore, a sixth identifier can be set in the interface data packet, and the sixth identifier is used to identify the third invalid data in the sub-data. For example, the sixth identifier can be expressed as pkt_byte_dst, where when only one compressed video data is valid (that is, the third invalid data is 96 bits), pkt_byte_dst is 5'd3; when one compressed video data is valid, pkt_byte_dst is 5'd7; when three compressed video data are valid, pkt_byte_dst is 5'd11; and when four compressed video data are valid, pkt_byte_dst is 5'd15.

[0079] In an optional implementation, in each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, an interface data packet is transmitted in each data packet transmission cycle of the data packet interface, and in each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same. The number of sub-data in different interface data packets is set to be the same or different.

[0080] Specifically, the data includes a timing diagram of the interface such as Figure 4As shown, pkt_clock represents the data packet interface clock; pkt_req_dst represents the handshake request, which means asking the protocol adaptation layer whether it can send data at present; pkt_rdy_dst represents the handshake reply, which means the reply of the protocol adaptation layer to whether it can send data at present. A high level indicates that it can be sent, and a low level indicates that it cannot be sent; pkt_vld_dst indicates whether the current data is valid. A high level indicates that it is valid data, and a low level indicates that the data bit is not valid data; pkt_data_dst[1 27:0] indicates the transmitted 128-bit compressed video stream; pkt_byte_dst[4:0] indicates the sixth identifier, i.e., identifies the valid compressed video data in the sub-data. For example, when it is 0, it indicates that the upper eight bits (i.e., the highest bit) are valid, i.e., bits 127-120 are valid (or the highest bit 1 byte is valid); when it is 1, it indicates that the upper two bits are valid; when it is 3, it indicates that the upper three bits are valid; when it is 15, it indicates that the upper 15 bits are valid; pkt_info_dst[63:0] indicates the transmission data type data, i.e., the data packet information contained in the interface data packet. DATA0, DATA1, DATA2, and DATA3 are the sub-data contained in the interface data packet.

[0081] Furthermore, it can be seen from the timing diagram that in each data packet interface clock cycle, the data transmitted in parallel through the transmission line of the data packet interface includes a data packet information (pkt_info_dst), a sub-data (such as compressed video data pkt_data_dst) and / or a sixth identifier (pkt_byte_dst). At the same time, each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface. It can be seen from the timing diagram that the interface data packet includes a total of four data packet interface clock cycles, and the four sub-data transmitted in the four data packet interface clock cycles are DATA0, DATA1, DATA2, and DATA3 respectively.

[0082] In addition, the number of sub-packets in each interface data packet is determined as needed, and the number of sub-packets in different interface data packets can be set to be the same or different as needed to ensure that the bypass data of each line of each frame of the video stream is transmitted in a timely manner.

[0083] Step S205, convert the interface data packet into data of a predetermined protocol, and transmit the data of the predetermined protocol. The predetermined protocol may be A-PHY (mobile industry processor interface) or ASA-ML (ASA Motion link). The A-PHY protocol can achieve a data transmission rate of up to 12 Gbps, which meets the demand for high-bandwidth transmission. At the same time, a bandwidth of 12 Gbps can support the transmission of 4K or even 8K videos, and when the video is compressed for transmission, the demand for transmission bandwidth can be further reduced. Therefore, in this embodiment, the video image data to be transmitted is compressed, and the A-PHY protocol is used for data transmission, so that the transmission of high-definition video images with a resolution of 8k or above can be achieved.

[0084] In this embodiment, a video high-bandwidth transmission method is provided. Figure 5 As shown, the method comprises the following steps:

[0085] Step S301, receiving data of a predetermined protocol, and converting the data of the predetermined protocol into a series of interface data packets; specifically, after receiving the data of the predetermined protocol, the video receiving end can use a protocol adaptation layer to implement protocol conversion, that is, converting the data of the predetermined protocol into a series of interface data packets.

[0086] Whether to compress the video stream can be determined according to the size of the video stream. When the resolution of the transmitted video stream is large, the video stream can be compressed. When compressing the video stream, a video compression algorithm can be used, such as a frame difference method or an H.264 encoder. The specific compression algorithm can be determined according to the actual situation and will not be described in detail here.

[0087] Step S302, parsing the interface data packet to obtain the video stream and the bypass data; wherein the interface data packet includes the video stream and the bypass data, so the interface data packet needs to be parsed to separate the video stream and the bypass data.

[0088] Step S303, when the video stream is a compressed video stream, decompress the compressed video stream, and transmit the decompressed video stream and bypass data. Specifically, when the separated video stream is a compressed video stream, it needs to be decompressed, wherein when decompressing the compressed video stream, a video decompression algorithm can be used to implement, for example, a frame difference method or an H.264 encoder can be used to implement decompression, and the specific decompression algorithm can be determined according to the algorithm used during compression.

[0089] In this embodiment, a video high-bandwidth transmission method is provided. Figure 6 As shown, the method comprises the following steps:

[0090] Step S401, receiving data of a predetermined protocol, and converting the data of the predetermined protocol into a series of interface data packets. The predetermined protocol is A-PHY or ASA-ML.

[0091] In an optional embodiment, the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, the data packet information includes one or more of the following information: a first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; a second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data, and when the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data, and when the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data; when the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data.

[0092] Only one of the first to fifth identifiers in the same data packet information is valid. When the fourth identifier is valid, the data packet information further includes: a first field indicating the number of bytes of the embedded data of the current row of the current frame in the video stream; a first field indicating the number of bytes of the current row of the embedded data; when the fifth identifier is valid, the data packet information further includes: a second field indicating the number of bytes of the user-defined data of the current row of the current frame in the video stream; a second field indicating the number of bytes of the current row of the user-defined data; and a third field indicating the data type of the user-defined data;

[0093] When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data, and the data bit width of the sub-data is equal to M times the bit width of each embedded data, M is a natural number greater than or equal to 2, and M embedded data can fill one sub-data. When the remaining embedded data in the current row cannot fill one sub-data, the first invalid data is filled in the unfilled sub-data to fill it up, and the first field is used to identify the first invalid data and embedded data in the sub-data.

[0094] When the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, and N embedded data fill up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data.

[0095] When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module; the data bit width in the sub-data is equal to X times the bit width of the compressed video stream, X is a natural number greater than or equal to 2, and X compressed video data in the compressed video stream fills up one sub-data. When the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, the third invalid data is filled in the unfilled sub-data to fill it up; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data.

[0096] In each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface. Each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles. An interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same.

[0097] Step S402, parse the interface data packet to obtain the video stream and bypass data; please refer to step S302 of the above embodiment for details, which will not be repeated here.

[0098] Step S403, determining whether the video stream is a compressed video stream or an uncompressed video stream according to the mode register; specifically, the mode register can be set in the video receiving end, and after parsing the video stream, the video receiving end can determine whether the video stream is a compressed video stream according to the mode register. The mode register can determine whether the video is compressed according to the signal sent by the video sending end, or according to the format of the video stream obtained by parsing. This embodiment does not specifically limit this.

[0099] Step S404: When it is determined that the video stream is a compressed video stream, a selector is used to guide the compressed video stream to a decompression channel; specifically, when it is determined that the video stream is a compressed video stream, a selector can be used to guide the compressed video stream to a decompression channel in the video receiving end. The video stream is decompressed in the decompression channel.

[0100] Step S405, when it is determined that the video stream is a non-compressed video stream, a selector is used to guide the non-compressed video stream to a non-decompressed channel. Specifically, when it is determined that the video stream is a non-compressed video stream, a selector can be used to guide the video stream to a non-decompressed channel in the video receiving end for transmission. The non-decompressed channel can directly transmit the video stream, that is, directly output the video stream and bypass data through the non-compressed channel.

[0101] Step S406: when the video stream is a compressed video stream, decompress the compressed video stream, and transmit the decompressed video stream and bypass data. Please refer to step S303 of the above embodiment for details, which will not be repeated here.

[0102] In this embodiment, a video high-bandwidth transmission system is provided. Figure 7 As shown, the system includes: a video sending end and a video receiving end.

[0103] The video transmitter is used to compress the video stream to obtain a compressed video stream when it is determined that the video stream is to be compressed; convert the compressed video stream and the bypass data matching the video stream into a series of interface data packets; the protocol adaptation layer converts the interface data packets into data of a predetermined protocol and transmits the data of the predetermined protocol;

[0104] The video receiving end is used to receive data of a predetermined protocol and convert the data of the predetermined protocol into a series of interface data packets; parse the interface data packets to obtain a video stream and bypass data; when the video stream is a compressed video stream, decompress the compressed video stream, and transmit the decompressed video stream and bypass data.

[0105] Specifically, Figure 7 As shown, in this embodiment, a mode register, a selector, a compression channel and a non-compression channel are set at the transmitting end, and a mode register, a selector, a decompression channel and a non-compression channel are set at the receiving end. The transmitting end receives the camera serial interface data stream (including a video image data stream (referred to as video stream) and bypass data, and the bypass data includes an embedded data stream or a user-defined data stream), determines whether to compress the video stream through the mode register, and uses the selector to transmit it to the corresponding channel.

[0106] For example, when it is determined not to compress, the selector transmits the camera serial interface data stream to the non-compressed channel, that is, directly transmits the camera serial interface data stream to the protocol adaptation layer; when it is determined to compress, the selector transmits the camera serial interface data stream to the compression channel, in which a pre-compression module, a compression module and a post-compression module can be set. In the pre-compression module, the video image data and bypass data to be transmitted can be pre-processed, such as denoising, sharpening, color space conversion, content adaptive analysis, slicing and partitioning, etc. The pre-processed bypass data is directly sent to the post-compression module, and the pre-processed video stream is sent to the compression module for compression. The specific algorithms used in compression can be implemented with reference to the relevant technology, which will not be repeated here. The compression module transmits the compressed video stream (i.e., compressed stream) to the post-compression module, and in the post-compression module, the compressed video stream and bypass data are integrated and converted into interface data packets and sent to the protocol adaptation layer.

[0107] The Protocol Adaptation Layer (PAL) receives the camera serial interface data stream transmitted through the transmission, converts it into A-PHY protocol interface data, and then transmits it to the protocol adaptation layer of the receiving end using the A-PHY protocol. The protocol adaptation layer of the receiving end converts the received A-PHY protocol interface data into the camera serial interface data stream. In addition, the protocol adaptation layer can also receive the interface data packet and convert it into A-PHY protocol interface data, and then transmit it to the protocol adaptation layer of the receiving end using the A-PHY protocol. The protocol adaptation layer converts the received A-PHY protocol interface data into the interface data packet.

[0108] For the camera serial interface data stream or interface data packet converted by the protocol adaptation layer of the receiving end, the mode register of the receiving end is used to determine whether decompression is required. When it is determined that decompression is required, the receiving end selector transmits the interface data packet to the decompression channel. The pre-decompression module, the decompression module and the post-decompression module can be set in the decompression channel. In the pre-decompression module, the interface data packet can be parsed, that is, the compressed video stream and bypass data contained in the interface data packet are parsed, and the bypass data obtained by parsing is directly sent to the post-decompression module, and the compressed video stream obtained by parsing is sent to the decompression module for decompression. The relevant algorithms used in the decompression can be implemented with reference to the relevant technology, which will not be repeated here. The decompression module transmits the decompressed video stream to the post-decompression module. When it is determined that decompression is not required, the receiving end selector transmits the camera serial interface data stream to the non-compressed channel, that is, the camera serial interface data stream is directly transmitted to the post-decompression module. After receiving the camera serial interface data stream or the decompressed video stream and the bypass data, the decompressed module adjusts the timing thereof, that is, makes the adjusted data consistent with the data received by the transmitter, and outputs the adjusted data.

[0109] In this embodiment, a video high-bandwidth transmission device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0110] In this embodiment, a video high-bandwidth transmission device is provided. Figure 8 As shown, the device comprises:

[0111] A compression module 81, which is used to compress the video stream to obtain a compressed video stream when it is determined to compress the video stream;

[0112] A first data packet interface 82, which is used to convert the compressed video stream and the bypass data matching the video stream into a series of interface data packets;

[0113] The first protocol adaptation layer 83 is used to convert the interface data packet into data of a predetermined protocol and transmit the data of the predetermined protocol.

[0114] In an optional embodiment, the device further comprises:

[0115] A first mode register, which is used to determine whether to compress the video stream;

[0116] A first selector, which is used to guide the video stream and the bypass data matching the video stream directly to the non-compressed channel when it is determined that the video stream does not need to be compressed, and transmit the video stream and the bypass data matching the video stream to the protocol adaptation layer through the non-compressed channel;

[0117] The first selector is also used to guide the video stream and the bypass data matching the video stream to the compression channel when it is determined that the video stream is to be compressed, and transmit the video stream and the bypass data matching the video stream to the compression channel to the data packet interface;

[0118] In an optional implementation, the predetermined protocol is A-PHY or ASA-ML; the data packet interface includes: a bypass data cache, the bit width of the output data of the bypass data cache is M times the bit width of the input data, M is a natural number greater than or equal to 2, and the bypass data cache outputs M copies of bypass data each time.

[0119] In an optional implementation, the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, the data packet information includes one or more of the following information: a first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; a second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data, and when the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data, and when the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data; when the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data, and only one of the first to fifth identifiers in the same data packet information can be valid,

[0120] When the fourth identifier is valid, the data packet information also includes: a first field indicating the number of bytes in the current row of embedded data; when the fifth identifier is valid, the data packet information also includes: a second field indicating the number of bytes in the current row of user-defined data; and a third field indicating the data type of the user-defined data. When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data, and the data bit width of the sub-data is equal to M times the bit width of each embedded data, where M is a natural number greater than or equal to 2, and M embedded data can fill up one sub-data. When the remaining embedded data in the current row cannot fill up one sub-data, the first invalid data is filled in the unfilled sub-data to fill it up. The first field is used to identify invalid data and embedded data in the sub-data.

[0121] When the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, and N embedded data fill up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data.

[0122] When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module, the data bit width in the sub-data is equal to X times the bit width of the compressed video stream output by the compression module, X is a natural number greater than or equal to 2, X compressed video data in the compressed video stream output by the compression module fill up one sub-data, and when the remaining compressed video stream fails to fill up one sub-data at the end of each frame of the video stream, the third invalid data is filled in the unfilled sub-data to fill it up; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data.

[0123] In each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface. Each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles. An interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same.

[0124] In this embodiment, a video high-bandwidth transmission device is provided. Fig. 9 As shown, the device comprises:

[0125] A second protocol adaptation layer 91, which is used to receive data of a predetermined protocol and convert the data of the predetermined protocol into a series of interface data packets;

[0126] A second data packet interface 92, which is used to parse the interface data packet to obtain the video stream and bypass data;

[0127] The decompression module 93 is used to decompress the compressed video stream when the video stream is a compressed video stream, and transmit the decompressed video stream and bypass data.

[0128] In an optional embodiment, the device further comprises:

[0129] A second mode register, which is used to determine whether the video stream is a compressed video stream or an uncompressed video stream;

[0130] A second selector, which is used to guide the compressed video stream to a decompression channel when determining that the video stream is a compressed video stream, and transmit it to a decompression module through the decompression channel;

[0131] The second selector is also used to direct the non-compressed video stream to the non-decompression channel for transmission when it is determined that the video stream is a non-compressed video stream;

[0132] In an optional embodiment, the bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, the data packet information includes one or more of the following information: a first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; a second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; a third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; a fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data, and when the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data; a fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data, and when the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data; when the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data.

[0133] Only one of the first to fifth identifiers in the same data packet information is valid. When the fourth identifier is valid, the data packet information further includes: a first field indicating the number of bytes of the current row of embedded data; when the fifth identifier is valid, the data packet information further includes: a second field indicating the number of bytes of the current row of user-defined data; and a third field indicating the data type of the user-defined data;

[0134] When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data, and the data bit width of the sub-data is equal to M times the bit width of each embedded data, M is a natural number greater than or equal to 2, and M embedded data can fill one sub-data. When the remaining embedded data in the current row cannot fill one sub-data, the first invalid data is filled in the unfilled sub-data to fill it up, and the first field is used to identify the first invalid data and embedded data in the sub-data.

[0135] When the data in the sub-data in the current interface data packet is user-defined data, each sub-data includes one or more user-defined data, the data bit width of the sub-data is equal to N times the bit width of each user-defined data, N is a natural number greater than or equal to 2, and N embedded data fill up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data.

[0136] When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module; the data bit width in the sub-data is equal to X times the bit width of the compressed video stream, X is a natural number greater than or equal to 2, and X compressed video data in the compressed video stream fills up one sub-data. When the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, the third invalid data is filled in the unfilled sub-data to fill it up; when the data in the sub-data in the current interface data packet is compressed video data, the interface data packet also includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data.

[0137] In each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface. Each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles. An interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, the data packet information transmitted in multiple data packet interface clock cycles is the same.

[0138] The embodiment of the present invention also provides a computer device having the above Figure 8 or Fig. 9 The high bandwidth transmission device of the video image is shown.

[0139] See also Fig.10 , Fig.10 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Fig.10 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.10 A processor 10 is taken as an example.

[0140] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0141] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes and implements the system shown in the above embodiment.

[0142] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created by the use of a computer device based on the presentation of a small program landing page, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0143] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0144] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0145] The embodiment of the present invention also provides a computer-readable storage medium. The system according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the system described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the system shown in the above embodiment is implemented.

[0146] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the system and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0147] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A method for high-bandwidth video transmission, characterized in that: It includes: When it is determined to compress the video stream, compressing the video stream to obtain a compressed video stream; Converting the compressed video stream and bypass data matching the video stream into a series of interface data packets; The interface data packet is converted into data of a predetermined protocol, and the data of the predetermined protocol is transmitted.

2. The method according to claim 1, characterized in that: Before compressing the video stream to obtain a compressed video stream, it also includes: Determining whether to compress the video stream; When it is determined that the video stream is not to be compressed, the video stream and the bypass data matching the video stream are converted into data of a predetermined protocol, and the data of the predetermined protocol is transmitted.

3. The method according to claim 2, characterized in that: The predetermined protocol is A-PHY or ASA-ML; Determining whether to compress the video stream includes: Determining whether to compress the video stream according to data in the mode register; When it is determined that the video stream is not to be compressed, a selector is used to directly guide the video stream and bypass data matching the video stream to a non-compressed channel; When it is determined to compress the video stream, the selector is used to guide the video stream and the bypass data matching the video stream to the compression channel.

4. The method according to claim 1, characterized in that: The bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, The data packet information includes one or more of the following information: A first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; A second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; A third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; A fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data. When the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data. A fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data. When the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data. When the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes sub-data.

5. The method according to claim 4, characterized in that: Only one of the first to fifth identifiers in the same data packet information is valid. When the fourth identifier is valid, the data packet information further includes: The first field represents the number of bytes in the current row of embedded data; When the fifth identifier is valid, the data packet information further includes: A second field indicating the number of bytes in the current row of user-defined data; and A third field indicating the data type of the user-defined data.

6. The method according to claim 5, characterized in that: When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data. The data bit width of the sub-data is equal to M times the bit width of each embedded data, where M is a natural number greater than or equal to 2, and M embedded data can fill one sub-data. When the remaining embedded data of the current row cannot fill up one sub-data, fill the unfilled sub-data with the first invalid data to fill it up, and the first field is used to identify the first invalid data and the embedded data in the sub-data; When the data in the sub-data of the current interface data packet is user-defined data, each sub-data includes one or more user-defined data. The data bit width of the sub-data is equal to N times the bit width of each user-defined data, where N is a natural number greater than or equal to 2, and N embedded data fills up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data.

7. The method according to claim 4, characterized in that: When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream.

8. The method according to claim 7, characterized in that: The data bit width in the sub-data is equal to X times the bit width of the compressed video stream, where X is a natural number greater than or equal to 2. X portions of compressed video data in the compressed video stream fill up one sub-data. When the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, filling the unfilled sub-data with third invalid data to fill it up; When the data in the sub-data in the current interface data packet is compressed video data, the interface data packet further includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data.

9. The method according to claim 4, characterized in that: In each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, Each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, data packet information transmitted in multiple data packet interface clock cycles is the same.

10. The method according to claim 9, characterized in that: The number of sub-data in different interface data packets is set to be the same or different.

11. A method for high-bandwidth video transmission, characterized in that: It includes: Receiving data of a predetermined protocol, and converting the data of the predetermined protocol into a series of interface data packets; Parsing the interface data packet to obtain video stream and bypass data; When the video stream is a compressed video stream, the compressed video stream is decompressed, and the decompressed video stream and bypass data are transmitted.

12. The method for high-bandwidth video transmission according to claim 11, characterized in that: The predetermined protocol is A-PHY or ASA-ML. When the video stream is a compressed video stream, before decompressing the compressed video stream, the method further includes: Determining whether the video stream is a compressed video stream or an uncompressed video stream according to a mode register; When it is determined that the video stream is a compressed video stream, a selector is used to guide the compressed video stream to a decompression channel; When it is determined that the video stream is a non-compressed video stream, a selector is used to guide the non-compressed video stream to a non-decompressed channel.

13. The method for high-bandwidth video transmission according to claim 11, characterized in that: The bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, The data packet information includes one or more of the following information: A first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; A second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; A third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; A fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data. When the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data. A fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data. When the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data. When the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data; Only one of the first to fifth identifiers in the same data packet information is valid. When the fourth identifier is valid, the data packet information further includes: The first field represents the number of bytes in the current row of embedded data; When the fifth identifier is valid, the data packet information further includes: A second field indicating the number of bytes in the current row of user-defined data; and A third field indicating the data type of the user-defined data; When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data. The data bit width of the sub-data is equal to M times the bit width of each embedded data, where M is a natural number greater than or equal to 2, and M embedded data can fill one sub-data. When the remaining embedded data of the current row cannot fill up one sub-data, fill the unfilled sub-data with the first invalid data to fill it up, and the first field is used to identify the first invalid data and the embedded data in the sub-data; When the data in the sub-data of the current interface data packet is user-defined data, each sub-data includes one or more user-defined data. The data bit width of the sub-data is equal to N times the bit width of each user-defined data, where N is a natural number greater than or equal to 2, and N embedded data fills up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, fill the unfilled sub-data with second invalid data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data; When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module; The data bit width in the sub-data is equal to X times the bit width of the compressed video stream, where X is a natural number greater than or equal to 2. X portions of compressed video data in the compressed video stream fill up one sub-data. When the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, filling the unfilled sub-data with third invalid data to fill it up; When the data in the sub-data in the current interface data packet is compressed video data, the interface data packet further includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data.

14. The method according to claim 13, characterized in that: In each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, Each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, data packet information transmitted in multiple data packet interface clock cycles is the same.

15. A video high bandwidth transmission device, characterized in that: It includes: A compression module, which is used to compress the video stream to obtain a compressed video stream when it is determined that the video stream is to be compressed; a first data packet interface, which is used to convert the compressed video stream and bypass data matching the video stream into a series of interface data packets; The first protocol adaptation layer is used to convert the interface data packet into data of a predetermined protocol and transmit the data of the predetermined protocol.

16. The device according to claim 15, characterized in that: It also includes: A first mode register, which is used to determine whether to compress the video stream; A first selector, which is used to directly guide the video stream and the bypass data matching the video stream to a non-compressed channel when it is determined that the video stream does not need to be compressed, and transmit the video stream and the bypass data matching the video stream to the protocol adaptation layer through the non-compressed channel; The first selector is also used to direct the video stream and the bypass data matching the video stream to the compression channel when it is determined that the video stream is to be compressed, and transmit the video stream and the bypass data matching the video stream to the compression channel to the data packet interface; The predetermined protocol is A-PHY or ASA-ML; The data packet interface includes: a bypass data cache, The bit width of the output data of the bypass data cache is M times the bit width of the input data, where M is a natural number greater than or equal to 2, and the bypass data cache outputs M copies of bypass data each time.

17. The device according to claim 15, characterized in that: The bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, The data packet information includes one or more of the following information: A first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; A second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; A third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; A fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data. When the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data. A fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data. When the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data. When the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data. Only one of the first to fifth identifiers in the same data packet information is valid. When the fourth identifier is valid, the data packet information further includes: The first field represents the number of bytes in the current row of embedded data; When the fifth identifier is valid, the data packet information further includes: A second field indicating the number of bytes in the current row of user-defined data; and A third field indicating the data type of the user-defined data, When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data. The data bit width of the sub-data is equal to M times the bit width of each embedded data, where M is a natural number greater than or equal to 2, and M embedded data can fill one sub-data. When the remaining embedded data of the current row cannot fill up one sub-data, first invalid data is filled into the unfilled sub-data to fill it up, and the first field is used to identify the invalid data and embedded data in the sub-data; When the data in the sub-data of the current interface data packet is user-defined data, each sub-data includes one or more user-defined data. The data bit width of the sub-data is equal to N times the bit width of each user-defined data, where N is a natural number greater than or equal to 2, and N embedded data fills up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, the second invalid data is filled in the unfilled sub-data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data, When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module. The data bit width in the sub-data is equal to X times the bit width of the compressed video stream output by the compression module, where X is a natural number greater than or equal to 2. X portions of compressed video data in the compressed video stream output by the compression module fill up one sub-data. When the remaining compressed video stream fails to fill one sub-data at the end of each frame of the video stream, filling the unfilled sub-data with third invalid data to fill it up; When the data in the sub-data in the current interface data packet is compressed video data, the interface data packet further includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data; In each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, Each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, data packet information transmitted in multiple data packet interface clock cycles is the same.

18. A video high bandwidth transmission device, characterized in that: It includes: A second protocol adaptation layer, which is used to receive data of a predetermined protocol and convert the data of the predetermined protocol into a series of interface data packets; A second data packet interface, which is used to parse the interface data packet to obtain a video stream and bypass data; The decompression module is used to decompress the compressed video stream when the video stream is a compressed video stream, and transmit the decompressed video stream and bypass data.

19. The video high bandwidth transmission device according to claim 18, characterized in that: It also includes: A second mode register, which is used to determine whether the video stream is a compressed video stream or an uncompressed video stream; A second selector, which is used to guide the compressed video stream to a decompression channel when determining that the video stream is a compressed video stream, and transmit the compressed video stream to the decompression module through the decompression channel; The second selector is further used to direct the non-compressed video stream to a non-decompressed channel for transmission when it is determined that the video stream is a non-compressed video stream; The bypass data includes embedded data and user-defined data, the compressed video stream includes compressed video data, and an interface data packet includes: data packet information and / or one or more sub-data, The data packet information includes one or more of the following information: A first identifier indicating the start of a frame, wherein when the first identifier is valid, it indicates the start of a frame; A second identifier indicating the end of a frame, wherein when the second identifier is valid, it indicates the end of a frame; A third identifier indicating that the data in the sub-data in the current interface data packet is compressed video data, and when the third identifier is valid, it indicates that the data in the sub-data in the current interface data packet is compressed video data; A fourth identifier indicating that the data in the sub-data in the current interface data packet is embedded data. When the fourth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is embedded data. A fifth identifier indicating that the data in the sub-data in the current interface data packet is user-defined data. When the fifth identifier is valid, it indicates that the data in the sub-data in the current interface data packet is user-defined data. When the first identifier or the second identifier in the data packet information is valid, the interface data packet does not include the sub-data, and when the third identifier, the fourth identifier or the fifth identifier is valid, the interface data packet includes the sub-data; Only one of the first to fifth identifiers in the same data packet information is valid. When the fourth identifier is valid, the data packet information further includes: The first field represents the number of bytes in the current row of embedded data; When the fifth identifier is valid, the data packet information further includes: A second field indicating the number of bytes in the current row of user-defined data; and A third field indicating the data type of the user-defined data; When the data in the sub-data in the current interface data packet is embedded data, each sub-data includes one or more embedded data. The data bit width of the sub-data is equal to M times the bit width of each embedded data, where M is a natural number greater than or equal to 2, and M embedded data can fill one sub-data. When the remaining embedded data of the current row cannot fill up one sub-data, fill the unfilled sub-data with the first invalid data to fill it up, and the first field is used to identify the first invalid data and the embedded data in the sub-data; When the data in the sub-data of the current interface data packet is user-defined data, each sub-data includes one or more user-defined data. The data bit width of the sub-data is equal to N times the bit width of each user-defined data, where N is a natural number greater than or equal to 2, and N embedded data fills up one sub-data. When the remaining user-defined data in the current row cannot fill up one sub-data, fill the unfilled sub-data with second invalid data to fill it up, and the second field is used to identify the second invalid data and the user-defined data in the sub-data; When the data in the sub-data in the current interface data packet is compressed video data, each sub-data includes one or more compressed video data in the compressed video stream output by the compression module, and the data bit width of each compressed video data is equal to the bit width of the compressed video stream output by the compression module; The data bit width in the sub-data is equal to X times the bit width of the compressed video stream, where X is a natural number greater than or equal to 2. X portions of compressed video data in the compressed video stream fill up one sub-data. When the remaining compressed video stream of each frame of the video stream fails to fill up one sub-data, filling the unfilled sub-data with third invalid data to fill it up; When the data in the sub-data in the current interface data packet is compressed video data, the interface data packet further includes a sixth identifier, and the sixth identifier is used to identify the compressed video data and the third invalid data in the sub-data; In each data packet interface clock cycle, a data packet information, a sub-data and / or a sixth identifier are transmitted in parallel through the transmission line of the data packet interface, Each data packet transmission cycle of the data packet interface includes one or more data packet interface clock cycles, and an interface data packet is transmitted in each data packet transmission cycle of the data packet interface. In each data packet transmission cycle of the data packet interface, data packet information transmitted in multiple data packet interface clock cycles is the same.

20. A video high bandwidth transmission system, characterized in that: It includes: A video sending end, which is a video high-bandwidth transmission device as described in any one of claims 15-16; The video receiving end is a video high-bandwidth transmission device as described in any one of claims 17-19.

21. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the video high-bandwidth transmission method according to any one of claims 1 to 10 or the video high-bandwidth transmission method according to any one of claims 11 to 14 by executing the computer instructions.

Citation Information

Patent Citations

  • Method of vedio function and its method

    CN101001371A

  • Video compressed data real-time high-speed transmission system

    CN116437100A

  • Image sensor, data processing device, and image sensor system

    WO2024209994A1