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

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

Info

Publication number
CN114390292A
CN114390292A CN202210289394.1A CN202210289394A CN114390292A CN 114390292 A CN114390292 A CN 114390292A CN 202210289394 A CN202210289394 A CN 202210289394A CN 114390292 A CN114390292 A CN 114390292A
Authority
CN
China
Prior art keywords
fifo
video compression
module
control module
read
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.)
Granted
Application number
CN202210289394.1A
Other languages
English (en)
Other versions
CN114390292B (zh
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 Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210289394.1A priority Critical patent/CN114390292B/zh
Publication of CN114390292A publication Critical patent/CN114390292A/zh
Application granted granted Critical
Publication of CN114390292B publication Critical patent/CN114390292B/zh
Priority to PCT/CN2022/141690 priority patent/WO2023179136A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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

一种视频压缩系统及服务器
技术领域
本发明涉及视频处理技术领域,尤其涉及一种视频压缩系统及服务器。
背景技术
传统的基板管理控制芯片中视频压缩系统的传输流程为:首先VGA(VideoGraphics Array,视频图形阵列)将主机(HOST)的视频信息传递到视频压缩控制模块(Video CMP IP)进行视频压缩,完成压缩之后,将数据写入到DDR(Double Data Rate,双倍速率同步动态随机存储器),EMAC(网卡)驱动读取完成压缩的数据,通过网络将视频数据传输至远程(REMOTE),进行远程显示。
传统方案存在主机端的视频数据,通过PCIe传递到基板管理控制芯片后,通过色彩空间转换模块(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 CMP IP发出的读地址,而只关心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发出的读地址,而只关心VideoCMP IP发出的读使能,依次去读16次Y_RAM_0,16次Y_RAM_1……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发出的读地址,而只关心VideoCMP 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比特。
在步骤107中,读控制模块接收到第一使能信号,从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 (10)

1.一种视频压缩系统,其特征在于,包括:
中央处理器、硬件检测模块、写控制模块、读控制模块、FIFO阵列模块,所述FIFO阵列模块包括选择开关;
所述中央处理器配置为发送第一使能信号到所述硬件检测模块、所述读控制模块、所述选择开关;
所述选择开关配置为响应于接收到所述第一使能信号,选择通过所述硬件检测模块向所述FIFO阵列模块写入数据;
所述硬件检测模块配置为响应于接收到所述第一使能信号,将测试数据写入所述FIFO阵列模块;
所述读控制模块配置为响应于接收到所述第一使能信号,从FIFO阵列模块读出测试数据,并将读出的测试数据传输到所述硬件检测模块;
所述硬件检测模块还配置为将所述读出的测试数据与向所述FIFO阵列模块写入的测试数据进行对比,并基于对比结果确定当前视频压缩系统支持的压缩格式,并将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器。
2.根据权利要求1所述的系统,其特征在于,所述FIFO阵列模块还包括多个FIFO;
基于对比结果确定当前视频压缩系统支持的压缩格式,包括:
基于对比结果确定所述FIFO阵列模块中功能正常的FIFO数量,并基于所述功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式。
3.根据权利要求2所述的系统,其特征在于,所述硬件检测模块具体配置为:
遍历所述FIFO阵列模块中的每一个FIFO,对比从所述FIFO读出的测试数据与向所述FIFO写入的测试数据是否相同;
若是从所述FIFO读出的测试数据与向所述FIFO写入的测试数据相同,则所述FIFO的功能正常;
若是从所述FIFO读出的测试数据与向所述FIFO写入的测试数据不相同,则所述FIFO的功能不正常;
统计功能正常的FIFO数量,基于所述功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式;
将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器。
4.根据权利要求2所述的系统,其特征在于,所述硬件检测模块还配置为将所述功能正常的FIFO数量发送给所述写控制模块;
所述中央处理器还配置为基于所述当前视频压缩系统支持的压缩格式,向所述写控制模块和所述读控制模块下发用于YUV数据存储的压缩格式;
所述写控制模块配置为基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式对所述功能正常的FIFO进行重排序,并在重排序完成后生成中断信号以向所述中央处理器发送功能正常的FIFO重排序完成信息。
5.根据权利要求4所述的系统,其特征在于,所述中央处理器还配置为响应于所述功能正常的FIFO重排序完成,发送第二使能信号到所述写控制模块、所述读控制模块、所述选择开关;
所述选择开关还配置为响应于接收到第二使能信号,控制所述写控制模块向所述FIFO阵列模块写入YUV数据;
所述写控制模块还配置为响应于接收到所述第二使能信号,基于所述下发的压缩格式和重排序后的FIFO,将所述YUV数据写入对应的FIFO;
所述读控制模块还配置为响应于接收到所述第二使能信号,基于所述下发的压缩格式和重排序后的FIFO从对应的FIFO读出所述YUV数据,并将读出的所述YUV数据传输到视频压缩控制模块以进行数据压缩。
6.根据权利要求2所述的系统,其特征在于,所述压缩格式包括:YUV444、YUV422、YUV420;
基于所述功能正常的FIFO数量确定当前视频压缩系统支持的压缩格式,包括:
若所述功能正常的FIFO数量大于等于48,则确定当前视频压缩系统支持的压缩格式为YUV444、YUV422和YUV420;
若所述功能正常的FIFO数量大于等于32且小于48,则确定当前视频压缩系统支持的压缩格式为YUV444和YUV420;
若所述功能正常的FIFO数量大于等于24且小于32,则确定当前视频压缩系统支持的压缩格式为YUV444。
7.根据权利要求4所述的系统,其特征在于,基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式对所述功能正常的FIFO进行重排序,包括:
基于所述功能正常的FIFO数量和所述中央处理器下发的压缩格式修改所述FIFO阵列模块中FIFO的读写控制逻辑。
8.根据权利要求1所述的系统,其特征在于,将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器包括:
生成中断信号以将所述当前视频压缩系统支持的压缩格式发送给所述中央处理器。
9.根据权利要求5所述的系统,其特征在于,所述第一使能信号为高电平或低电平中的一个,对应的所述第二使能信号为低电平或高电平中的另一个。
10.一种服务器,其特征在于,包括如权利要求1至9任意一项所述的视频压缩系统。
CN202210289394.1A 2022-03-23 2022-03-23 一种视频压缩系统及服务器 Active CN114390292B (zh)

Priority Applications (2)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN114390292A true CN114390292A (zh) 2022-04-22
CN114390292B CN114390292B (zh) 2022-05-24

Family

ID=81205049

Family Applications (1)

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

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115426466A (zh) * 2022-08-22 2022-12-02 珠海一微半导体股份有限公司 一种图像数据的读写控制系统及读写控制方法
WO2023179136A1 (zh) * 2022-03-23 2023-09-28 苏州浪潮智能科技有限公司 一种视频压缩系统及服务器

Citations (3)

* 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
CN102821275A (zh) * 2011-06-08 2012-12-12 中兴通讯股份有限公司 数据压缩方法及装置、数据解压缩方法及装置
CN111061722A (zh) * 2018-10-16 2020-04-24 阿里巴巴集团控股有限公司 一种数据压缩、数据解压缩方法、装置及设备

Family Cites Families (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
US7379609B2 (en) * 2002-07-19 2008-05-27 Samsung Electronics Co., Ltd. Image processing apparatus and method for conversion between raster and block formats
CN104078082B (zh) * 2013-03-29 2017-11-14 芯成半导体(上海)有限公司 用于测试存储器件的电路和方法
CN111400205B (zh) * 2020-02-29 2022-05-24 华南理工大学 一种先进先出地址轮询缓存读写方法、系统及装置
CN114062893A (zh) * 2021-10-20 2022-02-18 珠海全志科技股份有限公司 多媒体接口的量产测试系统及其方法
CN114390292B (zh) * 2022-03-23 2022-05-24 苏州浪潮智能科技有限公司 一种视频压缩系统及服务器

Patent Citations (3)

* 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
CN102821275A (zh) * 2011-06-08 2012-12-12 中兴通讯股份有限公司 数据压缩方法及装置、数据解压缩方法及装置
CN111061722A (zh) * 2018-10-16 2020-04-24 阿里巴巴集团控股有限公司 一种数据压缩、数据解压缩方法、装置及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023179136A1 (zh) * 2022-03-23 2023-09-28 苏州浪潮智能科技有限公司 一种视频压缩系统及服务器
CN115426466A (zh) * 2022-08-22 2022-12-02 珠海一微半导体股份有限公司 一种图像数据的读写控制系统及读写控制方法

Also Published As

Publication number Publication date
CN114390292B (zh) 2022-05-24
WO2023179136A1 (zh) 2023-09-28

Similar Documents

Publication Publication Date Title
CN114390292B (zh) 一种视频压缩系统及服务器
US8175402B2 (en) Drawing apparatus
US7587093B2 (en) Method and apparatus for implementing DCT/IDCT based video/image processing
CN114051145B (zh) 一种视频压缩处理方法、装置及介质
CN113709489B (zh) 一种视频压缩方法、装置、设备及可读存储介质
CN102214452B (zh) 图像处理装置与图像处理方法
CN114845100B (zh) 一种视频压缩系统、方法、设备、介质、芯片及服务器
CN115209145A (zh) 一种视频压缩方法、系统、装置及可读存储介质
WO2022237195A1 (zh) 一种接收卡大带载的实现方法、电子设备、接收卡以及数据处理系统
WO2023197507A1 (zh) 视频数据处理方法、系统、装置及计算机可读存储介质
CN114443513B (zh) 一种视频数据读写方法及相关装置
CN101212680B (zh) 图像数据的存储器存取方法及系统
US20100142812A1 (en) Method of color components compression
JP6131357B1 (ja) 半導体記憶装置とそのアドレス制御方法
US20080044107A1 (en) Storage device for storing image data and method of storing image data
US8204318B2 (en) Method and apparatus for image compression and decompression
KR101615466B1 (ko) 비디오 분석 및 인코딩을 위한 복수의 비디오 채널의 캡쳐
CN109089120B (zh) 分析辅助编码
CN115243047A (zh) 一种视频压缩方法、装置、设备及介质
CN101902640A (zh) 信息处理设备以及方法
US9304708B2 (en) Data accessing method and electronic apparatus utilizing the data accessing method
CN114554126B (zh) 一种基板管理控制芯片、视频数据传输方法及服务器
CN113126869B (zh) 基于国产bmc芯片的kvm图像高速重定向的实现方法及系统
US8983276B2 (en) Apparatus and method for temporary storage of image-encoding data
CN115695915A (zh) 一种视频数据处理系统、方法、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant