WO2024074012A1 - 视频传输控制方法、装置、设备及非易失性可读存储介质 - Google Patents

视频传输控制方法、装置、设备及非易失性可读存储介质 Download PDF

Info

Publication number
WO2024074012A1
WO2024074012A1 PCT/CN2023/081737 CN2023081737W WO2024074012A1 WO 2024074012 A1 WO2024074012 A1 WO 2024074012A1 CN 2023081737 W CN2023081737 W CN 2023081737W WO 2024074012 A1 WO2024074012 A1 WO 2024074012A1
Authority
WO
WIPO (PCT)
Prior art keywords
video data
compressed
original
compressed video
designated area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2023/081737
Other languages
English (en)
French (fr)
Inventor
张贞雷
邹晓峰
李拓
满宏涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Publication of WO2024074012A1 publication Critical patent/WO2024074012A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Definitions

  • the present application relates to the field of video transmission technology, and in particular to a video transmission control method, device, equipment and non-volatile readable storage medium.
  • Soc System on Chip
  • Soc is a chip that integrates a microprocessor, analog IP (Intellectual Property) core, digital IP core and memory (or off-chip memory control interface) on a single chip. It is usually customized or a standard product for specific purposes.
  • the Baseboard Management Controller (BMC) chip is usually customized to monitor the server status (temperature, fan, CPU operation status, etc.), and also transmit local video information to remote devices through the network for remote devices to realize display and monitoring functions.
  • BMC Baseboard Management Controller
  • the purpose of this application is to provide a video transmission control method, device, equipment and non-volatile readable storage medium, which optimizes the video transmission scheme, can reduce frame loss, improve the smoothness of video transmission, reduce the probability of the remote end missing important video pictures, and thus optimize the user experience.
  • the present application provides a video transmission control method, comprising:
  • the preset video data buffer area is used as the original video data buffer area, and the corresponding video access operation is performed;
  • the video data buffer area is used as a compressed video data buffer area, and a corresponding video access operation is performed;
  • the original video data designated area in the video data cache is the original video data cache
  • the compressed video data designated area in the video data cache is the compressed video data cache
  • the using a preset video data buffer area as an original video data buffer area and performing a corresponding video access operation includes:
  • the newly generated original video data is written into the designated area of compressed video data, and after the designated area of compressed video data is also filled, the existing data in the designated area of compressed video data is overwritten with the newly generated original video data, and after the original video data in the designated area of original video data is read, the original video data in the designated area of compressed video data is moved to the corresponding position of the designated area of original video data to receive the reading of the designated area of original video data;
  • the method of using the video data buffer area as a compressed video data buffer area and performing corresponding video access operations includes:
  • the newly generated compressed video data is written into the designated area for original video data, and after the designated area for original video data is also filled, the existing data in the designated area for original video data is overwritten with the newly generated compressed video data, and after the compressed video data in the designated area for compressed video data is read, the compressed video data in the designated area for original video data is moved to the corresponding position of the designated area for compressed video data to receive the reading of the designated area for compressed video data.
  • the moving the original video data in the specified area of the compressed video data to a corresponding position of the specified area of the original video data includes:
  • the step of moving the compressed video data in the designated area of the original video data to a corresponding position of the designated area of the compressed video data includes:
  • the compressed video data in the designated area of the original video data is transferred to a corresponding position of the designated area of the compressed video data by using a direct memory access operation.
  • the using a preset video data buffer area as an original video data buffer area and performing a corresponding video access operation includes:
  • the starting address of the original video data designated area is used as the starting address of the original video data buffer area
  • the ending address of the compressed video data designated area is used as the ending address of the original video data buffer area
  • the original video data is sequentially written into the original video data buffer area to receive the reading of the original video data buffer area
  • the method of using the video data buffer area as a compressed video data buffer area and performing corresponding video access operations includes:
  • the starting address of the designated area of the original video data is used as the starting address of the compressed video data buffer area
  • the ending address of the designated area of the compressed video data is used as the ending address of the compressed video data buffer area.
  • the compressed video data is written into the compressed video data buffer area in sequence to receive the reading of the compressed video data buffer area.
  • reading the original video data buffer area includes:
  • a rule for the upper-layer video software to generate a read operation address for the original video data buffer area is changed according to the starting address of the original video data designated area and the ending address of the compressed video data designated area;
  • the reading of the compressed video data buffer area includes:
  • the rule for the upper-layer video software to generate a read operation address for the compressed video data buffer area is changed according to the starting address of the designated area of the original video data and the ending address of the designated area of the compressed video data.
  • the step of using the compressed video data designated area of the video data buffer as the compressed video data buffer and performing a corresponding video access operation includes:
  • the newly generated compressed video data is written into the next first data partition of the first data partition being read by the upper-layer video software.
  • the compressed video data designated area is provided with three data partitions.
  • using the video data buffer as a compressed video data buffer and performing corresponding video access operations includes:
  • the newly generated compressed video data is written into the next second data partition of the second data partition being read by the upper-layer video software.
  • the compressed video data buffer area is provided with a backup data partition for the next frame of compressed video data being read by the upper-layer video software.
  • a direct memory access operation is used to move the compressed video data of the backup data partition to the address to be read by the upper-layer video software.
  • the address of the backup data partition is sent to the remote device so that when the remote device turns off the video function and then enables the video function again to obtain compressed video data, the compressed video data of the backup data partition is first read, and then the address for reading the compressed video data next time is generated according to the video storage rules corresponding to the current video transmission mode.
  • the using a preset video data buffer area as an original video data buffer area includes:
  • the entire video data buffer area provided for the video transmission function in the out-of-band memory is used as the original video data buffer area.
  • the using the video data buffer area as a compressed video data buffer area includes:
  • the entire video data buffer area provided for the video transmission function in the out-of-band memory is used as the compressed video data buffer area.
  • the original video data in the original video data designated area is read, the original video data in the compressed video data designated area is moved to a corresponding position of the original video data designated area, including:
  • the original video data in the designated area of the compressed video data is sequentially written into the space of the designated area of the original video data that has been read by the upper-layer video software.
  • moving the compressed video data in the specified area of the original video data to a corresponding position of the specified area of the compressed video data includes:
  • the compressed video data in the designated area of the original video data is sequentially written into the space of the designated area of the compressed video data which has been read by the upper-layer video software.
  • the method further includes:
  • the compressed video data designated area is full, and the original video data in the compressed video data designated area has been DMAed to the original video data designated area, wait until the original video data designated area is completely read, and then start writing a new frame of original video data from the original video data designated area.
  • a video transmission control device comprising:
  • the first transmission unit is configured to use a preset video data buffer area as an original video data buffer area and perform a corresponding video access operation when the video transmission mode of the upper-layer video software is to transmit only original video data;
  • the second transmission unit is configured to use the video data buffer area as a compressed video data buffer area and perform corresponding video access operations when the video transmission mode of the upper-layer video software is to transmit only compressed video data;
  • the third transmission unit is configured to, when the video transmission mode of the upper-layer video software is to simultaneously transmit original video data and compressed video data, use the original video data designated area in the video data buffer as the original video data buffer, and use the compressed video data designated area in the video data buffer as the compressed video data buffer, and perform corresponding video access operations.
  • the present application also provides a video transmission control device, including:
  • a memory arranged to store a computer program
  • the processor is configured to execute the computer program, and the computer program, when executed by the processor, implements the steps of any one of the above-mentioned video transmission control methods.
  • the present application also provides a non-volatile readable storage medium, on which a computer program is stored.
  • a computer program is stored on which a computer program is stored.
  • the video transmission control method provided in the present application switches the corresponding video access operation by distinguishing the video transmission mode of the upper-layer software.
  • the corresponding video access operation is performed in a manner that the original video data designated area in the video data cache is the original video data cache, and the compressed video data designated area in the video data cache is the compressed video data cache.
  • the entire video data cache is the original video data cache.
  • the entire video data cache is the compressed video data cache. This increases the cache space of the original video data and the compressed video data for most of the time, thereby effectively reducing frame loss, improving the smoothness of video transmission, and reducing the probability of the remote end missing important video frames, thereby optimizing the user experience.
  • the present application also provides a video transmission control device, equipment and non-volatile readable storage medium, which have the above-mentioned beneficial effects and are not described in detail here.
  • FIG1 is a schematic diagram of a framework of a video function in a conventional baseboard management control chip
  • FIG2 is a flow chart of a video transmission control method provided by an embodiment of the present application.
  • FIG3 is a schematic diagram of a framework of a video transmission function provided in an embodiment of the present application.
  • FIG4 is a schematic diagram of a sequence of generating block data in a video compression control
  • FIG5 is a flow chart of a video transmission control device provided in an embodiment of the present application.
  • FIG6 is a schematic diagram of the structure of a video transmission control device provided in an embodiment of the present application.
  • the core of this application is to provide a video transmission control method, device, equipment and non-volatile readable storage medium, which optimizes the video transmission scheme, can reduce frame loss, improve the smoothness of video transmission, reduce the probability of the remote end missing important video pictures, and thus optimize the user experience.
  • pre-compression video data usually YUV video data, where "Y” represents brightness, that is, grayscale value, and "U” and “V” represent chroma and concentration, respectively, which describe the color and saturation of the image and are used to specify the color of the pixel
  • compressed video data usually Joint Photographic Experts Group JPEG compressed video data, hereinafter referred to as JPEG compressed video data.
  • FIG. 1 is a schematic diagram showing a framework of a video function in a conventional baseboard management control chip.
  • the hardware framework involved in the video function includes a host 101, a baseboard management control chip 102, an external memory 103 (which can use a double rate synchronous dynamic random access memory DDR) in a local device, and a remote device.
  • a host 101 a baseboard management control chip 102
  • an external memory 103 which can use a double rate synchronous dynamic random access memory DDR
  • DDR double rate synchronous dynamic random access memory
  • the color space conversion (RGB2YUV) module is used to convert the RGB (colors of three channels of fiber, green, and blue) video data generated by the host 101 into a color space to obtain YUV video data, and the YUV video data is written into the original data designated space (YUV_SPACE) of the external memory 103 through the data output control module (DATA_OUT_CTRL); at the same time, after the YUV video data is converted through the block conversion module (YUV_BLOCK), the block (BLOCK) data that conforms to the input data format of the video compression module (such as the video compression IP core JPEG IP Core in FIG1 ) is obtained, and then the block (BLOCK) data is input into the video compression IP core (JPEG IP Core) for JPEG compression to obtain JPEG compressed video data, and the data output control module (DATA_OUT_CTRL) is also used to write the JPEG compressed video data into the compressed data designated space (JPEG_SPACE) of the external
  • the local network card driver (such as EMAC) is used to read the YUV video data and JPEG compressed video data cached in the out-of-band memory 103, and the two video data are transmitted to the remote device through the network for remote display.
  • DATA_OUT_CTRL writes the YUV video data of the current frame into the YUV specified space (YUV_SPACE), but it is not read away by the upper video software, the YUV video data of the next frame will be directly discarded.
  • the YUV video data generated by color space conversion is converted into blocks and then input into the video compression IP core (JPEG IP Core) to generate compressed video data in JPEG format, which is then input into the data output control module (DATA_OUT_CTRL) and then written into the out-of-band memory 103 in units of frames or subjected to frame drop processing.
  • JPEG_SPACE JPEG specified space
  • the data output control module DATA_OUT_CTRL
  • the video data cached in the YUV specified space (YUV_SPACE) and JPEG specified space (JPEG_SPACE) of the out-of-band processor are actually separated from the real-time video image of the host 101 by a large time interval, and the YUV video data and JPEG compressed video data seen by the remote device still need the network card driver (EMAC) of the baseboard management control chip 102 to send the two video data, which aggravates the time difference between the video image seen by the user at one end of the remote device and the real-time image of the host 101 of the local device, and due to the frequent frame loss during the video transmission process, the video image seen by the remote user is not smooth, which will undoubtedly cause the remote user to easily miss some important video information.
  • EEC network card driver
  • the traditional video transmission solution has the problem of occupying a large amount of DDR space and a high video frame loss rate, which often causes the remote device to display the previous and next frames suddenly and the video display is not smooth, which seriously affects the user experience. What's worse, if the lost video is an alarm message on the host side, the remote device cannot receive and respond to the alarm message in time, which will cause serious consequences.
  • Figure 2 is a flow chart of a video transmission control method provided in an embodiment of the present application
  • Figure 3 is a framework schematic diagram of a video transmission function provided in an embodiment of the present application
  • Figure 4 is a sequential schematic diagram of generating block data in a video compression control.
  • the video transmission control method provided in the embodiment of the present application includes:
  • the video transmission method provided in the embodiment of the present application changes the utilization method of the video data cache area pre-allocated to the video data when the remote device does not need to transmit the two video data at the same time, and realizes the sharing of the designated area for original video data (YUV_SPACE) and the designated area for compressed video data (JPEG_SPACE), making full use of the cache resources, which is equivalent to increasing the cache space for original video data and the cache space for compressed video data, and significantly reducing the frame loss rate.
  • the video transmission method provided in the embodiment of the present application can be applied to the hardware framework as described in the background technology section, that is, including the host 201, the baseboard management control chip 202 and the out-of-band memory 203 (which can use double data rate synchronous dynamic random access memory DDR) in the local device, and the remote device. Then the video transmission method provided in the embodiment of the present application can be applied to the baseboard management control chip 202.
  • the original video data may refer to YUV video data
  • the compressed video data may refer to JPEG compressed video data.
  • the RGB (colors of three channels, fiber, green, and blue) video data generated by the host 201 is converted by the color space conversion (RGB2YUV) module according to the matrix conversion formula to obtain YUV video data, and then converted by the block conversion module (YUV_BLOCK) to obtain block (BLOCK) data that conforms to the input data format of the video compression IP core (such as the JPEG IP Core in Figure 3), and then input into the video compression IP core (JPEG IP Core) for JPEG compression to obtain JPEG compressed video data.
  • the video compression IP core such as the JPEG IP Core in Figure 3
  • the data output control module (DATA_OUT_CTRL_NEW) that implements the video transmission control method provided by the embodiment of the present application is set to store the YUV_BLOCK and JPEG compressed video data in the out-of-band memory 203.
  • the YUV video data and JPEG compressed video data in the out-of-band memory 203 are read from the video data buffer provided for the video transmission function through the network card driver (EMAC) of the baseboard management control chip 202 and transmitted to the remote device.
  • EMAC network card driver
  • the generation process of block data is as follows:
  • the Y, U, and V data are cached using the storage resources [Random Access Memory (RAM)/First in First out (FIFO)] within the baseboard management control chip 202.
  • RAM Random Access Memory
  • FIFO First in First out
  • a FIFO array consisting of 16 Y_FIFOs, 8 U_FIFOs, and 8 V_FIFOs is required.
  • the first-in-first-out queue control (FIFO_CTRL) submodule receives the control information of the read data issued by the single-chip multiprocessors (Chip multiprocessors, CMP). It is worth noting that the FIFO_CTRL submodule does not care about the read address issued by the CMP, but the FIFO_CTRL submodule generates the read and write control logic by itself.
  • the write logic in YUV420 mode (the principle is to keep all Y data and keep U/V data in even rows and even columns) includes:
  • the write logic in YUV422 mode (the principle is to keep all Y data and keep U/V data of even columns) includes:
  • the write logic in YUV444 mode (retaining Y/U/V data for all rows and columns) includes:
  • V_FIFO_1 Write the V data of rows 1/9/17/25... into V_FIFO_1;
  • the FIFO_CTRL submodule does not care about the read address issued by CMP, but only cares about the read enable issued by CMP, and reads Y_FIFO_0 16 times, Y_FIFO_1 16 times... Y_FIFO_15 16 times, U_FIFO_0 8 times, U_FIFO_1 8 times, U_FIFO_7 8 times, V_FIFO_0 8 times, V_FIFO_1 8 times, V_FIFO_7 8 times, and then cycles in sequence.
  • the FIFO_CTRL submodule does not care about the read address issued by CMP, but only cares about the read enable issued by CMP, and reads 16 times Y_FIFO_0, 16 times Y_FIFO_1...16 times Y_FIFO_15, 8 times U_FIFO_0, 8 times U_FIFO_1,...8 times U_FIFO_15, 8 times V_FIFO_0, 8 times V_FIFO_1,...8 times V_FIFO_15.
  • the FIFO_CTRL submodule does not care about the read address issued by CMP, but only cares about the read enable issued by CMP, and reads Y_FIFO_0 8 times, Y_FIFO_1 8 times... Y_FIFO_7 8 times, U_FIFO_0 8 times, U_FIFO_1 8 times, U_FIFO_7 8 times, V_FIFO_0 8 times, V_FIFO_1 8 times, and V_FIFO_7 8 times.
  • YCbCr is the most widely used type of YUV data in computer systems. Both JPEG and MPEG use this format, where Y is brightness, Cb is blue concentration offset, and Cr is fiber color concentration offset.
  • the original video data (Source Image Picture) obtained after color space conversion is the Y data of a frame image, the Cb data of a frame image, and the Cr data of a frame image.
  • the block conversion module (YUV_BLOCK) is used for conversion to obtain block (BLOCK) data that conforms to the input format of the video compression IP core.
  • the compression mode is YCbCr 420
  • all Y data is retained after block conversion, and the height of the Cb block data and the height of the Cr block data are both half of the height of the Y block data (height/2), and the width of the Cb block data and the width of the Cr block data are also half of the width of the Y block data (width/2).
  • the compression mode is YCbCr 422
  • all Y data are retained after block conversion, and the height of the Cb block data and the height of the Cr block data are consistent with the height of the Y block data (height), and the width of the Cb block data and the width of the Cr block data are half of the width of the Y block data (width/2).
  • the compression mode is YCbCr 444
  • the YCbCr data of all rows and columns are retained, that is, the height of the Cb block data and the height of the Cr block data are consistent with the height of the Y block data (height), and the width of the Cb block data and the width of the Cr block data are also consistent with the width of the Y block data (width).
  • This solution of first storing the YUV video data generated by the color space conversion (RGB2YUV) module into the FIFO and then compressing it requires a large amount of FIFO space to cache the YUV video data to be compressed according to the order in which the color space conversion (RGB2YUV) module generates data and the format of the input data required by the video compression IP core (JPEG IP Core). Therefore, the preferred method is to first store the YUV video data generated by the color space conversion (RGB2YUV) module into the FIFO.
  • the YUV video data is stored in the external memory 203, and then the block data is read from the external memory 203 according to the format of the input data required by the video compression IP core (JPEG IP Core). According to the input rules, part of the read data is input into the video compression IP core (JPEG IP Core), and the other part of the data is stored in the FIFO for caching, which can effectively reduce the FIFO space occupation and optimize the video compression process.
  • the video transmission method provided in the embodiment of the present application is applied to the storage and transmission of the generated original video data and compressed video data, that is, the stage after generating YUV video data through the color space conversion (RGB2YUV) module and generating JPEG compressed video data through the video compression IP core (JPEG IP Core).
  • the remote device when the local device recognizes that the video transmission mode of the upper-layer video software is to transmit only raw video data, the remote device does not need to transmit compressed video data at this time, and the newly generated compressed video data may not be stored in the external memory 203, but the entire video data buffer area provided for the video transmission function in the external memory 203 is used as the raw video data buffer area, thereby effectively expanding the buffer space of the raw video data. Since the amount of raw video data is large, the original raw video data designated area (YUV_SPACE) may only be able to store one frame of raw video data, and the expanded raw video data buffer area can effectively alleviate the situation of raw video data frame loss.
  • YUV_SPACE original raw video data designated area
  • the remote device does not need to transmit the original video data at this time, and the newly generated original video data may not be stored in the external memory 203. Instead, the entire video data cache area provided for the video transmission function in the external memory 203 is used as the compressed video data cache area, thereby effectively expanding the cache space of the compressed video data.
  • the expanded compressed video data cache area effectively alleviates the situation of frame loss of the compressed video data.
  • the remote device when the local device recognizes that the video transmission mode of the upper-layer video software is to simultaneously transmit original video data and compressed video data, the remote device requires the local device to simultaneously transmit original video data and compressed video data. Then, as in the prior art, the original original video data designated area (YUV_SPACE) in the video data cache area is used as the original video data cache area, and the original compressed video data designated area (JPEG_SPACE) in the video data cache area is used as the compressed video data cache area, and the original video data and compressed video data are generated respectively, cached in the corresponding designated areas, read by the network card driver and transmitted to the remote device.
  • YUV_SPACE original video data designated area
  • JPEG_SPACE original compressed video data designated area
  • S201, S202, and S203 can be any order.
  • the video transmission control method provided in the embodiment of the present application switches the corresponding video access operation by distinguishing the video transmission mode of the upper-layer software.
  • the corresponding video access operation is performed in a manner that the original video data designated area (YUV_SPACE) in the video data buffer is the original video data buffer, and the compressed video data designated area (JPEG_SPACE) in the video data buffer is the compressed video data buffer.
  • the entire video data buffer is the original video data buffer.
  • the entire video data buffer is the compressed video data buffer. This increases the cache space of the original video data and the compressed video data for most of the time, thereby effectively reducing frame loss, improving the smoothness of video transmission, and reducing the probability of the remote end missing important video frames, thereby optimizing the user experience.
  • the rules for generating read operation addresses when the upper-level video software reads video data are also fixed. If traditional video access operations are still used, then when the video transmission mode is to transmit only original video data or the video transmission mode is to transmit only compressed video data, all required video data cannot be read.
  • a preset video data buffer area is used as an original video data buffer area, and a corresponding video access operation is performed, including:
  • the newly generated original video data is written to the compressed video data designated area (JPEG_SPACE), and after the compressed video data designated area (JPEG_SPACE) is also filled, the newly generated original video data overwrites the existing data in the compressed video data designated area (JPEG_SPACE), and the original video data is written to the original video data designated area.
  • the original video data of (YUV_SPACE) is read, the original video data in the compressed video data designated area (JPEG_SPACE) is moved to the corresponding position of the original video data designated area (YUV_SPACE) to receive the reading of the original video data designated area (YUV_SPACE).
  • the video data buffer area is used as the compressed video data buffer area, and corresponding video access operations are performed, including:
  • JPEG_SPACE When the compressed video data designated area (JPEG_SPACE) is not fully written, the newly generated compressed video data is written into the compressed video data designated area (JPEG_SPACE);
  • the newly generated compressed video data is written into the designated area (YUV_SPACE) for original video data, and after the designated area (YUV_SPACE) for original video data is also filled, the existing data in the designated area (YUV_SPACE) for original video data is overwritten with the newly generated compressed video data, and after the compressed video data in the designated area (JPEG_SPACE) for compressed video data is read, the compressed video data in the designated area (YUV_SPACE) for original video data is moved to the corresponding position of the designated area (JPEG_SPACE) for compressed video data to receive the reading of the designated area (JPEG_SPACE) for compressed video data.
  • the video transmission control method provided in the embodiment of the present application is implemented by modifying the control logic of the data output control module (DATA_OUT_CTRL_NEW).
  • the original video data in the specified area (JPEG_SPACE) of compressed video data is moved to the corresponding position of the specified area (YUV_SPACE) of original video data, which can be achieved by: using direct memory access (DMA) operation to transfer the original video data in the specified area (JPEG_SPACE) of compressed video data to the corresponding position of the specified area (YUV_SPACE) of original video data.
  • DMA direct memory access
  • Moving the compressed video data in the designated area (YUV_SPACE) of the original video data to the corresponding position of the designated area (JPEG_SPACE) of the compressed video data can be accomplished by: using a direct memory access (DMA) operation to transfer the compressed video data in the designated area (YUV_SPACE) of the original video data to the corresponding position of the designated area (JPEG_SPACE) of the compressed video data.
  • DMA direct memory access
  • the data output control module fills the designated area (YUV_SPACE) of original video data in the video data buffer area of the external memory 203, and then writes the next frame of original video data into the designated area (JPEG_SPACE) of compressed video data.
  • the compressed video data designated area (JPEG_SPACE) is also filled (usually one frame of original video data is also written in the compressed video data designated area (JPEG_SPACE), i.e., the compressed video data designated area (JPEG_SPACE) is fully occupied), and the upper-layer video software is still reading the original video data in the original video data designated area (YUV_SPACE) or has not yet started reading the original video data in the original video data designated area (YUV_SPACE), the newly generated original video data will overwrite the original video data in the compressed video data designated area (JPEG_SPACE) to ensure that the compressed video data designated area (JPEG_SPACE) stores the latest original video data on the host side.
  • the original video data in the original video data designated area begins to be read by the upper-layer video software
  • the original video data in the compressed video data designated area JPEG_SPACE
  • JPEG_SPACE is sequentially written into the space of the original video data designated area (YUV_SPACE) that has been read by the upper-layer video software by the DMA method.
  • the starting address of the original video data designated area is 0x1000_0000
  • the starting address of the compressed video data designated area is 0x2000_0000
  • the source address of DMA is configured to be 0x2000_0000
  • the destination address is 0x1000_0000
  • the data volume is 256Bytes, and then the DMA operation is enabled.
  • the upper-level video software does not need to know that the original video data is also stored in the compressed video data designated area (JPEG_SPACE), nor does it need to read data from the compressed video data designated area (JPEG_SPACE). It can always read the original video data from the original video data designated area (YUV_SPACE).
  • JPEG_SPACE compressed video data designated area
  • YUV_SPACE original video data designated area
  • the data output control module fills the specified area (JPEG_SPACE) of compressed video data in the video data buffer area of the external memory 203, and then writes the newly generated compressed video data into the specified area (YUV_SPACE) of original video data.
  • the newly generated compressed video data will overwrite the compressed video data in the designated area (YUV_SPACE) for original video data to ensure that the designated area (YUV_SPACE) for original video data stores the latest compressed video data on the host side.
  • the compressed video data in the compressed video data designated area begins to be read by the upper-layer video software
  • the compressed video data in the original video data designated area is sequentially written into the space of the compressed video data designated area (JPEG_SPACE) that has been read by the upper-layer video software by the DMA method.
  • the starting address of the compressed video data designated area (JPEG_SPACE) is 0x2000_0000
  • the starting address of the original video data designated area (YUV_SPACE) is 0x1000_0000
  • the upper-layer video software reads 256Bytes of compressed video data from 0x2000_0000 to 0x2000_0100.
  • the source address of the DMA is configured to be 0x1000_0000, the destination address is 0x2000_0000, the data volume is 256Bytes, and then the DMA operation is enabled.
  • the upper-level video software does not need to know that the compressed video data is also stored in the designated area of original video data (YUV_SPACE), nor does it need to read data from the designated area of original video data (YUV_SPACE). It can always read the compressed video data from the designated area of compressed video data (JPEG_SPACE).
  • the embodiment of the present application provides another solution.
  • a preset video data buffer area is used as the original video data buffer area, and corresponding video access operations are performed, including: using the starting address of the original video data designated area (YUV_SPACE) as the starting address of the original video data buffer area, using the ending address of the compressed video data designated area (JPEG_SPACE) as the ending address of the original video data buffer area, and writing the original video data into the original video data buffer area in sequence to receive the reading of the original video data buffer area.
  • YUV_SPACE the starting address of the original video data designated area
  • JPEG_SPACE compressed video data designated area
  • the video data buffer is used as the compressed video data buffer, and corresponding video access operations are performed, including: using the starting address of the original video data designated area (YUV_SPACE) as the starting address of the compressed video data buffer, using the ending address of the compressed video data designated area (JPEG_SPACE) as the ending address of the compressed video data buffer, writing the compressed video data into the compressed video data buffer in sequence, and receiving the reading of the compressed video data buffer.
  • YUV_SPACE the starting address of the original video data designated area
  • JPEG_SPACE the ending address of the compressed video data designated area
  • the upper-layer video software used to read the original video data and the compressed video data in the remote device is two types of video software.
  • the two types of video software do not interfere with the read operation of the other video software. Please refer to the description of the second embodiment of the present application.
  • the storage location of the original video data or the storage location of the compressed video data is changed compared to the storage location when the original video data and the compressed video data are transmitted at the same time when the video transmission mode is to transmit only the original video data or the video transmission mode is to transmit only the compressed video data, in addition to adopting the data moving method provided in the second embodiment of the present application - moving the video data to the location where the upper-layer video software originally reads the data, in the video transmission control method provided in the embodiment of the present application, the corresponding video data can also be read by changing the read operation address through the upper-layer video software of the remote device.
  • the method of changing the read operation address of the upper-layer video software can be that the local device notifies the remote device to change the generation rule of the read operation address of the upper-layer video software; or by adding a monitoring mechanism for the video transmission mode between the upper-layer video software of the remote device, such as when the two video software obtain the state of only transmitting one type of video data through mutual monitoring, they switch to the corresponding rule for generating the read operation address; or the remote device monitors the current video transmission mode through the monitoring mechanism of a third-party module, and notifies the upper-layer video software to switch to the corresponding rule for generating the read operation address.
  • the reading of the original video data buffer area in S201 can be: when it is recognized that the video transmission mode of the upper-layer video software is to transmit only the original video data, the rule for the upper-layer video software to generate the read operation address for the original video data buffer area is changed according to the starting address of the original video data designated area (YUV_SPACE) and the ending address of the compressed video data designated area (JPEG_SPACE).
  • the reading of the compressed video data buffer area in S202 can be: when it is recognized that the video transmission mode of the upper-layer video software is to transmit only compressed video data, the rule for the upper-layer video software to generate the read operation address of the compressed video data buffer area is changed according to the starting address of the original video data designated area (YUV_SPACE) and the ending address of the compressed video data designated area (JPEG_SPACE).
  • the subject that identifies the video transmission mode of the upper-layer video software and notifies the corresponding video software to change the rule for generating the read operation address may be a local device or a remote device.
  • the compressed video data buffer can be partitioned to ensure that the upper-layer video software of the remote device always reads the latest compressed video data.
  • the compressed video data designated area (JPEG_SPACE) of the video data buffer is used as the compressed video data buffer, and the corresponding video access operation is performed, which may include:
  • JPEG_SPACE When the compressed video data designated area (JPEG_SPACE) is not fully written, the newly generated compressed video data is sequentially written into each first data partition in the compressed video data designated area (JPEG_SPACE);
  • the compressed video data designated area can be designed to have three first data partitions, such as the A, B, and C partitions of the compressed video data designated area (JPEG_SPACE) shown in FIG3 .
  • the size of the three first data partitions can be set by the user according to actual needs, and the minimum requirement is to store only one frame of compressed video data.
  • the space size of each first data partition can be set to 3M.
  • more data groups can be set.
  • the order in which the data output control module (DATA_OUT_CTRL_NEW) writes the compressed video data designated area (JPEG_SPACE) can be: write each first data partition in sequence according to the address order, such as writing A first, then B, and finally C.
  • the upper-level video software reads the compressed video data in the order of A to B to C.
  • the newly generated compressed video data is written into the next first data partition of the first data partition being read by the upper-layer video software.
  • the upper-layer video software can be set to read the first data partition that does not store the latest compressed video data in order after reading the current first data partition, and then read the first data partition that stores the latest compressed video data after reading.
  • the relevant register is set to notify the upper-layer video software to switch the reading order to A-C-B, that is, after the upper-layer video software reads A, it reads C first and then B; when C is full and the upper-layer video software starts to read B, it means that A has been read, then the latest compressed video data is written into C, and then A is written and covers the existing compressed video data in A, and the relevant register is set to notify the upper-layer video software to switch the reading order to A-B-C-A, so that the upper-layer video software continues to read B, then C, and then A after reading A. Based on this video access operation, the continuity of the
  • the upper-layer video software may be configured to directly read the first data partition storing the latest compressed video data after reading the current first data partition, and continue to perform operations on other first data partitions while the upper-layer video software reads the first data partition storing the latest compressed video data.
  • the newly generated compressed video data is written to the next first data partition of the first data partition that the upper-layer video software is reading. For example, when C is full and the upper-layer video software has not read B, the newly generated compressed video data is written to B to overwrite the existing compressed video data in B. After the upper-layer video software has read A, it can continue to read B to obtain the latest compressed video data.
  • the upper-layer video software can continue to write the newly generated compressed video data to C and then to A.
  • the upper-layer video software reads in a loop in the order of A-B-C-A, and can always read the latest compressed video data.
  • C is full and
  • the upper-layer video software is reading B, it can write the newly generated compressed video data into C to overwrite the existing compressed video data in C.
  • the upper-layer video software starts reading C, it can continue to write the newly generated compressed video data into A and then into B, and so on. Based on this video access operation, it can be ensured that the remote video software can read the latest compressed video data and can ensure the continuity of the compressed video data after the latest compressed video data to a certain extent.
  • video storage rules may be set for the multiple first data partitions, which will not be described in detail here.
  • the original video data designated area (YUV_SPACE) when the original video data designated area (YUV_SPACE) is large enough, data partitions can also be designed for the original video data designated area (YUV_SPACE) and video access operations corresponding to the data partitions can be performed.
  • the original video data since the original video data usually has a large amount of data.
  • the space of the original video data designated area (YUV_SPACE) prepared in advance in the external memory 203 is small, such as the original video data designated area (YUV_SPACE) of the size of one frame of data is usually only set. In actual applications, it is not very practical to partition the original video data designated area (YUV_SPACE).
  • the video data buffer area is used as the compressed video data buffer area, and the corresponding video access operation is performed, which may include:
  • the newly generated compressed video data is written into the next second data partition of the second data partition being read by the upper-layer video software.
  • the compressed video data buffer area may be designed to have three second data partitions, or more second data partitions.
  • A can be D
  • B can be E
  • C can be F.
  • the original video data buffer when the original video data buffer is large enough, data partitions can also be designed for the original video data buffer and the video access operation corresponding to the data partition can be performed.
  • the video data buffer prepared in advance in the external memory 203 is relatively small, and if the video data buffer can store two frames of original video data in total, then in actual application, it is not very practical to partition the original video data buffer.
  • a compressed video data cache area can be designed to have a backup data partition for the next frame of compressed video data being read by the upper-level video software.
  • a part of the area in the compressed video data designated area can be divided out as a backup data partition, and the next frame of compressed video data being read by the upper-layer video software can be backed up to the backup data partition in real time, while the remaining cache areas can no longer cache new video data or continue to cache new video data, but when the remote device turns on the video function again and obtains the compressed video data, the compressed video data of the backup data partition is provided to the remote device so that the remote device can determine whether there is any abnormal information in the host-side picture after the video function was last turned off.
  • the video transmission control method provided in the embodiment of the present application may also include: when the remote device turns off the video function and then enables the video function again to obtain compressed video data, a direct memory access (DMA) operation is used to move the compressed video data of the backup data partition to the address to be read by the upper-level video software.
  • DMA direct memory access
  • based on the video transmission mode of the upper-layer video software it is determined that the address to be read first when the remote device turns off the video function and then enables the video function again to obtain compressed video data, and DMA is used to move the compressed video data of the backup data partition to the address to be read by the upper-layer video software, and then the operation of backing up the next frame of compressed video data that the upper-layer video software is reading to the backup data partition is continued.
  • the video transmission control method provided in the embodiment of the present application may further include: sending the address of the backup data partition to the remote device, When the remote device turns off the video function and then enables the video function again to obtain compressed video data, the compressed video data of the backup data partition is first read, and then the address for reading the compressed video data next time is generated according to the video storage rule corresponding to the current video transmission mode.
  • the remote device can also be designed to automatically obtain the address of the backup data partition when the video function is turned off and then enabled again to obtain compressed video data, so as to read the compressed video data after the video function was turned off last time.
  • the backup data partition can be a fixed address, or the address of the next frame of compressed video data being read before the remote device turns off the video function can be directly used as the backup data partition, and before the remote device turns on the video function to obtain compressed video data, the backup data partition is skipped to store video data.
  • a backup data partition can be designed for the original video data buffer and the video access operation corresponding to the backup data partition can be performed.
  • the original video data usually has a large data volume, and the video data buffer prepared in advance in the external memory 203 is relatively small, in actual applications, it is not very practical to back up the original video data buffer.
  • the present application also discloses a video transmission control device, equipment and non-volatile readable storage medium corresponding to the above method.
  • FIG5 is a flow chart of a video transmission control device provided in an embodiment of the present application.
  • the video transmission control device provided in the embodiment of the present application includes:
  • the first transmission unit 401 is configured to use a preset video data buffer as an original video data buffer and perform corresponding video access operations when the video transmission mode of the upper-layer video software is to transmit only original video data;
  • the second transmission unit 402 is configured to use the video data buffer as the compressed video data buffer and perform corresponding video access operations when the video transmission mode of the upper layer video software is to transmit only compressed video data;
  • the third transmission unit 403 is configured to use the original video data designated area in the video data buffer as the original video data buffer, and use the compressed video data designated area in the video data buffer as the compressed video data buffer when the video transmission mode of the upper-layer video software is to simultaneously transmit the original video data and the compressed video data, and perform corresponding video access operations.
  • the first transmission unit 401 uses a preset video data buffer as an original video data buffer and performs a corresponding video access operation, including:
  • the newly generated original video data is written into the designated area of compressed video data, and after the designated area of compressed video data is also filled, the existing data in the designated area of compressed video data is overwritten with the newly generated original video data, and after the original video data in the designated area of original video data is read, the original video data in the designated area of compressed video data is moved to the corresponding position of the designated area of original video data to receive the reading of the designated area of original video data;
  • the second transmission unit 402 uses the video data buffer as the compressed video data buffer and performs corresponding video access operations, including:
  • the newly generated compressed video data is written into the designated area for original video data, and after the designated area for original video data is also filled, the existing data in the designated area for original video data is overwritten by the newly generated compressed video data, and after the compressed video data in the designated area for compressed video data is read, the compressed video data in the designated area for original video data is moved to the corresponding position in the designated area for compressed video data to receive the reading of the designated area for compressed video data.
  • the first transmission unit 401 moves the original video data in the specified area of the compressed video data to a corresponding position of the specified area of the original video data, including:
  • the second transmission unit 402 moves the compressed video data in the designated area of the original video data to the corresponding position of the designated area of the compressed video data, including:
  • Direct memory access is used to transfer the compressed video data in the specified area of the original video data to the specified area of the compressed video data. Corresponding position.
  • the first transmission unit 401 uses a preset video data buffer as an original video data buffer and performs a corresponding video access operation, including:
  • the starting address of the original video data designated area is used as the starting address of the original video data buffer area
  • the ending address of the compressed video data designated area is used as the ending address of the original video data buffer area
  • the original video data is sequentially written into the original video data buffer area to receive the reading of the original video data buffer area
  • the second transmission unit 402 uses the video data buffer as the compressed video data buffer and performs corresponding video access operations, including:
  • the starting address of the area specified by the original video data is used as the starting address of the compressed video data buffer area
  • the ending address of the area specified by the compressed video data is used as the ending address of the compressed video data buffer area.
  • the compressed video data is written into the compressed video data buffer area in sequence to receive the reading of the compressed video data buffer area.
  • read the raw video data buffer including:
  • the rule for the upper-layer video software to generate the read operation address of the original video data buffer area is changed according to the starting address of the original video data designated area and the ending address of the compressed video data designated area;
  • Reading the compressed video data buffer includes:
  • the rules for the upper-layer video software to generate the read operation address for the compressed video data buffer area are changed according to the starting address of the specified area of the original video data and the ending address of the specified area of the compressed video data.
  • the third transmission unit 403 uses the compressed video data designated area of the video data buffer as the compressed video data buffer and performs a corresponding video access operation, including:
  • the newly generated compressed video data is sequentially written into each first data partition in the designated area for compressed video data;
  • the newly generated compressed video data is written into the next first data partition of the first data partition being read by the upper-layer video software.
  • the designated area for compressed video data is provided with three data partitions.
  • the second transmission unit 402 uses the video data buffer as the compressed video data buffer and performs corresponding video access operations, including:
  • the newly generated compressed video data is written into the next second data partition of the second data partition being read by the upper-layer video software.
  • the compressed video data buffer area is provided with a backup data partition for the next frame of compressed video data being read by the upper-layer video software.
  • the video transmission control device provided in the embodiment of the present application further includes:
  • the second moving unit is configured to use direct memory access operation to move the compressed video data of the backup data partition to the address to be read by the upper-layer video software when the remote device turns off the video function and then enables the video function again to obtain the compressed video data.
  • the video transmission control device provided in the embodiment of the present application further includes:
  • the second sending unit is configured to send the address of the backup data partition to the remote device, so that when the remote device turns off the video function and then enables the video function again to obtain compressed video data, it first reads the compressed video data of the backup data partition, and then generates the address for reading the compressed video data next time according to the video storage rules corresponding to the current video transmission mode.
  • the video transmission control device provided in the embodiment of the present application is applied to a baseboard management control chip.
  • FIG6 is a schematic diagram of the structure of a video transmission control device provided in an embodiment of the present application.
  • the video transmission control device provided in the embodiment of the present application includes:
  • a memory 510 configured to store a computer program 511
  • the processor 520 is configured to execute a computer program 511.
  • the steps of the video transmission control method described in any one of the above embodiments are implemented.
  • the processor 520 may include one or more processing cores, such as a 3-core processor, an 8-core processor, etc.
  • the processor 520 may be implemented in at least one of the following hardware forms: a digital signal processor DSP (Digital Signal Processing), a field-programmable gate array FPGA (Field-Programmable Gate Array), and a programmable logic array PLA (Programmable Logic Array).
  • the processor 520 may also include a main processor and a coprocessor.
  • the main processor is a processor configured to process data in an awake state, also known as a central processing unit CPU (Central Processing Unit); the coprocessor is a low-power processor configured to process data in a standby state.
  • CPU Central Processing Unit
  • the processor 520 may be integrated with a graphics processor GPU (Graphics Processing Unit), and the GPU is configured to be responsible for rendering and drawing the content to be displayed on the display screen.
  • the processor 520 may also include an artificial intelligence AI (Artificial Intelligence) processor, which is configured to process computing operations related to machine learning.
  • AI Artificial Intelligence
  • the memory 510 may include one or more non-volatile readable storage media, which may be non-transitory.
  • the memory 510 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices.
  • the memory 510 is at least configured to store the following computer program 511, wherein the computer program 511, after being loaded and executed by the processor 520, can implement the relevant steps in the video transmission control method disclosed in any of the aforementioned embodiments.
  • the resources stored in the memory 510 may also include an operating system 512 and data 513, etc., and the storage method may be short-term storage or permanent storage.
  • the operating system 512 may be Windows.
  • the data 513 may include but is not limited to the data involved in the above method.
  • the video transmission control device may further include a display screen 530 , a power supply 540 , a communication interface 550 , an input/output interface 560 , a sensor 570 , and a communication bus 580 .
  • FIG. 6 does not constitute a limitation on the video transmission control device, and may include more or fewer components than those shown in the figure.
  • the video transmission control device provided in the embodiment of the present application includes a memory and a processor.
  • the processor executes the program stored in the memory, it can implement the video transmission control method as described above, and the effect is the same as above.
  • the above-described device and equipment embodiments are merely schematic.
  • the division of modules is merely a logical function division. There may be other division methods in actual implementation, such as multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed.
  • Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection of devices or modules, which may be electrical, mechanical or other forms.
  • the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.
  • each functional module in each embodiment of the present application can be integrated into a processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or software functional modules.
  • the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a non-volatile readable storage medium.
  • the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and executes all or part of the steps of the method described in each embodiment of the present application.
  • an embodiment of the present application further provides a non-volatile readable storage medium, on which a computer program is stored.
  • a computer program is stored on which a computer program is stored.
  • the non-volatile readable storage medium may include: a U disk, a mobile hard disk, a read-only memory ROM (Read-Only Memory), a random access memory RAM (Random Access Memory), a magnetic disk or an optical disk, and other media that can store program codes.
  • the computer program contained in the non-volatile readable storage medium provided in this embodiment can implement the steps of the video transmission control method described above when executed by a processor, and the effect is the same as above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及视频传输技术领域,公开了一种视频传输控制方法、装置、设备及非易失性可读存储介质,通过区分上层软件的视频传输模式来切换对应的视频存取操作,除了在视频传输模式为同时传输原始视频数据和压缩视频数据时按照传统分区规则,在视频传输模式为仅传输原始视频数据时则以整个视频数据缓存区为原始视频数据缓存区,在视频传输模式为仅传输压缩视频数据时则以整个视频数据缓存区为压缩视频数据缓存区,从而在大部分时间中增加了原始视频数据和压缩视频数据各自的缓存空间,故有效减少了丢帧情况,提高了视频传输流畅度,降低了远端错过重要视频画面的概率,进而优化了用户体验。

Description

视频传输控制方法、装置、设备及非易失性可读存储介质
相关申请的交叉引用
本申请要求于2022年10月8日提交中国专利局,申请号为202211219768.9,申请名称为“视频传输控制方法、装置、设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及视频传输技术领域,特别是涉及一种视频传输控制方法、装置、设备及非易失性可读存储介质。
背景技术
系统级芯片(System on Chip,简称Soc),为将微处理器、模拟IP(Intellectual Property,知识产权)核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上的,通常是客户定制的,或是而向特定用途的标准产品。在服务器上,通常定制基板管理控制(Baseboard Management Controller,BMC)芯片除了实现对服务器状态(温度,风扇,中央处理器CPU运行情况等)进行监控外,还实现将本地的视频信息,通过网络传递给远端设备,供远端设备实现显示功能和监控功能等。
如何优化视频传输方案以提高视频传输流畅度,减少丢帧,是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的是提供一种视频传输控制方法、装置、设备及非易失性可读存储介质,优化了视频传输方案,可以减少丢帧情况,提高视频传输流畅度,降低远端错过重要视频画而的概率,进而优化了用户体验。
为解决上述技术问题,本申请提供一种视频传输控制方法,包括:
当上层视频软件的视频传输模式为仅传输原始视频数据时,以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作;
当所述上层视频软件的视频传输模式为仅传输压缩视频数据时,以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作;
当所述上层视频软件的视频传输模式为同时传输原始视频数据和压缩视频数据时,以所述视频数据缓存区中的原始视频数据指定区域为所述原始视频数据缓存区,以所述视频数据缓存区的压缩视频数据指定区域为所述压缩视频数据缓存区,并执行对应的视频存取操作。
可选的,所述以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:
当所述原始视频数据指定区域未被写满时,将新生成的原始视频数据写入所述原始视频数据指定区域;
当所述原始视频数据指定区域已被写满且未被读取时,将新生成的原始视频数据写入所述压缩视频数据指定区域,并在将所述压缩视频数据指定区域也写满后,以新生成的原始视频数据覆盖所述压缩视频数据指定区域的已有数据,并在所述原始视频数据指定区域的原始视频数据被读走后,将所述压缩视频数据指定区域中的原始视频数据搬移至所述原始视频数据指定区域的对应位置,以接收对所述原始视频数据指定区域的读取;
所述以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
当所述压缩视频数据指定区域未被写满时,将新生成的压缩视频数据写入所述压缩视频数据指定区域;
当所述压缩视频数据指定区域已被写满且未被读取时,将新生成的压缩视频数据写入所述原始视频数据指定区域,并在将所述原始视频数据指定区域也写满后,以新生成的压缩视频数据覆盖所述原始视频数据指定区域的已有数据,并在所述压缩视频数据指定区域的压缩视频数据被读走后,将所述原始视频数据指定区域中的压缩视频数据搬移至所述压缩视频数据指定区域的对应位置,以接收对所述压缩视频数据指定区域的读取。
可选的,所述将所述压缩视频数据指定区域中的原始视频数据搬移至所述原始视频数据指定区域的对应位置,包括:
采用直接存储器访问操作将所述压缩视频数据指定区域中的原始视频数据转移至所述原始视频数据指定区域的对应位置;
所述将所述原始视频数据指定区域中的压缩视频数据搬移至所述压缩视频数据指定区域的对应位置,包括:
采用直接存储器访问操作将所述原始视频数据指定区域中的压缩视频数据转移至所述压缩视频数据指定区域的对应位置。
可选的,所述以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:
以所述原始视频数据指定区域的起始地址为所述原始视频数据缓存区的起始地址,以所述压缩视频数据指定区域的终止地址为所述原始视频数据缓存区的终止地址,将所述原始视频数据依次写入所述原始视频数据缓存区,以接收对所述原始视频数据缓存区的读取;
所述以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
以所述原始视频数据指定区域的起始地址为所述压缩视频数据缓存区的起始地址,以所述压缩视频数据指定区域的终止地址为所述压缩视频数据缓存区的终止地址,将所述压缩视频数据依次写入所述压缩视频数据缓存区,以接收对所述压缩视频数据缓存区的读取。
可选的,对所述原始视频数据缓存区的读取,包括:
识别到所述上层视频软件的视频传输模式为仅传输原始视频数据时,根据所述原始视频数据指定区域的起始地址和所述压缩视频数据指定区域的终止地址更换所述上层视频软件生成对所述原始视频数据缓存区的读操作地址的规则;
对所述压缩视频数据缓存区的读取,包括:
识别到所述上层视频软件的视频传输模式为仅传输压缩视频数据时,根据所述原始视频数据指定区域的起始地址和所述压缩视频数据指定区域的终止地址更换所述上层视频软件生成对所述压缩视频数据缓存区的读操作地址的规则。
可选的,所述以所述视频数据缓存区的压缩视频数据指定区域为所述压缩视频数据缓存区,并执行对应的视频存取操作,包括:
当所述压缩视频数据指定区域未被写满时,将新生成的压缩视频数据依次写入所述压缩视频数据指定区域中的各第一数据分区;
当所述压缩视频数据指定区域的最后一个第一数据分区被写满后,将新生成的压缩视频数据写入所述上层视频软件正在读的第一数据分区的下一个第一数据分区。
可选的,所述压缩视频数据指定区域设有三个数据分区。
可选的,所述以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
当所述压缩视频数据缓存区未被写满时,将新生成的压缩视频数据依次写入所述压缩视频数据缓存区的各第二数据分区;
当所述压缩视频数据缓存区的最后一个第二数据分区被写满后,将新生成的压缩视频数据写入所述上层视频软件正在读的第二数据分区的下一个第二数据分区。
可选的,所述压缩视频数据缓存区设有用于所述上层视频软件正在读取的压缩视频数据的下一帧压缩视频数据的备份数据分区。
可选的,还包括:
在远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,采用直接存储器访问操作将所述备份数据分区的压缩视频数据搬移至所述上层视频软件将要读取的地址。
可选的,还包括:
将所述备份数据分区的地址发送至远程设备,以使所述远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,首先读取所述备份数据分区的压缩视频数据,再按照当前的视频传输模式对应的视频存储规则生成下一次读取压缩视频数据的地址。
可选的,应用于基板管理控制芯片。
可选的,所述以预设的视频数据缓存区作为原始视频数据缓存区,包括:
当本地设备识别到所述上层视频软件的视频传输模式为仅传输所述原始视频数据时,以带外存储器中对视频传输功能提供的整个视频数据缓存区作为所述原始视频数据缓存区。
可选的,所述以所述视频数据缓存区作为压缩视频数据缓存区,包括:
当本地设备识别到上层视频软件的视频传输模式为仅传输压缩视频数据时,以带外存储器中对视频传输功能提供的整个视频数据缓存区作为所述压缩视频数据缓存区。
可选的,所述在所述原始视频数据指定区域的原始视频数据被读走后,将所述压缩视频数据指定区域中的原始视频数据搬移至所述原始视频数据指定区域的对应位置,包括:
采用直接存储器访问DMA的方式,将所述压缩视频数据指定区域中的原始视频数据依次写入所述原始视频数据指定区域已被所述上层视频软件读走的空间。
可选的,所述在所述压缩视频数据指定区域的压缩视频数据被读走后,将所述原始视频数据指定区域中的压缩视频数据搬移至所述压缩视频数据指定区域的对应位置,包括:
采用DMA的方式,将所述原始视频数据指定区域中的压缩视频数据依次写入所述压缩视频数据指定区已被所述上层视频软件读走的空间。
可选的,所述方法还包括:
如果所述压缩视频数据指定区域写满,且所述压缩视频数据指定区域中的原始视频数据已经被DMA到所述原始视频数据指定区域,等待所述原始视频数据指定区域全部被读完后,从所述原始视频数据指定区域开始写新一帧的原始视频数据。
为解决上述技术问题,本申请还提供一种视频传输控制装置,包括:
第一传输单元,被设置为当上层视频软件的视频传输模式为仅传输原始视频数据时,以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作;
第二传输单元,被设置为当所述上层视频软件的视频传输模式为仅传输压缩视频数据时,以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作;
第三传输单元,被设置为当所述上层视频软件的视频传输模式为同时传输原始视频数据和压缩视频数据时,以所述视频数据缓存区中的原始视频数据指定区域为所述原始视频数据缓存区,以所述视频数据缓存区的压缩视频数据指定区域为所述压缩视频数据缓存区,并执行对应的视频存取操作。
为解决上述技术问题,本申请还提供一种视频传输控制设备,包括:
存储器,被设置为存储计算机程序;
处理器,被设置为执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述视频传输控制方法的步骤。
为解决上述技术问题,本申请还提供一种非易失性可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述视频传输控制方法的步骤。
本申请所提供的视频传输控制方法,通过区分上层软件的视频传输模式来切换对应的视频存取操作,在视频传输模式为同时传输原始视频数据和压缩视频数据时,才按照视频数据缓存区中的原始视频数据指定区域为原始视频数据缓存区、以视频数据缓存区的压缩视频数据指定区域为压缩视频数据缓存区的方式执行对应的视频存取操作,而在视频传输模式为仅传输原始视频数据时,则以整个视频数据缓存区为原始视频数据缓存区,在视频传输模式为仅传输压缩视频数据时,以整个视频数据缓存区为压缩视频数据缓存区,从而在大部分时间中增加了原始视频数据和压缩视频数据各自的缓存空间,故有效减少了丢帧情况,提高了视频传输流畅度,降低了远端错过重要视频画而的概率,进而优化了用户体验。
本申请还提供一种视频传输控制装置、设备及非易失性可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下而将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下而描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的基板管理控制芯片中视频功能的框架示意图;
图2为本申请实施例提供的一种视频传输控制方法的流程图;
图3为本申请实施例提供的一种视频传输功能的框架示意图;
图4为一种视频压缩控制中生成块数据的顺序示意图;
图5为本申请实施例提供的一种视频传输控制装置的流程图;
图6为本申请实施例提供的一种视频传输控制设备的结构示意图。
具体实施方式
本申请的核心是提供一种视频传输控制方法、装置、设备及非易失性可读存储介质,优化了视频传输方案,可以减少丢帧情况,提高视频传输流畅度,降低远端错过重要视频画而的概率,进而优化了用户体验。
下而将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统的基板管理控制芯片进行视频存储控制,主要进行两种视频格式数据的存取,一种是压缩前的视频数据(通常为YUV视频数据,其中“Y”表示明亮度,也就是灰阶值,“U”和“V”分别表示色度和浓度,作用是描述影像色彩及饱和度,用于指定像素的颜色)和压缩后的视频数据(通常为联合图像专家组JPEG压缩视频数据,下文简称JPEG压缩视频数据)。
图1为传统的基板管理控制芯片中视频功能的框架示意图。
如图1所示,视频功能涉及到的硬件框架包括本地设备中的主机101、基板管理控制芯片102和带外存储器103(可以采用双倍速率同步动态随机存储器DDR),以及远端设备。在基板管理控制芯片102上,利用色彩空间转换(RGB2YUV)模块将主机101产生的RGB(纤、绿、蓝三个通道的颜色)视频数据进行色彩空间转换得到YUV视频数据,将YUV视频数据经过数据输出控制模块(DATA_OUT_CTRL)写入到带外存储器103的原始数据指定空间(YUV_SPACE);同时,将YUV视频数据经过块转换模块(YUV_BLOCK)进行转换后,得到符合视频压缩模块(如图1中的视频压缩IP核JPEG IP Core)输入数据格式的块(BLOCK)数据后,输入视频压缩IP核(JPEG IP Core)进行JPEG压缩,得到JPEG压缩视频数据,同样利用数据输出控制模块(DATA_OUT_CTRL)将JPEG压缩视频数据经过写入带外存储器103的压缩数据指定空间(JPEG_SPACE)。同时,利用本地的网卡驱动(如EMAC)读取带外存储器103中缓存的YUV视频数据和JPEG压缩视频数据,并通过网络将两种视频数据传输至远程设备以进行远程显示。
可选地,针对YUV视频数据,在经过色彩空间转换生成YUV视频数据后,直接送入数据输出控制模块(DATA_OUT_CTRL)中,数据输出控制模块(DATA_OUT_CTRL)以帧为单位将YUV视频数据写入带外存储器103或进行丢帧处理。由于YUV视频数据的数据量巨大,以1920×1200分辨率为例,一帧YUV视频数据需占用1920×1200×3=6.6MB的存储空间。而一般的基板管理控制芯片102在进行带外存储器103空间划分时,通常只给YUV视频数据划分能够存储一帧数据的存储空间。在数据输出控制模块(DATA_OUT_CTRL)将当前帧的YUV视频数据写入YUV指定空间(YUV_SPACE),但未被上层视频软件读走时,下一帧的YUV视频数据将被直接丢弃。
针对JPEG压缩视频数据,是由经过色彩空间转换生成YUV视频数据进行块转换后输入视频压缩IP核(JPEG IP Core),生成JPEG格式的压缩视频数据,再输入数据输出控制模块(DATA_OUT_CTRL),然后以帧为单位写入带外存储器103或进行丢帧处理。当JPEG指定空间(JPEG_SPACE)被写满,而上层视频软件未能及时读取JPEG指定空间(JPEG_SPACE)中的JPEG压缩视频数据时,数据输出控制模块(DATA_OUT_CTRL)将会进行丢帧处理。
而在实际应用中,基板管理控制芯片102的视频应用软件不能及时走读压缩数据的现象非常常见,这是由于主机101的视频数据是在不断产生的,而基板管理控制芯片102上的CPU上运行着整个SoC操作系统以及各种不同的应用软件,因此在传统方案中丢帧现象经常出现。因此在带外处理器的YUV指定空间(YUV_SPACE)和JPEG指定空间(JPEG_SPACE)中缓存的视频数据其实已经与主机101实时的视频画而时间间隔较大,而远程设备看到的YUV视频数据和JPEG压缩视频数据还需要基板管理控制芯片102的网卡驱动(EMAC)将两种视频数据发送过来,这加剧了远程设备一端用户看到的视频画而与本地设备的主机101的实时画而的时间差距,且由于视频传输过程中频繁的丢帧现象,远程用户看到的视频画而是不流畅的,这无疑会导致远程用户容易错过一些重要的视频信息。
可以看到,传统的视频传输方案存在需要占用大量的DDR空间、且视频丢帧率很高的问题,导致远程设备在显示的时候,经常会出现前后帧画而突变、视频显示不流畅的现象,严重影响用户体验。更甚者,若丢失的视频画而为主机端的告警信息,导致远程设备不能及时收到并响应告警信息,会造成严重的后果。
实施例一
图2为本申请实施例提供的一种视频传输控制方法的流程图;图3为本申请实施例提供的一种视频传输功能的框架示意图;图4为一种视频压缩控制中生成块数据的顺序示意图。
如图2所示,本申请实施例提供的视频传输控制方法包括:
S201:当上层视频软件的视频传输模式为仅传输原始视频数据时,以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作。
S202:当上层视频软件的视频传输模式为仅传输压缩视频数据时,以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作。
S203:当上层视频软件的视频传输模式为同时传输原始视频数据和压缩视频数据时,以视频数据缓存区中的原始视频数据指定区域(YUV_SPACE)为原始视频数据缓存区,以视频数据缓存区的压缩视频数据指定区域(JPEG_SPACE)为压缩视频数据缓存区,并执行对应的视频存取操作。
在实际应用中可以看到,远程设备的上层视频软件并不是时刻都需要同时传输原始视频数据和压缩视频数据,故本申请实施例提供的视频传输方法,将远程设备不需要同时传输两种视频数据的情况下,改变对预先分配给视频数据的视频数据缓存区的利用方式,实现原始视频数据指定区域(YUV_SPACE)和压缩视频数据指定区域(JPEG_SPACE)的共用,充分利用缓存资源,相当于增加了原始视频数据的缓存空间和压缩视频数据的缓存空间,显著降低了丢帧率。
如图3所示,本申请实施例提供的视频传输方法可以应用于如背景技术部分介绍的硬件框架,即包括本地设备中的主机201、基板管理控制芯片202和带外存储器203(可以采用双倍速率同步动态随机存储器DDR),以及远端设备。则本申请实施例提供的视频传输方法可以应用于基板管理控制芯片202。
在本申请实施例中,原始视频数据可以指YUV视频数据,压缩视频数据可以指JPEG压缩视频数据。在本地设备中,主机201生成的RGB(纤、绿、蓝三个通道的颜色)视频数据经过色彩空间转换(RGB2YUV)模块根据矩阵转换公式转换得到YUV视频数据,而后经过块转换模块(YUV_BLOCK)进行转换后,得到符合视频压缩IP核(如图3中的JPEG IP Core)输入数据格式的块(BLOCK)数据后,输入视频压缩IP核(JPEG IP Core)进行JPEG压缩,得到JPEG压缩视频数据。采用实现了本申请实施例提供的视频传输控制方法的数据输出控制模块(DATA_OUT_CTRL_NEW)被设置为将YUV_BLOCK和JPEG压缩视频数据存入带外存储器203。将带外存储器203中的YUV视频数据和JPEG压缩视频数据通过基板管理控制芯片202的网卡驱动(EMAC)从对视频传输功能提供的视频数据缓存区读取并传输至远程设备。
其中,块(BLOCK)数据的产生过程如下:
Y、U、V数据用基板管理控制芯片202片内的存储资源[随机存取存储器(Random Access Memory,RAM)/先进先出队列(First in First out,FIFO)]进行缓存,按照BLOCK格式转换的需求,需要16个Y_FIFO,8个U_FIFO,8个V_FIFO组成的FIFO阵列,该方案下,先进先出队列控制(FIFO_CTRL)子模块接收单芯片多处理器(Chip multiprocessors,CMP)发出的读数据的控制信息,值得注意的是,FIFO_CTRL子模块不关心CMP发出的读地址,而是FIFO_CTRL子模块自己产生读写控制逻辑。
YUV420模式下的写逻辑(原则是保留全部的Y数据,保留偶数行偶数列的U/V数据)包括:
将第0/16/32/48…行的Y数据写进Y_FIFO_0;
将第1/17/33/49…行的Y数据写进Y_FIFO_1;
将第2/18/34/50…行的Y数据写进Y_FIFO_2;
……
将第15/31/47/63…行的Y数据写进Y_FIFO_15;
将第0/16/32/48…行的偶数列U数据写进U_FIFO_0;
将第2/18/34/50…行的偶数列U数据写进U_FIFO_1;
……
将第14/30/46/62…行的偶数列U数据写进U_FIFO_7;
将第0/16/32/48…行的偶数列U数据写进V_FIFO_0;
将第2/18/34/50…行的偶数列U数据写进V_FIFO_1;
……
将第14/30/46/62…行的偶数列U数据写进V_FIFO_7。
YUV422模式下的写逻辑(原则是保留全部的Y数据,保留偶数列的U/V数据)包括:
将第0/16/32/48…行的Y数据写进Y_FIFO_0;
将第1/17/33/49…行的Y数据写进Y_FIFO_1;
将第2/18/34/50…行的Y数据写进Y_FIFO_2;
……
将第15/31/47/63…行的Y数据写进Y_FIFO_15;
将第0/16/32/48…行的偶数列U数据写进U_FIFO_0;
将第1/17/33/49…行的偶数列U数据写进U_FIFO_1;
将第2/18/34/50…行的偶数列U数据写进U_FIFO_2;
……
将第15/31/47/63…行偶数列的U数据写进U_FIFO_15;
将第0/16/32/48…行的偶数列V数据写进V_FIFO_0;
将第1/17/33/49…行的偶数列V数据写进V_FIFO_1;
将第2/18/34/50…行的偶数列V数据写进V_FIFO_2;
……
将第15/31/47/63…行偶数列的V数据写进V_FIFO_15;
YUV444模式下的写逻辑(保留全部行全部列的Y/U/V数据)包括:
将第0/8/16/24…行的Y数据写进Y_FIFO_0;
将第1/9/17/25…行的Y数据写进Y_FIFO_1;
将第2/10/18/26…行的Y数据写进Y_FIFO_2;
……
将第7/15/23/31…行的Y数据写进Y_FIFO_7;
将第0/8/16/24…行的U数据写进U_FIFO_0;
将第1/9/17/25…行的U数据写进U_FIFO_1;
将第2/10/18/26…行的U数据写进U_FIFO_2;
……
将第7/15/23/31…行的U数据写进U_FIFO_7;
将第0/8/16/24…行的V数据写进V_FIFO_0;
将第1/9/17/25…行的V数据写进V_FIFO_1;
将第2/10/18/26…行的V数据写进V_FIFO_2;
……
将第7/15/23/31…行的V数据写进V_FIFO_7。
YUV420模式的读逻辑下,FIFO_CTRL子模块不关心CMP发出的读地址,而只关心CMP发出的读使能,依次去读16次Y_FIFO_0,16次Y_FIFO_1……16次Y_FIFO_15,8次U_FIFO_0,8次U_FIFO_1,8次U_FIFO_7,8次V_FIFO_0,8次V_FIFO_1,8次V_FIFO_7,然后依次循环。
YUV422模式的读逻辑下,FIFO_CTRL子模块不关心CMP发出的读地址,而只关心CMP发出的读使能,依次去读16次Y_FIFO_0,16次Y_FIFO_1……16次Y_FIFO_15,8次U_FIFO_0,8次U_FIFO_1,……8次U_FIFO_15,8次V_FIFO_0,8次V_FIFO_1,……8次V_FIFO_15。
YUV444模式的读逻辑下,FIFO_CTRL子模块不关心CMP发出的读地址,而只关心CMP发出的读使能,依次去读8次Y_FIFO_0,8次Y_FIFO_1……8次Y_FIFO_7,8次U_FIFO_0,8次U_FIFO_1,8次U_FIFO_7,8次V_FIFO_0,8次V_FIFO_1,8次V_FIFO_7。
以YCbCr模式数据为例,YCbCr是YUV数据中在计算机系统中应用最多的一种,JPEG、MPEG均采用此格式,其中,Y为亮度,Cb为蓝色浓度偏移量,Cr为纤色浓度偏移量。
如图4所示,将经过色彩空间转换得到的原始视频数据(Source Image Picture),为一帧图像的Y数据、一帧图像的Cb数据和一帧图像的Cr数据,再根据不同的压缩模式(Format),利用块转换模块(YUV_BLOCK)进行转换后,得到符合视频压缩IP核输入格式的块(BLOCK)数据。
如压缩模式为YCbCr 420,则块转换后保留全部的Y数据,而得到的Cb块数据高度和Cr块数据的高度均为Y块数据高度的一半(height/2),Cb块数据宽度和Cr块数据的宽度也均为Y块数据宽度的一半(width/2)。
如压缩模式为YCbCr 422,则块转换后保留全部的Y数据,而得到的Cb块数据高度和Cr块数据的高度与Y块数据的高度一致(height),Cb块数据宽度和Cr块数据的宽度均为Y块数据宽度的一半(width/2)。
如压缩模式为YCbCr 444,则保留全部行全部列的YCbCr数据,即Cb块数据高度和Cr块数据的高度与Y块数据的高度一致(height),Cb块数据宽度和Cr块数据的宽度也与Y块数据的宽度一致(width)。
这种先将色彩空间转换(RGB2YUV)模块生成的YUV视频数据存入FIFO中再进行压缩的方案,按照色彩空间转换(RGB2YUV)模块生成数据的顺序以及视频压缩IP核(JPEG IP Core)所需输入数据的格式,需要大量的FIFO空间去缓存待压缩的YUV视频数据,故优选的办法是先将色彩空间转换(RGB2YUV)模块生成的 YUV视频数据存入带外存储器203,再根据视频压缩IP核(JPEG IP Core)所需输入数据的格式去带外存储器203中读取块(BLOCK)数据,按照输入规则将读取到的部分数据输入视频压缩IP核(JPEG IP Core),将另一部分数据存入FIFO中进行缓存,可以有效降低对FIFO空间的占用,优化视频压缩流程。
本申请实施例提供的视频传输方法则应用于对生成的原始视频数据和压缩视频数据的存储和传输环节,即通过色彩空间转换(RGB2YUV)模块生成YUV视频数据以及通过视频压缩IP核(JPEG IP Core)生成JPEG压缩视频数据之后的环节。
在可选的实施中,对于S201,当本地设备识别到上层视频软件的视频传输模式为仅传输原始视频数据时,此时远程设备并不需要传输压缩视频数据,则可以不将新生成的压缩视频数据存入带外存储器203,而是以带外存储器203中对视频传输功能提供的整个视频数据缓存区作为原始视频数据缓存区,由此有效扩大了原始视频数据的缓存空间。由于原始视频数据的数据量较大,原本的原始视频数据指定区域(YUV_SPACE)可能只能存储一帧原始视频数据,扩充后的原始视频数据缓存区可以有效缓解了原始视频数据丢帧的情况。
对于S202,同理的,当本地设备识别到上层视频软件的视频传输模式为仅传输压缩视频数据时,此时远程设备不需要传输原始视频数据,则可以不将新生成的原始视频数据存入带外存储器203,而是以带外存储器203中对视频传输功能提供的整个视频数据缓存区作为压缩视频数据缓存区,由此有效扩大了压缩视频数据的缓存空间,扩充后的压缩视频数据缓存区有效缓解了压缩视频数据丢帧的情况。
对于S203,当本地设备识别到上层视频软件的视频传输模式为同时传输原始视频数据和压缩视频数据时,此时远程设备需要本地设备同时传输原始视频数据和压缩视频数据,则可以按照现有技术中那样,还是以视频数据缓存区中原有的原始视频数据指定区域(YUV_SPACE)为原始视频数据缓存区,以视频数据缓存区中原有的压缩视频数据指定区域(JPEG_SPACE)为压缩视频数据缓存区,分别生成原始视频数据和压缩视频数据,缓存至对应的指定区域,由网卡驱动读取并传输至远程设备。
需要说明的是,S201、S202、S203之间的顺序可以为任意顺序。
本申请实施例提供的视频传输控制方法,通过区分上层软件的视频传输模式来切换对应的视频存取操作,在视频传输模式为同时传输原始视频数据和压缩视频数据时,才按照视频数据缓存区中的原始视频数据指定区域(YUV_SPACE)为原始视频数据缓存区、以视频数据缓存区的压缩视频数据指定区域(JPEG_SPACE)为压缩视频数据缓存区的方式执行对应的视频存取操作,而在视频传输模式为仅传输原始视频数据时,则以整个视频数据缓存区为原始视频数据缓存区,在视频传输模式为仅传输压缩视频数据时,以整个视频数据缓存区为压缩视频数据缓存区,从而在大部分时间中增加了原始视频数据和压缩视频数据各自的缓存空间,故有效减少了丢帧情况,提高了视频传输流畅度,降低了远端错过重要视频画而的概率,进而优化了用户体验。
实施例二
在上述实施例的基础上,由于视频数据缓存区的原始视频数据指定区域(YUV_SPACE)和压缩视频数据指定区域(JPEG_SPACE)均为预先分配的固定存储区域,上层视频软件去读视频数据时生成读操作地址的规则也是固定的,如果还是以传统的视频存取操作,则在视频传输模式为仅传输原始视频数据时或视频传输模式为仅传输压缩视频数据时将无法读取到所需的全部视频数据。
为解决该问题,在上述实施例的基础上,在本申请实施例提供的视频传输控制方法中,S201中以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:
当原始视频数据指定区域(YUV_SPACE)未被写满时,将新生成的原始视频数据写入原始视频数据指定区域(YUV_SPACE);
当原始视频数据指定区域(YUV_SPACE)已被写满且未被读取时,将新生成的原始视频数据写入压缩视频数据指定区域(JPEG_SPACE),并在将压缩视频数据指定区域(JPEG_SPACE)也写满后,以新生成的原始视频数据覆盖压缩视频数据指定区域(JPEG_SPACE)的已有数据,并在原始视频数据指定区域 (YUV_SPACE)的原始视频数据被读走后,将压缩视频数据指定区域(JPEG_SPACE)中的原始视频数据搬移至原始视频数据指定区域(YUV_SPACE)的对应位置,以接收对原始视频数据指定区域(YUV_SPACE)的读取。
S202中以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
当压缩视频数据指定区域(JPEG_SPACE)未被写满时,将新生成的压缩视频数据写入压缩视频数据指定区域(JPEG_SPACE);
当压缩视频数据指定区域(JPEG_SPACE)已被写满且未被读取时,将新生成的压缩视频数据写入原始视频数据指定区域(YUV_SPACE),并在将原始视频数据指定区域(YUV_SPACE)也写满后,以新生成的压缩视频数据覆盖原始视频数据指定区域(YUV_SPACE)的已有数据,并在压缩视频数据指定区域(JPEG_SPACE)的压缩视频数据被读走后,将原始视频数据指定区域(YUV_SPACE)中的压缩视频数据搬移至压缩视频数据指定区域(JPEG_SPACE)的对应位置,以接收对压缩视频数据指定区域(JPEG_SPACE)的读取。
在可选的实施中,通过修改数据输出控制模块(DATA_OUT_CTRL_NEW)的控制逻辑来实现本申请实施例提供的视频传输控制方法。
其中,将压缩视频数据指定区域(JPEG_SPACE)中的原始视频数据搬移至原始视频数据指定区域(YUV_SPACE)的对应位置,可以为:采用直接存储器访问(Direct Memory Access,DMA)操作将压缩视频数据指定区域(JPEG_SPACE)中的原始视频数据转移至原始视频数据指定区域(YUV_SPACE)的对应位置。
将原始视频数据指定区域(YUV_SPACE)中的压缩视频数据搬移至压缩视频数据指定区域(JPEG_SPACE)的对应位置,可以为:采用直接存储器访问(Direct Memory Access,DMA)操作将原始视频数据指定区域(YUV_SPACE)中的压缩视频数据转移至压缩视频数据指定区域(JPEG_SPACE)的对应位置。
对于S201,当上层视频软件的视频传输模式为仅传输原始视频数据时(不使能压缩视频数据的视频数据传输),数据输出控制模块(DATA_OUT_CTRL_NEW)将带外存储器203的视频数据缓存区中的原始视频数据指定区域(YUV_SPACE)写满后,再将下一帧原始视频数据写入压缩视频数据指定区域(JPEG_SPACE)。
如果将压缩视频数据指定区域(JPEG_SPACE)也写满(通常为在压缩视频数据指定区域(JPEG_SPACE)中也写入了一帧原始视频数据即占满了压缩视频数据指定区域(JPEG_SPACE))、且上层视频软件仍在读取原始视频数据指定区域(YUV_SPACE)中的原始视频数据或仍未开始读原始视频数据指定区域(YUV_SPACE)中的原始视频数据,则将新生成的原始视频数据对压缩视频数据指定区域(JPEG_SPACE)中的原始视频数据进行覆盖,以保证压缩视频数据指定区域(JPEG_SPACE)中存储的是主机端最新的原始视频数据。
当原始视频数据指定区域(YUV_SPACE)中的原始视频数据开始被上层视频软件读取后,采用DMA的方式,将压缩视频数据指定区域(JPEG_SPACE)中的原始视频数据依次写入原始视频数据指定区域(YUV_SPACE)已被上层视频软件读走的空间。例如,原始视频数据指定区域(YUV_SPACE)的起始地址为0x1000_0000,压缩视频数据指定区域(JPEG_SPACE)的起始地址为0x2000_0000;当上层视频软件读走了从0x1000_0000~0x1000_0100空间的256Bytes的原始视频数据,则配置DMA的源地址为0x2000_0000,目的地址为0x1000_0000,数据量为256Bytes,然后使能DMA操作。这样对于上层视频软件来说,并不需要知道压缩视频数据指定区域(JPEG_SPACE)中也存储了原始视频数据,也不需要从压缩视频数据指定区域(JPEG_SPACE)中读取数据,始终从原始视频数据指定区域(YUV_SPACE)读取原始视频数据即可。
如果压缩视频数据指定区域(JPEG_SPACE)写满,且压缩视频数据指定区域(JPEG_SPACE)中的原始视频数据已经被DMA到原始视频数据指定区域(YUV_SPACE),则等待原始视频数据指定区域(YUV_SPACE)全部被读完后,从原始视频数据指定区域(YUV_SPACE)开始写新一帧的原始视频数据。
对于S202,当上层视频软件的视频传输模式为仅传输压缩视频数据时(不使能原始视频数据的视频数据传输),数据输出控制模块(DATA_OUT_CTRL_NEW)将带外存储器203的视频数据缓存区中的压缩视频数据指定区域(JPEG_SPACE)写满后,再将新生成的压缩视频数据写入原始视频数据指定区域(YUV_SPACE)。
如果原始视频数据指定区域(YUV_SPACE)也写满、且上层视频软件仍在读取压缩视频数据指定区域(JPEG_SPACE)中的压缩视频数据或仍未开始读压缩视频数据指定区域(JPEG_SPACE)中的压缩视频数据,则将新生成的压缩视频数据对原始视频数据指定区域(YUV_SPACE)中的压缩视频数据进行覆盖,以保证原始视频数据指定区域(YUV_SPACE)中存储的是主机端最新的压缩视频数据。
当压缩视频数据指定区域(JPEG_SPACE)中的压缩视频数据开始被上层视频软件读取时,采用DMA的方式,将原始视频数据指定区域(YUV_SPACE)中的压缩视频数据依次写入压缩视频数据指定区域(JPEG_SPACE)已被上层视频软件读走的空间。例如,压缩视频数据指定区域(JPEG_SPACE)的起始地址为0x2000_0000,原始视频数据指定区域(YUV_SPACE)的起始地址为0x1000_0000,上层视频软件读走了从0x2000_0000~0x2000_0100空间的256Bytes的压缩视频数据,则配置DMA的源地址为0x1000_0000,目的地址为0x2000_0000,数据量为256Bytes,然后使能DMA操作。这样对于上层视频软件来说,并不需要知道原始视频数据指定区域(YUV_SPACE)中也存储了压缩视频数据,也不需要从原始视频数据指定区域(YUV_SPACE)中读取数据,始终从压缩视频数据指定区域(JPEG_SPACE)读取压缩视频数据即可。
应用本申请实施例提供的视频传输控制方法,只需要在本地设备的基板管理控制芯片202的数据输出控制模块(DATA_OUT_CTRL_NEW)中增加搬移带外存储器203中的数据的功能即可,而远程设备的上层视频软件不需要做任何改动,便于方案的实施。
实施例三
为解决视频传输模式为仅传输原始视频数据时或视频传输模式为仅传输压缩视频数据时生成读操作地址的问题,除了本申请实施例二提供的办法外,本申请实施例提供另一种解决办法。
在本申请实施例提供的视频传输控制方法中,S201中以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:以原始视频数据指定区域(YUV_SPACE)的起始地址为原始视频数据缓存区的起始地址,以压缩视频数据指定区域(JPEG_SPACE)的终止地址为原始视频数据缓存区的终止地址,将原始视频数据依次写入原始视频数据缓存区,以接收对原始视频数据缓存区的读取。
S202中以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:以原始视频数据指定区域(YUV_SPACE)的起始地址为压缩视频数据缓存区的起始地址,以压缩视频数据指定区域(JPEG_SPACE)的终止地址为压缩视频数据缓存区的终止地址,将压缩视频数据依次写入压缩视频数据缓存区,以接收对压缩视频数据缓存区的读取。
在实际应用中,远程设备中用于读取原始视频数据和压缩视频数据的上层视频软件为两种视频软件,在现有技术中,这两种视频软件互不干涉另一视频软件的读操作。请参考本申请实施例二的描述,由于在视频传输模式为仅传输原始视频数据时或视频传输模式为仅传输压缩视频数据时,原始视频数据的存储位置或压缩视频数据的存储位置,相较于同时传输原始视频数据和压缩视频数据时的存储位置发生了变化,除了采用本申请实施例二所提供的通过数据搬移的方式——将视频数据搬移到上层视频软件原本读数据的位置之外,在本申请实施例提供的视频传输控制方法中,还可以采用通过远程设备的上层视频软件改变读操作地址的方式来读取到相应的视频数据。
改变上层视频软件的读操作地址的方式,可以为本地设备通知远程设备来改变上层视频软件的读操作地址的生成规则;或者通过在远程设备的上层视频软件之间增加视频传输模式的监控机制,如两种视频软件之间通过互相监控获取到此时为仅传输一种视频数据的状态时,则切换到相应的生成读操作地址的规则;或者在远程设备通过第三方模块的监控机制,来监控当前的视频传输模式,并通知上层视频软件切换到对应的生成读操作地址的规则。
则S201中对原始视频数据缓存区的读取,可以为:识别到上层视频软件的视频传输模式为仅传输原始视频数据时,根据原始视频数据指定区域(YUV_SPACE)的起始地址和压缩视频数据指定区域(JPEG_SPACE)的终止地址更换上层视频软件生成对原始视频数据缓存区的读操作地址的规则。
S202中对压缩视频数据缓存区的读取,可以为:识别到上层视频软件的视频传输模式为仅传输压缩视频数据时,根据原始视频数据指定区域(YUV_SPACE)的起始地址和压缩视频数据指定区域(JPEG_SPACE)的终止地址更换上层视频软件生成对压缩视频数据缓存区的读操作地址的规则。
在可选的实施中,识别上层视频软件的视频传输模式,并通知相应的视频软件更换生成读操作地址的规则的执行主体可以为本地设备或远程设备。
实施例四
在上述实施例的基础上,由于压缩频数据相较于原始视频数据所占据的空间较小,故可以通过将压缩视频数据缓存区这一步分区的方式,来保证远程设备的上层视频软件读取到的始终是最新的压缩视频数据。
则在本申请实施例提供的视频传输控制方法中,S203中以视频数据缓存区的压缩视频数据指定区域(JPEG_SPACE)为压缩视频数据缓存区,并执行对应的视频存取操作,可以包括:
当压缩视频数据指定区域(JPEG_SPACE)未被写满时,将新生成的压缩视频数据依次写入压缩视频数据指定区域(JPEG_SPACE)中的各第一数据分区;
当压缩视频数据指定区域(JPEG_SPACE)的最后一个第一数据分区被写满后,将新生成的压缩视频数据写入上层视频软件正在读的第一数据分区的下一个第一数据分区。
在可选的实施中,可以设计压缩视频数据指定区域(JPEG_SPACE)设有三个第一数据分区,如图3所示的压缩视频数据指定区域(JPEG_SPACE)的A、B、C分区,这三个第一数据分区的大小划分可以由用户根据实际需要进行设定,最小要求只存一帧压缩视频数据。例如可以设置各第一数据分区的空间大小均为3M。除此以外,还可以设置更多的数据分组。
在初始状态起,数据输出控制模块(DATA_OUT_CTRL_NEW)写压缩视频数据指定区域(JPEG_SPACE)的顺序可以为:按照地址顺序依次写各第一数据分区,如先写A、再写B、最后写C,相应的,上层视频软件读压缩视频数据的顺序也是A到B到C。
当最后一个第一数据分区被写满后,则将新生成的压缩视频数据写入上层视频软件正在读的第一数据分区的下一个第一数据分区。
在此基础上,可以设置上层视频软件在读取完当前的第一数据分区后,首先按顺序读非存储最新的压缩视频数据的第一数据分区,读完后再读取存储最新的压缩视频数据的第一数据分区。例如当C被写满、且上层视频软件还未读到B时,则将新生成的压缩视频数据写入B覆盖B中已有的压缩视频数据,并设置相关寄存器通知上层视频软件将读取顺序切换为A——C——B,即上层视频软件读完A后,先读C,再读B;当C被写满、且上层视频软件开始读B时,说明已经将A读完,则将最新的压缩视频数据写入C,之后再写入A并覆盖A中已有的压缩视频数据,并设置相关寄存器通知上层视频软件将读取顺序切换为A——B——C——A,这样上层视频软件在读完A后继续读B,再读C,再读A。基于该视频存取操作,可以在一定程度上保证远程设备显示压缩视频数据的连续性、同时又能读取到最新生成的压缩视频数据。
或者,也可以设置上层视频软件在读取完当前的第一数据分区后,直接读取存储最新的压缩视频数据的第一数据分区,并在上层视频软件读取存储最新的压缩视频数据的第一数据分区时,继续对其他第一数据分区执行当最后一个第一数据分区被写满后,则将新生成的压缩视频数据写入上层视频软件正在读的第一数据分区的下一个第一数据分区的操作。例如当C被写满、且上层视频软件还未读到B时,则将新生成的压缩视频数据写入B覆盖B中已有的压缩视频数据,则在上层视频软件读完A后,可以继续读B来获取最新的压缩视频数据,同时在上层视频软件开始读B后,可以继续将新生成的压缩视频数据写入C再写入A,则上层视频软件按照A——B——C——A的顺序循环读取,并始终能读取到最新的压缩视频数据。当C被写满后、且 上层视频软件正在读B时,则可以将新生成的压缩视频数据写入C覆盖C中已有的压缩视频数据,同时在上层视频软件开始读C后,可以继续将新生成的压缩视频数据写入A再写入B,如此循环。基于该视频存取操作,可以保证远程视频软件能够读取到最新的压缩视频数据且能够在一定程度上保证最新的压缩视频数据之后的压缩视频数据的连续性。
除此之外,还可以针对多个第一数据分区设置其他的视频存储规则,在此不一一赘述。
同理,在原始视频数据指定区域(YUV_SPACE)足够大时,也可以针对原始视频数据指定区域(YUV_SPACE)设计数据分区并执行数据分区对应的视频存取操作。但是由于原始视频数据通常数据量较大。而带外存储器203中预先准备的原始视频数据指定区域(YUV_SPACE)的空间较小,如通常仅设置一帧数据大小的原始视频数据指定区域(YUV_SPACE)。则在实际应用中,将原始视频数据指定区域(YUV_SPACE)进行分区的实用性不大。
实施例五
与本申请实施例四同理的,在S202中以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,可以包括:
当压缩视频数据缓存区未被写满时,将新生成的压缩视频数据依次写入压缩视频数据缓存区的各第二数据分区;
当压缩视频数据缓存区的最后一个第二数据分区被写满后,将新生成的压缩视频数据写入上层视频软件正在读的第二数据分区的下一个第二数据分区。
在可选的实施中,可以设计压缩视频数据缓存区设有三个第二数据分区,或更多的第二数据分区。
以设计三个第二数据分区为例,则可以以A为D,以B为E,以C为F,参考本申请实施例四中针对第一数据分区A、B、C的视频存储规则,在此不再赘述。
同理,在原始视频数据缓存区足够大时,也可以针对原始视频数据缓存区设计数据分区并执行数据分区对应的视频存取操作。但是由于原始视频数据通常数据量较大。而带外存储器203中预先准备的视频数据缓存区较小,如视频数据缓存区总共能够存储两帧的原始视频数据,则在实际应用中,将原始视频数据缓存区进行分区的实用性不大。
实施例六
在上述实施例的基础上,为使远程设备长时间关闭视频功能又启动视频功能后,能够看到上次关闭视频功能后的视频画而,以便查看主机端是否出现过异常,在本申请实施例提供的视频传输控制方法中,可以设计压缩视频数据缓存区设有用于上层视频软件正在读取的压缩视频数据的下一帧压缩视频数据的备份数据分区。
如图3所示,在S203中,可以在压缩视频数据指定区域(JPEG_SPACE)划分出一部分区域作为备份数据分区,并实时地将上层视频软件正在读取的压缩视频数据的下一帧压缩视频数据备份到备份数据分区,而其余缓存区域可以不再缓存新的视频数据或继续缓存新的视频数据,但在远程设备再次开启视频功能并获取压缩视频数据时,将备份数据分区的压缩视频数据提供给远程设备以使远程设备确定在上一次关闭视频功能后主机端的画而是否存在异常信息。
为实现该功能,本申请实施例提供的视频传输控制方法还可以包括:在远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,采用直接存储器访问(Direct Memory Access,DMA)操作将备份数据分区的压缩视频数据搬移至上层视频软件将要读取的地址。
在可选的实施中,根据上层视频软件的视频传输模式,确定远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时首先要读取的地址,并利用DMA将备份数据分区的压缩视频数据搬移至上层视频软件将要读取的地址,而后继续执行将上层视频软件正在读取的压缩视频数据的下一帧压缩视频数据备份到备份数据分区的操作。
或者,本申请实施例提供的视频传输控制方法还可以包括:将备份数据分区的地址发送至远程设备, 以使远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,首先读取备份数据分区的压缩视频数据,再按照当前的视频传输模式对应的视频存储规则生成下一次读取压缩视频数据的地址。
在可选的实施中,也可以设计远程设备在关闭视频功能又再次启用视频功能以获取压缩视频数据时自行获取备份数据分区的地址以读取上一次关闭视频功能后的压缩视频数据。此时,备份数据分区可以为固定地址,也可以直接采用远程设备关闭视频功能前正在读取的压缩视频数据的下一帧压缩视频数据所在的地址为备份数据分区,并在此后远程设备未开启视频功能获取压缩视频数据前、跳过该备份数据分区存储视频数据。
同理,在原始视频数据缓存区足够大时,也可以针对原始视频数据缓存区设计备份数据分区并执行备份数据分区对应的视频存取操作。但是由于原始视频数据通常数据量较大。而带外存储器203中预先准备的视频数据缓存区较小,在实际应用中,将原始视频数据缓存区进行备份的实用性不大。
上文详述了视频传输控制方法对应的各个实施例,在此基础上,本申请还公开了与上述方法对应的视频传输控制装置、设备及非易失性可读存储介质。
实施例七
图5为本申请实施例提供的一种视频传输控制装置的流程图。
如图5所示,本申请实施例提供的视频传输控制装置包括:
第一传输单元401,被设置为当上层视频软件的视频传输模式为仅传输原始视频数据时,以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作;
第二传输单元402,被设置为当上层视频软件的视频传输模式为仅传输压缩视频数据时,以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作;
第三传输单元403,被设置为当上层视频软件的视频传输模式为同时传输原始视频数据和压缩视频数据时,以视频数据缓存区中的原始视频数据指定区域为原始视频数据缓存区,以视频数据缓存区的压缩视频数据指定区域为压缩视频数据缓存区,并执行对应的视频存取操作。
可选的,第一传输单元401以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:
当原始视频数据指定区域未被写满时,将新生成的原始视频数据写入原始视频数据指定区域;
当原始视频数据指定区域已被写满且未被读取时,将新生成的原始视频数据写入压缩视频数据指定区域,并在将压缩视频数据指定区域也写满后,以新生成的原始视频数据覆盖压缩视频数据指定区域的已有数据,并在原始视频数据指定区域的原始视频数据被读走后,将压缩视频数据指定区域中的原始视频数据搬移至原始视频数据指定区域的对应位置,以接收对原始视频数据指定区域的读取;
第二传输单元402以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
当压缩视频数据指定区域未被写满时,将新生成的压缩视频数据写入压缩视频数据指定区域;
当压缩视频数据指定区域已被写满且未被读取时,将新生成的压缩视频数据写入原始视频数据指定区域,并在将原始视频数据指定区域也写满后,以新生成的压缩视频数据覆盖原始视频数据指定区域的已有数据,并在压缩视频数据指定区域的压缩视频数据被读走后,将原始视频数据指定区域中的压缩视频数据搬移至压缩视频数据指定区域的对应位置,以接收对压缩视频数据指定区域的读取。
可选的,第一传输单元401将压缩视频数据指定区域中的原始视频数据搬移至原始视频数据指定区域的对应位置,包括:
采用直接存储器访问操作将压缩视频数据指定区域中的原始视频数据转移至原始视频数据指定区域的对应位置;
第二传输单元402将原始视频数据指定区域中的压缩视频数据搬移至压缩视频数据指定区域的对应位置,包括:
采用直接存储器访问操作将原始视频数据指定区域中的压缩视频数据转移至压缩视频数据指定区域的 对应位置。
可选的,第一传输单元401以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:
以原始视频数据指定区域的起始地址为原始视频数据缓存区的起始地址,以压缩视频数据指定区域的终止地址为原始视频数据缓存区的终止地址,将原始视频数据依次写入原始视频数据缓存区,以接收对原始视频数据缓存区的读取;
第二传输单元402以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
以原始视频数据指定区域的起始地址为压缩视频数据缓存区的起始地址,以压缩视频数据指定区域的终止地址为压缩视频数据缓存区的终止地址,将压缩视频数据依次写入压缩视频数据缓存区,以接收对压缩视频数据缓存区的读取。
可选的,对原始视频数据缓存区的读取,包括:
识别到上层视频软件的视频传输模式为仅传输原始视频数据时,根据原始视频数据指定区域的起始地址和压缩视频数据指定区域的终止地址更换上层视频软件生成对原始视频数据缓存区的读操作地址的规则;
对压缩视频数据缓存区的读取,包括:
识别到上层视频软件的视频传输模式为仅传输压缩视频数据时,根据原始视频数据指定区域的起始地址和压缩视频数据指定区域的终止地址更换上层视频软件生成对压缩视频数据缓存区的读操作地址的规则。
可选的,第三传输单元403以视频数据缓存区的压缩视频数据指定区域为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
当压缩视频数据指定区域未被写满时,将新生成的压缩视频数据依次写入压缩视频数据指定区域中的各第一数据分区;
当压缩视频数据指定区域的最后一个第一数据分区被写满后,将新生成的压缩视频数据写入上层视频软件正在读的第一数据分区的下一个第一数据分区。
可选的,压缩视频数据指定区域设有三个数据分区。
可选的,第二传输单元402以视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
当压缩视频数据缓存区未被写满时,将新生成的压缩视频数据依次写入压缩视频数据缓存区的各第二数据分区;
当压缩视频数据缓存区的最后一个第二数据分区被写满后,将新生成的压缩视频数据写入上层视频软件正在读的第二数据分区的下一个第二数据分区。
可选的,压缩视频数据缓存区设有用于上层视频软件正在读取的压缩视频数据的下一帧压缩视频数据的备份数据分区。
可选的,本申请实施例提供的视频传输控制装置还包括:
第二搬移单元,被设置为在远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,采用直接存储器访问操作将备份数据分区的压缩视频数据搬移至上层视频软件将要读取的地址。
或者,本申请实施例提供的视频传输控制装置还包括:
第二发送单元,被设置为将备份数据分区的地址发送至远程设备,以使远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,首先读取备份数据分区的压缩视频数据,再按照当前的视频传输模式对应的视频存储规则生成下一次读取压缩视频数据的地址。
可选的,本申请实施例提供的视频传输控制装置应用于基板管理控制芯片。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施 例的描述,这里暂不赘述。
实施例八
图6为本申请实施例提供的一种视频传输控制设备的结构示意图。
如图6所示,本申请实施例提供的视频传输控制设备包括:
存储器510,被设置为存储计算机程序511;
处理器520,被设置为执行计算机程序511,该计算机程序511被处理器520执行时实现如上述任意一项实施例所述视频传输控制方法的步骤。
其中,处理器520可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器520可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable Logic Array)中的至少一种硬件形式来实现。处理器520也可以包括主处理器和协处理器,主处理器是被设置为对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(Central Processing Unit);协处理器是被设置为对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器520可以集成有图像处理器GPU(Graphics Processing Unit),GPU被设置为负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器520还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器被设置为处理有关机器学习的计算操作。
存储器510可以包括一个或多个非易失性可读存储介质,该非易失性可读存储介质可以是非暂态的。存储器510还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器510至少被设置为存储以下计算机程序511,其中,该计算机程序511被处理器520加载并执行之后,能够实现前述任一实施例公开的视频传输控制方法中的相关步骤。另外,存储器510所存储的资源还可以包括操作系统512和数据513等,存储方式可以是短暂存储或者永久存储。其中,操作系统512可以为Windows。数据513可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,视频传输控制设备还可包括有显示屏530、电源540、通信接口550、输入输出接口560、传感器570以及通信总线580。
本领域技术人员可以理解,图6中示出的结构并不构成对视频传输控制设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的视频传输控制设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的视频传输控制方法,效果同上。
实施例九
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。
为此,本申请实施例还提供一种非易失性可读存储介质,该非易失性可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如视频传输控制方法的步骤。
该非易失性可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-Only Memory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的非易失性可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的视频传输控制方法的步骤,效果同上。
以上对本申请所提供的一种视频传输控制方法、装置、设备及非易失性可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及非易失性可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (20)

  1. 一种视频传输控制方法,其特征在于,包括:
    当上层视频软件的视频传输模式为仅传输原始视频数据时,以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作;
    当所述上层视频软件的视频传输模式为仅传输压缩视频数据时,以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作;
    当所述上层视频软件的视频传输模式为同时传输原始视频数据和压缩视频数据时,以所述视频数据缓存区中的原始视频数据指定区域为所述原始视频数据缓存区,以所述视频数据缓存区的压缩视频数据指定区域为所述压缩视频数据缓存区,并执行对应的视频存取操作。
  2. 根据权利要求1所述的视频传输控制方法,其特征在于,所述以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:
    当所述原始视频数据指定区域未被写满时,将新生成的原始视频数据写入所述原始视频数据指定区域;
    当所述原始视频数据指定区域已被写满且未被读取时,将新生成的原始视频数据写入所述压缩视频数据指定区域,并在将所述压缩视频数据指定区域也写满后,以新生成的原始视频数据覆盖所述压缩视频数据指定区域的已有数据,并在所述原始视频数据指定区域的原始视频数据被读走后,将所述压缩视频数据指定区域中的原始视频数据搬移至所述原始视频数据指定区域的对应位置,以接收对所述原始视频数据指定区域的读取;
    所述以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
    当所述压缩视频数据指定区域未被写满时,将新生成的压缩视频数据写入所述压缩视频数据指定区域;
    当所述压缩视频数据指定区域已被写满且未被读取时,将新生成的压缩视频数据写入所述原始视频数据指定区域,并在将所述原始视频数据指定区域也写满后,以新生成的压缩视频数据覆盖所述原始视频数据指定区域的已有数,并在所述压缩视频数据指定区域的压缩视频数据被读走后,将所述原始视频数据指定区域中的压缩视频数据搬移至所述压缩视频数据指定区域的对应位置,以接收对所述压缩视频数据指定区域的读取。
  3. 根据权利要求2所述的视频传输控制方法,其特征在于,所述将所述压缩视频数据指定区域中的原始视频数据搬移至所述原始视频数据指定区域的对应位置,包括:
    采用直接存储器访问操作将所述压缩视频数据指定区域中的原始视频数据转移至所述原始视频数据指定区域的对应位置;
    所述将所述原始视频数据指定区域中的压缩视频数据搬移至所述压缩视频数据指定区域的对应位置,包括:
    采用直接存储器访问操作将所述原始视频数据指定区域中的压缩视频数据转移至所述压缩视频数据指定区域的对应位置。
  4. 根据权利要求1所述的视频传输控制方法,其特征在于,所述以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作,包括:
    以所述原始视频数据指定区域的起始地址为所述原始视频数据缓存区的起始地址,以所述压缩视频数据指定区域的终止地址为所述原始视频数据缓存区的终止地址,将所述原始视频数据依次写入所述原始视频数据缓存区,以接收对所述原始视频数据缓存区的读取;
    所述以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
    以所述原始视频数据指定区域的起始地址为所述压缩视频数据缓存区的起始地址,以所述压缩视频数据指定区域的终止地址为所述压缩视频数据缓存区的终止地址,将所述压缩视频数据依次写入所述压缩视频数据缓存区,以接收对所述压缩视频数据缓存区的读取。
  5. 根据权利要求4所述的视频传输控制方法,其特征在于,对所述原始视频数据缓存区的读取,包括:
    识别到所述上层视频软件的视频传输模式为仅传输原始视频数据时,根据所述原始视频数据指定区域的起始地址和所述压缩视频数据指定区域的终止地址更换所述上层视频软件生成对所述原始视频数据缓存区的读操作地址的规则;
    对所述压缩视频数据缓存区的读取,包括:
    识别到所述上层视频软件的视频传输模式为仅传输压缩视频数据时,根据所述原始视频数据指定区域的起始地址和所述压缩视频数据指定区域的终止地址更换所述上层视频软件生成对所述压缩视频数据缓存区的读操作地址的规则。
  6. 根据权利要求1所述的视频传输控制方法,其特征在于,所述以所述视频数据缓存区的压缩视频数据指定区域为所述压缩视频数据缓存区,并执行对应的视频存取操作,包括:
    当所述压缩视频数据指定区域未被写满时,将新生成的压缩视频数据依次写入所述压缩视频数据指定区域中的各第一数据分区;
    当所述压缩视频数据指定区域的最后一个第一数据分区被写满后,将新生成的压缩视频数据写入所述上层视频软件正在读的第一数据分区的下一个第一数据分区。
  7. 根据权利要求6所述的视频传输控制方法,其特征在于,所述压缩视频数据指定区域设有三个数据分区。
  8. 根据权利要求1所述的视频传输控制方法,其特征在于,所述以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作,包括:
    当所述压缩视频数据缓存区未被写满时,将新生成的压缩视频数据依次写入所述压缩视频数据缓存区的各第二数据分区;
    当所述压缩视频数据缓存区的最后一个第二数据分区被写满后,将新生成的压缩视频数据写入所述上层视频软件正在读的第二数据分区的下一个第二数据分区。
  9. 根据权利要求1所述的视频传输控制方法,其特征在于,所述压缩视频数据缓存区设有用于所述上层视频软件正在读取的压缩视频数据的下一帧压缩视频数据的备份数据分区。
  10. 根据权利要求9所述的视频传输控制方法,其特征在于,还包括:
    在远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,采用直接存储器访问操作将所述备份数据分区的压缩视频数据搬移至所述上层视频软件将要读取的地址。
  11. 根据权利要求9所述的视频传输控制方法,其特征在于,还包括:
    将所述备份数据分区的地址发送至远程设备,以使所述远程设备关闭视频功能又再次启用视频功能以获取压缩视频数据时,首先读取所述备份数据分区的压缩视频数据,再按照当前的视频传输模式对应的视频存储规则生成下一次读取压缩视频数据的地址。
  12. 根据权利要求1所述的视频传输控制方法,其特征在于,应用于基板管理控制芯片。
  13. 根据权利要求1所述的视频传输控制方法,其特征在于,所述以预设的视频数据缓存区作为原始视频数据缓存区,包括:
    当本地设备识别到所述上层视频软件的视频传输模式为仅传输所述原始视频数据时,以带外存储器中对视频传输功能提供的整个视频数据缓存区作为所述原始视频数据缓存区。
  14. 根据权利要求1所述的视频传输控制方法,其特征在于,所述以所述视频数据缓存区作为压缩视频数据缓存区,包括:
    当本地设备识别到上层视频软件的视频传输模式为仅传输压缩视频数据时,以带外存储器中对视频传输功能提供的整个视频数据缓存区作为所述压缩视频数据缓存区。
  15. 根据权利要求2所述的视频传输控制方法,其特征在于,所述在所述原始视频数据指定区域的原始视频数据被读走后,将所述压缩视频数据指定区域中的原始视频数据搬移至所述原始视频数据指定区域的对应位置,包括:
    采用直接存储器访问DMA的方式,将所述压缩视频数据指定区域中的原始视频数据依次写入所述原始视频数据指定区域已被所述上层视频软件读走的空间。
  16. 根据权利要求2所述的视频传输控制方法,其特征在于,所述在所述压缩视频数据指定区域的压缩视频数据被读走后,将所述原始视频数据指定区域中的压缩视频数据搬移至所述压缩视频数据指定区域的对应位置,包括:
    采用DMA的方式,将所述原始视频数据指定区域中的压缩视频数据依次写入所述压缩视频数据指定区已被所述上层视频软件读走的空间。
  17. 根据权利要求1所述的视频传输控制方法,其特征在于,所述方法还包括:
    如果所述压缩视频数据指定区域写满,且所述压缩视频数据指定区域中的原始视频数据已经被DMA到所述原始视频数据指定区域,等待所述原始视频数据指定区域全部被读完后,从所述原始视频数据指定区域开始写新一帧的原始视频数据。
  18. 一种视频传输控制装置,其特征在于,包括:
    第一传输单元,用于当上层视频软件的视频传输模式为仅传输原始视频数据时,以预设的视频数据缓存区作为原始视频数据缓存区,并执行对应的视频存取操作;
    第二传输单元,用于当所述上层视频软件的视频传输模式为仅传输压缩视频数据时,以所述视频数据缓存区作为压缩视频数据缓存区,并执行对应的视频存取操作;
    第三传输单元,用于当所述上层视频软件的视频传输模式为同时传输原始视频数据和压缩视频数据时,以所述视频数据缓存区中的原始视频数据指定区域为所述原始视频数据缓存区,以所述视频数据缓存区的压缩视频数据指定区域为所述压缩视频数据缓存区,并执行对应的视频存取操作。
  19. 一种视频传输控制设备,其特征在于,包括:
    存储器,用于存储计算机程序;
    处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至17任意一项所述视频传输控制方法的步骤。
  20. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至17任意一项所述视频传输控制方法的步骤。
PCT/CN2023/081737 2022-10-08 2023-03-15 视频传输控制方法、装置、设备及非易失性可读存储介质 Ceased WO2024074012A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211219768.9A CN115297094B (zh) 2022-10-08 2022-10-08 视频传输控制方法、装置、设备及计算机可读存储介质
CN202211219768.9 2022-10-08

Publications (1)

Publication Number Publication Date
WO2024074012A1 true WO2024074012A1 (zh) 2024-04-11

Family

ID=83834630

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081737 Ceased WO2024074012A1 (zh) 2022-10-08 2023-03-15 视频传输控制方法、装置、设备及非易失性可读存储介质

Country Status (2)

Country Link
CN (1) CN115297094B (zh)
WO (1) WO2024074012A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118921503A (zh) * 2024-10-10 2024-11-08 山东云海国创云计算装备产业创新中心有限公司 一种视频数据的传输方法、装置、设备、介质以及产品

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297094B (zh) * 2022-10-08 2023-02-28 苏州浪潮智能科技有限公司 视频传输控制方法、装置、设备及计算机可读存储介质
CN117319716B (zh) * 2023-11-28 2024-02-27 苏州元脑智能科技有限公司 基板管理控制芯片的资源调度方法及基板管理控制芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232513A1 (en) * 2009-03-11 2010-09-16 Quanta Computer Inc. Video compression circuit and method thereof
WO2015162755A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 データを圧縮して格納するストレージ装置
CN107911729A (zh) * 2017-10-23 2018-04-13 广州市百果园网络科技有限公司 网络视频播放方法及终端
CN112839231A (zh) * 2021-01-15 2021-05-25 苏州浪潮智能科技有限公司 一种视频压缩传输方法和系统
CN115297094A (zh) * 2022-10-08 2022-11-04 苏州浪潮智能科技有限公司 视频传输控制方法、装置、设备及计算机可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780506B (zh) * 2012-10-26 2017-08-08 中兴通讯股份有限公司 一种用于以太网设备的数据缓存系统及方法
US20150207841A1 (en) * 2014-01-19 2015-07-23 Fabrix Tv Ltd. Methods and systems of storage level video fragment management
CN105427406B (zh) * 2015-12-02 2018-04-17 北京七维航测科技股份有限公司 航空数据记录设备
CN107247679A (zh) * 2017-05-27 2017-10-13 努比亚技术有限公司 数据传输系统及方法
CN111914116B (zh) * 2019-05-09 2024-04-05 浙江宇视科技有限公司 视频数据存储方法、装置、终端设备及可读存储介质
CN112449196B (zh) * 2019-09-05 2022-10-14 曙光网络科技有限公司 一种并发视频会话ip帧图像组的解码方法
CN111741246B (zh) * 2020-06-12 2022-07-05 浪潮(北京)电子信息产业有限公司 一种视频存储方法、装置、soc系统、介质
CN113810640A (zh) * 2021-08-12 2021-12-17 荣耀终端有限公司 视频处理方法、装置及电子设备
CN114879968B (zh) * 2022-04-29 2025-08-01 山东云海国创云计算装备产业创新中心有限公司 一种基板管理控制芯片中视频处理的方法和装置
CN115086706B (zh) * 2022-08-19 2023-01-06 摩尔线程智能科技(北京)有限责任公司 数据缓存方法及芯片

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232513A1 (en) * 2009-03-11 2010-09-16 Quanta Computer Inc. Video compression circuit and method thereof
WO2015162755A1 (ja) * 2014-04-24 2015-10-29 株式会社日立製作所 データを圧縮して格納するストレージ装置
CN107911729A (zh) * 2017-10-23 2018-04-13 广州市百果园网络科技有限公司 网络视频播放方法及终端
CN112839231A (zh) * 2021-01-15 2021-05-25 苏州浪潮智能科技有限公司 一种视频压缩传输方法和系统
CN115297094A (zh) * 2022-10-08 2022-11-04 苏州浪潮智能科技有限公司 视频传输控制方法、装置、设备及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118921503A (zh) * 2024-10-10 2024-11-08 山东云海国创云计算装备产业创新中心有限公司 一种视频数据的传输方法、装置、设备、介质以及产品

Also Published As

Publication number Publication date
CN115297094A (zh) 2022-11-04
CN115297094B (zh) 2023-02-28

Similar Documents

Publication Publication Date Title
CN115297094B (zh) 视频传输控制方法、装置、设备及计算机可读存储介质
JP4991816B2 (ja) 画像処理装置
CN114501024B (zh) 一种视频压缩系统、方法、计算机可读存储介质及服务器
WO2022161227A1 (zh) 图像处理方法、装置、图像处理芯片和电子设备
JP2001500686A (ja) メディア・コプロセッサにより共用ワークステーションメモリ上で実行される圧縮及び復元方式
CN114428595B (zh) 图像处理方法、装置、计算机设备和存储介质
JP2017513096A (ja) コンピュータ、制御デバイス及びデータ処理方法
CN115209145A (zh) 一种视频压缩方法、系统、装置及可读存储介质
CN115550668A (zh) 一种视频图像压缩方法、系统、存储介质及设备
US20240422337A1 (en) Video compression system and server
CN114051145A (zh) 一种视频压缩处理方法、装置及介质
CN112235579A (zh) 视频处理方法、计算机可读存储介质及电子设备
CN119071417A (zh) 一种视频数据的传输方法、装置、产品、设备、介质
CN103229150B (zh) 数据控制方法及系统
CN111953990A (zh) 编码方法及装置
CN118646893B (zh) 一种视频数据处理方法、产品、设备及存储介质
CN114302087A (zh) 一种mipi数据传输模式转换方法、装置及电子设备
TWI603616B (zh) 晶片內/晶片外記憶體管理
WO2021237513A1 (zh) 数据压缩存储的系统、方法、处理器及计算机存储介质
CN115587076B (zh) 数据解压系统、图形处理系统、组件、设备及解压方法
CN111052742A (zh) 图像处理
CN115499667B (zh) 一种视频处理方法、装置、设备及可读存储介质
US20060140036A1 (en) Memory controller, display controller, and memory control method
WO2024119812A1 (zh) 图片处理方法、系统、装置、图像压缩装置及存储介质
CN114442983A (zh) 应用于工业屏的图像显示控制方法、装置和计算机设备

Legal Events

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

Ref document number: 23874207

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23874207

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 02.09.2025)