CN114416635A - 一种基于soc的图形图像叠加显示方法及芯片 - Google Patents
一种基于soc的图形图像叠加显示方法及芯片 Download PDFInfo
- Publication number
- CN114416635A CN114416635A CN202111530096.9A CN202111530096A CN114416635A CN 114416635 A CN114416635 A CN 114416635A CN 202111530096 A CN202111530096 A CN 202111530096A CN 114416635 A CN114416635 A CN 114416635A
- Authority
- CN
- China
- Prior art keywords
- image
- video
- display
- definition
- definition image
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明提供一种基于SOC的图形图像叠加显示方法及芯片,该方法包括:在PL端基于VDMA实时采集高清图像,并将高清图像缓存在PS端的DDR中,通过Qt图像界面库生成高清图像上叠加的图形,基于帧缓存进行图形帧存储;通过两路VDMA分别传输图形和图像数据,在PL端的OSD IP核进行硬件叠加,并通过编/解码IP进行HDMI或DVI编码后显示输出。通过该方案可以减轻CPU负担,降低芯片功耗,提高视频的显示帧率与人机交互界面的流畅度,减小设备和芯片体积。
Description
技术领域
本发明属于电子技术领域,尤其涉及一种基于SOC的图形图像叠加显示方法及芯片。
背景技术
高清视频与图形控制界面的叠加显示在很多领域有所应用,如直升机的视频监控中,不仅要求能实时显示侦察目标的状况,还需要显示直升机在飞行过程中的速度、位置、高度等信息,并提供人机操作控制,此时就用到视频图形叠加显示技术。此外,在舰船、海军光电、汽车等领域的显控终端也常会用到。
在传统的方案中,显示控制系统在现实高清视频时,会采用专用的图形处理硬件如显卡、GPU或者专用于视频显示的芯片满足高清视频显示的需求。而显示与控制软件通常部署在工控机中,在桌面操作系统环境下开发和运行人机交互界面。这种基于工控机及GPU进行人机交互显示、高清视频叠加显示的方式,通常设备体积较大、芯片功耗高。
发明内容
有鉴于此,本发明实施例提供了一种基于SOC的图形图像叠加显示方法及芯片,用于解决现有图形图像叠加显示设备体积大、芯片功耗高的问题。
在本发明实施例的第一方面,提供了一种基于SOC的图形图像叠加显示方法,包括:
在PL端基于VDMA实时采集高清图像,并将高清图像缓存在PS端的DDR中,通过Qt图形界面库生成高清图像上叠加的图形,基于帧缓存进行图形帧存储;
通过两路VDMA分别传输图形和图像数据,在PL端的OSD IP核进行硬件叠加,并通过编/解码IP进行HDMI或DVI编码后显示输出。
在本发明实施例的第二方面,提供了一种芯片,至少包括FPGA、ARM和AXI总线,其中,
所述FPGA用于基于VDMA实时采集高清图像,并将高清图像缓存在PS端的DDR中,并在OSD IP核进行硬件叠加,并通过编/解码IP进行HDMI或DVI编码后显示输出;
所述ARM用于通过Qt图形界面库生成高清图像上叠加的图形,基于帧缓存进行图形帧存储;
所述AXI总线用于FPGA与ARM之间进行通信。
本发明实施例中,通过共享图像采集设备与DRM显示设备间的图像帧缓存,并将图像的采集、图像缓存区至硬件显示接口的数据传输、图像编码在SOC的PL端完成,不需要CPU过多的参与,大大减轻CPU的负担,提高了高清图像的显示速率,实现高清图像与交互界面的叠加显示,降低了处理芯片的功耗,并减小设备体积,有效提高了视频的显示帧率与人机交互界面的流畅度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。
图1为本发明一个实施例提供的一种基于SOC的图形图像叠加显示方法的流程示意图;
图2为本发明一个实施例提供的一种图形图像叠加显示原理示意图;
图3为本发明的一个实施例提供的SOC程序设计示意图;
图4为本发明的一个实施例提供的芯片设计结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
应当理解,本发明的说明书或权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。此外,“第一”“第二”用于区分不同对象,并非用于描述特定顺序。
请参阅图1,本发明实施例提供的一种基于SOC的图形图像叠加显示方法的流程示意图,包括:
S101、在PL端基于VDMA实时采集高清图像,并将高清图像缓存在PS端的DDR中,通过Qt图形界面库生成高清图像上叠加的图形,基于帧缓存进行图形帧存储;
所述PL端,即Progarmmable Logic(可编程逻辑器件),可用于实现高清图像采集、编码、图形图像叠加、显示等。
VDMA(Variable Destination Multiple Access,即可变地址多址)是通过AXIStream协议对视频数据在PS与PL端进行搬运,无需关注AXI Stream协议,在BlockDesign设计中只需要把相应信号进行连接即可。
具体的,基于Video in to AXI4-stream的IP核将视频图像信息转换为AXI总线类型的视频流,并通过AXI Video Direct Memory Access写入至ARM端的缓存地址中。
Video in to AXI4-stream用于将视频源(带有同步信号的时钟并行视频数据,即同步sync或消隐blank信号)转换成AXI4-Stream接口形式,实现接口转换。AXI VideoDirect Memory Access用于通过AXI总线读取某个地址区间的视频数据,并能以数据流的形式传输写入缓存中。
其中,所述高清图像上叠加的图形包括基本图形、文字以及人机交互图形界面。在图形界面生成模块中,由ARM中Qt图形界面库生成对应的人机交互图形界面和图像上叠加的基本图形与文字,并存储在缓存中。
进一步的,在所述PS端运行VDMA控制驱动VDMA driver、内存零拷贝驱动DMA-buf、显示设备管理驱动DRM以及图形库Qt的嵌入式Linux操作系统,并通过libdrm应用接口库对多个图层进行管理。
其中,图像采集驱动主要通过控制VDMA将视频流数据写入缓存中,对VDMA的操作在file_operation结构体中实现,通过axicdma_ioctl函数提供对VDMA支持的配置。
S102、通过两路VDMA分别传输图形和图像数据,在PL端的OSD IP核进行硬件叠加,并通过编/解码IP进行HDMI或DVI编码后显示输出。
由两路VDMA组成DRM(Direct Rendering Manager)系统的多层PLANES,分别从对应缓存区中读取图形和图像数据,并在Video on Screen Display(OSD)的IP核中进行硬件叠加,并通过HDMI或DVI接口输出显示。
在一个实施例中,如图2所示,基于VDMA将高清图像缓存在DDR中,在PS(ProcessorSystem)端的Qt图形界面库中生成图形交互界面,并缓存至缓存DDR中。通过两路VDMA分别传输图形和图像数据,在OSD IP核进行多层硬件叠加,并通过HDMI编码输出至显示界面。
其中,在所述PS上运行VDMA控制驱动VDMA driver、内存零拷贝驱动DMA-buf、显示设备管理驱动DRM、帧缓冲FrameBuffer等。
可以理解的是,在DDR显示子系统中,DRM显示子系统的配置包括:Xilinx为DRM相关的硬件IP核提供驱动,并集成在了Linux内核中。在该SoC程序设计的基础上,需要配置DRM显示子系统,为Linux开发者对多个图层的操作提供支持。DRM的配置主要在linux设备树中完成,其中两路VDMA对应DRM显示系统的PLANES(图层),xlnx,encoder-slave节点对应ENCODER(编码器),xlnx,connector-type节点对应CONNECTOR(连接器)。
嵌入式操作系统与运行环境的移植包括:操作系统与运行环境的移植主要包括petalinux,其中包含DRM、图像采集驱动的配置编译的linux系统,并在系统中移植Qt图形界面库,用以生成人机交互界面和叠加的图形文字等;libdrm库,用于在应用层对DRM显示系统进行图层的配置、显示链路的配置、显存管理等。
在另一实施例中,SOC程序设计如图3所示,通过Video into AXI4-stream的IP核将视频图像信息转换为AXI总线类型的视频流,并通过AXI Video Direct Memory Access写入至ARM端的缓存地址中。在PS上生成叠加图形后,通过AXI Interconnect多个IP核进行指令和数据传输。通过两路VDMA分别传输图形和图像数据,在OSD IP核进行硬件叠加,并通过编/解码IP进行显示输出。
还需要说明的是,具体程序设计流程包括:打开图像采集设备、打开DRM显示设备后,导出显示设备缓存文件描述符,并设置设备间共享内存,配置帧缓存与显示链路,设置各图层全局透明度,设置各图层叠加的前后关系,设置叠加图层的显示属性。设置设备间内存共享,设置图像采集通道,开始图像采集后,运行Qt图形界面程序。当程序运行结束,取消图像采集设备的共享内存,停止图像采集并释放连接器。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图4为本发明实施例提供的一种用于图形图像叠加显示的芯片结构示意图,该芯片至少包括FPGA 410、ARM 420和AXI总线430;
其中,所述FPGA 410用于基于VDMA实时采集高清图像,并将高清图像缓存在PS端的DDR中,并在OSD IP核进行硬件叠加,并通过编/解码IP进行HDMI或DVI编码后显示输出。
具体的,基于Video in to AXI4-stream的IP核将视频图像信息转换为AXI总线类型的视频流,并通过AXI Video Direct Memory Access写入至ARM端的缓存地址中。
所述ARM 420用于通过Qt图形界面库生成高清图像上叠加的图形,基于帧缓存进行图形帧存储;
所述高清图像上叠加的图形包括基本图形、文字以及人机交互图形界面。
所述AXI总线430用于FPGA与ARM之间进行通信。
其中,在所述ARM上运行VDMA控制驱动VDMA driver、内存零拷贝驱动DMA-buf、显示设备管理驱动DRM以及图形库Qt的嵌入式Linux操作系统,并通过libdrm应用接口库对多个图层进行管理。
其中,通过AXI总线控制FPGA软核对高清图像采集、编码及图形图像叠加、显示进行配置。
本实施例中,通过dma-buf机制共享图像采集设备与DRM显示设备之间的图像帧缓存,且图像的采集、图像缓存区至硬件显示接口的数据传输、图像编码都通过SOC的PL端完成,不需要CPU过多的参与,大大减少了CPU的负担,提高了高清图像的显示速率。实测表明,在显示同一分辨率的图像下,通过该叠加方案显示时与通过CPU直接叠加显示时CPU占用率从89%降至13%,帧率从11fps提升至30fps左右,满足常用的显示需求。
本实施例提供的芯片可以是适用于ZYNQ系列、国产复旦微系列等ARM+FPGA异构芯片。
所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程可以参考前述方法实施例中对应的过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于SOC的图形图像叠加显示方法,其特征在于,包括:
在PL端基于VDMA实时采集高清图像,并将高清图像缓存在PS端的DDR中,通过Qt图形界面库生成高清图像上叠加的图形,基于帧缓存进行图形帧存储;
通过两路VDMA分别传输图形和图像数据,在PL端的OSD IP核进行硬件叠加,并通过编/解码IP进行HDMI或DVI编码后显示输出。
2.根据权利要求1所述的方法,其特征在于,所述高清图像上叠加的图形包括基本图形、文字以及人机交互图形界面。
3.根据权利要求1所述的方法,其特征在于,在所述PS端运行VDMA控制驱动VDMAdriver、内存零拷贝驱动DMA-buf、显示设备管理驱动DRM以及图形库Qt的嵌入式Linux操作系统,并通过libdrm应用接口库对图层进行管理。
4.根据权利要求1所述的方法,其特征在于,所述在PL端基于VDMA实时采集高清图像包括:
通过AXI总线控制PL端软核对高清图像采集、编码及图形图像叠加、显示进行配置。
5.根据权利要求1所述的方法,其特征在于,所述将高清图像缓存在PS端的DDR中具体为:
基于Video in to AXI4-stream的IP核将视频图像信息转换为AXI总线类型的视频流,并通过AXI Video Direct Memory Access写入至ARM端的缓存地址中。
6.一种芯片,其特征在于,至少包括FPGA、ARM和AXI总线,其中,
所述FPGA用于基于VDMA实时采集高清图像,并将高清图像缓存在PS端的DDR中,并在OSD IP核进行硬件叠加,并通过编/解码IP进行HDMI或DVI编码后显示输出;
所述ARM用于通过Qt图形界面库生成高清图像上叠加的图形,基于帧缓存进行图形帧存储;
所述AXI总线用于FPGA与ARM之间进行通信。
7.根据权利要求6所述的芯片,其特征在于,所述高清图像上叠加的图形包括基本图形、文字以及人机交互图形界面。
8.根据权利要求6所述的芯片,其特征在于,在所述ARM上运行VDMA控制驱动VDMAdriver、内存零拷贝驱动DMA-buf、显示设备管理驱动DRM以及图形库Qt的嵌入式Linux操作系统,并通过libdrm应用接口库对图层进行管理。
9.根据权利要求6所述的芯片,其特征在于,所述基于VDMA实时采集高清图像包括:
通过AXI总线控制FPGA软核对高清图像采集、编码及图形图像叠加、显示进行配置。
10.根据权利要求6所述的芯片,其特征在于,所述将高清图像缓存在PS端的DDR中具体为:
基于Video in to AXI4-stream的IP核将视频图像信息转换为AXI总线类型的视频流,并通过AXI Video Direct Memory Access写入至ARM端的缓存地址中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530096.9A CN114416635A (zh) | 2021-12-14 | 2021-12-14 | 一种基于soc的图形图像叠加显示方法及芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530096.9A CN114416635A (zh) | 2021-12-14 | 2021-12-14 | 一种基于soc的图形图像叠加显示方法及芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416635A true CN114416635A (zh) | 2022-04-29 |
Family
ID=81268385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111530096.9A Pending CN114416635A (zh) | 2021-12-14 | 2021-12-14 | 一种基于soc的图形图像叠加显示方法及芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416635A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829897A (zh) * | 2023-02-17 | 2023-03-21 | 湖北芯擎科技有限公司 | 一种图像融合处理方法、装置、电子设备及介质 |
CN116775316A (zh) * | 2023-08-23 | 2023-09-19 | 北京芯驰半导体科技有限公司 | 动态调整2d图像处理引擎dma通道资源的方法及系统 |
CN117742863A (zh) * | 2023-12-19 | 2024-03-22 | 广州创龙电子科技有限公司 | 一种基于Qt和GStreamer结合的多媒体处理方法、系统 |
-
2021
- 2021-12-14 CN CN202111530096.9A patent/CN114416635A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115829897A (zh) * | 2023-02-17 | 2023-03-21 | 湖北芯擎科技有限公司 | 一种图像融合处理方法、装置、电子设备及介质 |
CN115829897B (zh) * | 2023-02-17 | 2023-06-06 | 湖北芯擎科技有限公司 | 一种图像融合处理方法、装置、电子设备及介质 |
CN116775316A (zh) * | 2023-08-23 | 2023-09-19 | 北京芯驰半导体科技有限公司 | 动态调整2d图像处理引擎dma通道资源的方法及系统 |
CN116775316B (zh) * | 2023-08-23 | 2023-10-27 | 北京芯驰半导体科技有限公司 | 动态调整2d图像处理引擎dma通道资源的方法及系统 |
CN117742863A (zh) * | 2023-12-19 | 2024-03-22 | 广州创龙电子科技有限公司 | 一种基于Qt和GStreamer结合的多媒体处理方法、系统 |
CN117742863B (zh) * | 2023-12-19 | 2024-05-28 | 广州创龙电子科技有限公司 | 一种基于Qt和GStreamer结合的多媒体处理方法、系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114416635A (zh) | 一种基于soc的图形图像叠加显示方法及芯片 | |
JP4327175B2 (ja) | マルチグラフィックプロセッサシステム、グラフィックプロセッサおよび描画処理方法 | |
EP1741089B1 (en) | Gpu rendering to system memory | |
CN100576893C (zh) | 一种集成于视频处理芯片的图形osd控制器 | |
US6985152B2 (en) | Point-to-point bus bridging without a bridge controller | |
US20020135585A1 (en) | Video controller system with screen caching | |
CN101663640A (zh) | 提供合成显示的系统和方法 | |
EP1325470A2 (en) | Shared single block transform in parallel | |
JPH09245179A (ja) | コンピュータグラフィックス装置 | |
CN105094289B (zh) | 一种实现图形用户交互界面的方法、设备及系统 | |
JPH07501164A (ja) | ビデオ/グラフィックメモリシステム | |
CN114840339A (zh) | Gpu服务器、数据计算方法及电子设备 | |
CN101127847A (zh) | 一种在屏显示的合成方法及合成装置 | |
JPH1074263A (ja) | コンピュータ・グラフィックス・システム | |
CN113892134A (zh) | 具有优化的性能的多媒体系统 | |
US10394522B2 (en) | Display controller | |
CN111045623B (zh) | 一种多gpu拼接环境下图形命令的处理方法 | |
KR20190005035A (ko) | 영상 처리 장치 및 상기 영상 처리 장치의 제어 방법 | |
JPH1069548A (ja) | コンピュータ・グラフィックス・システム | |
CN112581575A (zh) | 一种外视频做纹理系统 | |
Toledo et al. | FPGA-based platform for image and video processing embedded systems | |
WO2024078111A1 (zh) | 界面渲染的方法及电子设备 | |
CN205247878U (zh) | 基于异构图形处理核心的显示切换装置 | |
KR100978814B1 (ko) | 단일 애플리케이션 프로세서로 멀티 3d 그래픽을 디스플레이하는 그래픽 가속 시스템 및 그 방법 | |
CN115756366A (zh) | 用于Android系统的显示装置与显示方法 |
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 |