CN115580727B - 一种视频压缩的丢帧处理方法、装置、服务器及存储介质 - Google Patents

一种视频压缩的丢帧处理方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN115580727B
CN115580727B CN202211436493.4A CN202211436493A CN115580727B CN 115580727 B CN115580727 B CN 115580727B CN 202211436493 A CN202211436493 A CN 202211436493A CN 115580727 B CN115580727 B CN 115580727B
Authority
CN
China
Prior art keywords
space
video data
data frame
cache
buffer
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
Application number
CN202211436493.4A
Other languages
English (en)
Other versions
CN115580727A (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 CN202211436493.4A priority Critical patent/CN115580727B/zh
Publication of CN115580727A publication Critical patent/CN115580727A/zh
Application granted granted Critical
Publication of CN115580727B publication Critical patent/CN115580727B/zh
Priority to PCT/CN2023/110326 priority patent/WO2024103841A1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提出了一种视频压缩的丢帧处理方法、装置、服务器及存储介质,其中,方法包括:在BMC中预设缓存写入逻辑;响应于BMC控制将视频数据帧写入第一缓存空间,而触发缓存写入逻辑,并判断第一缓存空间的剩余空间是否足够写入视频数据帧;响应于第一缓存空间的剩余空间不足,获取视频压缩模块对第一缓存空间的读取进度;基于读取进度控制将新的视频数据帧覆盖写入第一缓存空间的前半部分空间或覆盖写入第一缓存空间的后半部分空间。本发明创新性的提出对基板管理控制芯片中的VGA写过程进行优化,保证了输入给后级压缩模块的是最新的完整的数据帧,避免了传统方案中可能出现的视频/连续图像的下半部分是黑/白的情况。

Description

一种视频压缩的丢帧处理方法、装置、服务器及存储介质
技术领域
本发明涉及视频压缩技术领域,尤其涉及一种视频压缩的丢帧处理方法、装置、服务器及存储介质。
背景技术
主机端的操作系统的原始视频图像信息,在通过网络传给远端之前,需要先由基板管理控制系统进行视频压缩,以降低视频数据量,进而降低对网络带宽的占用。其中,基板管理控制系统是指主要以BMC (BaseboardManagement Controller. 为基板管理控制器)为核心的控制系统。
传统的用于视频压缩的基板管理控制系统如图1所示,视频压缩过程的基本过程包括在BMC的控制下,首先由VGA将主机HOST的原始视频数据帧写入到DDR的指定空间,而后由视频压缩模块从上述指定空间中读取缓存的原始视频数据帧并进行压缩,而后存入DDR的另一处指定空间,最后再由网络传输模块读取上述另一处指定空间中的视频压缩数据帧并发送给远端。在上述过程中,当视频压缩数据不能及时的写入到DDR的另一处指定空间时(比如DDR总线接口被CPU上运行的上层应用程序长时间占用),则视频压缩模块将暂停从DDR中读取原始视频数据帧并停止压缩处理,从而会导致对原始视频数据帧读取和写入的速度不能匹配,即出现读慢写块的现象。而VGA端不管之前缓存的视频数据帧是否被基板管理控制芯片中的视频压缩模块读走,当需要写新的视频数据帧且DDR中的指定空间不足的时会跳回到该指定地址空间的首地址进行写操作,并采取覆盖模式。为了解决因出现无法读取一帧完整的视频数据帧而导致后续解析出错问题,传统技术会在视频压缩模块(VIDEOCOMPRESS)之前设置打标读取模块(AXI_RD)及打标补全模块(FLAG_DETECT),当出现未能读取到完整的一帧数据时,首先会由打标读取模块进行打标,而后送入打标补全模块进行补位(补入0或F),上述过程将持续到数据流恢复正常。当出现连续多帧补0的情况时,会导致远端接收到的图像出现黑色条纹,而当出现连续多帧补F的情况时,会导致远端接收到的图像出现白色条纹,从而影响显示效果。
发明内容
为了避免补位0或F而出现的黑白条纹,在本发明的一个方面提出了一种视频压缩的丢帧处理方法,所述方法包括:在BMC中预设缓存写入逻辑;响应于所述BMC控制将视频数据帧写入第一缓存空间,而触发所述缓存写入逻辑,并判断所述第一缓存空间的剩余空间是否足够写入所述视频数据帧;响应于所述第一缓存空间的剩余空间不足,获取视频压缩模块对所述第一缓存空间的读取进度;基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间或覆盖写入所述第一缓存空间的后半部分空间。
在一个或多个实施例中,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:响应于所述读取进度过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间,并覆盖一帧完整的视频数据帧。
在一个或多个实施例中,所述方法还包括:当所述新的视频数据帧需要在所述第一缓存空间的前半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述前半部分空间中最先写入的一帧完整的视频数据帧。
在一个或多个实施例中,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:响应于所述读取进度未过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的后半部分空间,并覆盖一帧完整的视频数据帧。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:当所述新的视频数据帧需要在所述第一缓存空间的后半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述后半部分空间中最后写入的一帧完整的视频数据帧。
在一个或多个实施例中,所述第一缓存空间为在本地的缓存模块中开辟出的专用空间,所述本地的缓存模块与所述BMC连接,所述第一缓存空间采用乒乓缓存的方式存储连续写入的数据。
在一个或多个实施例中,所述第一缓存空间的大小至少为以所述BMC所支持的最大分辨率传输视频数据时所对应的两帧视频数据帧所需的空间大小。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:由所述第一缓存空间读取视频数据帧并直接送入所述视频压缩模块而不必经过丢帧打标模块。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:由所述视频压缩模块对所述视频数据帧进行压缩并存入所述缓存模块的第二缓存空间。
在一个或多个实施例中,所述第一缓存空间和所述第二缓存空间基于视频压缩请求而开辟;并在视频压缩任务完成后解除所述第一缓存空间和所述第二缓存空间的专用性。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:在所述BMC的控制下由网络传输模块从所述第二缓存空间中读取压缩后的视频数据帧,并发送给目的端。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:所述目的端接收所述压缩后的视频数据帧,对所述视频数据进行解压并还原为视频数据帧。
在本发明的第二方面,提出了一种视频压缩处理装置,包括:VGA接口,配置用于获取视频数据帧,并在BMC控制下将视频数据帧写入第一缓存空间;缓存模块,配置所述缓存模块划分出第一缓存空间用于缓存视频数据帧;BMC模块,预设有缓存写入逻辑,配置用于响应于所述BMC控制将视频数据帧写入第一缓存空间,而触发所述缓存写入逻辑,并判断所述第一缓存空间的剩余空间是否足够写入所述视频数据帧;响应于所述第一缓存空间的剩余空间不足,获取视频压缩模块对所述第一缓存空间的读取进度;基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间或覆盖写入所述第一缓存空间的后半部分空间;缓存读取模块,配置用于由所述第一缓存空间读取视频数据帧后直接送入视频压缩模块;视频压缩模块,配置用于对获得的视频数据帧进行压缩,并存入所述缓存模块的第二缓存空间;网络传输模块,配置用于由所述第二缓存空间中读取压缩后的视频数据帧,并发送给目的端。
在本发明的第三方面,提出了一种服务器,包括:一个或多个控制器;以及存储器,所述存储器中存储有可执行的计算机程序,所述计算机程序被所述一个或多个控制器执行时用于实现如下所述的一种视频压缩的丢帧处理方法的步骤,包括;在BMC中预设缓存写入逻辑;响应于所述BMC控制将视频数据帧写入第一缓存空间,而触发所述缓存写入逻辑,并判断所述第一缓存空间的剩余空间是否足够写入所述视频数据帧;响应于所述第一缓存空间的剩余空间不足,获取视频压缩模块对所述第一缓存空间的读取进度;基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间或覆盖写入所述第一缓存空间的后半部分空间。
在一个或多个实施例中,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:响应于所述读取进度过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间,并覆盖一帧完整的视频数据帧。
在一个或多个实施例中,所述方法还包括:当所述新的视频数据帧需要在所述第一缓存空间的前半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述前半部分空间中最先写入的一帧完整的视频数据帧。
在一个或多个实施例中,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:响应于所述读取进度未过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的后半部分空间,并覆盖一帧完整的视频数据帧。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:当所述新的视频数据帧需要在所述第一缓存空间的后半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述后半部分空间中最后写入的一帧完整的视频数据帧。
在一个或多个实施例中,所述第一缓存空间为在本地的缓存模块中开辟出的专用空间,所述本地的缓存模块与所述BMC连接,所述第一缓存空间采用乒乓缓存的方式存储连续写入的数据。
在一个或多个实施例中,所述第一缓存空间的大小至少为以所述BMC所支持的最大分辨率传输视频数据时所对应的两帧视频数据帧所需的空间大小。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:由所述第一缓存空间读取视频数据帧并直接送入所述视频压缩模块而不必经过丢帧打标模块。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:由所述视频压缩模块对所述视频数据帧进行压缩并存入所述缓存模块的第二缓存空间。
在一个或多个实施例中,所述第一缓存空间和所述第二缓存空间基于视频压缩请求而开辟;并在视频压缩任务完成后解除所述第一缓存空间和所述第二缓存空间的专用性。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:在所述BMC的控制下由网络传输模块从所述第二缓存空间中读取压缩后的视频数据帧,并发送给目的端。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:所述目的端接收所述压缩后的视频数据帧,对所述视频数据进行解压并还原为视频数据帧。
在本发明的第四方面,提出了一种可读存储介质,所述可读存储介质中存储有可执行的计算机程序,所述计算机程序被执行时用于实现如下所述的一种视频压缩的丢帧处理方法的步骤,包括:在BMC中预设缓存写入逻辑;响应于所述BMC控制将视频数据帧写入第一缓存空间,而触发所述缓存写入逻辑,并判断所述第一缓存空间的剩余空间是否足够写入所述视频数据帧;响应于所述第一缓存空间的剩余空间不足,获取视频压缩模块对所述第一缓存空间的读取进度;基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间或覆盖写入所述第一缓存空间的后半部分空间。
在一个或多个实施例中,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:响应于所述读取进度过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间,并覆盖一帧完整的视频数据帧。
在一个或多个实施例中,所述方法还包括:当所述新的视频数据帧需要在所述第一缓存空间的前半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述前半部分空间中最先写入的一帧完整的视频数据帧。
在一个或多个实施例中,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:响应于所述读取进度未过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的后半部分空间,并覆盖一帧完整的视频数据帧。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:当所述新的视频数据帧需要在所述第一缓存空间的后半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述后半部分空间中最后写入的一帧完整的视频数据帧。
在一个或多个实施例中,所述第一缓存空间为在本地的缓存模块中开辟出的专用空间,所述本地的缓存模块与所述BMC连接,所述第一缓存空间采用乒乓缓存的方式存储连续写入的数据。
在一个或多个实施例中,所述第一缓存空间的大小至少为以所述BMC所支持的最大分辨率传输视频数据时所对应的两帧视频数据帧所需的空间大小。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:由所述第一缓存空间读取视频数据帧并直接送入所述视频压缩模块而不必经过丢帧打标模块。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:由所述视频压缩模块对所述视频数据帧进行压缩并存入所述缓存模块的第二缓存空间。
在一个或多个实施例中,所述第一缓存空间和所述第二缓存空间基于视频压缩请求而开辟;并在视频压缩任务完成后解除所述第一缓存空间和所述第二缓存空间的专用性。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:在所述BMC的控制下由网络传输模块从所述第二缓存空间中读取压缩后的视频数据帧,并发送给目的端。
在一个或多个实施例中,所述一种视频压缩的丢帧处理方法还包括:所述目的端接收所述压缩后的视频数据帧,对所述视频数据进行解压并还原为视频数据帧。
采用上述技术方案,本发明至少具有如下有益效果:本提案创新性的提出对基板管理控制芯片中的VGA写过程进行优化,在不额外占用基板管理控制芯片DDR总线带宽的情况下,保证了输入给后级压缩模块的是最新的完整的数据帧,无论后级压缩处理的速度如何,都可以保证其获得的是一个完整的视频信息,而不会如传统方案中可能出现的视频/连续图像的下半部分是黑/白的情况,从而保证了视频压缩的效果和稳定性。
本发明提供了实施例的各方面,不应当用于限制本发明的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。
下面参考附图更详细地解释和描述了本发明的实施例,但它们不应理解为对于本发明的限制。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构顺序可以被不同地布置。
图1为传统的用于视频压缩的基板管理控制系统的结构示意图;
图2为本发明的一种视频压缩的丢帧处理方法的工作流程图;
图3为本发明的一种视频压缩处理装置的结构示意图;
图4为本发明的一种服务器的结构示意图;
图5为本发明的可读存储介质的结构示意图。
具体实施方式
虽然本发明可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本发明的示例并不意图将本发明限制于所说明的具体实施例。
为了避免传统方案中补位0或F后出现的黑白条纹。在本发明的一个方面,提出了一种视频压缩的丢帧处理方法,通过本发明方法能够实现即使后级视频压缩处理不及时,也能够保证输入到视频压缩模块中的是一帧完整的视频数据帧,从而不需要对其补位0或F,进而就不会如传统方案中出现黑白条纹。此外,由于避免了对传统方案中的FLAG_DETECT子模块(补位出现问题会导致后续压缩数据时出现问题)的使用,使得基板管理控制芯片的视频压缩处理的稳定性更高,且有助于提升压缩处理速度。
图2为本发明的一种视频压缩的丢帧处理方法的工作流程图。如图2所示,本发明的视频压缩的丢帧处理方法的工作流程包括:步骤S1、在BMC中预设缓存写入逻辑;步骤S2、响应于BMC控制将视频数据帧写入第一缓存空间,而触发缓存写入逻辑,并判断第一缓存空间的剩余空间是否足够写入所述视频数据帧;步骤S3、响应于第一缓存空间的剩余空间不足,获取视频压缩模块对第一缓存空间的读取进度;步骤S4、基于读取进度控制将新的视频数据帧覆盖写入第一缓存空间的前半部分空间中或覆盖写入第一缓存空间的后半部分空间。
具体的,为了避免需要补位0或F,本发明需要避免对视频压缩模块未读取完整的视频数据帧进行覆盖,为此本发明提出了将用于缓存视频数据帧的第一存储空间划分为两个部分,而后根据视频压缩模块当前的读取进度,如读取进度过半或读取进度未过半而控制VGA向另一半缓存空间写入视频数据帧。
需要说明的是,本发明将第一缓存空间均为为两个部分,其中前半部分空间和后半部分空间是相对的,在本发明中按照视频压缩模块的读取缓存的顺序划分前后,例如当视频压缩模块是以缓存地址由小到大读取的,则缓存地址较小的一部分为前半部分空间,反之当视频压缩模块是以缓存地址由大到小读取的,则缓存地址较大的一部分为前半部分空间。
在一个实施例中,基于读取进度控制将新的视频数据帧覆盖写入第一缓存空间的前半部分空间中或覆盖写入第一缓存空间的后半部分空间,包括:响应于读取进度过半,而控制将新的视频数据帧覆盖写入第一缓存空间的前半部分空间,并覆盖一帧完整的视频数据帧。并且,当新的视频数据帧需要在第一缓存空间的前半部分空间覆盖一帧完整的视频数据帧时,控制新的视频数据帧覆盖前半部分空间中最先写入的一帧完整的视频数据帧。这样做的目的是尽可能多的保存连续的视频数据帧,以保证图像的连贯性。
在另一个实施例中,基于读取进度控制将新的视频数据帧覆盖写入第一缓存空间的前半部分空间中或覆盖写入第一缓存空间的后半部分空间,包括:响应于读取进度未过半,而控制将新的视频数据帧覆盖写入第一缓存空间的后半部分空间,并覆盖一帧完整的视频数据帧。并且,当新的视频数据帧需要在第一缓存空间的后半部分空间覆盖一帧完整的视频数据帧时,控制新的视频数据帧覆盖后半部分空间中最后写入的一帧完整的视频数据帧。这样做的目的是尽可能多的保存连续的视频数据帧,以保证图像的连贯性。
上述实施例中的第一缓存空间为在本地的缓存模块中开辟出的专用空间,仅用于存放需要压缩的视频数据帧,本地的缓存模块,如DDR,与BMC连接,并且第一缓存空间采用乒乓缓存的方式存储连续写入的数据。在视频压缩的过程中,处理需要在本地的缓存模块中开辟出第一缓存空间之外,还需要开辟出第二缓存空间,用于专门存放压缩后的视频数据帧。其中,第一缓存空间和第二缓存空间基于视频压缩请求而开辟;并在视频压缩任务完成后解除第一缓存空间和第二缓存空间的专用性,以释放缓存空间。此外,第一缓存空间的大小至少为以BMC所支持的最大分辨率传输视频数据时所对应的两帧视频数据帧所需的空间大小,即第一缓存空间的前半部分空间和后半部分空间需至少各占一帧。
在进一步的实施例中,由所述第一缓存空间读取视频数据帧并直接送入所述视频压缩模块而不必经过丢帧打标模块,而后由视频压缩模块对视频数据帧进行压缩并存入缓存模块的第二缓存空间,而后在BMC的控制下由网络传输模块从第二缓存空间中读取压缩后的视频数据帧,并发送给目的端;最后由目的端接收压缩后的视频数据帧,对视频数据进行解压并还原为视频数据帧以进行显示。通过本发明方法压缩的视频数据帧由于不会出现当视频数据帧读取不完整的情况,因而不需要进行打标处理以及补全处理,因而在的端的显示过程中也就不会出现黑/白条纹或者黑白画面(当丢帧较为严重时)。
图3为本发明的一种视频压缩处理装置的结构示意图。如图3所示,在本发明的第二方面,提出了一种视频压缩处理装置,包括:VGA接口100,配置用于获取视频数据帧,并在BMC控制下将视频数据帧写入第一缓存空间;缓存模块200,配置缓存模块划分出第一缓存空间用于缓存视频数据帧;BMC模块300,预设有缓存写入逻辑,配置用于响应于BMC控制将视频数据帧写入第一缓存空间,而触发缓存写入逻辑,并判断第一缓存空间的剩余空间是否足够写入视频数据帧;响应于第一缓存空间的剩余空间不足,获取视频压缩模块对第一缓存空间的读取进度;基于读取进度控制将新的视频数据帧覆盖写入第一缓存空间的前半部分空间或覆盖写入第一缓存空间的后半部分空间;缓存读取模块400,配置用于由第一缓存空间读取视频数据帧后直接送入视频压缩模块;视频压缩模块500,配置用于对获得的视频数据帧进行压缩,并存入缓存模块的第二缓存空间;网络传输模块600,配置用于由第二缓存空间中读取压缩后的视频数据帧,并发送给目的端。
具体应用实施例(请参见图3)
1:在DDR内存空间中新划分出两块地址空间A和B。其各自的空间大小最小要支持参考基板管理控制芯片最大支持的分辨率下的一帧图像,比如最大支持1920*1200,则每一个的地址空间为1920*1200*3=6.6MBytes,之所以乘以3是因为每一个像素点的由RGB三种色度组成,每一个色度的位宽是8bits。
2:优化传统方案下的VGA模块,传统方案下,VGA只负责产生RGB原始数据,写入到DDR,然后由AXI_RD该子模块是从DDR中获取原始视频数据,输入给后级模块进行视频压缩,之所以叫AXI_RD,因为一般场景下,基板管理控制芯片与DDR的总线是AXI总线。
在本发明中,对VGA子模块进行功能新增,新增AXI_WR,该子模块为由BMC处获得的缓存写入逻辑,主要功能是将VGA产生的RGB原始数据通过逻辑判断后写入A/B空间。
2.1 :AXI_WR首先获取原始视频数据,并将根据CPU下发的当前分辨率信息即可得知当前视频帧的总的数据量,分别将原始视频数据写入到DDR的A和B空间进行缓存。
2.2 采取如下判断逻辑操作的方式写入和读出A和B空间:
2.2.1:AXI_RD此时正从A空间读回原始数据送入后级模块进行视频压缩,如果此时AXI_WR正在写A空间,则在写满A空间后,继续写B空间。如果此时AXI_WR正在写B空间,则判断B的剩余空间是否可以容下当前帧的数据量,如果可以容下,则写入B,如果B剩余空间不足以容下当前帧,则根据当前帧的分辨率判断出上一帧数据是否完整的存在于B空间,如果完整的存在于B空间,则对上一帧进行覆盖;其中,可以通过分辨率计算出上一帧在B空间的起始地址的,依次类推,如果上一帧不是完整的存在于B空间,则舍弃当前帧,即放弃对新视频数据帧的写入;如果B空间存在2帧以上的完整帧数据,则将晚写入的完整帧进行覆盖,而保留其它帧。其中,AXI_WR中预设有根据当前帧的分辨率判断当前帧的视频数据量的计算逻辑,以及根据A/B空间的读写地址计算剩余空间的逻辑,帧头的判断也是通过计算帧的视频数据量来实现的。
2.2.2:同样的,如果AXI_RD此时正从B空间读回原始数据送入后级模块进行视频压缩,如果此时AXI_WR正在写B空间,则写满B空间后,继续写A空间。如果此时则AXI_WR正在写A空间,则判断A的剩余空间是否可以容下当前帧的数据量,如果可以容下,则写入A,如果A剩余空间不足以容下当前帧,则根据当前帧的分辨率判断出上一帧数据是否完整的存在于A空间,如果完整的存在于A空间,则对上一帧进行覆盖;其中,可以通过分辨率计算出上一帧在A空间的起始地址的,依次类推;如果上一帧不是完整的存在于A空间,则舍弃当前帧(即放弃对新视频数据帧的写入),等待下一帧的帧头;如果A空间存在2帧以上的完整帧数据,则将最晚的完整帧进行覆盖,而保留其它帧。其中,AXI_WR中有根据当前帧的分辨率判断当前帧的视频数据量的逻辑,以及根据A/B空间的读写地址计算剩余空间的逻辑,帧头的判断也是通过计算帧的视频数据量来实现的。
需说明的是,本发明中并没有增加基板管理控制芯片与DDR间总线带宽,而是增加了AXI_WR对读取进度进行判断的这一巧妙的判断逻辑,以用于确定新的视频数据帧覆盖写入的位置,从而实现了对传统方案丢帧机制的优化。
在上述实施例中,本发明创新性的提出对基板管理控制芯片中的VGA写过程进行优化,在不额外占用基板管理控制芯片DDR总线带宽的情况下,保证了输入给后级压缩模块的是最新的完整的数据帧,无论后级压缩处理的速度如何,都可以保证其获得的是一个完整的视频信息,而不会如传统方案中可能出现的视频/连续图像的下半部分是黑/白的情况,从而保证了视频压缩的效果和稳定性。
图4为本发明的服务器的结构示意图。在本发明的第三方面,提出了一种服务器,如图4所示,本发明的服务器700包括一个或多个控制器701;以及存储器702,存储器702中存储有可执行的计算机程序,计算机程序被一个或多个控制器701执行时用于实现如上述任意一实施例中的一种视频压缩的丢帧处理方法的步骤。
在本实施例中,本发明通过对服务器的BMC执行视频压缩过程中的丢帧的问题进行了有针对性的解决,并创新性的提出对基板管理控制芯片中的VGA写过程进行优化,在不额外占用基板管理控制芯片DDR总线带宽的情况下,保证了输入给后级压缩模块的是最新的完整的数据帧,无论后级压缩处理的速度如何,都可以保证其获得的是一个完整的视频信息,而不会如传统方案中可能出现的视频/连续图像的下半部分是黑/白的情况,从而保证了视频压缩的效果和稳定性。
图5为本发明的可读存储介质的结构示意图。在本发明的第四方面,提出了一种可读存储介质,如图5所示,可读存储介质800中存储有可执行的计算机程序801,该计算机程序801被执行时用于实现如下述各实施例中的一种视频压缩的丢帧处理方法的步骤。
在本实施例中,利用本发明的存储介质中的计算程序进行视频压缩时,能够对基板管理控制芯片中的VGA写过程进行优化,在不额外占用基板管理控制芯片DDR总线带宽的情况下,保证了输入给后级压缩模块的是最新的完整的数据帧,无论后级压缩处理的速度如何,都可以保证其获得的是一个完整的视频信息,而不会如传统方案中可能出现的视频/连续图像的下半部分是黑/白的情况,从而保证了视频压缩的效果和稳定性。
本文所述的计算机可读存储介质(例如存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM 可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
采用上述技术方案,本发明至少具有如下有益效果:解决了利用抓包软件可能无法捕捉IP信息、人工核对出错率高、每次IP更新后重新修改路由表耗时耗力等问题,充分利用DHCP租约数据库,将其中的数据信息整合提取,有效、及时、准确地确定所有板卡的最新路由信息,同时方法的步骤自动执行也减少了人工参与的成本、人为操作的不确定性和不稳定性,从而保证了云平台尤其是FGPA云平台中的所有FPGA板卡的正常网络进程。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外实施例。此外,本文所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤及顺序做出相应修改而不脱离本发明的保护范围。
在本申请中,反意连接词的使用旨在包括连接词。定或不定冠词的使用并不旨在指示基数。具体而言,对“该”对象或“一”和“一个”对象的引用旨在表示多个这样对象中可能的一个。然而,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。此外,可以使用连接词“或”来传达同时存在的特征,而不是互斥方案。换句话说,连接词“或”应理解为包括“和/或”。术语“包括”是包容性的并且具有与“包含”相同的范围。
上述实施例,特别是任何“优选”实施例是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本文描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改。所有修改旨在被包括在本公开的范围内。

Claims (15)

1.一种视频压缩的丢帧处理方法,其特征在于,所述方法包括在BMC中预设缓存写入逻辑,响应于所述BMC控制将视频数据帧写入第一缓存空间,而触发所述缓存写入逻辑,并执行以下步骤:
判断所述第一缓存空间的剩余空间是否足够写入所述视频数据帧;
响应于所述第一缓存空间的剩余空间不足,获取视频压缩模块对所述第一缓存空间的读取进度;
基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间或覆盖写入所述第一缓存空间的后半部分空间。
2.根据权利要求1所述的一种视频压缩的丢帧处理方法,其特征在于,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:
响应于所述读取进度过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间,并覆盖一帧完整的视频数据帧。
3.根据权利要求2所述的一种视频压缩的丢帧处理方法,其特征在于,所述方法还包括:
当所述新的视频数据帧需要在所述第一缓存空间的前半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述前半部分空间中最先写入的一帧完整的视频数据帧。
4.根据权利要求1所述的一种视频压缩的丢帧处理方法,其特征在于,所述基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间中或覆盖写入所述第一缓存空间的后半部分空间,包括:
响应于所述读取进度未过半,而控制将所述新的视频数据帧覆盖写入所述第一缓存空间的后半部分空间,并覆盖一帧完整的视频数据帧。
5.根据权利要求4所述的一种视频压缩的丢帧处理方法,其特征在于,所述方法还包括:
当所述新的视频数据帧需要在所述第一缓存空间的后半部分空间覆盖一帧完整的视频数据帧时,控制所述新的视频数据帧覆盖所述后半部分空间中最后写入的一帧完整的视频数据帧。
6.根据权利要求1-5任意一项所述的一种视频压缩的丢帧处理方法,其特征在于,所述第一缓存空间为在本地的缓存模块中开辟出的专用空间,所述本地的缓存模块与所述BMC连接,所述第一缓存空间采用乒乓缓存的方式存储连续写入的数据。
7.根据权利要求6所述的一种视频压缩的丢帧处理方法,其特征在于,所述第一缓存空间的大小至少为以所述BMC所支持的最大分辨率传输视频数据时所对应的两帧视频数据帧所需的空间大小。
8.根据权利要求6所述的一种视频压缩的丢帧处理方法,其特征在于,所述方法还包括:
由所述第一缓存空间读取视频数据帧并直接送入所述视频压缩模块而不必经过丢帧打标模块。
9.根据权利要求8所述的一种视频压缩的丢帧处理方法,其特征在于,所述方法还包括:
由所述视频压缩模块对所述视频数据帧进行压缩并存入所述缓存模块的第二缓存空间。
10.根据权利要求9所述的一种视频压缩的丢帧处理方法,其特征在于,所述第一缓存空间和所述第二缓存空间基于视频压缩请求而开辟;并
在视频压缩任务完成后解除所述第一缓存空间和所述第二缓存空间的专用性。
11.根据权利要求9所述的一种视频压缩的丢帧处理方法,其特征在于,所述方法还包括:
在所述BMC的控制下由网络传输模块从所述第二缓存空间中读取压缩后的视频数据帧,并发送给目的端。
12.根据权利要求11所述的一种视频压缩的丢帧处理方法,其特征在于,所述方法还包括:
所述目的端接收所述压缩后的视频数据帧,对所述视频数据进行解压并还原为视频数据帧。
13.一种视频压缩处理装置,其特征在于,包括:
VGA接口,配置用于获取视频数据帧,并在BMC控制下将视频数据帧写入第一缓存空间;
缓存模块,配置所述缓存模块划分出第一缓存空间用于缓存视频数据帧;
BMC模块,预设有缓存写入逻辑,配置用于响应于所述BMC控制将视频数据帧写入第一缓存空间,而触发所述缓存写入逻辑,并执行以下步骤:判断所述第一缓存空间的剩余空间是否足够写入所述视频数据帧;响应于所述第一缓存空间的剩余空间不足,获取视频压缩模块对所述第一缓存空间的读取进度;基于所述读取进度控制将新的视频数据帧覆盖写入所述第一缓存空间的前半部分空间或覆盖写入所述第一缓存空间的后半部分空间;
缓存读取模块,配置用于由所述第一缓存空间读取视频数据帧后直接送入视频压缩模块;
视频压缩模块,配置用于对获得的视频数据帧进行压缩,并存入所述缓存模块的第二缓存空间;
网络传输模块,配置用于由所述第二缓存空间中读取压缩后的视频数据帧,并发送给目的端。
14.一种服务器,其特征在于,包括:
一个或多个控制器;以及
存储器,所述存储器中存储有可执行的计算机程序,所述计算机程序被所述一个或多个控制器执行时用于实现如上述权利要求1-12任意一项所述的一种视频压缩的丢帧处理方法的步骤。
15.一种可读存储介质,其特征在于,所述可读存储介质中存储有可执行的计算机程序,所述计算机程序被执行器执行时用于实现如上述权利要求1-12任意一项所述的一种视频压缩的丢帧处理方法的步骤。
CN202211436493.4A 2022-11-16 2022-11-16 一种视频压缩的丢帧处理方法、装置、服务器及存储介质 Active CN115580727B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211436493.4A CN115580727B (zh) 2022-11-16 2022-11-16 一种视频压缩的丢帧处理方法、装置、服务器及存储介质
PCT/CN2023/110326 WO2024103841A1 (zh) 2022-11-16 2023-07-31 一种视频压缩的丢帧处理方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211436493.4A CN115580727B (zh) 2022-11-16 2022-11-16 一种视频压缩的丢帧处理方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN115580727A CN115580727A (zh) 2023-01-06
CN115580727B true CN115580727B (zh) 2023-03-14

Family

ID=84588585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211436493.4A Active CN115580727B (zh) 2022-11-16 2022-11-16 一种视频压缩的丢帧处理方法、装置、服务器及存储介质

Country Status (2)

Country Link
CN (1) CN115580727B (zh)
WO (1) WO2024103841A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115580727B (zh) * 2022-11-16 2023-03-14 苏州浪潮智能科技有限公司 一种视频压缩的丢帧处理方法、装置、服务器及存储介质
CN116743951B (zh) * 2023-08-09 2024-01-12 山东云海国创云计算装备产业创新中心有限公司 一种视频数据处理方法、系统、存储介质和电子设备
CN117119201B (zh) * 2023-10-17 2024-02-20 苏州元脑智能科技有限公司 压缩视频的传输方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111277836A (zh) * 2020-01-19 2020-06-12 苏州浪潮智能科技有限公司 一种视频提取丢帧控制方法、系统、终端及存储介质
CN111914116A (zh) * 2019-05-09 2020-11-10 浙江宇视科技有限公司 视频数据存储方法、装置、终端设备及可读存储介质
CN113068074A (zh) * 2021-03-24 2021-07-02 浙江大华技术股份有限公司 缓存方法和装置、计算机可读的存储介质及电子装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200182B1 (en) * 2019-05-14 2021-12-14 Xilinx, Inc. System and method for device synchronization
CN111683252B (zh) * 2020-06-11 2021-11-09 浪潮(北京)电子信息产业有限公司 一种服务器以及一种视频压缩图像的输出系统和方法
CN115580727B (zh) * 2022-11-16 2023-03-14 苏州浪潮智能科技有限公司 一种视频压缩的丢帧处理方法、装置、服务器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914116A (zh) * 2019-05-09 2020-11-10 浙江宇视科技有限公司 视频数据存储方法、装置、终端设备及可读存储介质
CN111277836A (zh) * 2020-01-19 2020-06-12 苏州浪潮智能科技有限公司 一种视频提取丢帧控制方法、系统、终端及存储介质
CN113068074A (zh) * 2021-03-24 2021-07-02 浙江大华技术股份有限公司 缓存方法和装置、计算机可读的存储介质及电子装置

Also Published As

Publication number Publication date
WO2024103841A1 (zh) 2024-05-23
CN115580727A (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN115580727B (zh) 一种视频压缩的丢帧处理方法、装置、服务器及存储介质
US7423642B2 (en) Efficient video frame capturing
CN111683252B (zh) 一种服务器以及一种视频压缩图像的输出系统和方法
US9083975B2 (en) Moving image coding device
CN112511839A (zh) 一种视频传输控制方法、装置、设备及可读存储介质
CN111182235B (zh) 拼接屏画面录制的方法、设备、计算机设备和存储介质
WO2021248936A1 (zh) 一种视频存储方法、装置、soc系统、介质
CN112804532A (zh) 一种图像数据获取方法、系统及相关装置
WO2024074012A1 (zh) 视频传输控制方法、装置、设备及非易失性可读存储介质
US10304212B2 (en) Graphic data compression device and graphic data compression method
CN114968102B (zh) 一种数据缓存方法、装置、系统、计算机设备及存储介质
CN111182306B (zh) 用于视频压缩的视频提取方法、系统、终端及存储介质
CN115209145A (zh) 一种视频压缩方法、系统、装置及可读存储介质
US20120147023A1 (en) Caching apparatus and method for video motion estimation and compensation
CN108563519B (zh) 基于gpgpu中的2d桌面块拷贝填充操作的实现
CN114125463A (zh) 一种视频压缩的方法、系统、存储介质及设备
CN114998087A (zh) 渲染方法及装置
CN114302087B (zh) 一种mipi数据传输模式转换方法、装置及电子设备
CN115243047A (zh) 一种视频压缩方法、装置、设备及介质
CN113658049A (zh) 一种图像转置的方法、设备和计算机可读存储介质
CN114554126B (zh) 一种基板管理控制芯片、视频数据传输方法及服务器
CN117319676B (zh) 一种视频压缩装置、芯片、系统及方法
CN113347468B (zh) 一种基于以太网帧的音视频传输方法、装置及存储介质
CN117762329A (zh) 视频数据的存储方法、装置、计算机设备及存储介质
CN114727051B (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