WO2023179136A1 - 一种视频压缩系统及服务器 - Google Patents

一种视频压缩系统及服务器 Download PDF

Info

Publication number
WO2023179136A1
WO2023179136A1 PCT/CN2022/141690 CN2022141690W WO2023179136A1 WO 2023179136 A1 WO2023179136 A1 WO 2023179136A1 CN 2022141690 W CN2022141690 W CN 2022141690W WO 2023179136 A1 WO2023179136 A1 WO 2023179136A1
Authority
WO
WIPO (PCT)
Prior art keywords
fifo
fifos
video compression
read
module
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/CN2022/141690
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 Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave 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 Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to US18/704,883 priority Critical patent/US12238313B2/en
Publication of WO2023179136A1 publication Critical patent/WO2023179136A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present application relates to the field of video processing technology, and in particular, to a video compression system and server.
  • the transmission process of the video compression system in the traditional baseboard management control chip is: first, the VGA (Video Graphics Array) transfers the video information of the host (HOST) to the video compression control module (Video CMP IP) for video compression, and completes After compression, the data is written to DDR (Double Data Rate, double rate synchronous dynamic random access memory), the EMAC (network card) driver reads the compressed data, and transmits the video data to the remote (REMOTE) through the network for remote display.
  • VGA Video Graphics Array
  • Video CMP IP Video CMP IP
  • DDR Double Data Rate, double rate synchronous dynamic random access memory
  • the EMAC network card
  • the video data on the host side is transmitted to the baseboard management control chip through PCIe (Peripheral Component Interconnect express, high-speed serial computer expansion bus), and then the original RGB format video data is converted into YUV (a color encoding method, Y represents brightness (Luminance, Luma), U and V represent chroma, density (Chrominance, Chroma)) format data, and then the Y, U, and V data are stored in the on-chip Resources (for example: RAM (Random Access Memory, random access memory abbreviation)) are cached according to the BLOCK (block) format conversion requirements, which require 16 Y_RAM, 16 U_RAM, and 16 V_RAM.
  • PCIe Peripheral Component Interconnect express, high-speed serial computer expansion bus
  • Such a large amount of concentrated RAM is placed in the chip layout, which causes great problems in the comprehensive constraints of the chip back-end, layout and routing, packaging and manufacturing, etc.
  • Risk there are often problems with individual or multiple RAMs, such as inconsistent writing and reading of data, or even the inability to read data. Therefore, the video compression function of the substrate management control chip with integrated video compression function is stable after tape-out. The performance is relatively poor, and in severe cases, numbers may be lost and images may be disordered, posing a risk of project failure.
  • this application proposes a video compression system and server, which optimizes the traditional video compression system, increases the stability of the video compression function, and avoids data loss or image disorder during the video compression process.
  • a video compression system which may include:
  • Central processing unit, hardware detection module, write control module, read control module, FIFO array module, the FIFO array module includes a selection switch;
  • the central processing unit is configured to send a first enable signal to the hardware detection module, the read control module, and the selection switch;
  • the selection switch is configured to select to write data to the FIFO array module through the hardware detection module in response to receiving the first enable signal
  • the hardware detection module is configured to write the test data into the FIFO array module in response to receiving the first enable signal
  • the read control module is configured to read test data from the FIFO array module in response to receiving the first enable signal, and transmit the read test data to the hardware detection module;
  • the hardware detection module is also configured to compare the read test data with the test data written to the FIFO array module, and determine the compression format supported by the current video compression system based on the comparison results, and send the compression format supported by the current video compression system. to the central processing unit.
  • the FIFO array module further includes multiple FIFOs
  • the compression formats supported by the current video compression system are determined, including:
  • the number of FIFOs with normal functions in the FIFO array module is determined based on the comparison results, and the compression format supported by the current video compression system is determined based on the number of FIFOs with normal functions.
  • the hardware detection module can be configured as:
  • test data read from the FIFO is the same as the test data written to the FIFO, the FIFO function is normal;
  • test data read from the FIFO is different from the test data written to the FIFO, the FIFO function is not normal;
  • the hardware detection module is further configured to send the number of functioning FIFOs to the write control module;
  • the central processor is also configured to deliver the compression format for YUV data storage to the write control module and the read control module based on the compression format supported by the current video compression system;
  • the write control module is configured to reorder the functioning FIFOs based on the number of functioning FIFOs and the compression format issued by the central processor, and to generate an interrupt signal after the reordering is completed to send the functioning FIFO reordering to the central processor. Complete the message.
  • the central processor is further configured to send a second enable signal to the write control module, the read control module, and the selection switch in response to the completion of the functional FIFO reordering;
  • the selection switch is further configured to control the write control module to write YUV data to the FIFO array module in response to receiving the second enable signal;
  • the write control module is further configured to write YUV data into the corresponding FIFO based on the delivered compression format and the reordered FIFO in response to receiving the second enable signal;
  • the read control module is further configured to, in response to receiving the second enable signal, read YUV data from the corresponding FIFO based on the issued compression format and the reordered FIFO, and transmit the read YUV data to the video compression control module for data compression.
  • the compression formats include: YUV444, YUV422, YUV420;
  • the compression formats supported by the current video compression system are YUV444, YUV422 and YUV420;
  • the compression formats supported by the current video compression system are YUV444 and YUV420;
  • reordering the FIFOs with normal functions based on the number of FIFOs with normal functions and the compression format issued by the central processor includes:
  • sending the compression format supported by the current video compression system to the central processor includes:
  • the first enable signal is one of high level or low level
  • the corresponding second enable signal is the other one of low level or high level
  • Another aspect of the embodiment of the present application also provides a server, including the above video compression system.
  • the solution of this application detects the quality of the FIFO function before performing the video compression function, determines the compression format of the video compression system based on the number of FIFOs with normal functions, and performs video compression based on the determined compression format. , thereby increasing the stability of the video compression function.
  • Figure 1 is a schematic structural diagram of an embodiment of a video compression system provided by this application.
  • Figure 2 is a schematic structural diagram of a traditional video compression system in a baseboard management control chip
  • Figure 3 is a schematic diagram of converting YUV format data into BLOCK format for storage
  • Figure 4 is a flow chart of an embodiment of video compression performed by the video compression system provided by this application.
  • FIG. 5 is a schematic structural diagram of an embodiment of the server provided by this application.
  • a video compression system can include:
  • Central processing unit 110, hardware detection module 120, write control module 130, read control module 140, FIFO array module 150, FIFO array module 150 includes a selection switch 151;
  • the central processing unit 110 is configured to send a first enable signal to the hardware detection module 120, the read control module 140, and the selection switch 151;
  • the selection switch 151 is configured to select to write data to the FIFO array module 150 through the hardware detection module 120 in response to receiving the first enable signal;
  • the hardware detection module 120 is configured to write the test data to the FIFO array module 150 in response to receiving the first enable signal;
  • the read control module 140 is configured to read the test data from the FIFO array module 150 in response to receiving the first enable signal, and transmit the read test data to the hardware detection module 120;
  • the hardware detection module 120 is also configured to compare the read test data with the test data written to the FIFO array module 150, and determine the compression format supported by the current video compression system based on the comparison result, and compare the compression format supported by the current video compression system.
  • the format is sent to the central processor 110.
  • the traditional video compression system in the baseboard management control chip is shown in Figure 2.
  • the video compression process is as follows:
  • the original video information of the host is in RGB format.
  • the RGB format video data is converted into YUV format (according to the matrix conversion formula) through the color space conversion module (RGB2YUV), and then through FIFO (First in First out, advanced First out) write control module (FIFO_WR_CTRL), FIFO array module (FIFO_ARRAY), FIFO read control module (FIFO_RD_CTRL), convert YUV format data into BLOCK format data and input it to the video compression control module (Video CMP IP).
  • FIFO_WR_CTRL First in First out, advanced First out
  • FIFO_ARRAY FIFO array module
  • FIFO_RD_CTRL FIFO read control module
  • Video CMP IP Video CMP IP
  • Figure 3 is a schematic diagram of converting YUV format data into BLOCK format for storage.
  • Cb represents the U component and Cr represents the V component.
  • the left side of Figure 3 is the source image picture (Source Image Picture) of the YUV format video data. After Discrete Cosine Transform (DCT), it is stored in BLOCK order.
  • height represents the height of the box
  • width represents the width of the box
  • each small box represents the left side of Figure 3.
  • the 8*8 pixels on the side the large box represents 16*16 pixels
  • the long box represents 8*16 pixels.
  • the Y block represents the Y component of four 8*8 pixels
  • the Cb block represents the U component of one 8*8 block
  • the Cr block represents the V component of one 8*8 block.
  • FIFO_WR_CTRL is based on the current CPU
  • the compression mode (YUV444/YUV422/YUV420) is used to control the writing of the FIFO array, and FIFO_RD_CTRL also receives the control information of reading data from Video CMP IP according to the current compression mode. It is worth noting that FIFO_RD_CTRL does not care about Video CMP IP Instead of sending a read address, FIFO_RD_CTRL generates its own read control logic (according to the current compression mode) to read the corresponding FIFO.
  • FIFO_WR_CTRL The YUV data writing control logic through FIFO_WR_CTRL is as follows:
  • V_RAM_15 Write the V data of the 15/31/47/63... rows and even columns into V_RAM_15.
  • V_RAM_1 Write the V data of rows 1/9/17/25... into V_RAM_1;
  • FIFO_WR_CTRL The YUV data read control logic through FIFO_WR_CTRL is as follows:
  • RAM_RD_CTRL does not care about the read address issued by Video CMPIP, but only cares about the read enable issued by Video CMP IP. It reads Y_RAM_0 16 times, Y_RAM_1 16 times,..., Y_RAM_15 16 times, U_RAM_0, 8 times 8 times. Times U_RAM_1,..., 8 times U_RAM_7, 8 times V_RAM_0, 8 times V_RAM_1,..., 8 times V_RAM_7 (the required number of FIFOs is 32).
  • RAM_RD_CTRL does not care about the read address issued by Video CMP IP, but only cares about the read enable issued by Video CMP IP. It reads Y_RAM_0 16 times, Y_RAM1 16 times... Y_RAM_15 16 times, U_RAM_0 8 times, and U_RAM_1 8 times in sequence. ,...8 times U_RAM_15, 8 times V_RAM_0, 8 times V_RAM_1,...8 times V_RAM_15 (the required number of FIFOs is 48).
  • RAM_RD_CTRL does not care about the read address issued by Video CMP_IP, but only cares about the read enable issued by Video CMP IP. It reads Y_RAM_0 8 times, Y_RAM_1 8 times,..., Y_RAM_7 8 times, U_RAM_0 8 times, 8 times in sequence. U_RAM_1,..., 8 times U_RAM_7, 8 times V_RAM_0, 8 times V_RAM_1,..., 8 times V_RAM_7 (the required number of FIFOs is 24).
  • Such a large amount of concentrated RAM causes great risks in the comprehensive constraints of the chip back-end, layout and wiring, packaging and manufacturing, etc., and there are often individual /
  • There are problems with multiple RAMs such as the data being written and read out is inconsistent, or even the data cannot be read out. Therefore, the functional stability of the traditional video compression system after tape-out is relatively poor, and in serious cases, data loss or even data loss may occur. Image disorder and other issues.
  • the embodiment of the present application proposes a video compression system, which optimizes the traditional video compression system.
  • a hardware detection module FIFO_HARDWARE_CHECK
  • SWITCH traditional video compression system.
  • SWITCH modified the read and write control logic of the FIFO write control module (FIFO_WR_CTRL) and FIFO read control module (FIFO_RD_CTRL) to optimize the traditional video compression system and increase the stability of the video compression function.
  • the video compression system in the embodiment of the present application is applied to the substrate management control chip. As shown in Figure 4, it is a flow chart of video compression performed by the video compression system according to the embodiment of the present application.
  • the optional video compression process is as follows:
  • Step S101 The central processing unit (CPU) sends a first enable signal to the hardware detection module, read control module, and selection switch;
  • Step S103 After receiving the first enable signal, the selection switch selects to write data to the FIFO array module through the hardware detection module;
  • Step S105 After receiving the first enable signal, the hardware detection module writes the test data into the FIFO array module;
  • Step S107 The read control module receives the first enable signal, reads the test data from the FIFO array module, and transmits the read test data to the hardware detection module;
  • Step S109 After receiving the test data read by the read control module, the hardware detection module compares the read test data with the test data previously written to the FIFO array module, and determines based on the comparison result what the current video compression system supports. Compression format, and sends the compression format supported by the current video compression system to the central processor.
  • step S101 by adding and configuring a hardware detection module, the functions of the video compression system are divided into hardware detection functions and video compression functions, and the central processor sends an enabling signal to control which function is turned on.
  • this implementation first performs hardware function detection, that is, detecting whether each FIFO function in the FIFO array module is normal.
  • the central processor sends the first enable signal to the hardware detection module, read control module, and selection switch respectively.
  • the first enable signal can be either 1 (high level) or 0 (low level).
  • step S103 after the selection switch receives the first enable signal, the selection switch selects the hardware detection module to be connected to the FIFO array module to write data to the FIFO array module through the hardware detection module.
  • step S105 after receiving the first enable signal, the hardware detection module writes the test data into the FIFO array module, where the number of test data is 8 bits.
  • step S107 the read control module receives the first enable signal, reads the test data from the FIFO array module, and transmits the read test data to the hardware detection module.
  • step S109 after receiving the test data read by the read control module, the hardware detection module traverses all the storage spaces of each FIFO in the FIFO array module, and compares the value written in each storage space of each FIFO with the value read Is the value of The compressed format is sent to the central processor.
  • the FIFO array module further includes multiple FIFOs
  • the compression formats supported by the current video compression system are determined, including:
  • the number of FIFOs with normal functions in the FIFO array module is determined based on the comparison results, and the compression format supported by the current video compression system is determined based on the number of FIFOs with normal functions.
  • the hardware detection module can be configured as:
  • test data read from the FIFO is the same as the test data written to the FIFO, the FIFO function is normal;
  • test data read from the FIFO is different from the test data written to the FIFO, the FIFO function is not normal;
  • the hardware detection module is further configured to send the number of functioning FIFOs to the write control module;
  • the central processor is also configured to deliver the compression format for YUV data storage to the write control module and the read control module based on the compression format supported by the current video compression system;
  • the write control module is configured to reorder the functioning FIFOs based on the number of functioning FIFOs and the compression format issued by the central processor, and to generate an interrupt signal after the reordering is completed to send the functioning FIFO reordering to the central processor. Complete the message.
  • the central processor After the central processor receives the compression format supported by the current video compression system, it issues the compression format to be applied to the write control module and the read control module; the write control module is based on the number of FIFOs with normal functions and the compression format issued by the central processor. Reorder the FIFO with normal functions, and generate an interrupt signal after the reordering is completed to send the FIFO reordering completion information with normal functions to the central processor. At this point, the hardware detection function ends, and the normal video compression function can be turned on through the CPU.
  • This implementation reorders the FIFOs with normal functions by writing the control module, so that even if some FIFOs in the FIFO array module function abnormally, video compression in the corresponding compression format can still be performed, which improves the video compression function of the video compression system. stability.
  • the central processor is further configured to send a second enable signal to the write control module, the read control module, and the selection switch in response to the completion of the functional FIFO reordering;
  • the selection switch is further configured to control the write control module to write YUV data to the FIFO array module in response to receiving the second enable signal;
  • the write control module is further configured to write YUV data into the corresponding FIFO based on the delivered compression format and the reordered FIFO in response to receiving the second enable signal;
  • the read control module is further configured to, in response to receiving the second enable signal, read YUV data from the corresponding FIFO based on the issued compression format and the reordered FIFO, and transmit the read YUV data to the video compression control module for data compression.
  • the compression formats include: YUV444, YUV422, YUV420;
  • the compression formats supported by the current video compression system are YUV444, YUV422 and YUV420;
  • the compression formats supported by the current video compression system are YUV444 and YUV420;
  • the number of FIFOs used in each compression format is different: 32 for YUV420, 48 for YUV422, and 24 for YUV444.
  • Determine the compression format supported by the current video compression system by combining the number of FIFOs used for each compression format and the number of normal-functioning FIFOs to ensure that the video compression system can perform video compression normally to avoid data loss or image disorder.
  • reordering the FIFOs with normal functions based on the number of FIFOs with normal functions and the compression format issued by the central processor includes:
  • sending the compression format supported by the current video compression system to the central processor includes:
  • the first enable signal is one of high level or low level
  • the corresponding second enable signal is the other one of low level or high level
  • the central processing unit sends a first enable signal to the hardware detection module, read control module, and selection switch to start detecting the FIFO memory hardware function.
  • the hardware detection module After receiving the first enable signal sent by the CPU, the hardware detection module (FIFO_HARDWARE_CHECK) begins to detect the FIFO hardware in the FIFO array module (FIFO_ARRAY) and writes test data to the FIFO array module (FIFO_ARRAY).
  • the first enable signal is also sent to the selection switch (SWITCH) in FIFO_ARRAY.
  • SWITCH selects the hardware detection module to be connected to the FIFO array module (corresponding to arrow 2 in Figure 1) to Write data to the FIFO array module through the hardware detection module.
  • SWITCH also determines which FIFO the test data is written to during FIFO hardware detection.
  • the first enable signal is also sent to FIFO_RD_CTRL.
  • FIFO_RD_CTRL will sequentially read the 48 FIFO values of Y_FIFO_0...U_FIFO_15 (corresponding to arrow 3 in Figure 1). The read The test data is transferred to FIFO_HARDWARE_CHECK (corresponding to arrow 5 in Figure 1).
  • FIFO_HARDWARE_CHECK compares the test data written to FIFO_ARRAY and the test data read back by the received FIFO_RD_CTRL, traverses all the storage spaces of each FIFO in FIFO_ARRAY, and compares the test data written to the storage space with the test data read back from the storage space. Whether the test data is the same; if it is found that the test data written in the FIFO is different from the test data read back, it means that the FIFO function is abnormal.
  • test data written in the FIFO is the same as the test data read back, it means the FIFO
  • the function is normal; the number of FIFOs with normal functions is counted, and based on this number, the compression format supported by the hardware under the current FIFO condition is obtained, and an interrupt is reported to the CPU, so that the CPU can learn the compression format supported by the current compression system.
  • FIFO_WR_CTRL reorders the FIFOs with normal functions based on the FIFO function detection results of FIFO_HARDWARE_CHECK, which interrupts the original FIFO read and write enable signal generation logic and produces new FIFO read and write enable signals.
  • Write enable control logic for example, if Y_FIFO_15 is found to be broken after hardware detection, U_FIFO_0 will be incremented as the position of Y_FIFO_15 to realize the function of Y_FIFO_15, and its subsequent U_FIFO_1 will be incremented as the position of the original U_FIFO_0 to realize the function of U_FIFO_0.
  • the optional reordering process is as follows:
  • the first 32 FIFOs with normal function will be reordered, and the first 16 FIFOs will be used as Y_FIFO_0,..., Y_FIFO_15, and the middle 8 FIFOs will be used as U_FIFO_0,... , U_FIFO_7, the next 8 FIFOs are used as V_FIFO_0,..., V_FIFO_7.
  • the CPU supports YUV444/YUV420 compression format, and the CPU can issue any one of the YUV444/YUV420 compression formats;
  • the first 24 FIFOs with normal function will be reordered, and the first 8 FIFOs will be used as Y_FIFO_0,..., Y_FIFO_7, and the middle 8 FIFOs will be used as U_FIFO_0,... , U_FIFO_7, the next 8 FIFOs are used as V_FIFO_0,..., V_FIFO_7.
  • YUV444 compression format is supported at this time).
  • the CPU supports the YUV444 compression format, and the CPU can issue the YUV444 compression format.
  • the CPU sends the second enable signal to the write control module (FIFO_WR_CTRL), the read control module (FIFO_RD_CTRL) and the selection switch (SWITCH) to enable the video compression function.
  • the second enable signal is connected to the first The first enable signal is opposite, for example, if the second enable signal is 0, then the first enable signal is 1;
  • the selection switch After the selection switch receives the second enable signal, it controls the write control module to be connected to the FIFO array module to write YUV data to the FIFO array module through the write control module;
  • the write control module After receiving the second enable signal, the write control module writes YUV data into the corresponding FIFO based on the delivered compression format and the reordered FIFO;
  • the read control module After the read control module receives the second enable signal, it reads the YUV data from the corresponding FIFO based on the delivered compression format and the reordered FIFO (corresponding to arrow 3 in Figure 1), and converts the read YUV data into The BLOCK format is transmitted to the video compression control module (Video CMP IP) (corresponding to arrow 4 in Figure 1) for data compression.
  • Video CMP IP Video CMP IP
  • Video CMP IP performs video compression, writes the compressed video data to DDR, and the network driver reads the compressed video data and sends it to the remote through EMAC for display.
  • an embodiment of the present application also provides a server, including the above video compression system.

Landscapes

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

Abstract

本申请公开了一种视频压缩系统及服务器,视频压缩系统包括中央处理器、硬件检测模块、写控制模块、读控制模块、FIFO阵列模块,FIFO阵列模块包括选择开关;中央处理器配置为发送第一使能信号到硬件检测模块、读控制模块、选择开关;选择开关配置为基于第一使能信号选择通过硬件检测模块向FIFO阵列模块写入数据;硬件检测模块配置为基于第一使能信号将测试数据写入FIFO阵列模块;读控制模块配置为基于第一使能信号从FIFO阵列模块读出测试数据并传输到硬件检测模块;硬件检测模块还配置为将读出的测试数据与写入的测试数据进行对比,并基于对比结果确定视频压缩系统支持的压缩格式。本申请的方案,增加了视频压缩功能的稳定性。

Description

一种视频压缩系统及服务器
相关申请的交叉引用
本申请要求于2022年03月23日提交中国专利局,申请号为202210289394.1,申请名称为“一种视频压缩系统及服务器”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及视频处理技术领域,尤其涉及一种视频压缩系统及服务器。
背景技术
传统的基板管理控制芯片中视频压缩系统的传输流程为:首先VGA(Video Graphics Array,视频图形阵列)将主机(HOST)的视频信息传递到视频压缩控制模块(Video CMP IP)进行视频压缩,完成压缩之后,将数据写入到DDR(Double Data Rate,双倍速率同步动态随机存储器),EMAC(网卡)驱动读取完成压缩的数据,通过网络将视频数据传输至远程(REMOTE),进行远程显示。
传统方案存在主机端的视频数据,通过PCIe(Peripheral Component Interconnect express,高速串行计算机扩展总线)传递到基板管理控制芯片后,通过色彩空间转换模块(RGB2YUV),将原始的RGB格式的视频数据转换为YUV(一种颜色编码方法,Y表示明亮度(Luminance、Luma),U和V则是色度、浓度(Chrominance、Chroma))格式的数据,然后将Y、U、V数据用片内的存储资源(例如:RAM(Random Access Memory,随机存取存储器缩写))进行缓存,按照BLOCK(块)格式转换的需求,需要16个Y_RAM,16个U_RAM,16个V_RAM,传统方案弊端就是需要极大的占用片内资源,同时需要48个RAM,且每一个RAM的深度很深(1920*1200分辨率下,项目实践中设置为16384深度,通常在实现的时候是用16个1024的RAM拼接而成,因此共需要16*48=768个深度为1024的RAM),如此大量的集中的RAM在芯片布局中集中摆放,在芯片后端的综合约束,布局布线,封装制造等都造成极大的风险,经常会有个别或者多个的RAM出现问题,比如写入读出的数据不一致,甚至读不出数据的情况,因此集成视频压缩功能的基板管理控制芯片在流片之后的视频压缩功能稳定性比较差,严重的甚至出现丢数,图像紊乱, 给项目造成失败的风险。
发明内容
有鉴于此,本申请提出了一种视频压缩系统及服务器,优化了传统的视频压缩系统,增加了视频压缩功能的稳定性,避免了在视频压缩过程中出现丢数据或图像紊乱等现象。
基于上述目的,本申请实施例的一方面提供了一种视频压缩系统,可以包括:
中央处理器、硬件检测模块、写控制模块、读控制模块、FIFO阵列模块,FIFO阵列模块包括选择开关;
中央处理器配置为发送第一使能信号到硬件检测模块、读控制模块、选择开关;
选择开关配置为响应于接收到第一使能信号,选择通过硬件检测模块向FIFO阵列模块写入数据;
硬件检测模块配置为响应于接收到第一使能信号,将测试数据写入FIFO阵列模块;
读控制模块配置为响应于接收到第一使能信号,从FIFO阵列模块读出测试数据,并将读出的测试数据传输到硬件检测模块;
硬件检测模块还配置为将读出的测试数据与向FIFO阵列模块写入的测试数据进行对比,并基于对比结果确定当前视频压缩系统支持的压缩格式,并将当前视频压缩系统支持的压缩格式发送给中央处理器。
在一些实施方式中,FIFO阵列模块还包括多个FIFO;
基于对比结果确定当前视频压缩系统支持的压缩格式,包括:
基于对比结果确定FIFO阵列模块中功能正常的FIFO数量,并基于功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式。
在一些实施方式中,硬件检测模块可以配置为:
遍历FIFO阵列模块中的每一个FIFO,对比从FIFO读出的测试数据与向FIFO写入的测试数据是否相同;
若是从FIFO读出的测试数据与向FIFO写入的测试数据相同,则FIFO的功能正常;
若是从FIFO读出的测试数据与向FIFO写入的测试数据不相同,则FIFO的功能不正常;
统计功能正常的FIFO数量,基于功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式;
将当前视频压缩系统支持的压缩格式发送给中央处理器。
在一些实施方式中,硬件检测模块还配置为将功能正常的FIFO数量发送给写控制模块;
中央处理器还配置为基于当前视频压缩系统支持的压缩格式,向写控制模块和读控制模块下发用于YUV数据存储的压缩格式;
写控制模块配置为基于功能正常的FIFO数量和中央处理器下发的压缩格式对功能正常的FIFO进行重排序,并在重排序完成后生成中断信号以向中央处理器发送功能正常的FIFO重排序完成信息。
在一些实施方式中,中央处理器还配置为响应于功能正常的FIFO重排序完成,发送第二使能信号到写控制模块、读控制模块、选择开关;
选择开关还配置为响应于接收到第二使能信号,控制写控制模块向FIFO阵列模块写入YUV数据;
写控制模块还配置为响应于接收到第二使能信号,基于下发的压缩格式和重排序后的FIFO,将YUV数据写入对应的FIFO;
读控制模块还配置为响应于接收到第二使能信号,基于下发的压缩格式和重排序后的FIFO从对应的FIFO读出YUV数据,并将读出的YUV数据传输到视频压缩控制模块以进行数据压缩。
在一些实施方式中,压缩格式包括:YUV444、YUV422、YUV420;
基于功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式,包括:
若功能正常的FIFO数量大于等于48,则确定当前视频压缩系统支持的压缩格式为YUV444、YUV422和YUV420;
若功能正常的FIFO数量大于等于32且小于48,则确定当前视频压缩系统支持的压缩格式为YUV444和YUV420;
若功能正常的FIFO数量大于等于24且小于32,则确定当前视频压缩系统支持的压缩格式为YUV444。
在一些实施方式中,基于功能正常的FIFO数量和中央处理器下发的压缩格式对功能正常的FIFO进行重排序,包括:
基于功能正常的FIFO数量和中央处理器下发的压缩格式修改FIFO阵列模块中FIFO的读写控制逻辑。
在一些实施方式中,将当前视频压缩系统支持的压缩格式发送给中央处理器包括:
生成中断信号以将当前视频压缩系统支持的压缩格式发送给中央处理器。
在一些实施方式中,第一使能信号为高电平或低电平中的一个,对应的第二使能信号为低电平或高电平中的另一个。
本申请实施例的另一方面,还提供了一种服务器,包括如上的视频压缩系统。
本申请至少具有以下有益技术效果:本申请的方案通过在进行视频压缩功能前先检测FIFO功能的好坏,基于功能正常的FIFO数量确定视频压缩系统的压缩格式,基于确定的压缩格式进行视频压缩,以此增加了视频压缩功能的稳定性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本申请提供的视频压缩系统的一实施例的结构示意图;
图2为基板管理控制芯片中传统的视频压缩系统的结构示意图;
图3为将YUV格式的数据转换成BLOCK格式进行存储的示意图;
图4为本申请提供的视频压缩系统进行视频压缩的一实施例的流程框图;
图5为本申请提供的服务器的一实施例的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合可选实施例,并参照附图,对本申请实施例进一步详细说明。
需要说明的是,本申请实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本申请实施例的限定,后续实施例对此不再一一说明。
基于上述目的,本申请实施例的第一个方面,提出了一种视频压缩系统的实施例。如图1所示,视频压缩系统可以包括:
中央处理器110、硬件检测模块120、写控制模块130、读控制模块140、FIFO阵列模块150,FIFO阵列模块150包括选择开关151;
中央处理器110配置为发送第一使能信号到硬件检测模块120、读控制模块140、选择开 关151;
选择开关151配置为响应于接收到第一使能信号,选择通过硬件检测模块120向FIFO阵列模块150写入数据;
硬件检测模块120配置为响应于接收到第一使能信号,将测试数据写入FIFO阵列模块150;
读控制模块140配置为响应于接收到第一使能信号,从FIFO阵列模块150读出测试数据,并将读出的测试数据传输到硬件检测模块120;
硬件检测模块120还配置为将读出的测试数据与向FIFO阵列模块150写入的测试数据进行对比,并基于对比结果确定当前视频压缩系统支持的压缩格式,并将当前视频压缩系统支持的压缩格式发送给中央处理器110。
基板管理控制芯片中传统的视频压缩系统如图2所示,其视频压缩流程如下:
主机端(HOST)的原始视频信息是RGB格式的,首先经过色彩空间转换模块(RGB2YUV)将RGB格式的视频数据转换成YUV格式(根据矩阵转换公式),然后经过FIFO(First in First out,先进先出)写控制模块(FIFO_WR_CTRL)、FIFO阵列模块(FIFO_ARRAY)、FIFO读控制模块(FIFO_RD_CTRL),将YUV格式的数据转换成BLOCK格式数据输入给视频压缩控制模块(Video CMP IP)。
图3为将YUV格式的数据转换成BLOCK格式进行存储的示意图,Cb代表U分量,Cr代表V分量,图3中的左侧为YUV格式的视频数据的源图像图片(Source Image Picture),经离散余弦变换(Discrete Cosine Transform,简称DCT)后,按BLOCK顺序进行存储,图3中的右侧,height代表方框的高度,width代表方框的宽度,每一个小方框表示图3中左侧的8*8像素点,大方框表示16*16像素点,长方框是8*16像素点。以YUV420举例,Y块表示4个8*8像素点的Y分量,Cb块表示1个8*8块的U分量,Cr块表示1个8*8块的V分量。
下面结合图3将视频压缩系统中,YUV格式的数据转换成BLOCK格式进行存储以及读出的可选过程如下:
将Y、U、V数据用片内的存储资源(例如FIFO存储器)进行缓存,按照BLOCK格式转换的需求,需要16个Y_FIFO,16个U_FIFO,16个V_FIFO组成的FIFO阵列,FIFO_WR_CTRL根据当前CPU下发的压缩模式(YUV444/YUV422/YUV420)进行FIFO阵列的写控制,而FIFO_RD_CTRL也是根据当前的压缩模式,接收Video CMP IP发出的读数据的控制信息,值得注意的是,FIFO_RD_CTRL不关心Video CMP IP发出的读地址,而是FIFO_RD_CTRL自已产生读控制逻辑(根据当前的压缩模式),去读取相应的FIFO。
通过FIFO_WR_CTRL进行YUV数据写控制逻辑如下:
在YUV420模式下,保留全部的Y数据,保留偶数行偶数列的U/V数据,具体如下:
将第0/16/32/48…行的Y数据写进Y_RAM_0;
将第1/17/33/49…行的Y数据写进Y_RAM_1;
将第2/18/34/50…行的Y数据写进Y_RAM_2;
……
将第15/31/47/63…行的Y数据写进Y_RAM_15;
将第0/16/32/48…行的偶数列U数据写进U_RAM_0;
将第2/18/34/50…行的偶数列U数据写进U_RAM_1;
……
将第14/30/46/62…行的偶数列U数据写进U_RAM_7;
将第0/16/32/48…行的偶数列U数据写进V_RAM_0;
将第2/18/34/50…行的偶数列U数据写进V_RAM_1;
……
将第14/30/46/62…行的偶数列U数据写进V_RAM_7。
在YUV422模式下,保留全部的Y数据,保留偶数列的U/V数据,可以如下:
将第0/16/32/48…行的Y数据写进Y_RAM_0;
将第1/17/33/49…行的Y数据写进Y_RAM_1;
将第2/18/34/50…行的Y数据写进Y_RAM_2;
……
将第15/31/47/63…行的Y数据写进Y_RAM_15;
将第0/16/32/48…行的偶数列U数据写进U_RAM_0;
将第1/17/33/49…行的偶数列U数据写进U_RAM_1;
将第2/18/34/50…行的偶数列U数据写进U_RAM_2;
……
将第15/31/47/63…行偶数列的U数据写进U_RAM_15;
将第0/16/32/48…行的偶数列V数据写进V_RAM_0;
将第1/17/33/49…行的偶数列V数据写进V_RAM_1;
将第2/18/34/50…行的偶数列V数据写进V_RAM_2;
……
将第15/31/47/63…行偶数列的V数据写进V_RAM_15。
在YUV444模式下,保留全部行全部列的Y/U/V数据,可以如下:
将第0/8/16/24…行的Y数据写进Y_RAM_0;
将第1/9/17/25…行的Y数据写进Y_RAM_1;
将第2/10/18/26…行的Y数据写进Y_RAM_2;
……
将第7/15/23/31…行的Y数据写进Y_RAM_7;
将第0/8/16/24…行的U数据写进U_RAM_0;
将第1/9/17/25…行的U数据写进U_RAM_1;
将第2/10/18/26…行的U数据写进U_RAM_2;
……
将第7/15/23/31…行的U数据写进U_RAM_7;
将第0/8/16/24…行的V数据写进V_RAM_0;
将第1/9/17/25…行的V数据写进V_RAM_1;
将第2/10/18/26…行的V数据写进V_RAM_2;
……
将第7/15/23/31…行的V数据写进V_RAM_7。
通过FIFO_WR_CTRL进行YUV数据读控制逻辑如下:
在YUV420模式下,RAM_RD_CTRL不关心Video CMPIP发出的读地址,而只关心Video CMP IP发出的读使能,依次去读16次Y_RAM_0,16次Y_RAM_1,……,16次Y_RAM_15,8次U_RAM_0,8次U_RAM_1,……,8次U_RAM_7,8次V_RAM_0,8次V_RAM_1,……,8次V_RAM_7(需要的FIFO数量是32)。
YUV422模式下,RAM_RD_CTRL不关心Video CMP IP发出的读地址,而只关心Video CMP IP发出的读使能,依次去读16次Y_RAM_0,16次Y_RAM1……16次Y_RAM_15,8次U_RAM_0,8次U_RAM_1,……8次U_RAM_15,8次V_RAM_0,8次V_RAM_1,……8次V_RAM_15(需要的FIFO数量是48)。
YUV444模式下,RAM_RD_CTRL不关心Video CMP_IP发出的读地址,而只关心Video CMP IP发出的读使能,依次去读8次Y_RAM_0,8次Y_RAM_1,……,8次Y_RAM_7,8次U_RAM_0,8次U_RAM_1,……,8次U_RAM_7,8次V_RAM_0,8次V_RAM_1,……,8次V_RAM_7(需要的FIFO数量是24)。
为增加上述方案的视频压缩功能稳定性,现有技术中,利用额外集成的(或备用的)RAM或FIFO替换出现问题的RAM或FIFO,以提高视频压缩功能的稳定性,但是该方案的缺点就是额外需要RAM或FIFO,增加了芯片的面积和项目成本,并且有的流片场景下,会有不止一个RAM或FIFO出现问题,如果只有一个备用RAM或FIFO,依然无法维持视频功能的稳定性,但如果备份多个RAM或FIFO,对芯片本身的面积又是极大的挑战。
因此上述两种视频压缩方案均需要极大的占用片内资源,同时需要的RAM的数量很大,且每一个RAM的深度很深(16384,通常在实现的时候是用16个1024的RAM拼接而成,因此共需要16*48=768个深度为1024的RAM),如此大量的集中的RAM,在芯片后端的综合约束,布局布线,封装制造等都造成极大的风险,经常会有个别/多个的RAM出现问题,比如写入读出的数据不一致,甚至读不出数据的情况,因此导致传统的视频压缩系统在流片之后的功能稳定性比较差,严重的甚至出现丢数、图像紊乱等问题。
基于此本申请实施例提出了一种视频压缩系统,对传统的视频压缩系统进行了优化,如图1所示,在传统的视频压缩系统的基础上增加了硬件检测模块(FIFO_HARDWARE_CHECK)和选择开关(SWITCH),并修改了FIFO写控制模块(FIFO_WR_CTRL)、FIFO读控制模块(FIFO_RD_CTRL)的读写控制逻辑,以优化传统的视频压缩系统,增加了视频压缩功能的稳定性。
本申请实施例的视频压缩系统,应用于基板管理控制芯片。如图4所示,为本申请实施例的视频压缩系统进行视频压缩的流程框图,可选的视频压缩流程如下:
步骤S101、中央处理器(central processing unit,简称CPU)发送第一使能信号到硬件检测模块、读控制模块、选择开关;
步骤S103、选择开关接收到第一使能信号后,选择通过硬件检测模块向FIFO阵列模块写入数据;
步骤S105、硬件检测模块接收到第一使能信号后,将测试数据写入FIFO阵列模块;
步骤S107、读控制模块接收到第一使能信号,从FIFO阵列模块读出测试数据,并将读出的测试数据传输到硬件检测模块;
步骤S109、硬件检测模块接收到的读控制模块读出的测试数据后,将读出的测试数据与之前向FIFO阵列模块写入的测试数据进行对比,并基于对比结果确定当前视频压缩系统支持的压缩格式,并将当前视频压缩系统支持的压缩格式发送给中央处理器。
在步骤S101中,通过增加及配置硬件检测模块,将视频压缩系统的功能分为硬件检测功能和视频压缩功能,通过中央处理器下发使能信号来控制开启哪一个功能。本实施在进行视 频压缩之前,先进行硬件功能检测,即检测FIFO阵列模块中的每一个FIFO功能是否正常,中央处理器分别下发第一使能信号到硬件检测模块、读控制模块、选择开关以进行FIFO功能检测。第一使能信号可以为1(高电平)或0(低电平)中的任意一个。
在步骤S103中,选择开关接收到第一使能信号后,选择硬件检测模块与FIFO阵列模块导通以通过硬件检测模块向FIFO阵列模块写入数据。
在步骤S105中,硬件检测模块接收到第一使能信号后,将测试数据写入FIFO阵列模块,其中,测试数据的位数为8比特。
在步骤S107中,读控制模块接收到第一使能信号,从FIFO阵列模块读出测试数据,并将读出的测试数据传输到硬件检测模块。
在步骤S109中,硬件检测模块接收到的读控制模块读出的测试数据后,遍历FIFO阵列模块中每一个FIFO的所有存储空间,对比每一个FIFO的每一个存储空间写入的值和读出的值是否相同;若相同,则说明该FIFO功能正常;若不相同,则说明该FIFO功能异常;统计功能正常的FIFO数量,确定当前视频压缩系统支持的压缩格式,并将当前视频压缩系统支持的压缩格式发送给中央处理器。
通过上述方案,实现了在FIFO阵列模块中有一部分FIFO功能异常的情况下,仍然能进行相应压缩格式的视频压缩,提高了视频压缩系统视频压缩功能的稳定性。
在一些实施方式中,FIFO阵列模块还包括多个FIFO;
基于对比结果确定当前视频压缩系统支持的压缩格式,包括:
基于对比结果确定FIFO阵列模块中功能正常的FIFO数量,并基于功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式。
在一些实施方式中,硬件检测模块可以配置为:
遍历FIFO阵列模块中的每一个FIFO,对比从FIFO读出的测试数据与向FIFO写入的测试数据是否相同;
若是从FIFO读出的测试数据与向FIFO写入的测试数据相同,则FIFO的功能正常;
若是从FIFO读出的测试数据与向FIFO写入的测试数据不相同,则FIFO的功能不正常;
统计功能正常的FIFO数量,基于功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式;
将当前视频压缩系统支持的压缩格式发送给中央处理器。
在一些实施方式中,硬件检测模块还配置为将功能正常的FIFO数量发送给写控制模块;
中央处理器还配置为基于当前视频压缩系统支持的压缩格式,向写控制模块和读控制模块下发用于YUV数据存储的压缩格式;
写控制模块配置为基于功能正常的FIFO数量和中央处理器下发的压缩格式对功能正常的FIFO进行重排序,并在重排序完成后生成中断信号以向中央处理器发送功能正常的FIFO重排序完成信息。
中央处理器接收到当前视频压缩系统支持的压缩格式后,向写控制模块和读控制模块下发其要应用的压缩格式;写控制模块基于功能正常的FIFO数量和中央处理器下发的压缩格式对功能正常的FIFO进行重排序,并在重排序完成后生成中断信号以向中央处理器发送功能正常的FIFO重排序完成信息,至此硬件检测功能结束,可以通过CPU开启正常的视频压缩功能。
本实施通过写控制模块对功能正常的FIFO进行重排序,实现了在FIFO阵列模块中有一部分FIFO功能异常的情况下,仍然能进行相应压缩格式的视频压缩,提高了视频压缩系统视频压缩功能的稳定性。
在一些实施方式中,中央处理器还配置为响应于功能正常的FIFO重排序完成,发送第二使能信号到写控制模块、读控制模块、选择开关;
选择开关还配置为响应于接收到第二使能信号,控制写控制模块向FIFO阵列模块写入YUV数据;
写控制模块还配置为响应于接收到第二使能信号,基于下发的压缩格式和重排序后的FIFO,将YUV数据写入对应的FIFO;
读控制模块还配置为响应于接收到第二使能信号,基于下发的压缩格式和重排序后的FIFO从对应的FIFO读出YUV数据,并将读出的YUV数据传输到视频压缩控制模块以进行数据压缩。
在一些实施方式中,压缩格式包括:YUV444、YUV422、YUV420;
基于功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式,包括:
若功能正常的FIFO数量大于等于48,则确定当前视频压缩系统支持的压缩格式为YUV444、YUV422和YUV420;
若功能正常的FIFO数量大于等于32且小于48,则确定当前视频压缩系统支持的压缩格式为YUV444和YUV420;
若功能正常的FIFO数量大于等于24且小于32,则确定当前视频压缩系统支持的压缩格式为YUV444。
每种压缩格式所要用到的FIFO数量不同:YUV420为32个,YUV422为48个,YUV444为24个。结合每种压缩格式所要用到的FIFO数量和功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式,以保证视频压缩系统能够正常进行视频压缩,以免出现丢数据或图像紊乱等现象。
在一些实施方式中,基于功能正常的FIFO数量和中央处理器下发的压缩格式对功能正常的FIFO进行重排序,包括:
基于功能正常的FIFO数量和中央处理器下发的压缩格式修改FIFO阵列模块中FIFO的读写控制逻辑。
在一些实施方式中,将当前视频压缩系统支持的压缩格式发送给中央处理器包括:
生成中断信号以将当前视频压缩系统支持的压缩格式发送给中央处理器。
在一些实施方式中,第一使能信号为高电平或低电平中的一个,对应的第二使能信号为低电平或高电平中的另一个。
下面结合图1,通过又一可选实施例对本申请的可选实施方式进行说明。
中央处理器(central processing unit,简称CPU)发送第一使能信号到硬件检测模块、读控制模块、选择开关开始检测FIFO存储器硬件功能。
硬件检测模块(FIFO_HARDWARE_CHECK)在接收到CPU下发的第一使能信号之后,开始对FIFO阵列模块(FIFO_ARRAY)中的FIFO硬件进行检测,向FIFO阵列模块(FIFO_ARRAY)写入测试数据。
同时该第一使能信号也下发到FIFO_ARRAY中的选择开关(SWITCH),SWITCH接收到第一使能信号后,选择硬件检测模块与FIFO阵列模块导通(对应图1中的箭头2)以通过硬件检测模块向FIFO阵列模块写入数据。SWITCH同时确定在FIFO硬件检测的时候,测试数据具体写入哪个FIFO。
同时该第一使能信号也下发到FIFO_RD_CTRL,FIFO_RD_CTRL在FIFO硬件测试的时候,会依次的去读Y_FIFO_0……U_FIFO_15这48个FIFO的值(对应图1中的箭头3),读取出的测试数据被传输到FIFO_HARDWARE_CHECK(对应图1中的箭头5)。
FIFO_HARDWARE_CHECK比较向FIFO_ARRAY写入的测试数据和接收到的FIFO_RD_CTRL读回的测试数据,遍历FIFO_ARRAY中的每一个FIFO的所有存储空间,比较向该存储空间写入的测试数据和从该存储空间读回的测试数据是否相同;如果发现有FIFO写入的测试数据与读回的测试数据不同,则表示该FIFO功能异常,如果发现有FIFO写入的测试数据与读回的测试数据相同,则表示该FIFO功能正常;统计功能正常的FIFO数 量,并根据该数量得出当前FIFO情况下硬件支持的压缩格式,并上报中断通知CPU,CPU即可得知当前压缩系统支持的压缩格式。
CPU下发想要使用的压缩格式,FIFO_WR_CTRL根据FIFO_HARDWARE_CHECK的FIFO功能检测的结果,将功能正常的FIFO进行重排序,即是打断原先的FIFO读写使能信号的产生逻辑,生产新的FIFO读写使能控制逻辑,例如,Y_FIFO_15经过硬件检测发现坏掉了,则递增U_FIFO_0,作为Y_FIFO_15的位置,实现Y_FIFO_15的功能,其后续的U_FIFO_1递增作为原先的U_FIFO_0的位置,实现U_FIFO_0的功能,相应的修改FIFO读写控制逻辑。可选的重排序过程如下:
若48个FIFO功能全部正常,则FIFO的顺序不变,按照传统的视频压缩规则进行YUV数据的写入。此时由于48个FIFO功能全部正常,CPU支持YUV444/YUV422/YUV420压缩格式,CPU可以下发YUV444/YUV422/YUV420压缩格式中的任意一种;
若FIFO功能正常的数据大于等于32且小于48,则将前32个功能正常的FIFO进行重排序,将前16个FIFO用作Y_FIFO_0,……,Y_FIFO_15,中间8个FIFO用作U_FIFO_0,……,U_FIFO_7,后面8个FIFO用作V_FIFO_0,……,V_FIFO_7。此时由于FIFO功能正常的数据大于等于32且小于48,CPU支持YUV444/YUV420压缩格式,CPU可以下发YUV444/YUV420压缩格式中的任意一种;
若FIFO功能正常的数据大于等于24且小于32,则将前24个功能正常的FIFO进行重排序,将前8个FIFO用作Y_FIFO_0,……,Y_FIFO_7,中间8个FIFO用作U_FIFO_0,……,U_FIFO_7,后面8个FIFO用作V_FIFO_0,……,V_FIFO_7。(此时支持YUV444压缩格式)。此时由于FIFO功能正常的数据大于等于24且小于32,CPU支持YUV444压缩格式,CPU可以下发YUV444压缩格式。
CPU响应于功能正常的FIFO重排序完成,发送第二使能信号到写控制模块(FIFO_WR_CTRL)、读控制模块(FIFO_RD_CTRL)和选择开关(SWITCH)已开启视频压缩功能,第二使能信号与第一使能信号相反,例如,第二使能信号为0,则第一使能信号为1;
选择开关接收到第二使能信号后,控制写控制模块与FIFO阵列模块导通以通过写控制模块向FIFO阵列模块写入YUV数据;
写控制模块接收到第二使能信号后,基于下发的压缩格式和重排序后的FIFO,将YUV数据写入对应的FIFO;
读控制模块接收到第二使能信号后,基于下发的压缩格式和重排序后的FIFO从对应的 FIFO读出YUV数据(对应图1中的箭头3),并将读出的YUV数据将BLOCK格式传输到视频压缩控制模块(Video CMP IP)(对应图1中的箭头4)以进行数据压缩。
Video CMP IP进行视频压缩,完成压缩的视频数据写到DDR,网络驱动读取压缩完成的视频数据通过EMAC发送至远程进行显示。
基于同一申请构思,根据本申请的另一个方面,如图5所示,本申请的实施例还提供了一种服务器,包括如上的视频压缩系统。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本申请实施例公开的范围。
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请实施例公开的范围(包括权利要求)被限于这些例子;在本申请实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

Claims (20)

  1. 一种视频压缩系统,其特征在于,包括:
    中央处理器、硬件检测模块、写控制模块、读控制模块、FIFO阵列模块,所述FIFO阵列模块包括选择开关;
    所述中央处理器配置为发送第一使能信号到所述硬件检测模块、所述读控制模块、所述选择开关;
    所述选择开关配置为响应于接收到所述第一使能信号,选择通过所述硬件检测模块向所述FIFO阵列模块写入数据;
    所述硬件检测模块配置为响应于接收到所述第一使能信号,将测试数据写入所述FIFO阵列模块;
    所述读控制模块配置为响应于接收到所述第一使能信号,从FIFO阵列模块读出测试数据,并将读出的测试数据传输到所述硬件检测模块;
    所述硬件检测模块还配置为将所述读出的测试数据与向所述FIFO阵列模块写入的测试数据进行对比,并基于对比结果确定当前视频压缩系统支持的压缩格式,并将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器。
  2. 根据权利要求1所述的系统,其中,所述视频压缩系统的功能被划分为硬件检测功能和视频压缩功能,其中,所述中央处理器配置为通过下发使能信号来控制开启硬件检测功能或者视频压缩功能。
  3. 根据权利要求2所述的系统,其中,所述中央处理器配置为在控制所述视频压缩系统开启所述视频压缩功能之前,检测所述FIFO阵列模块中的每一个FIFO功能是否正常。
  4. 根据权利要求3所述的系统,其中,所述中央处理器配置为下发所述第一使能信号至所述硬件检测模块、所述读控制模块和所述选择开关以进行FIFO功能检测。
  5. 根据权利要求1所述的系统,其特征在于,所述硬件检测模块配置为结合每种压缩格式所要用到的FIFO数量和功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式。
  6. 根据权利要求1所述的系统,其特征在于,所述FIFO阵列模块还包括多个 FIFO;
    基于对比结果确定当前视频压缩系统支持的压缩格式,包括:
    基于对比结果确定所述FIFO阵列模块中功能正常的FIFO数量,并基于所述功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式。
  7. 根据权利要求6所述的系统,其特征在于,所述硬件检测模块配置为:
    遍历所述FIFO阵列模块中的每一个FIFO,对比从所述FIFO读出的测试数据与向所述FIFO写入的测试数据是否相同;
    若是从所述FIFO读出的测试数据与向所述FIFO写入的测试数据相同,则所述FIFO的功能正常;
    若是从所述FIFO读出的测试数据与向所述FIFO写入的测试数据不相同,则所述FIFO的功能不正常;
    统计功能正常的FIFO数量,基于所述功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式;
    将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器。
  8. 根据权利要求7所述的系统,其特征在于,所述硬件检测模块还配置为:
    遍历FIFO阵列模块中每一个FIFO的所有存储空间,对比每一个FIFO的每一个存储空间写入的值和读出的值是否相同。
  9. 根据权利要求7所述的系统,其特征在于,所述硬件检测模块还配置为将所述功能正常的FIFO数量发送给所述写控制模块;
    所述中央处理器还配置为基于所述当前视频压缩系统支持的压缩格式,向所述写控制模块和所述读控制模块下发用于YUV数据存储的压缩格式;
    所述写控制模块配置为基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式对所述功能正常的FIFO进行重排序,并在重排序完成后生成中断信号以向所述中央处理器发送功能正常的FIFO重排序完成信息。
  10. 根据权利要求9所述的系统,其特征在于,所述中央处理器配置为在接收到功能正常的FIFO重排序完成信息之后,控制所述视频压缩系统开启视频压缩功能。
  11. 根据权利要求9所述的系统,其特征在于,所述中央处理器还配置为响应于所 述功能正常的FIFO重排序完成,发送第二使能信号到所述写控制模块、所述读控制模块、所述选择开关;
    所述选择开关还配置为响应于接收到第二使能信号,控制所述写控制模块向所述FIFO阵列模块写入YUV数据;
    所述写控制模块还配置为响应于接收到所述第二使能信号,基于所述下发的压缩格式和重排序后的FIFO,将所述YUV数据写入对应的FIFO;
    所述读控制模块还配置为响应于接收到所述第二使能信号,基于所述下发的压缩格式和重排序后的FIFO从对应的FIFO读出所述YUV数据,并将读出的所述YUV数据传输到视频压缩控制模块以进行数据压缩。
  12. 根据权利要求7所述的系统,其特征在于,所述压缩格式包括:YUV444、YUV422、YUV420;
    基于所述功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式,包括:
    若所述功能正常的FIFO数量大于等于48,则确定当前视频压缩系统支持的压缩格式为YUV444、YUV422和YUV420;
    若所述功能正常的FIFO数量大于等于32且小于48,则确定当前视频压缩系统支持的压缩格式为YUV444和YUV420;
    若所述功能正常的FIFO数量大于等于24且小于32,则确定当前视频压缩系统支持的压缩格式为YUV444。
  13. 根据权利要求9所述的系统,其特征在于,基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式对所述功能正常的FIFO进行重排序,包括:
    基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式修改所述FIFO阵列模块中FIFO的读写控制逻辑。
  14. 根据权利要求13所述的系统,其特征在于,所述基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式修改所述FIFO阵列模块中FIFO的读写控制逻辑,包括:
    若FIFO功能正常的数据大于等于32且小于48,则将前32个功能正常的FIFO进行重排序,将前16个FIFO用作Y_FIFO_0,……,Y_FIFO_15,中间8个FIFO用作 U_FIFO_0,……,U_FIFO_7,后面8个FIFO用作V_FIFO_0,……,V_FIFO_7。
  15. 根据权利要求14所述的系统,其特征在于,所述基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式修改所述FIFO阵列模块中FIFO的读写控制逻辑,包括:
    若FIFO功能正常的数据大于等于24且小于32,则将前24个功能正常的FIFO进行重排序,将前8个FIFO用作Y_FIFO_0,……,Y_FIFO_7,中间8个FIFO用作U_FIFO_0,……,U_FIFO_7,后面8个FIFO用作V_FIFO_0,……,V_FIFO_7。
  16. 根据权利要求1所述的系统,其特征在于,将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器包括:
    生成中断信号以将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器。
  17. 根据权利要求11所述的系统,其特征在于,所述第一使能信号为高电平或低电平中的一个,对应的所述第二使能信号为低电平或高电平中的另一个。
  18. 根据权利要求1所述的系统,其特征在于,所述选择开关配置为确定在FIFO硬件检测的时候所述测试数据所写入的FIFO。
  19. 根据权利要求1所述的系统,其特征在于,所述读控制模块配置为接收到所述第二使能信号后,基于下发的压缩格式和重排序后的FIFO从对应的FIFO读出YUV数据,并将读出的YUV数据将块格式传输到视频压缩控制模块;
    所述视频压缩控制模块配置为进行视频压缩,将完成压缩的视频数据写到DDR双倍速率同步动态随机存储器,网络驱动读取压缩完成的视频数据通过EMAC网卡发送至远程进行显示。
  20. 一种服务器,其特征在于,包括如权利要求1至19任意一项所述的视频压缩系统。
PCT/CN2022/141690 2022-03-23 2022-12-23 一种视频压缩系统及服务器 Ceased WO2023179136A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/704,883 US12238313B2 (en) 2022-03-23 2022-12-23 Video compression system and server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210289394.1 2022-03-23
CN202210289394.1A CN114390292B (zh) 2022-03-23 2022-03-23 一种视频压缩系统及服务器

Publications (1)

Publication Number Publication Date
WO2023179136A1 true WO2023179136A1 (zh) 2023-09-28

Family

ID=81205049

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/141690 Ceased WO2023179136A1 (zh) 2022-03-23 2022-12-23 一种视频压缩系统及服务器

Country Status (3)

Country Link
US (1) US12238313B2 (zh)
CN (1) CN114390292B (zh)
WO (1) WO2023179136A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390292B (zh) 2022-03-23 2022-05-24 苏州浪潮智能科技有限公司 一种视频压缩系统及服务器
CN115243047A (zh) * 2022-07-22 2022-10-25 山东云海国创云计算装备产业创新中心有限公司 一种视频压缩方法、装置、设备及介质
CN115426466B (zh) * 2022-08-22 2024-12-31 珠海一微半导体股份有限公司 一种图像数据的读写控制系统及读写控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205499B1 (en) * 1998-12-18 2001-03-20 The United States Of America As Represented By The Secretary Of The Navy System for compressing video data using bi-orthogonal wavelet coding having a DSP for adjusting compression ratios to maintain a constant data flow rate of the compressed data
US20040013316A1 (en) * 2002-07-19 2004-01-22 Hyun-Sang Park Image processing apparatus and method
CN104078082A (zh) * 2013-03-29 2014-10-01 芯成半导体(上海)有限公司 用于测试存储器件的电路和方法
CN111400205A (zh) * 2020-02-29 2020-07-10 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置
CN114062893A (zh) * 2021-10-20 2022-02-18 珠海全志科技股份有限公司 多媒体接口的量产测试系统及其方法
CN114390292A (zh) * 2022-03-23 2022-04-22 苏州浪潮智能科技有限公司 一种视频压缩系统及服务器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2456204A1 (en) * 2010-11-18 2012-05-23 Koninklijke Philips Electronics N.V. Method and apparatus for encoding or generating an image
CN102821275B (zh) * 2011-06-08 2017-08-08 南京中兴软件有限责任公司 数据压缩方法及装置、数据解压缩方法及装置
CN111061722B (zh) * 2018-10-16 2023-06-06 阿里巴巴集团控股有限公司 一种数据压缩、数据解压缩方法、装置及设备
US11120863B2 (en) * 2020-01-24 2021-09-14 Qualcomm Incorporated System and method for compensating for SDRAM signal timing drift through periodic write training

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205499B1 (en) * 1998-12-18 2001-03-20 The United States Of America As Represented By The Secretary Of The Navy System for compressing video data using bi-orthogonal wavelet coding having a DSP for adjusting compression ratios to maintain a constant data flow rate of the compressed data
US20040013316A1 (en) * 2002-07-19 2004-01-22 Hyun-Sang Park Image processing apparatus and method
CN104078082A (zh) * 2013-03-29 2014-10-01 芯成半导体(上海)有限公司 用于测试存储器件的电路和方法
CN111400205A (zh) * 2020-02-29 2020-07-10 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置
CN114062893A (zh) * 2021-10-20 2022-02-18 珠海全志科技股份有限公司 多媒体接口的量产测试系统及其方法
CN114390292A (zh) * 2022-03-23 2022-04-22 苏州浪潮智能科技有限公司 一种视频压缩系统及服务器

Also Published As

Publication number Publication date
CN114390292A (zh) 2022-04-22
US20240422337A1 (en) 2024-12-19
CN114390292B (zh) 2022-05-24
US12238313B2 (en) 2025-02-25

Similar Documents

Publication Publication Date Title
WO2023179136A1 (zh) 一种视频压缩系统及服务器
CN114501024B (zh) 一种视频压缩系统、方法、计算机可读存储介质及服务器
JP4991816B2 (ja) 画像処理装置
US20170147263A1 (en) Memory buffers and modules supporting dynamic point-to-point connections
CN115209145A (zh) 一种视频压缩方法、系统、装置及可读存储介质
CN118921503B (zh) 一种视频数据的传输方法、装置、设备、介质以及产品
WO2024007841A1 (zh) 一种视频压缩系统、方法、设备、非易失性可读存储介质、芯片及服务器
WO2023197507A1 (zh) 视频数据处理方法、系统、装置及计算机可读存储介质
CN115297094B (zh) 视频传输控制方法、装置、设备及计算机可读存储介质
WO2022062719A1 (zh) 视频处理方法、计算机可读存储介质及电子设备
WO2025152506A1 (zh) 一种数据处理系统、方法、设备及非易失性可读存储介质
CN117032598A (zh) Yuv视频传输框架、基板管理控制器、方法、设备和介质
CN116801051A (zh) 一种图像数据接口转换方法及装置
CN114554126B (zh) 一种基板管理控制芯片、视频数据传输方法及服务器
CN118214820B (zh) 一种图像数据处理方法、产品、设备及介质
WO2026007316A1 (zh) 数据编码方法及芯片、数据解码方法及芯片、显示装置
JPH0865708A (ja) 映像オーバーレーイメージコンバータ
WO2024055525A1 (zh) 一种视频图像数据存储的方法、装置、设备及可读介质
WO2023186143A1 (zh) 一种数据处理方法、主机及相关设备
CN115756883A (zh) 芯片间的交互处理方法、系统、电子设备和可读存储介质
CN118338002B (zh) Bmc视频压缩方法、装置、系统及基板管理控制器
US20250278195A1 (en) Data Read/Write Method and Related Apparatus
US11474937B2 (en) Computing device and operation method thereof
CN115695915A (zh) 一种视频数据处理系统、方法、设备及存储介质
CN118842932A (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: 22933184

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18704883

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWG Wipo information: grant in national office

Ref document number: 18704883

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 22933184

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 26.03.2025)

122 Ep: pct application non-entry in european phase

Ref document number: 22933184

Country of ref document: EP

Kind code of ref document: A1