CN112235579B - 视频处理方法、计算机可读存储介质及电子设备 - Google Patents

视频处理方法、计算机可读存储介质及电子设备 Download PDF

Info

Publication number
CN112235579B
CN112235579B CN202011039945.6A CN202011039945A CN112235579B CN 112235579 B CN112235579 B CN 112235579B CN 202011039945 A CN202011039945 A CN 202011039945A CN 112235579 B CN112235579 B CN 112235579B
Authority
CN
China
Prior art keywords
video
processed
video processing
processing unit
frame
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
CN202011039945.6A
Other languages
English (en)
Other versions
CN112235579A (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.)
Shenzhen Zhouming Technology Co Ltd
Original Assignee
Shenzhen Zhouming 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 Shenzhen Zhouming Technology Co Ltd filed Critical Shenzhen Zhouming Technology Co Ltd
Priority to CN202011039945.6A priority Critical patent/CN112235579B/zh
Publication of CN112235579A publication Critical patent/CN112235579A/zh
Priority to PCT/CN2021/111123 priority patent/WO2022062719A1/zh
Application granted granted Critical
Publication of CN112235579B publication Critical patent/CN112235579B/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/436Methods 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 using parallelised computational arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Television Systems (AREA)

Abstract

本发明公开了一种视频处理方法、计算机可读存储介质及电子设备,其视频处理方法包括步骤:从多个并行的视频处理单元中选取处于闲置状态的第一视频处理单元来对待处理视频帧进行视频处理;将待处理视频帧写入到第一HBM存储片中,配置并启动第一视频处理单元,第一视频处理单元用于从第一HBM存储片中读取并处理待处理视频帧,之后将处理后的已处理视频帧写入到第一HBM存储片中;在第一视频处理单元对待处理视频帧的处理完成后,从第一HBM存储片中读取并输出已处理视频帧;之后将视频里的每一视频帧进行上述处理,完成视频处理。即本发明在处理高分辨率和高帧率的视频时,能够同时满足泛用性、存储带宽需求和处理速度需求。

Description

视频处理方法、计算机可读存储介质及电子设备
技术领域
本发明涉及视频处理技术领域,特别涉及一种视频处理方法、计算机可读存储介质及电子设备。
背景技术
随着人们对于视频清晰度的要求不断地增高,传统的2K、4K分辨率已经不能满足用户的日常需求,人们开始追求8K分辨率的视频,这就要求视频处理器也能够处理8K视频。由于8K视频的处理量是传统4K视频的4倍,若8K分辨率的视频同时要求120fps及以上的帧率的话,对于现有的主流视频处理器来说,无法同时满足存储带宽和处理速度上的需求。
如专利公开号CN104952037A提出了一种基于FPGA的JPEG图片文件的解压缩和缩放处理的加速的方法和系统实现,其主要目的是为后台图片提供高速的图片缩放处理,对图片缩放首先要解压缩。所以其系统设计偏重于PC或者服务器加FPGA平台的图片处理加速,这个架构不适合嵌入式视频处理加速或者提高帧率,另外存储器访问结构简单,无法突破内存带宽限制,也没有充分考虑专利中所描述的内核数目的匹配问题,5个甚至多个内核的访问内存带宽瓶颈问题没有充分考虑,因而只是简单的架构设计。专利公开号CN204761566U提出了一种基于FPGA和DSP(Digital Signal Process,数字信号处理单元)的实时图像处理实现方法,FPGA的作用是缓存预处理并分发图片给DSP单元,其图像处理的核心是DSP而不是FPGA,因此具有一定的局限性。
即现有缺乏一种视频处理方法,在处理高分辨率和高帧率的视频时,能够同时满足泛用性、存储带宽需求和处理速度需求。
发明内容
本发明所要解决的技术问题是:提供一种视频处理方法、计算机可读存储介质及电子设备,在处理高分辨率和高帧率的视频时,能够同时满足泛用性、存储带宽需求和处理速度需求。
为了解决上述技术问题,本发明采用的技术方案为:
视频处理方法,包括步骤:
S1、从多个并行的视频处理单元中选取处于闲置状态的第一视频处理单元来对待处理视频帧进行视频处理;
S2、将所述待处理视频帧写入到所述第一视频处理单元所对应连接的第一HBM存储片中,配置并启动所述第一视频处理单元,所述第一视频处理单元用于从所述第一HBM存储片中读取并处理所述待处理视频帧,之后将处理后的已处理视频帧写入到所述第一HBM存储片中;
S3、判断所述第一视频处理单元对所述待处理视频帧的处理是否完成,若是,则从所述第一HBM存储片中读取并输出所述已处理视频帧;
S4、将视频里的每一视频帧作为所述待处理视频帧,重复步骤S1-S3,完成视频处理。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的视频处理方法。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的视频处理方法。
本发明的有益效果在于:一种视频处理方法、计算机可读存储介质及电子设备,在处理高分辨率和高帧率的视频时,通过多个并行的视频处理单元来对待处理视频帧进行视频处理,从而提高视频处理的处理速度;通过FPGA中自带的高带宽存储器HBM来进行待处理视频帧的写入和读取,从而实现数据吞吐率的提升,以满足存储带宽需求;本发明通过FPGA即可实现视频处理,从而具有泛用性,即本发明在处理高分辨率和高帧率的视频时,能够同时满足泛用性、存储带宽需求和处理速度需求。
附图说明
图1为本发明实施例的视频处理方法的流程示意图;
图2为本发明实施例的视频处理方法的整体框架示意图;
图3为本发明实施例涉及的MPSoC主程序的视频处理线程示意图;
图4为本发明实施例涉及的视频处理单元的处理流程图;
图5为本发明实施例的视频处理方法的应用案例概况图;
图6为本发明实施例涉及的视频处理单元的框架示意图;
图7为本发明实施例涉及的视频处理单元的时序示意图;
图8为本发明实施例涉及的视频放大处理功能模块的时序示意图;
图9为本发明实施例的一种系统的结构示意图。
标号说明:
1、一种电子设备;2、处理器;3、存储器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1至图8,视频处理方法,包括步骤:
S1、从多个并行的视频处理单元中选取处于闲置状态的第一视频处理单元来对待处理视频帧进行视频处理;
S2、将所述待处理视频帧写入到所述第一视频处理单元所对应连接的第一HBM存储片中,配置并启动所述第一视频处理单元,所述第一视频处理单元用于从所述第一HBM存储片中读取并处理所述待处理视频帧,之后将处理后的已处理视频帧写入到所述第一HBM存储片中;
S3、判断所述第一视频处理单元对所述待处理视频帧的处理是否完成,若是,则从所述第一HBM存储片中读取并输出所述已处理视频帧;
S4、将视频里的每一视频帧作为所述待处理视频帧,重复步骤S1-S3,完成视频处理。
其中,FPGA的MPSoC控制单元来执行上述步骤,MPSoC控制单元对于每一个待处理视频帧,都分配一个处于闲置状态的视频处理单元进行视频处理,由此,可以根据一个待处理视频帧的处理速度和所需要的帧率来配置视频单元的数目,视频处理单元的数目增大意味着并行处理的速度加快,也就意味着高的数据吞吐率。
从上述描述可知,本发明的有益效果在于:在处理高分辨率和高帧率的视频时,通过多个并行的视频处理单元来对待处理视频帧进行视频处理,从而提高视频处理的处理速度;通过FPGA中自带的高带宽存储器HBM来进行待处理视频帧的写入和读取,从而实现数据吞吐率的提升,以满足存储带宽需求;本发明通过FPGA即可实现视频处理,从而具有泛用性,即本发明在处理高分辨率和高帧率的视频时,能够同时满足泛用性、存储带宽需求和处理速度需求。
进一步地,所述视频处理单元包括控制和状态监控寄存器;
所述步骤S2中配置并启动所述第一视频处理单元具体包括以下步骤:
填充所述第一视频处理单元的所述控制和状态监控寄存器,以启动所述第一视频处理单元;
所述步骤S3中在得到并输出已处理视频帧之后还包括以下步骤:
更改所述第一视频处理单元的所述控制和状态监控寄存器中的数值,以将所述第一视频处理单元更改为闲置状态。
进一步地,所述控制和状态监控寄存器包括启动寄存器、帧序号寄存器、输入视频分辨率寄存器、输出视频分辨率寄存器以及处理完成寄存器,所述填充所述第一视频处理单元的所述控制和状态监控寄存器具体包括以下步骤:
将所述待处理视频帧在所述视频中的帧序号填入至所述帧序号寄存器;
将所述待处理视频帧的分辨率和所述已处理视频帧的分辨率分别填入所述输入视频分辨率寄存器和输出视频分辨率寄存器;
将标记为启动的数值填入至所述启动寄存器。
从上述描述可知,通过对视频处理单元的控制和状态监控寄存器进行数据填充,来控制和状态监控视频处理单元的工作状态,在完成数据处理后,设置视频处理单元为闲置状态,以继续分配给其他视频帧进行处理,从而使得视频处理单元能见缝插针的处理视频帧,并依次有序的输出视频帧,所有视频处理单元之间形成流水线操作,以实现数据吞吐率的提升。
进一步地,预设包括多个第一子线程的第一线程和包括多个第二子线程的第二线程;
基于查询机制的多个所述第一子线程按照所述步骤S1和所述步骤S2对多个所述待处理视频帧进行并行处理;
基于查询机制的多个所述第二子线程按照所述步骤S3对多个所述待处理视频帧进行并行处理。
进一步地,所述步骤S2中启动所述第一视频处理单元具体包括以下步骤:
由所述第一子线程对所述待处理视频帧的写入进行实时监测,当所述待处理帧的写入数据还剩余预设阈值时,启动所述第一视频处理单元。
从上述描述可知,两个线程都是基于查询机制实现,其中,第一线程在执行时不断的确认待处理视频帧的输入状态,因为视频流是固定的输入输出分辨率,可以对视频输入的数据进行计量,得到一个预设阈值,到了预设阈值就可以提前置位标志位,启动第一线程里面的写视频处理单元寄存器操作,以提前开始启动视频处理功能模块,从而有效降低视频输出的时延。
进一步地,所述步骤S2中将待处理视频帧写入到所述第一视频处理单元所对应连接的第一HBM存储片中具体包括以下步骤:
将所述待处理视频帧放入到AXI4总线,通过AXI4 Master端口向所述第一HBM存储片的AXI4 Slave端口发起突发传输,以将所述待处理视频帧写入到所述第一视频处理单元所对应连接的第一HBM存储片中;
所述步骤S3中从所述第一HBM存储片中读取并输出所述已处理视频帧具体包括以下步骤:
通过AXI4 Master端口向所述第一HBM存储片的AXI4 Slave端口发起突发传输,以从所述第一HBM存储片中读取并输出所述已处理视频帧。
进一步地,所述HBM存储片包括输入缓存区域和输出缓存区域,所述待处理视频帧存储到所述输入缓存区域,所述已处理视频帧存储到所述输出缓存区域。
从上述描述可知,FPGA的MPSoC控制单元通过AXI4端口以实现高性能地址映射通信,AXI4端口允许最大256轮的数据突发传输,由此视频处理功能模块也通过可以AXI4端口从HBM存储片中的输入缓存区读取待处理视频帧,同时把已处理视频帧写入输出视频缓存区域。
进一步地,若所述待处理视频帧的分辨率为4K且所述已处理视频帧的分辨率为8K时,所述视频处理单元和对应的HBM存储片均为8个。
从上述描述可知,单个视频处理单元处理一帧4K放大到8K需要时间为60ms,这60ms包括从内存读取视频的时间以及视频写入内存的时间,如果在只有一个视频处理单元的情况下,帧率只能实现1000ms/60ms=16.67帧,而本发明采用了8个视频处理单元和对应的HBM存储片,由此,帧率最高可到达133.33>120帧,由此,可以在实现8K分辨率的同时使得帧数可以达到120帧,从而达到高分辨率和高帧率的视频需求。
本发明另一实施方式提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的视频处理方法。
请参照图9,本发明另一实施方式提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的视频处理方法。
其中,关于上述两种实施方式中的计算机程序所包含的视频处理方法的具体实现过程和对应效果,可以参照前面实施方式的视频处理方法中的相关描述。
本申请的视频处理方法和对应的电路、装置、存储介质及电子设备主要应用于对任何视频进行处理的应用场景,比如视频解压缩和缩放处理等,以下结合具体的应用场景进行说明:
请参照图1至图8,本发明的实施例一为:
为了便于理解本实施例,对本实施例涉及到的英文进行简单说明:
FPGA:可编程大规模逻辑阵列
ARM:通用嵌入式处理器CPU;
HBM:High bandwidth Memory,高带宽存储器;
Video Process:视频处理单元;
MPSoC FPGA:可编程带多核ARM处理器的FPGA;
M:master,主控端;
S:slave,从端;
AXI_lite:轻量级ARM总线,用于寄存器访问;
AXI4:地址映射ARM总线、用于访问大容量内存;
I:Input buffer,输入缓存;
O:Output buffer,输出缓存;
Burst传输:突发传输,单次读写请求可以连续多达256个连续读写动作。
由此,本实施例提供的一种视频处理方法,包括步骤:
S1、从多个并行的视频处理单元中选取处于闲置状态的第一视频处理单元来对待处理视频帧进行视频处理;
其中,FPGA包括MPSoC控制单元、视频处理单元和HBM存储器件,视频处理单元需要在FPGA中开发实现,MPSoC和HBM都是FPGA中已经包含并存在的单元。视频处理单元的数目根据实际的视频处理需求进行配置,视频处理单元的数目的增大意味着并行处理的速度,也就意味着高的数据吞吐率。其中,HBM存储器件提供高带宽存取,用于对应视频处理单元的输入视频帧缓存和输出视频帧缓存。其中,MPSoC控制单元是协调多个视频处理单元高效率并行工作的控制核心,即MPSoC控制单元来执行本实施例的步骤,MPSoC控制单元内设置有视频处理主程序,该视频处理主程序的主要任务有两个,一个任务是视频处理单元配置,另外一个任务是视频处理单元的任务调度。
对于视频处理单元配置这个任务,如图6所示,每一个视频处理单元配置都是在FPGA中根据视频处理功能需求实现的功能模块,再配上都需要包含的两个固定接口单元,一个接口是AXI_Lite从接口,它是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元,主要是用于视频处理单元控制和状态监控寄存器的读写,视频处理单元的控制和状态监控寄存器是为了控制视频处理功能模块的运行控制和状态监控。
表1.控制和状态监控寄存器列表
Figure BDA0002706317260000081
如表1所示,这是一个定义的标准的通用控制和状态监控寄存器列表,包括用于运行控制的启动寄存器、用于记录当前帧的序号的帧序号寄存器、用于记录输入视频帧分辨率的输入视频分辨率寄存器、用于记录输出视频帧分辨率的输出视频分辨率寄存器、用于标记当前帧是否处理完毕处理完成寄存器以及用于标记当前帧处理是否出现错误的错误指示寄存器。
其中,有关帧序号寄存器说明如下:待处理视频帧作为输入帧以及已处理视频帧作为输出帧都有对应的帧序号,为了防止帧率提升或者降低的情况,每个视频处理单元都有一个帧序号寄存器,当写入处理视频帧的时候,为这个处理视频帧进行排序,然后把序号值写入这个帧序号寄存器,这样视频帧处理器在处理结束后,就可以根据视频处理单元的原理设置输出帧序号到输出帧寄存器,如果帧率不变就按照等值设置,如果帧率扩大一倍,就编号输出两个对应的帧序号.线程二在查询输出的时候,就按帧序号排列上报给MPSoC,供后级或视频输出单元按顺序读取。
另外一个接口是AXI4,如图2所示,通过这个接口,视频处理单元可以从HBM的存储区中的输入视频帧缓存区读取视频数据帧,同时把处理后的视频帧写入输出视频缓存区。其中,为每个视频处理单元分配了对应的HBM存储片,每一个HBM存储片包括输入缓存区域和输出缓存区域,待处理视频帧存储到输入缓存区域,已处理视频帧存储到输出缓存区域。一个独立的HBM存储片的容量大小是256MB,足够两个8K视频帧缓存。这样每个视频处理单元只能够访问给自己划定的HBM存储片,这样的HBM存储片在本实施例中多达32个,即对应的视频处理单元也有32个。
其中,针对HBM的访问机制设计说明如下:每一个视频处理单元都单独对应各自的地址分区,相互没有交叉访问。而MPSoC控制单元的AXI总线接口需要使用交叉访问,也就是说可以访问所有的HBM存储片,HBM的每一个存储片分为I和O(input buffer和outputbuffer)。input buffer和output buffer可以再支持划分,每个HBM存储片还可以设置至少两个等容量input buffer区域和至少两个output buffer区域,当输出暂停较长时间读取区域的时候,系统可以切换下input buffer和output buffer区域,完成下一轮视频帧的输入处理和输出,以提高视频处理单元的利用率,
对于视频处理单元的任务调度这个任务,视频处理主程序通过建立两个线程,分别为包括多个第一子线程的第一线程和包括多个第二子线程的第二线程。在本实施例,即对应图3所示,第一线程为视频数据填充线程,主要完成视频帧的input buffer输入,以及对应的视频处理单元的寄存器配置和启动;第二线程就是视频处理单元监控线程,负责检测视频处理单元的工作状态,比如是否正常完成或是否发生错误,并报告视频处理主程序。其中每个子线程的数目根据输入输出视频帧率需要动态增加或减少。
由此,在本实施例中,以视频放大处理为例子进行说明。
假设视频源是来自MPSoC,比如视频解码器,解出连续的视频帧,输出分辨率为4K(3840*2160),帧率120,这个时候的视频处理单元即图2中Video Process就是具有视频放大功能的处理单元,因此,在本实施例中,可将视频处理单元视为视频放大处理单元,即对应图6所示的视频放大处理单元,其他单元保持不变,首先我们确定Video Process的数目,这只需要确定单个放大视频处理单元的时间消耗即可。
由于4K的视频帧放大到8K的视频帧,单个视频处理单元处理一帧4K放大到8K需要时间为60ms,这60ms包括从内存读取视频的时间以及写入内存视频的时间。那么如果在只有一个视频处理单元的情况下,帧率只能实现1000ms/60ms=16.67帧,如果系统要求8K分辨率的情况下实现120帧,这种情况下就要考虑采用本文设计的视频处理系统,并行的视频处理单元的数目为120帧/16.67帧=8(向上取整)。即本实施例中视频处理单元和对应的HBM存储片均为8个。
由此,设置两个线程启动,之后在步骤S1中,MPSoC控制单元检测MPSoC视频解码器是否有视频帧解码输出,若有,则存在待处理视频帧需要放大处理,此时MPSoC控制单元检测处于闲置状态的视频处理单元,比如第一视频处理单元闲置,就分配给第一视频处理单元。
S2、将待处理视频帧写入到第一视频处理单元所对应连接的第一HBM存储片中,配置并启动第一视频处理单元,第一视频处理单元用于从第一HBM存储片中读取并处理待处理视频帧,之后将处理后的已处理视频帧写入到第一HBM存储片中;
如图5所示,在本步骤中,把输出的待处理视频帧写入到视频处理单元对应的HBM存储片的输入缓存区域,即本实施例中为写入到第一HBM存储片中,具体包括以下步骤:
将待处理视频帧放入到AXI4总线,通过AXI4 Master端口向第一HBM存储片的AXI4Slave端口发起突发传输,以将待处理视频帧写入到第一视频处理单元所对应连接的第一HBM存储片中;
在写入完成后,填充第一视频处理单元的控制和状态监控寄存器,以启动第一视频处理单元,具体包括以下步骤:
将待处理视频帧在视频中的帧序号填入至帧序号寄存器;
将待处理视频帧的分辨率和已处理视频帧的分辨率分别填入输入视频分辨率寄存器和输出视频分辨率寄存器;
将标记为启动的数值填入至启动寄存器,以启动第一视频处理单元。
之后的步骤由视频处理单元进行视频处理,为了便于理解本发明,本实施例以图8为例对视频处理单元的处理作以下举例说明:
视频处理单元在本实施例即为视频放大处理单元,它包括双线性放大处理模块、FIFO缓存、位宽转换模块和AXI4突发传输读写控制模块。MPSoC控制单元启动视频处理单元后,双线性放大处理模块开始请求数据,请求命令最终传递到AXI4突发传输读控制模块,它最终会从HBM存储片中读取待处理视频帧的数据,双线性放大处理模块得到需要的数据后,经过双线性放大处理,就把数据输出到AXI4突发写传输控制模块,最终写入HBM存储片中。由于数据的读写是突发传输,所以都需要一个FIFO缓存突发传输数据,另外双线性放大处理是像素级处理,所以需要把256bit(HBM的AXI4总线接口数据位宽)转换成36bit(一个像素的数据位宽)。
S3、判断第一视频处理单元对待处理视频帧的处理是否完成,若是,则从第一HBM存储片中读取并输出已处理视频帧;
由此,基于查询机制的第二子线程实时监测这个视频处理单元是否完成所述待处理视频的放大,若判断已处理完成,则通过AXI4 Master端口向第一HBM存储片的AXI4Slave端口发起突发传输,以从第一HBM存储片中读取并输出已处理视频帧,之后更改第一视频处理单元的控制和状态监控寄存器中的数值,以将第一视频处理单元更改为闲置状态。
S4、将视频里的每一视频帧作为待处理视频帧,重复步骤S1-S3,完成视频处理。
由此,如果当第一视频处理单元在进行放大处理时,视频里的下一视频帧解码出来,则需要另外一个第一子线程和另外一个第二子线程,另外一个第一子线程分配另外一个视频处理单元,比如第二视频处理单元和对应的第二HBM存储片来进行同样的操作,而另外一个第二子线程同样也是并行处理。
这样视频处理主程序的两个线程如图4所示,不断的按照上述步骤把视频里的每一视频帧依次写入到HBM,视频处理单元见缝插针的处理视频帧,并依次有序的输出视频帧,视频处理单元之间形成流水线操作。
由上可知:
1、从带宽需求上来看,假设每一个视频帧的色深为12bit,则4K的待处理视频帧的输入信号带宽:3840*2160*36*120fps=33.38Gbps,8K的已处理视频帧的读出信号带宽:7680*4320*36*120fps=133.49Gbps,则存储器件输入输出总带宽:133.49Gbps+33.38Gbps=166.87Gbps,每秒钟接近167Gbps的数据吞吐率,如果拿普通的顶级DDR4-4266的带宽:4266M*64=266.625Gbps,虽然理论上够用,但是考虑到有效率问题,也是比较紧张的,而本实施例中使用的HBM存储器件,其带宽为460G*8=3680Gbps,由此可以看出HBM的巨大的带宽优势,也为我们做更高视频吞吐率的视频处理提供了物理基础。
2、从数据吞吐率来看,4K的待处理视频帧和8K的已处理视频帧在数据量上相差四倍,即输出数据吞吐率比输入数据吞吐率提高了4倍。
3、从处理速度上来看,如图7所示,在第一个待处理视频帧输入60S之后才输出,之后以120fps的时间间隔1000/120=8.33ms源源不断的输出8K的视频帧,即原先一个视频处理单元处理一个视频帧是60ms,而本实施例相当于是8.33ms,则处理速度提高了7.2倍。
当然,本实施例以4K放大到8K进行说明,但对于不同高分辨率、不同高帧率的要求以及不同的视频处理操作来说,均能达到更大的数据吞吐率和更快的处理速度,因此,上述情况应当属于本发明的等同实施例。
请参照图1至图8,本发明的实施例二为:
本实施例提供的一种视频处理方法,在上述实施例一的基础上,步骤S2中启动第一视频处理单元具体包括以下步骤:
由第一子线程对待处理视频帧的写入进行实时监测,当待处理帧的写入数据还剩余预设阈值时,启动第一视频处理单元。
其中,在进行数据写入时,数据位宽为256bit,时钟400MHz,写入一个4K的待处理视频帧理论上大致需要3840*2160*36/256/400M=29.16us,读出一个8K的已处理视频帧大致就需要4倍时间,都是微秒级别,而在本实施例中,预设阈值可以为1/8,即29.16-29.16/8=25.515us,就启动第一视频处理单元,这样后续的3.645us用于配置响应,以进一步缩小视频处理时间,提高处理速度。
本发明的实施例三为:
本发明另一实施方式提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例一或实施例二的视频处理方法。
请参照图9,本发明的实施例四为:
一种电子设备1,包括存储器3、处理器2及存储在存储器3上并可在处理器2上运行的计算机程序,处理器2执行计算机程序时实现上述实施例一或实施例二的视频处理方法。
综上所述,本发明提供的一种视频处理方法、计算机可读存储介质及电子设备,在处理高分辨率和高帧率的视频时,通过多个并行的视频处理单元来对待处理视频帧进行视频处理,从而提高视频处理的处理速度;通过FPGA中自带的高带宽存储器HBM来进行待处理视频帧的写入和读取,从而实现数据吞吐率的提升,以满足存储带宽需求;本发明通过FPGA即可实现视频处理,结合FPGA可配置的特点,可以灵活的根据需求动态增加或减少视频处理单元的数目,以及更换视频处理单元的种类,而没有任何成本代价的产生,从而具有泛用性,即本发明在处理高分辨率和高帧率的视频时,能够同时满足泛用性、存储带宽需求和处理速度需求。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.视频处理方法,其特征在于,包括步骤:
S1、从多个并行的视频处理单元中选取处于闲置状态的第一视频处理单元来对待处理视频帧进行视频处理;
S2、将所述待处理视频帧写入到所述第一视频处理单元所对应连接的第一HBM存储片中,配置并启动所述第一视频处理单元,所述第一视频处理单元用于从所述第一HBM存储片中读取并处理所述待处理视频帧,之后将处理后的已处理视频帧写入到所述第一HBM存储片中;
S3、判断所述第一视频处理单元对所述待处理视频帧的处理是否完成,若是,则从所述第一HBM存储片中读取并输出所述已处理视频帧;
S4、将视频里的每一视频帧作为所述待处理视频帧,重复步骤S1-S3,完成视频处理;
所述视频处理单元包括控制和状态监控寄存器;
所述步骤S2中配置并启动所述第一视频处理单元具体包括以下步骤:
填充所述第一视频处理单元的所述控制和状态监控寄存器,以启动所述第一视频处理单元;
所述步骤S3中在得到并输出已处理视频帧之后还包括以下步骤:
更改所述第一视频处理单元的所述控制和状态监控寄存器中的数值,以将所述第一视频处理单元更改为闲置状态;
所述控制和状态监控寄存器包括启动寄存器、帧序号寄存器、输入视频分辨率寄存器、输出视频分辨率寄存器以及处理完成寄存器,所述填充所述第一视频处理单元的所述控制和状态监控寄存器具体包括以下步骤:
将所述待处理视频帧在所述视频中的帧序号填入至所述帧序号寄存器;
将所述待处理视频帧的分辨率和所述已处理视频帧的分辨率分别填入所述输入视频分辨率寄存器和输出视频分辨率寄存器;
将标记为启动的数值填入至所述启动寄存器。
2.根据权利要求1所述的视频处理方法,其特征在于,预设包括多个第一子线程的第一线程和包括多个第二子线程的第二线程;
基于查询机制的多个所述第一子线程按照所述步骤S1和所述步骤S2对多个所述待处理视频帧进行并行处理;
基于查询机制的多个所述第二子线程按照所述步骤S3对多个所述待处理视频帧进行并行处理。
3.根据权利要求2所述的视频处理方法,其特征在于,所述步骤S2中启动所述第一视频处理单元具体包括以下步骤:
由所述第一子线程对所述待处理视频帧的写入进行实时监测,当所述待处理帧的写入数据还剩余预设阈值时,启动所述第一视频处理单元。
4.根据权利要求1所述的视频处理方法,其特征在于,所述步骤S2中将待处理视频帧写入到所述第一视频处理单元所对应连接的第一HBM存储片中具体包括以下步骤:
将所述待处理视频帧放入到AXI4总线,通过AXI4 Master端口向所述第一HBM存储片的AXI4 Slave端口发起突发传输,以将所述待处理视频帧写入到所述第一视频处理单元所对应连接的第一HBM存储片中;
所述步骤S3中从所述第一HBM存储片中读取并输出所述已处理视频帧具体包括以下步骤:
通过AXI4 Master端口向所述第一HBM存储片的AXI4 Slave端口发起突发传输,以从所述第一HBM存储片中读取并输出所述已处理视频帧。
5.根据权利要求1至4任一所述的视频处理方法,其特征在于,所述HBM存储片包括输入缓存区域和输出缓存区域,所述待处理视频帧存储到所述输入缓存区域,所述已处理视频帧存储到所述输出缓存区域。
6.根据权利要求1至4任一所述的视频处理方法,其特征在于,若所述待处理视频帧的分辨率为4K且所述已处理视频帧的分辨率为8K时,所述视频处理单元和对应的HBM存储片均为8个。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-6任意一项所述的视频处理方法。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6任意一项所述的视频处理方法。
CN202011039945.6A 2020-09-28 2020-09-28 视频处理方法、计算机可读存储介质及电子设备 Active CN112235579B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011039945.6A CN112235579B (zh) 2020-09-28 2020-09-28 视频处理方法、计算机可读存储介质及电子设备
PCT/CN2021/111123 WO2022062719A1 (zh) 2020-09-28 2021-08-06 视频处理方法、计算机可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011039945.6A CN112235579B (zh) 2020-09-28 2020-09-28 视频处理方法、计算机可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112235579A CN112235579A (zh) 2021-01-15
CN112235579B true CN112235579B (zh) 2022-09-06

Family

ID=74119420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011039945.6A Active CN112235579B (zh) 2020-09-28 2020-09-28 视频处理方法、计算机可读存储介质及电子设备

Country Status (2)

Country Link
CN (1) CN112235579B (zh)
WO (1) WO2022062719A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235579B (zh) * 2020-09-28 2022-09-06 深圳市洲明科技股份有限公司 视频处理方法、计算机可读存储介质及电子设备
CN113457160B (zh) * 2021-07-15 2024-02-09 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN114268793B (zh) * 2021-12-21 2024-04-16 北京达佳互联信息技术有限公司 编码方法及装置
CN115022671B (zh) * 2022-06-02 2024-03-01 智道网联科技(北京)有限公司 多进程视频输出方法、云端、终端、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882302A (zh) * 2010-06-02 2010-11-10 北京理工大学 一种基于多核的运动模糊图像复原系统
CN109062858A (zh) * 2018-08-01 2018-12-21 郑州云海信息技术有限公司 一种基于Xilinx XCVU37P芯片的FPGA加速卡
CN110381322A (zh) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
CN111316643A (zh) * 2019-03-29 2020-06-19 深圳市大疆创新科技有限公司 视频编码方法、设备和可移动平台
CN111314741A (zh) * 2020-05-15 2020-06-19 腾讯科技(深圳)有限公司 视频超分处理方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6188381B1 (en) * 1997-09-08 2001-02-13 Sarnoff Corporation Modular parallel-pipelined vision system for real-time video processing
CN204761566U (zh) * 2015-06-30 2015-11-11 无锡市同威软件有限公司 一种基于fpga的图像处理加速系统
US10555035B2 (en) * 2017-06-09 2020-02-04 Disney Enterprises, Inc. High-speed parallel engine for processing file-based high-resolution images
WO2020073193A1 (zh) * 2018-10-09 2020-04-16 深圳鲲云信息科技有限公司 数据处理方法及相关产品
CN112235579B (zh) * 2020-09-28 2022-09-06 深圳市洲明科技股份有限公司 视频处理方法、计算机可读存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882302A (zh) * 2010-06-02 2010-11-10 北京理工大学 一种基于多核的运动模糊图像复原系统
CN109062858A (zh) * 2018-08-01 2018-12-21 郑州云海信息技术有限公司 一种基于Xilinx XCVU37P芯片的FPGA加速卡
CN111316643A (zh) * 2019-03-29 2020-06-19 深圳市大疆创新科技有限公司 视频编码方法、设备和可移动平台
CN110381322A (zh) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
CN111314741A (zh) * 2020-05-15 2020-06-19 腾讯科技(深圳)有限公司 视频超分处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2022062719A1 (zh) 2022-03-31
CN112235579A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN112235579B (zh) 视频处理方法、计算机可读存储介质及电子设备
CN1324473C (zh) 具有图形上下文管理器的图形渲染装置、方法和系统
CN100336075C (zh) 利用具有时间分配器的图形渲染引擎的装置、方法和系统
EP0925687B1 (en) Compression and decompression scheme performed on shared workstation memory by media coprocessor
US7821519B2 (en) Scalable unified memory architecture
JP4426099B2 (ja) 共有メモリを有するマルチプロセッサ装置
JP5078979B2 (ja) データ処理方法および装置、処理システム、コンピュータ処理システム、コンピュータのネットワークおよび記憶媒体
US5799209A (en) Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration
US7664922B2 (en) Data transfer arbitration apparatus and data transfer arbitration method
JP2018534607A (ja) プリフェッチを用いた効率的な表示処理
WO2022161227A1 (zh) 图像处理方法、装置、图像处理芯片和电子设备
WO2023134128A1 (zh) 一种视频压缩处理方法、装置及介质
WO2023197507A1 (zh) 视频数据处理方法、系统、装置及计算机可读存储介质
WO2024074012A1 (zh) 视频传输控制方法、装置、设备及非易失性可读存储介质
CN109451317A (zh) 一种基于fpga的图像压缩系统及方法
JP2011120244A (ja) 映像処理のためのシステム
CN114442908B (zh) 一种用于数据处理的硬件加速系统及芯片
KR100489719B1 (ko) 특수 메모리 장치
US20150036734A1 (en) Video processing mode switching
US20130329137A1 (en) Video Encoding in Video Analytics
CN114584782A (zh) 一种图像发送方法、装置及电子设备
US9372817B2 (en) High perfomance DMA controller for video processors
CN115499667B (zh) 一种视频处理方法、装置、设备及可读存储介质
CN113065998A (zh) 一种超高速实时图像存储方法、系统及计算机设备
RU142700U1 (ru) Система обработки изображения

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