CN112511839A - 一种视频传输控制方法、装置、设备及可读存储介质 - Google Patents
一种视频传输控制方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112511839A CN112511839A CN202011352590.6A CN202011352590A CN112511839A CN 112511839 A CN112511839 A CN 112511839A CN 202011352590 A CN202011352590 A CN 202011352590A CN 112511839 A CN112511839 A CN 112511839A
- Authority
- CN
- China
- Prior art keywords
- vga
- data
- memory
- compressed
- frame rate
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000005540 biological transmission Effects 0.000 title claims abstract description 52
- 238000007906 compression Methods 0.000 claims abstract description 60
- 230000006835 compression Effects 0.000 claims abstract description 59
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005055 memory storage Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
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/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频传输控制方法、装置、设备及可读存储介质,该方法包括:按照输入帧率,从内存中读取VGA数据;VGA数据与BMC管理系统中显示信息对应;对VGA数据进行图像压缩处理,并按照输出帧率将压缩得到的VGA压缩数据写入内存;从内存中读取VGA压缩数据,并发送给目标终端,以便目标终端在远程桌面中输出显示信息。在该方法中,在将BMC管理系统中的本地视频发送给目标终端的远程显示桌面进行显示的过程中,通过对压缩处理过程的输入帧率和输出帧率进行有效控制,便可使得整个视频传输过程可控,能够保障远程视频显示的顺畅。
Description
技术领域
本发明涉及服务器技术领域,特别是涉及一种视频传输控制方法、装置、设备及可读存储介质。
背景技术
BMC管理系统是服务器监控和管理中不可缺少的重要组成部分。其中,BMC管理系统中的远程桌面显示功能为管理服务器带来了极大的便利。
在远程桌面显示功能中需要进行视频压缩处理。但是,由于显示信息对应的图像帧是实时产生的,而远程桌面显示过程中,需要进行网络传输,因而产生的原始图像帧,压缩图像帧以及传输压缩图像帧的帧率就需要进行有效匹配,否则容易远程视频显示异常。
综上所述,如何有效地解决远程视频显示控制等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种视频传输控制方法、装置、设备及可读存储介质,通过对视频压缩处理的输入帧率和输出帧率进行有效控制,从而保障远程视频显示通畅。
为解决上述技术问题,本发明提供如下技术方案:
一种视频传输控制方法,包括:
按照输入帧率,从内存中读取VGA数据;所述VGA数据与BMC管理系统中显示信息对应;
对所述VGA数据进行图像压缩处理,并按照输出帧率将压缩得到的VGA压缩数据写入所述内存;
从所述内存中读取所述VGA压缩数据,并发送给目标终端,以便所述目标终端在远程桌面中输出所述显示信息。
优选地,在所述按照输入帧率,从内存中读取VGA数据之前,还包括:
利用显卡接收所述显示信息,并生成对应的VGA信号;
将所述VGA信号中的图像数据存入所述内存中。
优选地,所述按照输入帧率,从内存中读取VGA数据,包括:
利用AXI总线并结合先入先出队列,从所述内存中读取所述VGA数据。
优选地,所述利用AXI总线并结合先入先出队列,从所述内存中读取所述VGA数据,包括:
从所述内存中读取VGA数据的起始位置和大小信息,判断出帧头帧尾;
生成与所述输入帧率对应的控制信号;
利用所述控制信号在开始读取所述VGA数据时,插入帧头标志,并在读入的所述VGA数据个数满一帧时,插入帧尾标志。
优选地,所述生成与所述输入帧率对应的控制信号,包括:
获取当前已读取帧数;
若所述已读取帧数未达到所述输入帧率对应的帧数,则生成所述控制信号。
优选地,所述按照输出帧率将压缩得到的VGA压缩数据写入所述内存,包括:
在无法将所述VGA压缩数据写入所述内存的情况下,丢弃当前待写入的压缩帧。
优选地,所述按照输出帧率将压缩得到的VGA压缩数据写入所述内存,包括:
获取当前压缩帧的大小,估算所述内存存放帧的上限值;
利用所述上限值,判断下一帧是否可存放;
如果判断结果为否,则停止向所述内存写当前待写入的压缩帧。
一种视频传输控制装置,包括:
输入控制模块,用于按照输入帧率,从内存中读取VGA数据;所述VGA数据与BMC管理系统中显示信息对应;
图像压缩模块,用于对所述VGA数据进行图像压缩处理,得到VGA压缩数据;
输出控制模块,用于按照输出帧率将所述VGA压缩数据写入所述内存;
视频传输模块,用于从所述内存中读取所述VGA压缩数据,并发送给目标终端,以便所述目标终端在远程桌面中输出所述显示信息。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述视频传输控制方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频传输控制方法的步骤。
应用本发明实施例所提供的方法,按照输入帧率,从内存中读取VGA数据;VGA数据与BMC管理系统中显示信息对应;对VGA数据进行图像压缩处理,并按照输出帧率将压缩得到的VGA压缩数据写入内存;从内存中读取VGA压缩数据,并发送给目标终端,以便目标终端在远程桌面中输出显示信息。
为了减少远程视频显示过程中的网络传输量,需要对本地视频进行压缩,而后进行传输。基于此,在本方法中,借助压缩环节,对视频传输进行有效控制。具体的,在读取VGA数据时,按照输入帧率从内存中进行读取。如此,便对压缩视频的工作量进行有效控制,能够有效保障视频压缩的顺利进行。对视频进行压缩采用图像压缩处理,即压缩前后的构成视频的帧数不变,仅压缩每一帧的大小。在将压缩得到的VGA压缩数据写入内存时,按照输出帧率进行写入,可保障写入内存的帧率维持在可控范围内,可对内存中存放的待发送的VGA压缩图像的量进行有效控制,进一步使得从内存中读取VGA压缩数据发往目标终端的帧率在可控范围内。也就是说,在将BMC管理系统中的本地视频发送给目标终端的远程显示桌面进行显示的过程中,通过在压缩处理过程的设置输入帧率和输出帧率,便可使得整个视频传输过程可控,能够保障远程视频显示的顺畅。
相应地,本发明实施例还提供了与上述视频传输控制方法相对应的视频传输控制装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种视频传输控制方法的实施流程图;
图2为本发明实施例中一种视频显示控制的示意图;
图3为本发明实施例中一种视频传输控制装置的结构示意图;
图4为本发明实施例中一种视频传输控制装置的具体架构示意图
图5为本发明实施例中一种电子设备的结构示意图;
图6为本发明实施例中一种电子设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于本领域技术人员理解本发明实施例所提供的技术方案,下面对相关术语进行解释说明:
BMC:Baseboard Management Controller,基板管理控制器;
VGA:Video graphics array,视频图像阵列;
RGB:Red green Blue,工业标准颜色;
AXI:Advanced eXtensible Interface高性能扩展总线;
FIFO:First Input First Output缓存。
请参考图1,图1为本发明实施例中一种视频传输控制方法的流程图,该方法包括以下步骤:
S101、按照输入帧率,从内存中读取VGA数据。
VGA数据与BMC管理系统中显示信息对应。
在本实施例中,输入帧率和输出帧率均相对于压缩而言,也就是说,输入帧率是指向从内存中读取原始图像帧,并输入至视频压缩的模块帧率,而输出帧率是指图像压缩模块向内存写入压缩后的图像帧的帧率。
其中,输入帧率可预先进行设置,也可以根据实际应用情况进行调整。具体的,该输入帧率还可与向内存中写入VGA数据的帧率一致,也就是说,图像帧的产生频率直接作为输入帧率,即对全部的图像都进行压缩。当然,在实际应用中,可相对于图像帧产生频率更低。例如,图像帧的产生帧率为60帧/秒,可预先设置该输入帧率可以为30帧/秒,15帧/秒,8帧/秒,4帧/秒等相对较小的数值,也减少视频压缩工作量。
按照输入帧率,从内存中读取VGA数据,即读取需要进行图像压缩处理的各个原始图像帧。VGA(Video Graphics Array,称视频图形阵列)数据即与BMC管理系统中显示信息对应。
也就是说,BMC管理系统所产生的显示视频需以VGA数据形式存放在内存中,具体的,在本发明的一种具体实施方式中,在内存中存放VGA数据的具体实现过程,包括:
步骤一、利用显卡接收显示信息,并生成对应的VGA信号;
步骤二、将VGA信号中的图像数据存入内存中。
为便于描述,下面将结合具体应用场景为例对上述两个步骤结合起来进行说明。
请参考图2,图2为本发明实施例中一种视频显示控制的示意图。在服务器BMC管理系统中,主机中的显卡接收操作系统显示信息,并生成VGA信号。一方面,可直接在本地显示该VGA信号,另一方面,将可VGA信号中的数据按照一定的格式存入到系统内存中,以供远程桌面显示使用。在本发明实施例中,对于采用何种格式存储该VGA信号中的数据不做限定,将存放于内存中与VGA信号对应的数据称之为VGA数据。
举例说明:VGA信号产生可使用SM750 IP,该IP能够以60帧/秒的帧率向内存中刷新数据,并且格式按照RGB888(每一个像素由24bit表示)存储,即VGA数据的格式是RGB888。
如此,图像压缩模块则可从内存中读取VGA数据,进行压缩,以减少以太网络的传输数据数量,压缩后的数据存入到内存中的相应位置。
在本发明的一种具体实施方式中,步骤S101按照输入帧率,从内存中读取VGA数据,包括:利用AXI总线并结合先入先出队列,从内存中读取VGA数据。其中,AXI(AdvancedeXtensible Interface)总线,即高性能扩展总线。
具体的,请参考图4,图4为本发明实施例中一种视频传输控制装置的具体架构示意图。如图所示,其中AXI Master模块与外部的AXI总线相连,作为Master发起符合AXI协议的读写操作,AXI Master模块通过AXI总线,与DDR(一种内存)进行通信,从而完成从DDR中拿取原始图像,并将压缩后的图像数据存入到DDR的相应位置。同时,该AXI Master模块接收输入控制模块和输出控制模块的控制信息,决定读取DDR的位置和写入DDR的位置等。AXIMaster模块写操作的数据来源于图像压缩模块的输出,该AXI Master模块的读操作的数据则通过FIFO送入到图像压缩模块。
在本发明的一种具体实施方式中,利用AXI总线并结合先入先出队列,从内存中读取VGA数据,可具体包括:
步骤一、从内存中读取VGA数据的起始位置和大小信息,判断出帧头帧尾。
具体的,输入控制模块根据从DDR中读取的原始图像数据的起始位置和大小信息,判断出帧头帧尾,然后产生插入帧头帧尾的控制信号,送给AXI Master模块,以便进行插入帧头帧尾操作。
步骤二、生成与输入帧率对应的控制信号。
通过生成控制信号的形式,使得从内存中读取VGA数据的帧率与输入帧率匹配。具体的,可包括:
步骤2.1、获取当前已读取帧数;
步骤2.2、若已读取帧数未达到输入帧率对应的帧数,则生成控制信号。
即,对于输入帧数统计信号,每当输入了完整一帧,则对应计数器加1,得到该以读取帧数。然后在已读取帧数未达到输入帧率对应的帧数,则生成控制信号,从而读取下一帧,直到与输入帧率匹配。
步骤三、利用控制信号在开始读取VGA数据时,插入帧头标志,并在读入的VGA数据个数满一帧时,插入帧尾标志。
也就是说,当有AXI Master模块开始读入的原始图像数据时,插入帧头标志,当读入数据个数满一帧时,插入帧尾标志。
读取到VGA数据之后,便可执行步骤S102的操作。
S102、对VGA数据进行图像压缩处理,并按照输出帧率将压缩得到的VGA压缩数据写入内存。
在本实施例中,可采用图像压缩模块对VGA数据进行压缩操作。即可保障压缩前后的帧数不变,而每一帧的大小被压缩。压缩得到的VGA压缩数据可直接按照输出帧率写入到内存中。
具体的,该输出帧率可以与图像压缩处理的压缩速度对应,也就是说,没压缩得到一个压缩图像帧,即将其写入到内存中。当然,在实际应用中,还可对压缩得到的某些压缩图像帧进行丢弃,以避免出现内存空间不足的问题。
在本发明的一种具体实施方式中,步骤S102按照输出帧率将压缩得到的VGA压缩数据写入内存,包括:在无法将VGA压缩数据写入内存的情况下,丢弃当前待写入的压缩帧。也就是说,在对原始图像帧进行压缩处理后,若发现无法将VGA压缩数据写入内存的情况下,可直接丢弃当前待写入的压缩帧。
具体的,在AXI总线无法继续向DDR中写数据时开始丢弃JPEG IP压缩完成的数据。举例说明:当JPEG IP FIFO满了,继续向FIFO中写数据会导致丢数据的现象,此时将此压缩帧丢弃;当AXI总线忙碌,无法继续向DDR中写数据时,会导致丢数据,此时将此压缩帧丢弃;当DDR空间中的数据没有被及时读走,此时再继续写的话会覆盖原来的数据,此时可将后续的压缩帧丢掉。
在本发明的一种具体实施方式中,步骤S102按照输出帧率将压缩得到的VGA压缩数据写入内存,包括:
步骤一、获取当前压缩帧的大小,估算内存存放帧的上限值;
步骤二、利用上限值,判断下一帧是否可存放;
步骤三、如果判断结果为否,则停止向内存写当前待写入的压缩帧。
步骤四、如果判断结果为是,则继续向内存写当前待写入的压缩帧。
为便于描述,下面将上述四个步骤结合起来进行说明。
由于存放VGA压缩数据的DDR空间是固定的,而每一帧图像压缩后的大小是不一样的,因而无法准确计算出DDR中可以存储的帧的个数,从而就无法避免后续写入的数据覆盖前面数据的可能。本实施例中,采用根据当前压缩帧的大小来估算当前DDR中存放帧的最大数量,来判断下一帧能否放得下,并且时钟空出一帧的大小冗余,以避免下一帧突然变大的情况。即,若目前DDR中存放的帧数大于估计出的可存放帧数的最大值减一,则停止向DDR中写数据,并丢弃JPEG IP输出的下一帧。
S103、从内存中读取VGA压缩数据,并发送给目标终端,以便目标终端在远程桌面中输出显示信息。
按照输入和输出可控的图像压缩处理之后,便可从内存中读取该VGA压缩数据,并发送给目标终端。如此,目标终端在接收到VGA压缩数据之后,便可对VGA压缩数据进行解压,得到VGA数据,进而基于VGA数据在其远程桌面中输出该显示信息。
应用本发明实施例所提供的方法,按照输入帧率,从内存中读取VGA数据;VGA数据与BMC管理系统中显示信息对应;对VGA数据进行图像压缩处理,并按照输出帧率将压缩得到的VGA压缩数据写入内存;从内存中读取VGA压缩数据,并发送给目标终端,以便目标终端在远程桌面中输出显示信息。
为了减少远程视频显示过程中的网络传输量,需要对本地视频进行压缩,而后进行传输。基于此,在本方法中,借助压缩环节,对视频传输进行有效控制。具体的,在读取VGA数据时,按照输入帧率从内存中进行读取。如此,便对压缩视频的工作量进行有效控制,能够有效保障视频压缩的顺利进行。对视频进行压缩采用图像压缩处理,即压缩前后的构成视频的帧数不变,仅压缩每一帧的大小。在将压缩得到的VGA压缩数据写入内存时,按照输出帧率进行写入,可保障写入内存的帧率维持在可控范围内,可对内存中存放的待发送的VGA压缩图像的量进行有效控制,进一步使得从内存中读取VGA压缩数据发往目标终端的帧率在可控范围内。也就是说,在将BMC管理系统中的本地视频发送给目标终端的远程显示桌面进行显示的过程中,通过在压缩处理过程的设置输入帧率和输出帧率,便可使得整个视频传输过程可控,能够保障远程视频显示的顺畅。
相应于上面的方法实施例,本发明实施例还提供了一种视频传输控制装置,下文描述的视频传输控制装置与上文描述的视频传输控制方法可相互对应参照。
参见图3所示,该装置包括以下模块:
输入控制模块101,用于按照输入帧率,从内存中读取VGA数据;VGA数据与BMC管理系统中显示信息对应;
图像压缩模块102,用于对VGA数据进行图像压缩处理,得到VGA压缩数据;
输出控制模块103,用于按照输出帧率将VGA压缩数据写入内存;
视频传输模块104,用于从内存中读取VGA压缩数据,并发送给目标终端,以便目标终端在远程桌面中输出显示信息。
应用本发明实施例所提供的装置,按照输入帧率,从内存中读取VGA数据;VGA数据与BMC管理系统中显示信息对应;对VGA数据进行图像压缩处理,并按照输出帧率将压缩得到的VGA压缩数据写入内存;从内存中读取VGA压缩数据,并发送给目标终端,以便目标终端在远程桌面中输出显示信息。
为了减少远程视频显示过程中的网络传输量,需要对本地视频进行压缩,而后进行传输。基于此,在本装置中,借助压缩环节,对视频传输进行有效控制。具体的,在读取VGA数据时,按照输入帧率从内存中进行读取。如此,便对压缩视频的工作量进行有效控制,能够有效保障视频压缩的顺利进行。对视频进行压缩采用图像压缩处理,即压缩前后的构成视频的帧数不变,仅压缩每一帧的大小。在将压缩得到的VGA压缩数据写入内存时,按照输出帧率进行写入,可保障写入内存的帧率维持在可控范围内,可对内存中存放的待发送的VGA压缩图像的量进行有效控制,进一步使得从内存中读取VGA压缩数据发往目标终端的帧率在可控范围内。也就是说,在将BMC管理系统中的本地视频发送给目标终端的远程显示桌面进行显示的过程中,通过在压缩处理过程的设置输入帧率和输出帧率,便可使得整个视频传输过程可控,能够保障远程视频显示的顺畅。
在本发明的一种具体实施方式中,还包括:
VGA数据存放模块,用于在按照输入帧率,从内存中读取VGA数据之前,利用显卡接收显示信息,并生成对应的VGA信号;将VGA信号中的图像数据存入内存中。
在本发明的一种具体实施方式中,输入控制模块101,具体用于利用AXI总线并结合先入先出队列,从内存中读取VGA数据。
在本发明的一种具体实施方式中,输入控制模块101,具体用于从内存中读取VGA数据的起始位置和大小信息,判断出帧头帧尾;生成与输入帧率对应的控制信号;利用控制信号在开始读取VGA数据时,插入帧头标志,并在读入的VGA数据个数满一帧时,插入帧尾标志。
在本发明的一种具体实施方式中,输入控制模块101,具体用于获取当前已读取帧数;若已读取帧数未达到输入帧率对应的帧数,则生成控制信号。
在本发明的一种具体实施方式中,输出控制模块103,具体用于在无法将VGA压缩数据写入内存的情况下,丢弃当前待写入的压缩帧。
在本发明的一种具体实施方式中,输出控制模块103,具体用于获取当前压缩帧的大小,估算内存存放帧的上限值;利用上限值,判断下一帧是否可存放;如果判断结果为否,则停止向内存写当前待写入的压缩帧。
为便于理解,下面结合图4对视频传输控制装置进行详细说明。视频传输控制装置中的各个模块以及功能可与上述视频传输控制方法的实施例相互参照。
其中,输入控制模块,则接收BMC管理系统的输入控制信息,如原始图像(对应VGA数据)在DDR中存放的位置、大小,停止和开始控制、帧率控制等信息,该输入控制模块产生AXI Master模块读操作的开始和停止控制信息,控制AXI总线的读写操作。
输出控制模块,则BMC管理系统的输出控制信息,如输出图像(即VGA压缩数据)存储的位置和大小信息、停止和开始控制等。同时,搜集压缩图像的信息,如压缩帧数统计、压缩大小、压缩图像的帧头存储位置等信息。该输出控制模块产生AXI Master模块写操作的开始和停止控制信息,控制AXI总线的读写操作。
基于图4所示装置,主要实现以下功能:
识别并标记每一帧:当有AXI Master模块读入的原始数据的开始位置时,插入帧头标志,当读入的数据个数满一帧时,插入帧尾标志。具体的,输入控制模块根据从DDR中读取的原始图像数据的起始位置和大小信息,判断出帧头帧尾,然后产生插入帧头帧尾的控制信号,送给AXI Master模块,以便进行插入帧头帧尾操作。
使能控制功能:输入控制模块产生的工作使能信号,送给AXI Master模块,以便其开始执行读数据的操作。当输入控制模块接收到BMC管理系统的开始信号时,开始有效。当接收到MBC管理系统的强制停止信号时,置为无效;当进行插入帧头帧尾操作时,置为无效;当写入的FIFO为满或者将要满时,置为无效。
统计功能:可设置输入帧数统计信号,每当输入为完整一帧,则该计数器加1。
压缩、带宽控制功能,用于输入控制模块根据BMC管理系统的输入帧率信息,对输入的帧数进行控制,可以实现30帧/s、15帧/s、8帧/s、4帧/s,以节省JPEG IP压缩的工作量,减少传输带宽。
输出丢帧功能,在AXI无法继续向DDR中写数据时开始丢弃JPEG IP压缩完成的数据。当JPEG IP FIFO满了,继续向FIFO中写数据会导致丢数据的现象,此时将此帧丢弃;当AXI总线忙碌,无法继续向DDR中写数据时,会导致丢数据,此时丢帧;当DDR空间中的数据没有被软件及时读走,此时再继续写的话会覆盖原来的数据,此时将后续的帧丢掉。
输出空间存储帧数预估功能:由于输出压缩图像的DDR空间是固定的,而每一帧图像压缩后的大小是不一样的,无法准确计算出DDR中可以存储的帧的个数,从而就无法避免后续写入的数据覆盖前面数据的可能。本设计中,采用根据当前压缩帧的大小来估算当前DDR中存放帧的最大数量,来判断下一帧能否放得下,并且时钟空出一帧的大小冗余,以避免下一帧突然变大的情况。当目前DDR中存放的帧数大于估计出的可存放帧数的最大值减一,则停止向DDR中写数据,并丢弃JPEG IP输出的下一帧。
相应于上面的方法实施例,本发明实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种视频传输控制方法可相互对应参照。
参见图5所示,该电子设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的视频传输控制方法的步骤。
具体的,请参考图6,图6为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的视频传输控制方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种视频传输控制方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的视频传输控制方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (10)
1.一种视频传输控制方法,其特征在于,包括:
按照输入帧率,从内存中读取VGA数据;所述VGA数据与BMC管理系统中显示信息对应;
对所述VGA数据进行图像压缩处理,并按照输出帧率将压缩得到的VGA压缩数据写入所述内存;
从所述内存中读取所述VGA压缩数据,并发送给目标终端,以便所述目标终端在远程桌面中输出所述显示信息。
2.根据权利要求1所述的视频传输控制方法,其特征在于,在所述按照输入帧率,从内存中读取VGA数据之前,还包括:
利用显卡接收所述显示信息,并生成对应的VGA信号;
将所述VGA信号中的图像数据存入所述内存中。
3.根据权利要求1所述的视频传输控制方法,其特征在于,所述按照输入帧率,从内存中读取VGA数据,包括:
利用AXI总线并结合先入先出队列,从所述内存中读取所述VGA数据。
4.根据权利要求3所述的视频传输控制方法,其特征在于,所述利用AXI总线并结合先入先出队列,从所述内存中读取所述VGA数据,包括:
从所述内存中读取VGA数据的起始位置和大小信息,判断出帧头帧尾;
生成与所述输入帧率对应的控制信号;
利用所述控制信号在开始读取所述VGA数据时,插入帧头标志,并在读入的所述VGA数据个数满一帧时,插入帧尾标志。
5.根据权利要求4所述的视频传输控制方法,其特征在于,所述生成与所述输入帧率对应的控制信号,包括:
获取当前已读取帧数;
若所述已读取帧数未达到所述输入帧率对应的帧数,则生成所述控制信号。
6.根据权利要求1所述的视频传输控制方法,其特征在于,所述按照输出帧率将压缩得到的VGA压缩数据写入所述内存,包括:
在无法将所述VGA压缩数据写入所述内存的情况下,丢弃当前待写入的压缩帧。
7.根据权利要求1所述的视频传输控制方法,其特征在于,所述按照输出帧率将压缩得到的VGA压缩数据写入所述内存,包括:
获取当前压缩帧的大小,估算所述内存存放帧的上限值;
利用所述上限值,判断下一帧是否可存放;
如果判断结果为否,则停止向所述内存写当前待写入的压缩帧。
8.一种视频传输控制装置,其特征在于,包括:
输入控制模块,用于按照输入帧率,从内存中读取VGA数据;所述VGA数据与BMC管理系统中显示信息对应;
图像压缩模块,用于对所述VGA数据进行图像压缩处理,得到VGA压缩数据;
输出控制模块,用于按照输出帧率将所述VGA压缩数据写入所述内存;
视频传输模块,用于从所述内存中读取所述VGA压缩数据,并发送给目标终端,以便所述目标终端在远程桌面中输出所述显示信息。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述视频传输控制方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述视频传输控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011352590.6A CN112511839A (zh) | 2020-11-26 | 2020-11-26 | 一种视频传输控制方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011352590.6A CN112511839A (zh) | 2020-11-26 | 2020-11-26 | 一种视频传输控制方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112511839A true CN112511839A (zh) | 2021-03-16 |
Family
ID=74966484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011352590.6A Pending CN112511839A (zh) | 2020-11-26 | 2020-11-26 | 一种视频传输控制方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112511839A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113824962A (zh) * | 2021-08-29 | 2021-12-21 | 山东云海国创云计算装备产业创新中心有限公司 | 一种传输光标信息的方法、系统、设备和存储介质 |
CN114615209A (zh) * | 2022-03-11 | 2022-06-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种动态适应的图像压缩方法、装置、设备及可读介质 |
CN116456093A (zh) * | 2023-03-31 | 2023-07-18 | 之江实验室 | 一种基于Zynq的图像帧率可控模拟器和方法 |
CN116743951A (zh) * | 2023-08-09 | 2023-09-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种视频数据处理方法、系统、存储介质和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111277836A (zh) * | 2020-01-19 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种视频提取丢帧控制方法、系统、终端及存储介质 |
CN111314640A (zh) * | 2020-02-23 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种视频压缩方法、设备以及介质 |
CN111683252A (zh) * | 2020-06-11 | 2020-09-18 | 浪潮(北京)电子信息产业有限公司 | 一种服务器以及一种视频压缩图像的输出系统和方法 |
-
2020
- 2020-11-26 CN CN202011352590.6A patent/CN112511839A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111277836A (zh) * | 2020-01-19 | 2020-06-12 | 苏州浪潮智能科技有限公司 | 一种视频提取丢帧控制方法、系统、终端及存储介质 |
CN111314640A (zh) * | 2020-02-23 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种视频压缩方法、设备以及介质 |
CN111683252A (zh) * | 2020-06-11 | 2020-09-18 | 浪潮(北京)电子信息产业有限公司 | 一种服务器以及一种视频压缩图像的输出系统和方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113824962A (zh) * | 2021-08-29 | 2021-12-21 | 山东云海国创云计算装备产业创新中心有限公司 | 一种传输光标信息的方法、系统、设备和存储介质 |
CN113824962B (zh) * | 2021-08-29 | 2024-05-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种传输光标信息的方法、系统、设备和存储介质 |
CN114615209A (zh) * | 2022-03-11 | 2022-06-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种动态适应的图像压缩方法、装置、设备及可读介质 |
CN114615209B (zh) * | 2022-03-11 | 2024-03-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种动态适应的图像压缩方法、装置、设备及可读介质 |
CN116456093A (zh) * | 2023-03-31 | 2023-07-18 | 之江实验室 | 一种基于Zynq的图像帧率可控模拟器和方法 |
CN116456093B (zh) * | 2023-03-31 | 2024-02-09 | 之江实验室 | 一种基于Zynq的图像帧率可控模拟器和方法 |
CN116743951A (zh) * | 2023-08-09 | 2023-09-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种视频数据处理方法、系统、存储介质和电子设备 |
CN116743951B (zh) * | 2023-08-09 | 2024-01-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种视频数据处理方法、系统、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112511839A (zh) | 一种视频传输控制方法、装置、设备及可读存储介质 | |
US7844848B1 (en) | Method and apparatus for managing remote display updates | |
CN111683252B (zh) | 一种服务器以及一种视频压缩图像的输出系统和方法 | |
US7423642B2 (en) | Efficient video frame capturing | |
CN115580727B (zh) | 一种视频压缩的丢帧处理方法、装置、服务器及存储介质 | |
WO2023134128A1 (zh) | 一种视频压缩处理方法、装置及介质 | |
CN112804532A (zh) | 一种图像数据获取方法、系统及相关装置 | |
CN114286035B (zh) | 图像采集卡、图像采集方法及图像采集系统 | |
US20040189809A1 (en) | Digital imaging apparatus and method for selecting data transfer mode of the same | |
CN111182306B (zh) | 用于视频压缩的视频提取方法、系统、终端及存储介质 | |
TW201830374A (zh) | 資料傳送裝置及資料傳送方法 | |
CN114302087B (zh) | 一种mipi数据传输模式转换方法、装置及电子设备 | |
US8520147B1 (en) | System for segmented video data processing | |
CN113573072B (zh) | 一种图像处理方法、装置及相关组件 | |
CN114449178A (zh) | 视频信号传输控制方法及视频信号传输系统 | |
CN117009087A (zh) | 一种图像输出方法、装置、设备及存储介质 | |
CN115643408A (zh) | 一种图像压缩方法、装置、设备、存储介质 | |
CN114153408B (zh) | 图像显示控制方法及相关设备 | |
CN101198049B (zh) | 一种视频数据处理方法和装置 | |
CN118214820B (zh) | 一种图像数据处理方法、产品、设备及介质 | |
WO2020155538A1 (zh) | 视频处理方法、系统、计算机设备及存储介质 | |
JP2003134342A (ja) | 画像処理装置、その処理方法及びそのプログラム | |
CN216057047U (zh) | 一种Micro LED多屏带载系统、装置及显示设备 | |
CN114554126B (zh) | 一种基板管理控制芯片、视频数据传输方法及服务器 | |
CN115314731B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210316 |
|
RJ01 | Rejection of invention patent application after publication |