CN118338002B - Bmc视频压缩方法、装置、系统及基板管理控制器 - Google Patents
Bmc视频压缩方法、装置、系统及基板管理控制器 Download PDFInfo
- Publication number
- CN118338002B CN118338002B CN202410750492.XA CN202410750492A CN118338002B CN 118338002 B CN118338002 B CN 118338002B CN 202410750492 A CN202410750492 A CN 202410750492A CN 118338002 B CN118338002 B CN 118338002B
- Authority
- CN
- China
- Prior art keywords
- data
- block
- target
- value
- average value
- 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.)
- Active
Links
- 238000007906 compression Methods 0.000 title claims abstract description 182
- 230000006835 compression Effects 0.000 title claims abstract description 179
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000006243 chemical reaction Methods 0.000 claims description 109
- 238000012545 processing Methods 0.000 claims description 92
- 238000012806 monitoring device Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000007405 data analysis Methods 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 1
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0105—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level using a storage device with different write and read speed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/77—Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及服务器技术领域,尤其涉及一种BMC视频压缩方法、装置、系统及基板管理控制器。方法包括:基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,奇数帧和偶数帧为相邻帧;比较压缩包括:基于奇数帧中当前BLOCK所在的位置,确定偶数帧中与当前BLOCK相关联的目标BLOCK,目标BLOCK指偶数帧中与当前BLOCK重合或相邻的BLOCK;通过将当前BLOCK分别与每个目标BLOCK进行比较,得到第二压缩数据。本方法能够有效提高视频压缩效率,避免出现无效压缩的情况,有助于提高基板管理控制器的整体性能。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种BMC视频压缩方法、装置、系统及基板管理控制器。
背景技术
基板管理控制(BMC,Baseboard Management Controller)器是服务器领域常见的硬件装置,其用于对服务器的状态(如温度、风扇以及主CPU运行状态等)进行监控。同时还用于对本地的视频数据,进行压缩,并将压缩后的视频数据,通过网络传递给远端,供远端显示与监控。目前,基板管理控制器进行视频压缩的方式为:对原始视频数据依次进行RGB格式转换、色彩空间转换、BLOCK格式转换以及JPEG压缩,从而得到压缩后的视频数据。
然而,此种方式存在以下弊端:1、由于在服务器的监控场景下,存在大量的前后帧视频数据重复的情况,若对每一帧视频数据均进行JPEG压缩,则会存在大量的无效压缩的场景,对基板管理控制器的整体性能产生影响;2、JPEG压缩数据的压缩效率较慢,当待压缩的视频的分辨率较大时,JPEG压缩无法全部处理,导致出现丢帧情况,丢帧率较高,对远程端的显示效果产生影响,影响用户体验。
发明内容
本发明提供一种BMC视频压缩方法、装置、系统及基板管理控制器,用以解决现有技术中基板管理控制器进行视频压缩的方式存在大量的无效压缩的场景,对基板管理控制器的整体性能产生影响,以及JPEG压缩数据的压缩效率较慢,容易出现丢帧情况的问题。
本发明提供一种BMC视频压缩方法,包括:
基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,所述奇数帧和所述偶数帧为相邻帧;所述比较压缩包括:基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK,所述目标BLOCK指所述偶数帧中与所述当前BLOCK重合或相邻的BLOCK;通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据;
将所述第一压缩数据写入预设存储器的第一显存空间;将所述第二压缩数据写入所述存储器的第二显存空间。
根据本发明提供的一种BMC视频压缩方法,还包括:
获取第一YUV数据和第二YUV数据,所述第一YUV数据为第一RGB图像数据经色彩空间转换后得到的数据,所述第二YUV数据为第二RGB图像数据经色彩空间转换后得到的数据,所述第一RGB图像数据为第一原始图像数据经RGB格式转换后得到的数据,所述第二RGB图像数据为第二原始图像数据经RGB格式转换后得到的数据,所述第一原始图像数据和所述第二原始图像数据为相邻帧;
对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换,得到所述偶数帧和所述奇数帧,所述第一YUV数据与所述偶数帧相对应,所述第二YUV数据与所述奇数帧相对应;其中,对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换的过程中,通过对目标存储单元的空间进行分时复用,完成BLOCK格式转换。
根据本发明提供的一种BMC视频压缩方法,所述第一原始图像数据和所述第二原始图像数据均通过对已存储的原始图像数据进行隔帧读取得到,其中,得到所述第一原始图像数据的步骤以及得到所述第二原始图像数据的步骤同时进行,所述第一原始图像数据和所述第二原始图像数据为所述原始图像数据中的相邻两帧图像数据。
根据本发明提供的一种BMC视频压缩方法,所述第一YUV数据包括:第一Y数据、第一U数据以及第一V数据;所述第二YUV数据包括:第二Y数据、第二U数据以及第二V数据;
对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换,得到所述偶数帧和所述奇数帧的步骤包括:
对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换,得到第一BLOCK数据和第二BLOCK数据,所述第一Y数据和所述第一BLOCK数据相对应,所述第二Y数据与所述第二BLOCK数据相对应;
对所述第一U数据和所述第二U数据并行进行BLOCK格式转换,得到第三BLOCK数据和第四BLOCK数据,所述第一U数据与所述第三BLOCK数据相对应,所述第二U数据与所述第四BLOCK数据相对应;
对所述第一V数据和所述第二V数据并行进行BLOCK格式转换,得到第五BLOCK数据和第六BLOCK数据,所述第一V数据和所述第五BLOCK数据相对应,所述第二V数据与所述第六BLOCK数据相对应;所述第一BLOCK数据、所述第三BLOCK数据以及所述第五BLOCK数据均属于所述偶数帧,所述第二BLOCK数据、所述第四BLOCK数据以及所述第六BLOCK数据均属于所述奇数帧。
根据本发明提供的一种BMC视频压缩方法,对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换,得到第一BLOCK数据和第二BLOCK数据的步骤包括:
基于预设的BLOCK尺寸标准,将所述第一Y数据的前目标数量个Y数据写入目标Y存储单元的第一目标地址;
对所述第一目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第二目标地址;
对所述第二目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第1行,同时,将所述第二Y数据的前目标数量个Y数据写入所述目标Y存储单元的所述第一目标地址;
对所述第一目标地址中的Y数据进行读取,得到所述第二BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第三目标地址,所述第一目标地址、第二目标地址以及所述第三目标地址按从前到后的顺序依次排列;
对所述第三目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第2行,同时,将所述第二Y数据剩余的Y数据中前目标数量个Y数据写入所述第二目标地址;
在遍历所述目标Y存储单元的全部地址的情况下,得到完整的所述第一BLOCK数据和所述第二BLOCK数据。
根据本发明提供的一种BMC视频压缩方法,对所述第一U数据和所述第二U数据并行进行BLOCK格式转换,得到第三BLOCK数据和第四BLOCK数据的步骤包括:
基于预设的BLOCK尺寸标准,将所述第一U数据的前目标数量个U数据写入目标U存储单元的第四目标地址;
对所述第四目标地址中的U数据进行读取,得到所述第三BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第五目标地址;
对所述第五目标地址中的U数据进行读取,得到所述第三BLOCK数据的第1行,同时,将所述第二U数据的前目标数量个U数据写入所述目标U存储单元的所述第四目标地址;
对所述第四目标地址中的U数据进行读取,得到所述第四BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第六目标地址,所述第四目标地址、第五目标地址以及所述第六目标地址按从前到后的顺序依次排列;
对所述第六目标地址中的U数据进行读取,得到所述第三BLOCK数据的第2行,同时,将所述第二U数据剩余的U数据中前目标数量个U数据写入所述第五目标地址;
在遍历所述目标U存储单元的全部地址的情况下,得到完整的所述第三BLOCK数据和所述第四BLOCK数据。
根据本发明提供的一种BMC视频压缩方法,对所述第一V数据和所述第二V数据并行进行BLOCK格式转换,得到第五BLOCK数据和第六BLOCK数据的步骤包括:
基于预设的BLOCK尺寸标准,将所述第一V数据的前目标数量个V数据写入目标V存储单元的第七目标地址;
对所述第七目标地址中的V数据进行读取,得到所述第五BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第八目标地址;
对所述第八目标地址中的V数据进行读取,得到所述第五BLOCK数据的第1行,同时,将所述第二V数据的前目标数量个V数据写入所述目标V存储单元的所述第七目标地址;
对所述第七目标地址中的V数据进行读取,得到所述第六BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第九目标地址,所述第七目标地址、第八目标地址以及所述第九目标地址按从前到后的顺序依次排列;
对所述第九目标地址中的V数据进行读取,得到所述第五BLOCK数据的第2行,同时,将所述第二V数据剩余的V数据中前目标数量个V数据写入所述第八目标地址;
在遍历所述目标V存储单元的全部地址的情况下,得到完整的所述第五BLOCK数据和所述第六BLOCK数据。
根据本发明提供的一种BMC视频压缩方法,对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换的步骤,对所述第一U数据和所述第二U数据并行进行BLOCK格式转换的步骤,以及对所述第一V数据和所述第二V数据并行进行BLOCK格式转换的步骤同步进行。
根据本发明提供的一种BMC视频压缩方法,基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK的步骤包括:
基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述BLOCK重合的第一目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左侧相邻的BLOCK确定为第二目标BLOCK;
将所述偶数帧中所述第一目标BLOCK上方相邻的BLOCK确定为第三目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左上角相邻的BLOCK确定为第四目标BLOCK;
将所述偶数帧中所述第一目标BLOCK右上角相邻的BLOCK确定为第五目标BLOCK。
根据本发明提供的一种BMC视频压缩方法,通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据的步骤包括:
将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据。
根据本发明提供的一种BMC视频压缩方法,将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据的步骤包括:
将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较,得到所述当前BLOCK的每个像素值与所述第一目标BLOCK的对应像素值之间的第一差值、所述当前BLOCK的每个像素值与所述第二目标BLOCK的对应像素值之间的第二差值、所述当前BLOCK的每个像素值与所述第三目标BLOCK的对应像素值之间的第三差值、所述当前BLOCK的每个像素值与所述第四目标BLOCK的对应像素值之间的第四差值、所述当前BLOCK的每个像素值与所述第五目标BLOCK的对应像素值之间的第五差值;
对全部第一差值进行绝对值处理,并对绝对值处理后的全部所述第一差值进行平均处理,得到第一平均值;
对全部第二差值进行绝对值处理,并对绝对值处理后的全部所述第二差值进行平均处理,得到第二平均值;
对全部第三差值进行绝对值处理,并对绝对值处理后的全部所述第三差值进行平均处理,得到第三平均值;
对全部第四差值进行绝对值处理,并对绝对值处理后的全部所述第四差值进行平均处理,得到第四平均值;
对全部第五差值进行绝对值处理,并对绝对值处理后的全部所述第五差值进行平均处理,得到第五平均值;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的至少一个小于预设的平均值阈值的情况下,将所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的最小值,确定为目标平均值;将所述目标平均值对应的目标BLOCK确定为最终目标BLOCK;将第一目标尺寸、所述最终目标BLOCK的横坐标、所述最终目标BLOCK的纵坐标以及所述目标平均值确定为所述第二压缩数据,所述第一目标尺寸为所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK或所述第五目标BLOCK的尺寸。
根据本发明提供的一种BMC视频压缩方法,将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据的步骤还包括:
在将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较的同时,基于预设的第二目标尺寸,将所述当前BLOCK均分为固定数量个第一子BLOCK,并基于所述第二目标尺寸,将全部所述目标BLOCK均分为固定数量个第二子BLOCK;
基于当前所述第一子BLOCK所在的位置,从全部所述第二子BLOCK中确定与当前所述第一子BLOCK相关联的目标子BLOCK,所述目标子BLOCK指全部所述第二子BLOCK中与当前所述第一子BLOCK重合或相邻的子BLOCK;
将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值均大于或等于所述平均值阈值的情况下,基于所述比较结果,得到所述第二压缩数据。
根据本发明提供的一种BMC视频压缩方法,将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果的步骤包括:
将所述第一子BLOCK的像素值分别与关联的全部所述目标子BLOCK的对应像素值进行比较,得到目标差值,所述目标差值为所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的差值;
对所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的全部所述目标差值,进行绝对值处理,并对绝对值处理后的全部所述目标差值进行平均处理,得到目标均值;
将全部所述目标均值确定为所述比较结果。
根据本发明提供的一种BMC视频压缩方法,基于所述比较结果,得到所述第二压缩数据的步骤包括:
将全部所述目标均值中的最小值确定为最终目标均值;
将所述最终目标均值对应的所述目标子BLOCK确定为最终目标子BLOCK,所述第一子BLOCK与所述最终目标子BLOCK一一对应;
将所述第二目标尺寸、所述最终目标子BLOCK的横坐标、所述最终目标子BLOCK的纵坐标以及所述最终目标均值,确定为第二压缩子集,所述第二压缩子集与所述第一子BLOCK一一对应;
将所述当前BLOCK的全部所述第二压缩子集确定为所述第二压缩数据。
根据本发明提供的一种BMC视频压缩方法,还包括:
若预设时间段内,全部所述目标平均值之和小于预设的统计阈值,或全部所述最终目标均值均小于所述统计阈值,则按照预设的第一调整比例值,对所述平均值阈值进行增大;
若预设时间段内,全部所述目标平均值之和大于所述统计阈值,或全部所述最终目标均值均大于所述统计阈值,则按照预设的第二调整比例值,对所述平均值阈值进行缩小,以完成对所述平均值阈值的动态调整。
根据本发明提供的一种BMC视频压缩方法,还包括:
通过交替读取所述第一显存空间和所述第二显存空间中的数据,完成压缩视频数据传输。
本发明还提供一种BMC视频压缩装置,包括:
压缩模块,用于基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,所述奇数帧和所述偶数帧为相邻帧;所述比较压缩包括:基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK,所述目标BLOCK指所述偶数帧中与所述当前BLOCK重合或相邻的BLOCK;通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据;
数据写入模块,用于将所述第一压缩数据写入预设存储器的第一显存空间;将所述第二压缩数据写入所述存储器的第二显存空间。
本发明还提供一种BMC视频压缩系统,包括:
存储器、VGA模块、捕获模块、色彩空间转换模块以及如上述所述的BMC视频压缩装置;
所述存储器包括原始数据显存空间、第一显存空间和第二显存空间;所述原始数据显存空间用于接收并存储主机传输的原始图像数据;
所述VGA模块用于从所述原始数据显存空间中读取第一原始图像数据,对所述第一原始图像数据进行RGB格式转换,得到第一RGB图像数据,并将所述第一RGB图像数据传输至所述色彩空间转换模块;
所述捕获模块用于所述原始数据显存空间中读取第二原始图像数据,对所述第二原始图像数据进行RGB格式转换,得到第二RGB图像数据,并将所述第二RGB图像数据传输至所述色彩空间转换模块;所述第一原始图像数据和所述第二原始图像数据为相邻帧;
所述色彩空间转换模块用于对所述第一RGB图像数据和所述第二RGB图像数据同步进行色彩空间转换,得到第一YUV数据和第二YUV数据,所述第一YUV数据与所述第一RGB图像数据相对应,所述第二YUV数据与所述第二RGB图像数据相对应;将所述第一YUV数据和所述第二YUV数据输入所述视频压缩装置,进行视频压缩。
本发明还提供一种基板管理控制器,包括:如上述所述的BMC视频压缩装置,或者如上述所述的BMC视频压缩系统。
本发明还提供一种服务器,包括:如上述所述的基板管理控制器。
本发明还提供一种视频压缩数据读取方法,包括:
接收如上述所述的BMC视频压缩装置传输的压缩视频数据,所述压缩视频数据包括交替读取的所述第一压缩数据和所述第二压缩数据;
基于所述第一压缩数据和所述第二压缩数据,进行数据恢复,得到完整视频数据。
本发明还提供一种监控设备,包括:
数据接收模块,用于接收如上述所述的BMC视频压缩装置传输的压缩视频数据,所述压缩视频数据包括交替读取的所述第一压缩数据和所述第二压缩数据;
数据解析模块,用于基于所述第一压缩数据和所述第二压缩数据,进行数据恢复,得到完整视频数据。
根据本发明提供的一种监控设备,还包括:
显示模块,用于对所述完整视频数据进行显示。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述BMC视频压缩方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述BMC视频压缩方法。
本发明的有益效果:本发明提供的BMC视频压缩方法、装置、系统及基板管理控制器,通过基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,奇数帧和偶数帧为相邻帧;比较压缩包括:基于奇数帧中当前BLOCK所在的位置,确定偶数帧中与当前BLOCK相关联的目标BLOCK,目标BLOCK指所述偶数帧中与当前BLOCK重合或相邻的BLOCK;通过将当前BLOCK分别与每个目标BLOCK进行比较,得到第二压缩数据;将所述第一压缩数据写入预设存储器的第一显存空间;将所述第二压缩数据写入所述存储器的第二显存空间。本发明中的BMC视频压缩方法、装置、系统及基板管理控制器,能够有效提高视频压缩效率,避免出现无效压缩的情况,有助于提高基板管理控制器的整体性能,同时避免出现丢帧。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是传统的BMC视频压缩方法的逻辑框图;
图2是本发明提供的BMC视频压缩方法的流程示意图;
图3是本发明提供的BMC视频压缩方法中的比较尺寸下的五宫格比较设计框图;
图4是本发明提供的BMC视频压缩方法中的比较尺寸下的比较设计框图一;
图5是本发明提供的BMC视频压缩方法中的比较尺寸下的比较设计框图二;
图6是本发明提供的BMC视频压缩方法中的比较尺寸下的比较设计框图三;
图7是本发明提供的BMC视频压缩方法中的比较尺寸下的比较设计框图四;
图8是本发明提供的BMC视频压缩装置的结构示意图;
图9是本发明提供的BMC视频压缩系统的结构示意图;
图10是本发明提供的BMC视频压缩系统中BLOCK格式转换与比较压缩的逻辑框图;
图11是本发明提供的视频压缩数据读取方法的流程示意图。
图12是本发明提供的监控设备的结构示意图;
图13是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是传统的视频压缩方法的逻辑框图,如图1所示,基板管理控制器的传统BMC视频压缩方法的处理过程包括:
首先,主机端的原始视频数据经过基板管理控制器(基板管理控制芯片)的PCIe接口,写入基板管理控制器的DDR(Double Data Rate SDRAM,双倍数据率同步动态随机存取存储器)的显存空间A。
其次,基板管理控制器中的传统VGA(Video Graphics Array,视频图形阵列)模块对显存空间A中的原始视频数据进行读取,并将读取到的原始视频数据进行RGB格式转换,从而生成相应的RGB图像数据。
然后,VGA模块将RGB图像数据输入传统色彩空间转换模块,进行色彩空间转换,即YUV格式转换,其转换过程通过以下矩阵转换公式完成:
其中Y指亮度分量(Luminance),U和V代表色度分量(Chrominance),用于描述颜色信息,具体地,U是色度分量之一,表示蓝色通道与亮度的差值,V是色度分量之二,表示红色通道与亮度的差值。表示红色通道的像素值,G表示绿色通道的像素值,B表示蓝色通道的像素值。
之后,将完成色彩空间转换的YUV数据输入BLOCK转换模块,进行BLOCK格式转换,转换为的BLOCK数据。其中,BLOCK格式转换指将YUV数据中按行输入的数据进行RAM(Random Access Memory,随机存取存储器)缓存,在缓存过程中,对RAM进行读写控制,从而生成的BLOCK数据。具体流程如下:
将第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。
其中,Y_RAM_0、Y_RAM_1、Y_RAM_2……Y_RAM_7为用于对Y数据进行BLOCK格式转换的8个Y_RAM单元,U_RAM_0、U_RAM_1、U_RAM_2……U_RAM_7为用于对U数据进行BLOCK格式转换的8个U_RAM单元,V_RAM_0、V_RAM_1、V_RAM_2……V_RAM_7为用于对V数据进行BLOCK格式转换的8个V_RAM单元。
接着依次读取8次Y_RAM_0,8次Y_RAM_1,……,8次Y_RAM_7,生成88的Y_BLOCK数据。读8次U_RAM_0,8次U_RAM_1,……,8次U_RAM_7,生成88的U_BLOCK数据。读8次V_RAM_0,8次V_RAM_1,……,8次V_RAM_7,生成88的V_BLOCK数据。通过循环执行上述读取操作,完成BLOCK格式转换。
再将全部BLOCK数据输入JPEG(Joint Photographic Experts Group,联合图像专家组)压缩模块,进行JPEG压缩,将压缩后的图像数据写入DDR的显存空间B。
最后,利用网络模块将显存空间B中的压缩后的图像数据传输至远端。然而,该传统方法对于每一帧图像均要进行JPEG压缩,导致存在大量的前后帧视频数据重复的情况,并且,还会存在大量的无效压缩的场景,对基板管理控制器的整体性能产生影响。另外,由于JPEG压缩数据的压缩效率较慢,当待压缩的视频的分辨率较大,如19201200时,由于原始视频的产生速率较快(19201200分辨率下的像素时钟将近200Mhz),假设以60帧/s的帧率计算,产生的数据带宽是19201200360=395MB/s,而这样的数据速率,JPEG压缩无法全部处理,导致出现大量丢帧,丢帧率较高,对远端的显示效果产生影响,为用户带来较差的体验。因此,本发明提出一种视频压缩方法、装置、系统及基板管理控制器,以解决上述问题。
下面以实施例的方式,结合图2至图13描述本发明提供的BMC视频压缩方法、装置、系统及基板管理控制器。
请参考图2,本实施例提供的BMC视频压缩方法,包括:
S210:基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,所述奇数帧和所述偶数帧为相邻帧;所述比较压缩包括:基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK,所述目标BLOCK指所述偶数帧中与所述当前BLOCK重合或相邻的BLOCK;通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据。
具体地,所述压缩标准为JPEG压缩标准。通过基于压缩标准,对视频数据的偶数帧进行压缩,并且,对视频数据的奇数帧进行比较压缩,能够减少视频数据压缩的数据量,在不增加片上缓存空间的情况下,较好地实现了对相邻两帧图像数据的并行压缩处理。另外,通过上述对奇数帧进行比较压缩的方式,极大提高了视频压缩效率,避免出现无效压缩的情况,有助于提高基板管理控制器的整体性能,同时避免出现丢帧,成本较低。
需要说明的是,偶数帧如第0、2、4帧等,奇数帧如第1、3、5帧等。
S220:将所述第一压缩数据写入预设存储器的第一显存空间;将所述第二压缩数据写入所述存储器的第二显存空间。需要说明的是,通过将第一压缩数据和第二压缩数据写入不同的显存空间,能够便于后续在网络传输过程中,对第一压缩数据和第二压缩数据进行交替读取,从而实现压缩数据的传输,有助于降低交替读取的难度和复杂度。
需要提及的是,本实施例中的BMC视频压缩方法为基于硬件的改进方法,通过硬件改进,实现视频压缩,提高压缩效率。
在一些实施例中,所述BMC视频压缩方法还包括:
一、获取第一YUV数据和第二YUV数据,所述第一YUV数据为第一RGB图像数据经色彩空间转换后得到的数据,所述第二YUV数据为第二RGB图像数据经色彩空间转换后得到的数据,所述第一RGB图像数据为第一原始图像数据经RGB格式转换后得到的数据,所述第二RGB图像数据为第二原始图像数据经RGB格式转换后得到的数据,所述第一原始图像数据和所述第二原始图像数据为相邻帧。
需要提及的是,原始图像数据在视频压缩过程中,需要依次进行RGB格式转换、色彩空间转换以及BLOCK格式转换,再在BLOCK格式的图像数据的基础上,进行视频压缩。因此,上述步骤中通过获取第一YUV数据和第二YUV数据,能够便于后续对YUV数据和第二YUV数据并行进行BLOCK格式转换。
二、对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换,得到所述偶数帧和所述奇数帧,所述第一YUV数据与所述偶数帧相对应,所述第二YUV数据与所述奇数帧相对应;其中,对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换的过程中,通过对目标存储单元的空间进行分时复用,完成BLOCK格式转换。需要说明的是,通过对第一YUV数据和第二YUV数据并行进行BLOCK格式转换,便于后续对生成的偶数帧和奇数帧进行并行处理,即对偶数帧进行正常压缩(按照压缩标准进行压缩),同时对奇数帧进行比较压缩。目标存储单元指RAM。
需要说明的是,所述第一原始图像数据和所述第二原始图像数据均通过对已存储的原始图像数据进行隔帧读取得到,其中,得到所述第一原始图像数据的步骤以及得到所述第二原始图像数据的步骤同时进行,所述第一原始图像数据和所述第二原始图像数据为所述原始图像数据中的相邻两帧图像数据。具体地,所述已存储的原始图像数据指主机端通过PCIe接口写入DDR的原始数据显存空间的数据。通过对原始图像数据进行隔帧读取,得到第一原始图像数据和第二原始图像数据。所述第一原始图像数据位于第二原始图像数据之前,如若第一原始图像数据为原始图像数据的第0帧,则第二原始图像数据为原始图像数据的第1帧,若第一原始图像数据为原始图像数据的第2帧,则第二原始图像数据为原始图像数据的第3帧等,以此类推。本实施例中采用对第一原始图像数据和第二原始图像数据进行并行读取的方式,便于后续对奇数帧进行比较压缩,有助于降低JPEG视频压缩的数据量,提高视频压缩效率。
在一些实施例中,所述第一YUV数据包括:第一Y数据、第一U数据以及第一V数据;所述第二YUV数据包括:第二Y数据、第二U数据以及第二V数据。
在一些实施例中,对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换,得到所述偶数帧和所述奇数帧的步骤包括:
一、对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换,得到第一BLOCK数据和第二BLOCK数据,所述第一Y数据和所述第一BLOCK数据相对应,所述第二Y数据与所述第二BLOCK数据相对应。
二、对所述第一U数据和所述第二U数据并行进行BLOCK格式转换,得到第三BLOCK数据和第四BLOCK数据,所述第一U数据与所述第三BLOCK数据相对应,所述第二U数据与所述第四BLOCK数据相对应。
三、对所述第一V数据和所述第二V数据并行进行BLOCK格式转换,得到第五BLOCK数据和第六BLOCK数据,所述第一V数据和所述第五BLOCK数据相对应,所述第二V数据与所述第六BLOCK数据相对应;所述第一BLOCK数据、所述第三BLOCK数据以及所述第五BLOCK数据均属于所述偶数帧,所述第二BLOCK数据、所述第四BLOCK数据以及所述第六BLOCK数据均属于所述奇数帧。需要说明的是,通过进行上述BLOCK格式转换步骤,便于后续进行压缩。
具体地,对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换,得到第一BLOCK数据和第二BLOCK数据的步骤包括:
一、基于预设的BLOCK尺寸标准,将所述第一Y数据的前目标数量个Y数据写入目标Y存储单元的第一目标地址。具体地,所述BLOCK尺寸标准可以为88或1616等。所述目标数量与所述BLOCK尺寸标准相关,如当BLOCK尺寸标准为88时,目标数量则为8,当BLOCK尺寸标准为1616时,目标数量则为16。目标Y存储单元包括:Y_RAM_0、Y_RAM_1……Y_RAM_7。
二、对所述第一目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第二目标地址。
三、对所述第二目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第1行,同时,将所述第二Y数据的前目标数量个Y数据写入所述目标Y存储单元的所述第一目标地址。
四、对所述第一目标地址中的Y数据进行读取,得到所述第二BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第三目标地址,所述第一目标地址、第二目标地址以及所述第三目标地址按从前到后的顺序依次排列。
五、对所述第三目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第2行,同时,将所述第二Y数据剩余的Y数据中前目标数量个Y数据写入所述第二目标地址。
六、在遍历所述目标Y存储单元的全部地址的情况下,得到完整的所述第一BLOCK数据和所述第二BLOCK数据。需要说明的是,上述对目标Y存储单元的读写步骤,实现了对RAM资源的分时复用,在不增加RAM资源的情况下,实现了并行两帧的BLOCK转换,极大提高了视频压缩效率。
示例性地,在所述BLOCK尺寸标准为88的情况下,将第0帧的前8个Y数据写入Y_RAM_0的地址0-7,然后同步读地址0-7(因为RAM是有地址信息的,因此可以在1个时钟周期内读出),得到第0帧的Y_BLOCK数据的第0行。之后将第0帧的8-15个数据写进Y_RAM_0的地址8-15,再读地址8-15,得到第0帧Y_BLOCK数据的第1行,此时要同步将第1帧的前8个Y数据写进Y_RAM_0的地址0-7(可以理解的,因为此时地址0-7的数据已经被读走,因此可以将第1帧的数据写入地址0-7)。同时并行读Y_RAM_0的第0-7地址,得到第1帧Y_BLOCK的第0行。接着将第0帧的16-23个数据写进Y_RAM_0的地址16-23,再读地址16-23,得到第0帧Y_BLOCK数据的第2行,此时要同步将第1帧的8-15个数据写入Y_RAM_0的地址8-15(因为此时地址8-15的数据已经被读走,因此,可以将第1帧的数据写入地址8-15),同时并行读取Y_RAM_0的第8-15地址,得到第1帧Y_BLOCK的第1行。然后,将第0帧的24-31个数据写进Y_RAM_0的地址24-31,再读地址24-31,得到第0帧Y_BLOCK数据的第3行。此时同步将第1帧的16-23个数据写入Y_RAM_0的地址16-23(由于此时地址16-23的数据已经被读走,因此可以将第1帧的数据写入地址16-23)。同时并行读取Y_RAM_0的第16-23地址,得到第1帧Y_BLOCK的第2行……
对于Y_RAM_1-Y_RAM_7同理,即同样采用上述并行读写的方式,进行BLOCK转换。另外,对于U数据和V数据的BLOCK转换,同样采用上述并行读写的方式进行。
通过上述并行读写的方式,实现了对并行两帧Y数据的BLOCK转换,有效提高视频压缩速度。
具体地,对所述第一U数据和所述第二U数据并行进行BLOCK格式转换,得到第三BLOCK数据和第四BLOCK数据的步骤包括:
一、基于预设的BLOCK尺寸标准,将所述第一U数据的前目标数量个U数据写入目标U存储单元的第四目标地址。目标U存储单元包括:U_RAM_0、U_RAM_1……U_RAM_7。
二、对所述第四目标地址中的U数据进行读取,得到所述第三BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第五目标地址。
三、对所述第五目标地址中的U数据进行读取,得到所述第三BLOCK数据的第1行,同时,将所述第二U数据的前目标数量个U数据写入所述目标U存储单元的所述第四目标地址。
四、对所述第四目标地址中的U数据进行读取,得到所述第四BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第六目标地址,所述第四目标地址、第五目标地址以及所述第六目标地址按从前到后的顺序依次排列。
五、对所述第六目标地址中的U数据进行读取,得到所述第三BLOCK数据的第2行,同时,将所述第二U数据剩余的U数据中前目标数量个U数据写入所述第五目标地址。
六、在遍历所述目标U存储单元的全部地址的情况下,得到完整的所述第三BLOCK数据和所述第四BLOCK数据。
具体地,对所述第一V数据和所述第二V数据并行进行BLOCK格式转换,得到第五BLOCK数据和第六BLOCK数据的步骤包括:
一、基于预设的BLOCK尺寸标准,将所述第一V数据的前目标数量个V数据写入目标V存储单元的第七目标地址。目标V存储单元包括:V_RAM_0、V_RAM_1……V_RAM_7。
二、对所述第七目标地址中的V数据进行读取,得到所述第五BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第八目标地址。
三、对所述第八目标地址中的V数据进行读取,得到所述第五BLOCK数据的第1行,同时,将所述第二V数据的前目标数量个V数据写入所述目标V存储单元的所述第七目标地址。
四、对所述第七目标地址中的V数据进行读取,得到所述第六BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第九目标地址,所述第七目标地址、第八目标地址以及所述第九目标地址按从前到后的顺序依次排列。
五、对所述第九目标地址中的V数据进行读取,得到所述第五BLOCK数据的第2行,同时,将所述第二V数据剩余的V数据中前目标数量个V数据写入所述第八目标地址。
六、在遍历所述目标V存储单元的全部地址的情况下,得到完整的所述第五BLOCK数据和所述第六BLOCK数据。
需要说明的是,对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换的步骤,对所述第一U数据和所述第二U数据并行进行BLOCK格式转换的步骤,以及对所述第一V数据和所述第二V数据并行进行BLOCK格式转换的步骤同步进行。
在一些实施例中,基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK的步骤包括:
一、基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述BLOCK重合的第一目标BLOCK。
二、将所述偶数帧中所述第一目标BLOCK左侧相邻的BLOCK确定为第二目标BLOCK。
三、将所述偶数帧中所述第一目标BLOCK上方相邻的BLOCK确定为第三目标BLOCK。
四、将所述偶数帧中所述第一目标BLOCK左上角相邻的BLOCK确定为第四目标BLOCK。
五、将所述偶数帧中所述第一目标BLOCK右上角相邻的BLOCK确定为第五目标BLOCK。如图3所示,假设当前的比较尺寸(此处的比较尺寸指相比较的两个BLOCK的尺寸,即第一目标尺寸)为88,在确定第二目标图像数据中当前BLOCK,即奇数帧的当前BLOCK后,基于所述当前BLOCK的位置,确定第一目标BLOCK、第二目标BLOCK、第三目标BLOCK、第四目标BLOCK以及第五目标BLOCK。需要说明的是,由于在处理第二目标图像数据中当前BLOCK时,第一目标图像数据中的第一目标BLOCK、第二目标BLOCK、第三目标BLOCK、第四目标BLOCK以及第五目标BLOCK已经完成了相应的处理,因此,可以将第一目标BLOCK、第二目标BLOCK、第三目标BLOCK、第四目标BLOCK以及第五目标BLOCK缓存下来,在确定第二目标图像数据中当前BLOCK时,再将所述当前BLOCK分别与第一目标BLOCK、第二目标BLOCK、第三目标BLOCK、第四目标BLOCK以及第五目标BLOCK进行比较。
在一些实施例中,通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据的步骤包括:
将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据。具体地,将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行差值计算,以得到所述第二压缩数据。
在一些实施例中,将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据的步骤包括:
一、将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较,得到所述当前BLOCK的每个像素值与所述第一目标BLOCK的对应像素值之间的第一差值、所述当前BLOCK的每个像素值与所述第二目标BLOCK的对应像素值之间的第二差值、所述当前BLOCK的每个像素值与所述第三目标BLOCK的对应像素值之间的第三差值、所述当前BLOCK的每个像素值与所述第四目标BLOCK的对应像素值之间的第四差值、所述当前BLOCK的每个像素值与所述第五目标BLOCK的对应像素值之间的第五差值。
二、对全部第一差值进行绝对值处理,并对绝对值处理后的全部所述第一差值进行平均处理,得到第一平均值。
三、对全部第二差值进行绝对值处理,并对绝对值处理后的全部所述第二差值进行平均处理,得到第二平均值。
四、对全部第三差值进行绝对值处理,并对绝对值处理后的全部所述第三差值进行平均处理,得到第三平均值。
五、对全部第四差值进行绝对值处理,并对绝对值处理后的全部所述第四差值进行平均处理,得到第四平均值。
六、对全部第五差值进行绝对值处理,并对绝对值处理后的全部所述第五差值进行平均处理,得到第五平均值。
七、在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的至少一个小于预设的平均值阈值的情况下,将所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的最小值,确定为目标平均值;将所述目标平均值对应的目标BLOCK确定为最终目标BLOCK;将第一目标尺寸、所述最终目标BLOCK的横坐标、所述最终目标BLOCK的纵坐标以及所述目标平均值确定为所述第二压缩数据,所述第一目标尺寸为所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK或所述第五目标BLOCK的尺寸。
为了进一步提高比较压缩的精准度,在一些实施例中,将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据的步骤还包括:
一、在将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较的同时,基于预设的第二目标尺寸,将所述当前BLOCK均分为固定数量个第一子BLOCK,并基于所述第二目标尺寸,将全部所述目标BLOCK均分为固定数量个第二子BLOCK。
二、基于当前所述第一子BLOCK所在的位置,从全部所述第二子BLOCK中确定与当前所述第一子BLOCK相关联的目标子BLOCK,所述目标子BLOCK指全部所述第二子BLOCK中与当前所述第一子BLOCK重合或相邻的子BLOCK。请参考图4至图7,以的比较尺寸为例,即假设第二目标尺寸为,在确定奇数帧的所述当前BLOCK、偶数帧的第一目标BLOCK、第二目标BLOCK、第三目标BLOCK、第四目标BLOCK以及第五目标BLOCK的情况下,将所述当前BLOCK划分为四个第一子BLOCK,并将目标BLOCK(第一目标BLOCK、第二目标BLOCK、第三目标BLOCK、第四目标BLOCK以及第五目标BLOCK)同样划分为四个第二子BLOCK。对于奇数帧的所述当前BLOCK中左上角的第一子BLOCK,如图4所示,确定与其相关联或相对应的5个目标子BLOCK。对于奇数帧的所述当前BLOCK中右上角的第一子BLOCK,如图5所示,确定与其相关联或相对应的5个目标子BLOCK。对于奇数帧的所述当前BLOCK中左下角的第一子BLOCK,如图6所示,确定与其相关联或相对应的5个目标子BLOCK。对于奇数帧的所述当前BLOCK中右下角的第一子BLOCK,如图7所示,确定与其相关联或相对应的4个目标子BLOCK。图4至图7中的偶数帧(上方BLOCK图像)中的虚线框即表示目标子BLOCK,奇数帧中的虚线框即表示当前第一子BLOCK。
三、将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果。具体地,将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行差值计算,得到所述比较结果。
四、在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值均大于或等于所述平均值阈值的情况下,基于所述比较结果,得到所述第二压缩数据。
在一些实施例中,将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果的步骤包括:
一、将所述第一子BLOCK的像素值分别与关联的全部所述目标子BLOCK的对应像素值进行比较,得到目标差值,所述目标差值为所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的差值。具体地,将所述第一子BLOCK的像素值分别与关联的全部所述目标子BLOCK的对应像素值进行差值计算,得到目标差值。
二、对所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的全部所述目标差值,进行绝对值处理,并对绝对值处理后的全部所述目标差值进行平均处理,得到目标均值。
三、将全部所述目标均值确定为所述比较结果。
在一些实施例中,基于所述比较结果,得到所述第二压缩数据的步骤包括:
一、将全部所述目标均值中的最小值确定为目标均值。具体地,在全部所述目标均值中的最小值小于所述平均值阈值的情况下,将全部所述目标均值中的最小值确定为最终目标均值。
二、将所述最终目标均值对应的所述目标子BLOCK确定为最终目标子BLOCK,所述第一子BLOCK与所述最终目标子BLOCK一一对应。
三、将所述第二目标尺寸、所述最终目标子BLOCK的横坐标、所述最终目标子BLOCK的纵坐标以及所述最终目标均值,确定为第二压缩子集,所述第二压缩子集与所述第一子BLOCK一一对应。
四、将所述当前BLOCK的全部所述第二压缩子集确定为所述第二压缩数据。
需要说明的是,上述88尺寸的比较与44尺寸的比较是同步进行的。针对同一奇数帧的当前BLOCK的比较也是同步进行的,以88为例,奇数帧的当前BLOCK同时与偶数帧的第一目标BLOCK、第二目标BLOCK、第三目标BLOCK、第四目标BLOCK以及第五目标BLOCK进行比较。
还需要说明的是,若经过上述比较,全部比较块(BLOCK)的平均值,即所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值、所述第五平均值以及全部所述目标均值均大于平均值阈值的情况下,则需要传递奇数帧的当前BLOCK的原数据,并记录当前BLOCK的位置。并且,确定当前BLOCK的第二压缩数据包括:第一目标尺寸、当前BLOCK的横坐标、当前BLOCK的纵坐标以及当前BLOCK的具体数据,
为了进一步提高比较压缩的精确度,在一些实施例中,还包括:
一、若预设时间段内,全部所述目标平均值之和小于预设的统计阈值,或全部所述最终目标均值均小于所述统计阈值,则按照预设的第一调整比例值,对所述平均值阈值进行增大。具体地,若在T0时间内,全部所述目标平均值之和小于预设的统计阈值,或全部所述最终目标均值均小于所述统计阈值,则表示T0时间内,原始视频的变化非常小,此时对平均值阈值Threhold_0进行修正,即按照预设的第一调整比例值,对所述平均值阈值进行增大,即 Threhold_0mdy_0,其中mdy_0>1,mdy_0表示第一调整比例值。
二、若预设时间段内,全部所述目标平均值之和大于所述统计阈值,或全部所述最终目标均值均大于所述统计阈值,则按照预设的第二调整比例值,对所述平均值阈值进行缩小,以完成对所述平均值阈值的动态调整。通过对平均值阈值进行动态调整,能够有效增加比较压缩的精确度。具体地,若在T0时间内,全部所述目标平均值之和大于所述统计阈值,或全部所述最终目标均值均大于所述统计阈值,则表示T0时间内,原始视频的变化较大,此时对平均值阈值Threhold_0进行修正,即按照预设的第二调整比例值,对所述平均值阈值进行缩小,即 Threhold_0mdy_1,其中mdy_1<1,mdy_1表示第二调整比例值。上述动态调整方式,能够在保证了压缩效率的同时,保证了压缩质量。
在一些实施例中,还包括:
通过交替读取所述第一显存空间和所述第二显存空间中的数据,完成压缩视频数据传输。
需要提及的是,当远端,即监控设备接收到所述第一压缩数据和第二压缩数据时,通过对第一压缩数据进行解压,而后基于解压后的偶数帧图像数据和所述第二压缩数据,对奇数帧进行解压与恢复。
下面对本发明提供的BMC视频压缩装置进行描述,下文描述的BMC视频压缩装置与上文描述的BMC视频压缩方法可相互对应参照。
请参考图8,本实施例提供的BMC视频压缩装置,包括:
压缩模块810,用于基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,所述奇数帧和所述偶数帧为相邻帧;所述比较压缩包括:基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK,所述目标BLOCK指所述偶数帧中与所述当前BLOCK重合或相邻的BLOCK;通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据。
数据写入模块820,用于将所述第一压缩数据写入预设存储器的第一显存空间;将所述第二压缩数据写入所述存储器的第二显存空间。本实施例中的BMC视频压缩装置,能够有效提高视频压缩效率,避免出现无效压缩的情况,有助于提高基板管理控制器的整体性能,同时避免出现丢帧。
在一些实施例中,所述压缩模块810包括:YUV数据接收单元,用于获取第一YUV数据和第二YUV数据,所述第一YUV数据为第一RGB图像数据经色彩空间转换后得到的数据,所述第二YUV数据为第二RGB图像数据经色彩空间转换后得到的数据,所述第一RGB图像数据为第一原始图像数据经RGB格式转换后得到的数据,所述第二RGB图像数据为第二原始图像数据经RGB格式转换后得到的数据,所述第一原始图像数据和所述第二原始图像数据为相邻帧;
格式转换单元,用于对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换,得到所述偶数帧和所述奇数帧,所述第一YUV数据与所述偶数帧相对应,所述第二YUV数据与所述奇数帧相对应;其中,对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换的过程中,通过对目标存储单元的空间进行分时复用,完成BLOCK格式转换。
在一些实施例中,所述格式转换单元具体用于对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换,得到第一BLOCK数据和第二BLOCK数据,所述第一Y数据和所述第一BLOCK数据相对应,所述第二Y数据与所述第二BLOCK数据相对应;
对所述第一U数据和所述第二U数据并行进行BLOCK格式转换,得到第三BLOCK数据和第四BLOCK数据,所述第一U数据与所述第三BLOCK数据相对应,所述第二U数据与所述第四BLOCK数据相对应;
对所述第一V数据和所述第二V数据并行进行BLOCK格式转换,得到第五BLOCK数据和第六BLOCK数据,所述第一V数据和所述第五BLOCK数据相对应,所述第二V数据与所述第六BLOCK数据相对应;所述第一BLOCK数据、所述第三BLOCK数据以及所述第五BLOCK数据均属于所述偶数帧,所述第二BLOCK数据、所述第四BLOCK数据以及所述第六BLOCK数据均属于所述奇数帧。
在一些实施例中,所述格式转换单元还具体用于基于预设的BLOCK尺寸标准,将所述第一Y数据的前目标数量个Y数据写入目标Y存储单元的第一目标地址;
对所述第一目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第二目标地址;
对所述第二目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第1行,同时,将所述第二Y数据的前目标数量个Y数据写入所述目标Y存储单元的所述第一目标地址;
对所述第一目标地址中的Y数据进行读取,得到所述第二BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第三目标地址,所述第一目标地址、第二目标地址以及所述第三目标地址按从前到后的顺序依次排列;
对所述第三目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第2行,同时,将所述第二Y数据剩余的Y数据中前目标数量个Y数据写入所述第二目标地址;
在遍历所述目标Y存储单元的全部地址的情况下,得到完整的所述第一BLOCK数据和所述第二BLOCK数据。
在一些实施例中,所述格式转换单元还具体用于基于预设的BLOCK尺寸标准,将所述第一U数据的前目标数量个U数据写入目标U存储单元的第四目标地址;
对所述第四目标地址中的U数据进行读取,得到所述第三BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第五目标地址;
对所述第五目标地址中的U数据进行读取,得到所述第三BLOCK数据的第1行,同时,将所述第二U数据的前目标数量个U数据写入所述目标U存储单元的所述第四目标地址;
对所述第四目标地址中的U数据进行读取,得到所述第四BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第六目标地址,所述第四目标地址、第五目标地址以及所述第六目标地址按从前到后的顺序依次排列;
对所述第六目标地址中的U数据进行读取,得到所述第三BLOCK数据的第2行,同时,将所述第二U数据剩余的U数据中前目标数量个U数据写入所述第五目标地址;
在遍历所述目标U存储单元的全部地址的情况下,得到完整的所述第三BLOCK数据和所述第四BLOCK数据。
在一些实施例中,所述格式转换单元还具体用于基于预设的BLOCK尺寸标准,将所述第一V数据的前目标数量个V数据写入目标V存储单元的第七目标地址;
对所述第七目标地址中的V数据进行读取,得到所述第五BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第八目标地址;
对所述第八目标地址中的V数据进行读取,得到所述第五BLOCK数据的第1行,同时,将所述第二V数据的前目标数量个V数据写入所述目标V存储单元的所述第七目标地址;
对所述第七目标地址中的V数据进行读取,得到所述第六BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第九目标地址,所述第七目标地址、第八目标地址以及所述第九目标地址按从前到后的顺序依次排列;
对所述第九目标地址中的V数据进行读取,得到所述第五BLOCK数据的第2行,同时,将所述第二V数据剩余的V数据中前目标数量个V数据写入所述第八目标地址;
在遍历所述目标V存储单元的全部地址的情况下,得到完整的所述第五BLOCK数据和所述第六BLOCK数据。
在一些实施例中,所述格式转换单元对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换的步骤,对所述第一U数据和所述第二U数据并行进行BLOCK格式转换的步骤,以及对所述第一V数据和所述第二V数据并行进行BLOCK格式转换的步骤同步进行。
在一些实施例中,所述压缩模块810具体用于基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK的步骤包括:
基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述BLOCK重合的第一目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左侧相邻的BLOCK确定为第二目标BLOCK;
将所述偶数帧中所述第一目标BLOCK上方相邻的BLOCK确定为第三目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左上角相邻的BLOCK确定为第四目标BLOCK;
将所述偶数帧中所述第一目标BLOCK右上角相邻的BLOCK确定为第五目标BLOCK。
在一些实施例中,所述压缩模块810还具体用于将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据。
在一些实施例中,所述压缩模块810还具体用于将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较,得到所述当前BLOCK的每个像素值与所述第一目标BLOCK的对应像素值之间的第一差值、所述当前BLOCK的每个像素值与所述第二目标BLOCK的对应像素值之间的第二差值、所述当前BLOCK的每个像素值与所述第三目标BLOCK的对应像素值之间的第三差值、所述当前BLOCK的每个像素值与所述第四目标BLOCK的对应像素值之间的第四差值、所述当前BLOCK的每个像素值与所述第五目标BLOCK的对应像素值之间的第五差值;
对全部第一差值进行绝对值处理,并对绝对值处理后的全部所述第一差值进行平均处理,得到第一平均值;
对全部第二差值进行绝对值处理,并对绝对值处理后的全部所述第二差值进行平均处理,得到第二平均值;
对全部第三差值进行绝对值处理,并对绝对值处理后的全部所述第三差值进行平均处理,得到第三平均值;
对全部第四差值进行绝对值处理,并对绝对值处理后的全部所述第四差值进行平均处理,得到第四平均值;
对全部第五差值进行绝对值处理,并对绝对值处理后的全部所述第五差值进行平均处理,得到第五平均值;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的至少一个小于预设的平均值阈值的情况下,将所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的最小值,确定为目标平均值;将所述目标平均值对应的目标BLOCK确定为最终目标BLOCK;将第一目标尺寸、所述最终目标BLOCK的横坐标、所述最终目标BLOCK的纵坐标以及所述目标平均值确定为所述第二压缩数据,所述第一目标尺寸为所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK或所述第五目标BLOCK的尺寸。
在一些实施例中,所述压缩模块810还具体用于在将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较的同时,基于预设的第二目标尺寸,将所述当前BLOCK均分为固定数量个第一子BLOCK,并基于所述第二目标尺寸,将全部所述目标BLOCK均分为固定数量个第二子BLOCK;
基于当前所述第一子BLOCK所在的位置,从全部所述第二子BLOCK中确定与当前所述第一子BLOCK相关联的目标子BLOCK,所述目标子BLOCK指全部所述第二子BLOCK中与当前所述第一子BLOCK重合或相邻的子BLOCK;
将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值均大于或等于所述平均值阈值的情况下,基于所述比较结果,得到所述第二压缩数据。
在一些实施例中,所述压缩模块810还具体用于将所述第一子BLOCK的像素值分别与关联的全部所述目标子BLOCK的对应像素值进行比较,得到目标差值,所述目标差值为所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的差值;
对所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的全部所述目标差值,进行绝对值处理,并对绝对值处理后的全部所述目标差值进行平均处理,得到目标均值;
将全部所述目标均值确定为所述比较结果。
在一些实施例中,所述压缩模块810还具体用于将全部所述目标均值中的最小值确定为最终目标均值;
将所述最终目标均值对应的所述目标子BLOCK确定为最终目标子BLOCK,所述第一子BLOCK与所述最终目标子BLOCK一一对应;
将所述第二目标尺寸、所述最终目标子BLOCK的横坐标、所述最终目标子BLOCK的纵坐标以及所述最终目标均值,确定为第二压缩子集,所述第二压缩子集与所述第一子BLOCK一一对应;
将所述当前BLOCK的全部所述第二压缩子集确定为所述第二压缩数据。
在一些实施例中,所述压缩模块810还包括:差值统计判断模块,用于若预设时间段内,全部所述目标平均值之和小于预设的统计阈值,或全部所述最终目标均值均小于所述统计阈值,则按照预设的第一调整比例值,对所述平均值阈值进行增大;
若预设时间段内,全部所述目标平均值之和大于所述统计阈值,或全部所述最终目标均值均大于所述统计阈值,则按照预设的第二调整比例值,对所述平均值阈值进行缩小,以完成对所述平均值阈值的动态调整。
在一些实施例中,所述压缩模块810还包括:
网络传输单元,用于通过交替读取所述第一显存空间和所述第二显存空间中的数据,完成压缩视频数据传输。
下面对本发明提供的视频压缩系统进行解释说明。
请参考图9,本实施例提供的BMC视频压缩系统,包括:
存储器910、VGA模块920、捕获模块930、色彩空间转换模块940以及如上述所述的BMC视频压缩装置;所述存储器910为DDR。本实施例中的VGA模块中增加了交替读取单元vga_mdy,用于实现对视频数据的隔帧读取。
所述存储器910包括原始数据显存空间、第一显存空间和第二显存空间;所述原始数据显存空间用于接收并存储主机传输的原始图像数据。具体地,所述原始数据显存空间用于通过PCIe接口接收并存储主机传输的原始图像数据。
所述VGA模块920用于从所述原始数据显存空间中读取第一原始图像数据,对所述第一原始图像数据进行RGB格式转换,得到第一RGB图像数据,并将所述第一RGB图像数据传输至所述色彩空间转换模块。图9中DDR中的C区间表示原始数据显存空间。图9中DDR中的D区间表示第一显存空间,图9中DDR中的E区间表示第二显存空间。
所述捕获模块930用于所述原始数据显存空间中读取第二原始图像数据,对所述第二原始图像数据进行RGB格式转换,得到第二RGB图像数据,并将所述第二RGB图像数据传输至所述色彩空间转换模块;所述第一原始图像数据和所述第二原始图像数据为相邻帧。
所述色彩空间转换模块940用于对所述第一RGB图像数据和所述第二RGB图像数据同步进行色彩空间转换,得到第一YUV数据和第二YUV数据,所述第一YUV数据与所述第一RGB图像数据相对应,所述第二YUV数据与所述第二RGB图像数据相对应;将所述第一YUV数据和所述第二YUV数据输入所述视频压缩装置,进行视频压缩。
图9中示例性地将压缩模块810分为格式转换单元950、压缩单元960和网络传输单元970(如EMAC(Ethernet MAC,以太网媒体访问控制器))。所述压缩单元960用于对基于预设的压缩标准,对偶数帧进行压缩,得到第一压缩数据。所述数据写入模块820的数量为两个,其一部署于格式转换单元950,其二部署于压缩单元960。压缩单元960中的数据写入模块820用于将第一压缩数据写入第一显存空间,格式转换单元950中的数据写入模块820用于将第二压缩数据写入第二显存空间。
图10是视频压缩系统中的格式转换单元950的逻辑框图,或者说是BLOCK格式转换与比较压缩的逻辑框图,请参考图10,YUV RAM分时复用写控制模块1010接收并行的第一YUV数据和第二YUV数据,并采用上述并行读写的方式,将对应数据写入目标存储单元(图10中目标存储单元包括:Y_RAM_0、Y_RAM_1……Y_RAM_7,U_RAM_0、U_RAM_1……U_RAM_7,V_RAM_0、V_RAM_1……V_RAM_7,其中,Y_RAM_0、Y_RAM_1……Y_RAM_7为一个存储数组,即Y_RAM_ARRAY,U_RAM_0、U_RAM_1……U_RAM_7为一个存储数组,即U_RAM_ ARRAY,V_RAM_0、V_RAM_1……V_RAM_7为一个存储数组,即V_RAM_ ARRAY),同时,YUV RAM分时复用读控制模块1020采用上述并行读写的方式,对目标存储单元进行数据读取,从而完成BLOCK格式转换。图10中的比较数据缓存模块1030用于缓存待比较的BLOCK数据,特指偶数帧的BLOCK数据,新读出BLOCK数据模块1040用于接收最新读取出的BLOCK数据,特指奇数帧的当前BLOCK数据。
图10中的88尺寸数据比较模块1050用于对88的BLOCK进行比较,44尺寸比较模块1060用于对44的BLOCK进行比较。之后,由基板管理控制器(BMC)的CPU(中央处理器)将平均值阈值下发至阈值判断模块,由阈值判断模块1070基于比较结果以及平均值阈值,对奇数帧进行压缩,得到第二压缩数据。最后,将第二压缩数据写入DDR的第二显存空间。需要提及的是,在对奇数帧进行比较压缩的同时,YUV RAM分时复用读控制模块将偶数帧的BLOCK数据输入JPEG压缩模块进行压缩,得到第一压缩数据,并将第一压缩数据写入DDR的第一显存空间。需要提及的是,图10中的差值统计判断模块1080,用于进行阈值修正,即对平均值阈值进行动态调整。
本实施例还提供一种基板管理控制器,包括:如上述所述的BMC视频压缩装置,或者如上述所述的BMC视频压缩系统。
本实施例还提供一种服务器,包括:如上述所述的基板管理控制器。
请参考图11,本实施例还提供一种视频压缩数据读取方法,包括:
S1110:接收如上述所述的BMC视频压缩装置传输的压缩视频数据,所述压缩视频数据包括交替读取的所述第一压缩数据和所述第二压缩数据。
S1120:基于所述第一压缩数据和所述第二压缩数据,进行数据恢复,得到完整视频数据。
请参考图12,本实施例还提供一种监控设备,包括:
数据接收模块1210,用于接收如上述所述的视频压缩装置传输的压缩视频数据,所述压缩视频数据包括交替读取的所述第一压缩数据和所述第二压缩数据;
数据解析模块1220,用于基于所述第一压缩数据和所述第二压缩数据,进行数据恢复,得到完整视频数据。所述数据接收模块1210和所述数据解析模块1220连接。本实施例中的监控设备,能够实现高效监控。
在一些实施例中,所述监控设备还包括:
显示模块,用于对所述完整视频数据进行显示。
图13示例了一种电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1310、通信接口(Communications Interface)1320、存储器(memory)1330和通信总线1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑指令,以执行视频压缩方法,该方法包括:在视频压缩过程中,基于预设的压缩标准,对偶数帧的第一目标图像数据进行压缩,得到第一压缩数据;并且,通过对奇数帧的第二目标图像数据进行比较压缩,得到第二压缩数据;比较压缩包括:基于第二目标图像数据中当前BLOCK所在的位置,确定第一目标图像数据中与当前BLOCK相关联的目标BLOCK,目标BLOCK指第一目标图像数据中与当前BLOCK重合或相邻的BLOCK;通过将当前BLOCK分别与每个目标BLOCK进行比较,得到第二压缩数据。
此外,上述的存储器1330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的视频压缩方法,该方法包括:在视频压缩过程中,基于预设的压缩标准,对偶数帧的第一目标图像数据进行压缩,得到第一压缩数据;并且,通过对奇数帧的第二目标图像数据进行比较压缩,得到第二压缩数据;比较压缩包括:基于第二目标图像数据中当前BLOCK所在的位置,确定第一目标图像数据中与当前BLOCK相关联的目标BLOCK,目标BLOCK指第一目标图像数据中与当前BLOCK重合或相邻的BLOCK;通过将当前BLOCK分别与每个目标BLOCK进行比较,得到第二压缩数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (21)
1.一种BMC视频压缩方法,其特征在于,包括:
基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,所述奇数帧和所述偶数帧为相邻帧;所述比较压缩包括:基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK,所述目标BLOCK指所述偶数帧中与所述当前BLOCK重合或相邻的BLOCK;通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据;
将所述第一压缩数据写入预设存储器的第一显存空间;将所述第二压缩数据写入所述存储器的第二显存空间;
基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK的步骤包括:
基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述BLOCK重合的第一目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左侧相邻的BLOCK确定为第二目标BLOCK;
将所述偶数帧中所述第一目标BLOCK上方相邻的BLOCK确定为第三目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左上角相邻的BLOCK确定为第四目标BLOCK;
将所述偶数帧中所述第一目标BLOCK右上角相邻的BLOCK确定为第五目标BLOCK;
其中,通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据的步骤包括:
将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据;
其中,将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据的步骤包括:
将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较,得到所述当前BLOCK的每个像素值与所述第一目标BLOCK的对应像素值之间的第一差值、所述当前BLOCK的每个像素值与所述第二目标BLOCK的对应像素值之间的第二差值、所述当前BLOCK的每个像素值与所述第三目标BLOCK的对应像素值之间的第三差值、所述当前BLOCK的每个像素值与所述第四目标BLOCK的对应像素值之间的第四差值、所述当前BLOCK的每个像素值与所述第五目标BLOCK的对应像素值之间的第五差值;
对全部第一差值进行绝对值处理,并对绝对值处理后的全部所述第一差值进行平均处理,得到第一平均值;
对全部第二差值进行绝对值处理,并对绝对值处理后的全部所述第二差值进行平均处理,得到第二平均值;
对全部第三差值进行绝对值处理,并对绝对值处理后的全部所述第三差值进行平均处理,得到第三平均值;
对全部第四差值进行绝对值处理,并对绝对值处理后的全部所述第四差值进行平均处理,得到第四平均值;
对全部第五差值进行绝对值处理,并对绝对值处理后的全部所述第五差值进行平均处理,得到第五平均值;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的至少一个小于预设的平均值阈值的情况下,将所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的最小值,确定为目标平均值;将所述目标平均值对应的目标BLOCK确定为最终目标BLOCK;将第一目标尺寸、所述最终目标BLOCK的横坐标、所述最终目标BLOCK的纵坐标以及所述目标平均值确定为所述第二压缩数据,所述第一目标尺寸为所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK或所述第五目标BLOCK的尺寸;
其中,将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据的步骤还包括:
在将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较的同时,基于预设的第二目标尺寸,将所述当前BLOCK均分为固定数量个第一子BLOCK,并基于所述第二目标尺寸,将全部所述目标BLOCK均分为固定数量个第二子BLOCK;
基于当前所述第一子BLOCK所在的位置,从全部所述第二子BLOCK中确定与当前所述第一子BLOCK相关联的目标子BLOCK,所述目标子BLOCK指全部所述第二子BLOCK中与当前所述第一子BLOCK重合或相邻的子BLOCK;
将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值均大于或等于所述平均值阈值的情况下,基于所述比较结果,得到所述第二压缩数据。
2.根据权利要求1所述的BMC视频压缩方法,其特征在于,还包括:
获取第一YUV数据和第二YUV数据,所述第一YUV数据为第一RGB图像数据经色彩空间转换后得到的数据,所述第二YUV数据为第二RGB图像数据经色彩空间转换后得到的数据,所述第一RGB图像数据为第一原始图像数据经RGB格式转换后得到的数据,所述第二RGB图像数据为第二原始图像数据经RGB格式转换后得到的数据,所述第一原始图像数据和所述第二原始图像数据为相邻帧;
对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换,得到所述偶数帧和所述奇数帧,所述第一YUV数据与所述偶数帧相对应,所述第二YUV数据与所述奇数帧相对应;其中,对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换的过程中,通过对目标存储单元的空间进行分时复用,完成BLOCK格式转换。
3.根据权利要求2所述的BMC视频压缩方法,其特征在于,所述第一原始图像数据和所述第二原始图像数据均通过对已存储的原始图像数据进行隔帧读取得到,其中,得到所述第一原始图像数据的步骤以及得到所述第二原始图像数据的步骤同时进行,所述第一原始图像数据和所述第二原始图像数据为所述原始图像数据中的相邻两帧图像数据。
4.根据权利要求2或3所述的BMC视频压缩方法,其特征在于,所述第一YUV数据包括:第一Y数据、第一U数据以及第一V数据;所述第二YUV数据包括:第二Y数据、第二U数据以及第二V数据;
对所述第一YUV数据和所述第二YUV数据并行进行BLOCK格式转换,得到所述偶数帧和所述奇数帧的步骤包括:
对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换,得到第一BLOCK数据和第二BLOCK数据,所述第一Y数据和所述第一BLOCK数据相对应,所述第二Y数据与所述第二BLOCK数据相对应;
对所述第一U数据和所述第二U数据并行进行BLOCK格式转换,得到第三BLOCK数据和第四BLOCK数据,所述第一U数据与所述第三BLOCK数据相对应,所述第二U数据与所述第四BLOCK数据相对应;
对所述第一V数据和所述第二V数据并行进行BLOCK格式转换,得到第五BLOCK数据和第六BLOCK数据,所述第一V数据和所述第五BLOCK数据相对应,所述第二V数据与所述第六BLOCK数据相对应;所述第一BLOCK数据、所述第三BLOCK数据以及所述第五BLOCK数据均属于所述偶数帧,所述第二BLOCK数据、所述第四BLOCK数据以及所述第六BLOCK数据均属于所述奇数帧。
5.根据权利要求4所述的BMC视频压缩方法,其特征在于,对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换,得到第一BLOCK数据和第二BLOCK数据的步骤包括:
基于预设的BLOCK尺寸标准,将所述第一Y数据的前目标数量个Y数据写入目标Y存储单元的第一目标地址;
对所述第一目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第二目标地址;
对所述第二目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第1行,同时,将所述第二Y数据的前目标数量个Y数据写入所述目标Y存储单元的所述第一目标地址;
对所述第一目标地址中的Y数据进行读取,得到所述第二BLOCK数据的第0行,同时,将所述第一Y数据剩余的Y数据中前目标数量个Y数据写入所述目标Y存储单元的第三目标地址,所述第一目标地址、第二目标地址以及所述第三目标地址按从前到后的顺序依次排列;
对所述第三目标地址中的Y数据进行读取,得到所述第一BLOCK数据的第2行,同时,将所述第二Y数据剩余的Y数据中前目标数量个Y数据写入所述第二目标地址;
在遍历所述目标Y存储单元的全部地址的情况下,得到完整的所述第一BLOCK数据和所述第二BLOCK数据。
6.根据权利要求4所述的BMC视频压缩方法,其特征在于,对所述第一U数据和所述第二U数据并行进行BLOCK格式转换,得到第三BLOCK数据和第四BLOCK数据的步骤包括:
基于预设的BLOCK尺寸标准,将所述第一U数据的前目标数量个U数据写入目标U存储单元的第四目标地址;
对所述第四目标地址中的U数据进行读取,得到所述第三BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第五目标地址;
对所述第五目标地址中的U数据进行读取,得到所述第三BLOCK数据的第1行,同时,将所述第二U数据的前目标数量个U数据写入所述目标U存储单元的所述第四目标地址;
对所述第四目标地址中的U数据进行读取,得到所述第四BLOCK数据的第0行,同时,将所述第一U数据剩余的U数据中前目标数量个U数据写入所述目标U存储单元的第六目标地址,所述第四目标地址、第五目标地址以及所述第六目标地址按从前到后的顺序依次排列;
对所述第六目标地址中的U数据进行读取,得到所述第三BLOCK数据的第2行,同时,将所述第二U数据剩余的U数据中前目标数量个U数据写入所述第五目标地址;
在遍历所述目标U存储单元的全部地址的情况下,得到完整的所述第三BLOCK数据和所述第四BLOCK数据。
7.根据权利要求4所述的BMC视频压缩方法,其特征在于,对所述第一V数据和所述第二V数据并行进行BLOCK格式转换,得到第五BLOCK数据和第六BLOCK数据的步骤包括:
基于预设的BLOCK尺寸标准,将所述第一V数据的前目标数量个V数据写入目标V存储单元的第七目标地址;
对所述第七目标地址中的V数据进行读取,得到所述第五BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第八目标地址;
对所述第八目标地址中的V数据进行读取,得到所述第五BLOCK数据的第1行,同时,将所述第二V数据的前目标数量个V数据写入所述目标V存储单元的所述第七目标地址;
对所述第七目标地址中的V数据进行读取,得到所述第六BLOCK数据的第0行,同时,将所述第一V数据剩余的V数据中前目标数量个V数据写入所述目标V存储单元的第九目标地址,所述第七目标地址、第八目标地址以及所述第九目标地址按从前到后的顺序依次排列;
对所述第九目标地址中的V数据进行读取,得到所述第五BLOCK数据的第2行,同时,将所述第二V数据剩余的V数据中前目标数量个V数据写入所述第八目标地址;
在遍历所述目标V存储单元的全部地址的情况下,得到完整的所述第五BLOCK数据和所述第六BLOCK数据。
8.根据权利要求4所述的BMC视频压缩方法,其特征在于,
对所述第一Y数据和所述第二Y数据并行进行BLOCK格式转换的步骤,对所述第一U数据和所述第二U数据并行进行BLOCK格式转换的步骤,以及对所述第一V数据和所述第二V数据并行进行BLOCK格式转换的步骤同步进行。
9.根据权利要求1所述的BMC视频压缩方法,其特征在于,将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果的步骤包括:
将所述第一子BLOCK的像素值分别与关联的全部所述目标子BLOCK的对应像素值进行比较,得到目标差值,所述目标差值为所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的差值;
对所述第一子BLOCK的像素值与任一所述目标子BLOCK的像素值之间的全部所述目标差值,进行绝对值处理,并对绝对值处理后的全部所述目标差值进行平均处理,得到目标均值;
将全部所述目标均值确定为所述比较结果。
10.根据权利要求9所述的BMC视频压缩方法,其特征在于,基于所述比较结果,得到所述第二压缩数据的步骤包括:
将全部所述目标均值中的最小值确定为最终目标均值;
将所述最终目标均值对应的所述目标子BLOCK确定为最终目标子BLOCK,所述第一子BLOCK与所述最终目标子BLOCK一一对应;
将所述第二目标尺寸、所述最终目标子BLOCK的横坐标、所述最终目标子BLOCK的纵坐标以及所述最终目标均值,确定为第二压缩子集,所述第二压缩子集与所述第一子BLOCK一一对应;
将所述当前BLOCK的全部所述第二压缩子集确定为所述第二压缩数据。
11.根据权利要求10所述的BMC视频压缩方法,其特征在于,还包括:
若预设时间段内,全部所述目标平均值之和小于预设的统计阈值,或全部所述最终目标均值均小于所述统计阈值,则按照预设的第一调整比例值,对所述平均值阈值进行增大;
若预设时间段内,全部所述目标平均值之和大于所述统计阈值,或全部所述最终目标均值均大于所述统计阈值,则按照预设的第二调整比例值,对所述平均值阈值进行缩小,以完成对所述平均值阈值的动态调整。
12.根据权利要求10所述的BMC视频压缩方法,其特征在于,还包括:
通过交替读取所述第一显存空间和所述第二显存空间中的数据,完成压缩视频数据传输。
13.一种BMC视频压缩装置,其特征在于,包括:
压缩模块,用于基于预设的压缩标准,对视频数据的偶数帧进行压缩,得到第一压缩数据;并且,通过对视频数据的奇数帧进行比较压缩,得到第二压缩数据,所述奇数帧和所述偶数帧为相邻帧;所述比较压缩包括:基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述当前BLOCK相关联的目标BLOCK,所述目标BLOCK指所述偶数帧中与所述当前BLOCK重合或相邻的BLOCK;通过将所述当前BLOCK分别与每个所述目标BLOCK进行比较,得到所述第二压缩数据;
数据写入模块,用于将所述第一压缩数据写入预设存储器的第一显存空间;将所述第二压缩数据写入所述存储器的第二显存空间;
所述压缩模块具体用于:
基于所述奇数帧中当前BLOCK所在的位置,确定所述偶数帧中与所述BLOCK重合的第一目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左侧相邻的BLOCK确定为第二目标BLOCK;
将所述偶数帧中所述第一目标BLOCK上方相邻的BLOCK确定为第三目标BLOCK;
将所述偶数帧中所述第一目标BLOCK左上角相邻的BLOCK确定为第四目标BLOCK;
将所述偶数帧中所述第一目标BLOCK右上角相邻的BLOCK确定为第五目标BLOCK;
所述压缩模块还具体用于将所述当前BLOCK分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK进行比较,以得到所述第二压缩数据;
所述压缩模块还具体用于将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较,得到所述当前BLOCK的每个像素值与所述第一目标BLOCK的对应像素值之间的第一差值、所述当前BLOCK的每个像素值与所述第二目标BLOCK的对应像素值之间的第二差值、所述当前BLOCK的每个像素值与所述第三目标BLOCK的对应像素值之间的第三差值、所述当前BLOCK的每个像素值与所述第四目标BLOCK的对应像素值之间的第四差值、所述当前BLOCK的每个像素值与所述第五目标BLOCK的对应像素值之间的第五差值;
对全部第一差值进行绝对值处理,并对绝对值处理后的全部所述第一差值进行平均处理,得到第一平均值;
对全部第二差值进行绝对值处理,并对绝对值处理后的全部所述第二差值进行平均处理,得到第二平均值;
对全部第三差值进行绝对值处理,并对绝对值处理后的全部所述第三差值进行平均处理,得到第三平均值;
对全部第四差值进行绝对值处理,并对绝对值处理后的全部所述第四差值进行平均处理,得到第四平均值;
对全部第五差值进行绝对值处理,并对绝对值处理后的全部所述第五差值进行平均处理,得到第五平均值;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的至少一个小于预设的平均值阈值的情况下,将所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值中的最小值,确定为目标平均值;将所述目标平均值对应的目标BLOCK确定为最终目标BLOCK;将第一目标尺寸、所述最终目标BLOCK的横坐标、所述最终目标BLOCK的纵坐标以及所述目标平均值确定为所述第二压缩数据,所述第一目标尺寸为所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK或所述第五目标BLOCK的尺寸;
所述压缩模块还具体用于在将所述当前BLOCK的每个像素值分别与所述第一目标BLOCK、所述第二目标BLOCK、所述第三目标BLOCK、所述第四目标BLOCK以及所述第五目标BLOCK中的对应像素值进行比较的同时,基于预设的第二目标尺寸,将所述当前BLOCK均分为固定数量个第一子BLOCK,并基于所述第二目标尺寸,将全部所述目标BLOCK均分为固定数量个第二子BLOCK;
基于当前所述第一子BLOCK所在的位置,从全部所述第二子BLOCK中确定与当前所述第一子BLOCK相关联的目标子BLOCK,所述目标子BLOCK指全部所述第二子BLOCK中与当前所述第一子BLOCK重合或相邻的子BLOCK;
将所述第一子BLOCK分别与关联的全部所述目标子BLOCK进行比较,得到比较结果;
在所述第一平均值、所述第二平均值、所述第三平均值、所述第四平均值以及所述第五平均值均大于或等于所述平均值阈值的情况下,基于所述比较结果,得到所述第二压缩数据。
14.一种BMC视频压缩系统,其特征在于,包括:
存储器、VGA模块、捕获模块、色彩空间转换模块以及如权利要求13所述的BMC视频压缩装置;
所述存储器包括原始数据显存空间、第一显存空间和第二显存空间;所述原始数据显存空间用于接收并存储主机传输的原始图像数据;
所述VGA模块用于从所述原始数据显存空间中读取第一原始图像数据,对所述第一原始图像数据进行RGB格式转换,得到第一RGB图像数据,并将所述第一RGB图像数据传输至所述色彩空间转换模块;
所述捕获模块用于从所述原始数据显存空间中读取第二原始图像数据,对所述第二原始图像数据进行RGB格式转换,得到第二RGB图像数据,并将所述第二RGB图像数据传输至所述色彩空间转换模块;所述第一原始图像数据和所述第二原始图像数据为相邻帧;
所述色彩空间转换模块用于对所述第一RGB图像数据和所述第二RGB图像数据同步进行色彩空间转换,得到第一YUV数据和第二YUV数据,所述第一YUV数据与所述第一RGB图像数据相对应,所述第二YUV数据与所述第二RGB图像数据相对应;将所述第一YUV数据和所述第二YUV数据输入所述视频压缩装置,进行视频压缩。
15.一种基板管理控制器,其特征在于,包括:如权利要求13所述的BMC视频压缩装置,或者如权利要求14所述的BMC视频压缩系统。
16.一种服务器,其特征在于,包括:如权利要求15所述的基板管理控制器。
17.一种视频压缩数据读取方法,其特征在于,包括:
接收如权利要求13所述的BMC视频压缩装置传输的压缩视频数据,所述压缩视频数据包括交替读取的所述第一压缩数据和所述第二压缩数据;
基于所述第一压缩数据和所述第二压缩数据,进行数据恢复,得到完整视频数据。
18.一种监控设备,其特征在于,包括:
数据接收模块,用于接收如权利要求13所述的BMC视频压缩装置传输的压缩视频数据,所述压缩视频数据包括交替读取的所述第一压缩数据和所述第二压缩数据;
数据解析模块,用于基于所述第一压缩数据和所述第二压缩数据,进行数据恢复,得到完整视频数据。
19.根据权利要求18所述的监控设备,其特征在于,还包括:
显示模块,用于对所述完整视频数据进行显示。
20.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至12任一项所述BMC视频压缩方法。
21.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述BMC视频压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410750492.XA CN118338002B (zh) | 2024-06-12 | 2024-06-12 | Bmc视频压缩方法、装置、系统及基板管理控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410750492.XA CN118338002B (zh) | 2024-06-12 | 2024-06-12 | Bmc视频压缩方法、装置、系统及基板管理控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118338002A CN118338002A (zh) | 2024-07-12 |
CN118338002B true CN118338002B (zh) | 2024-09-24 |
Family
ID=91767932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410750492.XA Active CN118338002B (zh) | 2024-06-12 | 2024-06-12 | Bmc视频压缩方法、装置、系统及基板管理控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118338002B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681798A (zh) * | 2014-11-21 | 2016-06-15 | Tcl集团股份有限公司 | 一种视频压缩方法、解压缩方法及压缩装置、解压缩装置 |
CN113079379A (zh) * | 2021-03-26 | 2021-07-06 | 山东英信计算机技术有限公司 | 一种视频压缩方法、装置、设备及计算机可读存储介质 |
CN113867677A (zh) * | 2021-09-28 | 2021-12-31 | 北京大上科技有限公司 | 显示系统和电子墨水显示屏的刷新方法 |
CN114125463A (zh) * | 2021-11-14 | 2022-03-01 | 山东云海国创云计算装备产业创新中心有限公司 | 一种视频压缩的方法、系统、存储介质及设备 |
CN115209145A (zh) * | 2022-09-15 | 2022-10-18 | 苏州浪潮智能科技有限公司 | 一种视频压缩方法、系统、装置及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873255B (zh) * | 2021-12-06 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种视频数据传输方法、视频数据解码方法及相关装置 |
CN115086668B (zh) * | 2022-07-21 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种视频压缩方法、系统、设备及计算机可读存储介质 |
CN115237703B (zh) * | 2022-09-21 | 2023-02-28 | 苏州浪潮智能科技有限公司 | 一种基板管理控制芯片调试方法、装置、设备及可读介质 |
CN115460414B (zh) * | 2022-11-11 | 2023-03-07 | 苏州浪潮智能科技有限公司 | 一种基板管理控制芯片的视频压缩方法、系统及相关组件 |
-
2024
- 2024-06-12 CN CN202410750492.XA patent/CN118338002B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681798A (zh) * | 2014-11-21 | 2016-06-15 | Tcl集团股份有限公司 | 一种视频压缩方法、解压缩方法及压缩装置、解压缩装置 |
CN113079379A (zh) * | 2021-03-26 | 2021-07-06 | 山东英信计算机技术有限公司 | 一种视频压缩方法、装置、设备及计算机可读存储介质 |
CN113867677A (zh) * | 2021-09-28 | 2021-12-31 | 北京大上科技有限公司 | 显示系统和电子墨水显示屏的刷新方法 |
CN114125463A (zh) * | 2021-11-14 | 2022-03-01 | 山东云海国创云计算装备产业创新中心有限公司 | 一种视频压缩的方法、系统、存储介质及设备 |
CN115209145A (zh) * | 2022-09-15 | 2022-10-18 | 苏州浪潮智能科技有限公司 | 一种视频压缩方法、系统、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118338002A (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11800248B2 (en) | Apparatus for encoding image, apparatus for decoding image and image sensor | |
CN110728725B (zh) | 一种硬件友好的面向实时系统无损纹理压缩方法 | |
CN115086668A (zh) | 一种视频压缩方法、系统、设备及计算机可读存储介质 | |
US12095981B2 (en) | Visual lossless image/video fixed-rate compression | |
US10304213B2 (en) | Near lossless compression scheme and system for processing high dynamic range (HDR) images | |
TWI487366B (zh) | 用於無線hd1.1規範中的圖形模式壓縮的位元流語法 | |
US20240422337A1 (en) | Video compression system and server | |
CN116193130B (zh) | 一种提高图像数据在网络中传输效率的方法及系统 | |
US20250071302A1 (en) | Video data processing method, system, and apparatus, and computer readable storage medium | |
CN114554126B (zh) | 一种基板管理控制芯片、视频数据传输方法及服务器 | |
US20200128264A1 (en) | Image processing | |
CN119211502A (zh) | 一种视频数据的处理方法、装置、设备、介质以及产品 | |
CN118338002B (zh) | Bmc视频压缩方法、装置、系统及基板管理控制器 | |
KR101303503B1 (ko) | 컬러 이미지들을 위한 조인트 스칼라 임베디드 그래픽 코딩 | |
US20190289300A1 (en) | Image compression system and image compression method using image compression system | |
US8855432B2 (en) | Color component predictive method for image coding | |
CN116634089B (zh) | 视频传输方法、装置、设备及存储介质 | |
WO2021237513A1 (zh) | 数据压缩存储的系统、方法、处理器及计算机存储介质 | |
CN117061789A (zh) | 一种视频传输框架、方法、设备和存储介质 | |
CN109274955B (zh) | 光场视频及深度图的压缩与同步方法、系统、及电子设备 | |
CN117319676B (zh) | 一种视频压缩装置、芯片、系统及方法 | |
CN117319716B (zh) | 基板管理控制芯片的资源调度方法及基板管理控制芯片 | |
CN117097863A (zh) | 会议质量提升方法、系统、电子设备和存储介质 | |
CN119450045A (zh) | 图像处理方法和系统 | |
CN118175340A (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 |