CN116775316A - 动态调整2d图像处理引擎dma通道资源的方法及系统 - Google Patents
动态调整2d图像处理引擎dma通道资源的方法及系统 Download PDFInfo
- Publication number
- CN116775316A CN116775316A CN202311062105.5A CN202311062105A CN116775316A CN 116775316 A CN116775316 A CN 116775316A CN 202311062105 A CN202311062105 A CN 202311062105A CN 116775316 A CN116775316 A CN 116775316A
- Authority
- CN
- China
- Prior art keywords
- image
- data
- dma
- processing engine
- out 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000005070 sampling Methods 0.000 claims abstract description 83
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000012546 transfer Methods 0.000 claims abstract description 11
- 238000013468 resource allocation Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 18
- 239000003086 colorant Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Input (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
一种动态调整2D图像处理引擎DMA通道资源的方法及系统,所述方法包括:从图像信息中,获取所述图像信息对应的图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;确定占用的硬件图层总数;得到所述图像数据的平面个数和图像采样方式各分量字节的比值;得到2D图像处理引擎处理图像任务所需的DMA通道数;得到每个通道上的数据先进先出缓存器容量和指令先进先出缓存器容量;确定访问AXI总线的突发传输数据容量;将所述DMA通道数、数据先进先出缓存器容量、指令先进先出缓存器容量和所述访问AXI总线的突发传输数据容量写入所述2D图像处理引擎寄存器。本申请的方法及系统,有效的提高了G2D处理2D图像数据的速度。
Description
技术领域
本申请涉及集成电路设计技术领域,特别是涉及一种动态调整2D图像处理引擎DMA通道资源的方法及系统。
背景技术
目前SOC芯片中普遍具有独立的图形2D处理引擎(G2D)IP核,用于处理2D图像,比如缩放、格式转换、裁剪、混合、拼接、旋转、矩形填充颜色、快速拷贝等。采用图形2D处理引擎处理简单的2D图像,可以节省CPU/GPU 占用率,提高系统整体图像处理的效率。
但由于芯片成本和面积的要求,芯片内部G2D硬件IP核的DMA FIFO(DMA先入先出缓存器)大小和通道数量有限。G2D DMA的FIFO和通道决定了访问内存上数据的速度,往往是限制G2D 处理2D图像的瓶颈,降低了2D图像处理的速度。如何最大程度利用DMA FIFO和通道的配置,有效的提高G2D 处理2D图像的速度,成为目前亟待解决的问题。
发明内容
为了解决现有技术存在的不足,本申请的目的在于提供一种动态调整2D图像处理引擎DMA通道资源的方法及系统,动态调整G2D的DMA通道和FIFO配置,从而高效的利用G2D,提高SOC中2D图像处理的速度。
为实现上述目的,本申请提供的一种动态调整2D图像处理引擎DMA通道资源的方法,应用于SOC芯片,包括:
从图像信息中,获取所述图像信息对应的图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;
根据所述图层总数,确定占用的硬件图层总数;
根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;
根据所述图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的DMA通道数;
根据所述DMA通道数和DMA先进先出缓存器资源总量,得到每个通道上的数据先进先出缓存器容量和指令先进先出缓存器容量;
根据所述每个通道上的数据先进先出缓存器容量,确定访问AXI总线的突发传输数据容量;
将所述DMA通道数、数据先进先出缓存器容量、指令先进先出缓存器容量和所述访问AXI总线的突发传输数据容量写入所述2D图像处理引擎寄存器;
使能2D图像处理引擎,处理所述图像数据。
进一步地,还包括:
从外部输入的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;
根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;
根据所述图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的RDMA通道数;
根据所述读DMA通道数和读DMA先进先出缓存器资源总量,得到每个读DMA通道上的读数据先进先出缓存器容量和读指令先进先出缓存器容量;
根据每个读DMA通道上的读数据先进先出缓存器容量,确定读AXI总线的突发传输数据容量;
将所述读DMA通道数、所述读数据先进先出缓存器容量、所述读指令先进先出缓存器容量和所述读AXI总线的突发传输数据容量写入所述2D图像处理引擎读寄存器;
使能2D图像处理引擎,处理所述图像数据。
进一步地,还包括:
从2D图像处理引擎输出的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;
根据所述图层总数,确定硬件图层总数;
根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;
根据所述图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的写DMA通道数;
根据所述写DMA通道数和写DMA先进先出缓存器资源总量,得到每个写DMA通道上的写数据先进先出缓存器容量和写指令先进先出缓存器容量;
根据每个写DMA通道上的写数据先进先出缓存器容量,确定写AXI总线的突发传输数据容量;
将所述写DMA通道数、所述写数据先进先出缓存器容量、所述写指令先进先出缓存器容量和所述写AXI总线的突发传输数据容量写入所述2D图像处理引擎读写存器;
使能2D图像处理引擎,处理所述图像数据。
进一步地,所述根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值的步骤,还包括:
根据所述图像格式,得到图像在图像内存中的存储模式和图像采样方式;
根据图像在图像内存中的存储模式,得到图像内存中存储的平面个数;
根据图像采样方式,得到图像各分量字节的比值。
进一步地,所述图像在图像内存中的存储模式,包括:
交错模式:像素颜色YUV三分量交错存储;
半平面模式:像素颜色Y分量单独存储,UV分量交错存储;
全平面模式:像素颜色YUV三分量分别单独存储。
更进一步地,所述图像采样方式,包括:
完全取样:图像各分量字节的比值为4:4:4;
2:1的水平取样,垂直完全采样:图像各分量字节的比值为4:2:2;
2:1的水平取样,垂直2:1采样:图像各分量字节的比值为4:2:0;
4:1的水平取样,垂直完全采样:图像各分量字节的比值为4:1:1。
为实现上述目的,本申请还提供一种动态调整2D图像处理引擎DMA通道资源的系统,包括:
DMA资源配置模块,从图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;根据所述图像数据的平面个数和图像采样方式各分量字节的比值,计算2D图像处理引擎处理图像任务所需的DMA通道数;根据所述DMA通道数和DMA先进先出缓存器资源总量,得到每个通道上的数据先进先出缓存器容量和指令先进先出缓存器容量;根据所述每个通道上的数据先进先出缓存器容量,确定访问AXI总线的突发传输数据容量;将所述DMA通道数、数据先进先出缓存器容量、指令先进先出缓存器容量和所述访问AXI总线的突发传输数据容量写入所述2D图像处理引擎寄存器;使能所述2D图像处理引擎;
2D图像处理引擎,其接受所述DMA资源配置模块的使能,处理所述图像数据。
进一步地,所述DMA资源配置模块,从外部输入的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;根据所述图像数据的平面个数和图像采样方式各分量字节的比值,计算2D图像处理引擎处理图像任务所需的读DMA通道数;根据所述读DMA通道数和读DMA先进先出缓存器资源总量,得到每个读DMA通道上的读数据先进先出缓存器容量和读指令先进先出缓存器容量;根据每个读DMA通道上的读数据先进先出缓存器容量,确定读AXI总线的突发传输数据容量;将所述读DMA通道数、所述读数据先进先出缓存器容量、所述读指令先进先出缓存器容量和所述读AXI总线的突发传输数据容量写入所述2D图像处理引擎读寄存器。
更进一步地,所述DMA资源配置模块,从2D图像处理引擎输出的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;根据所述图像数据的平面个数和图像采样方式各分量字节的比值,计算2D图像处理引擎处理图像任务所需的写DMA通道数;根据所述写DMA通道数和写DMA先进先出缓存器资源总量,得到每个写DMA通道上的写数据先进先出缓存器容量和写指令先进先出缓存器容量;根据每个写DMA通道上的写数据先进先出缓存器容量,确定写AXI总线的突发传输数据容量;将所述写DMA通道数、所述写数据先进先出缓存器容量、所述写指令先进先出缓存器容量和所述写AXI总线的突发传输数据容量写入所述2D图像处理引擎读写存器。
为实现上述目的,本申请还提供一种SOC芯片,包括如上所述的动态调整2D图像处理引擎DMA通道资源的系统。
为实现上述目的,本申请还提供一种车机,包括如上所述的SOC芯片。
为实现上述目的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,当计算机指令运行时执行如上所述的动态调整2D图像处理引擎DMA通道资源的方法的步骤。
本申请的动态调整2D图像处理引擎DMA通道资源的方法及系统,通过从图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;根据所述图像数据的平面个数和图像采样方式各分量字节的比值,计算2D图像处理引擎处理图像任务所需的DMA通道数;根据所述DMA通道数和DMA先进先出缓存器资源总量,得到每个通道上的数据先进先出缓存器容量和指令先进先出缓存器容量;根据所述每个通道上的数据先进先出缓存器容量,确定访问AXI总线的突发传输数据容量;将所述DMA通道数、数据先进先出缓存器容量、指令先进先出缓存器容量和所述访问AXI总线的突发传输数据容量写入所述2D图像处理引擎寄存器;使能2D图像处理引擎,处理所述图像数据。由此,可以自动识别图像信息生成最优DMA资源配置,突破限制G2D 处理2D图像速度的瓶颈,最大程度利用DMA FIFO和通道的配置,提高了G2D 处理2D图像的速度。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,并与本申请的实施例一起,用于解释本申请,并不构成对本申请的限制。在附图中:
图1为根据本申请实施例的动态调整2D图像处理引擎DMA通道资源的方法流程图;
图2为根据本申请实施例的图像在内存中存储的平面个数示意图;
图3为根据本申请实施例的动态调整2D图像处理引擎DMA通道资源的系统结构示意图;
图4为根据本申请实施例的SOC芯片结构示意图;
图5为根据本申请实施例的车机结构框图。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块、单元或数据进行区分,并非用于限定这些装置、模块、单元或数据所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
需要注意,本发明提及的技术术语:
G2D(Graphic 2D ):2D图像处理引擎;
DMA(Direct Memory Access):直接存储器访问控制器;
RDMA(Read Direct Memory Access):读直接存储器访问控制器;
WDMA(Write Direct Memory Access):写直接存储器访问控制器;
CFIFO (cmd FIFO):命令先进先出缓存器;
DFIFO(Data FIFO):数据先进先出缓存器;
RCFIFO(read cmd FIFO):读命令先进先出缓存器;
RDFIFO(read Data FIFO):读数据先进先出缓存器;
WCFIFO(write cmd FIFO):写命令先进先出缓存器;
WDFIFO(write read Data FIFO):写数据先进先出缓存器;
AXI(Advanced Microcontroller Bus Architecture):AXI总线;
Burst:在数据传输的范畴中,使用 burst 来表示一种传输模式:在一段时间中,连续地传输多个(地址相邻的)数据,称为突发传输数据或者猝发传输数据。
下面,将参考附图详细地说明本申请的实施例。
实施例1
图1为根据本申请实施例的动态调整2D图像处理引擎DMA通道资源的方法流程图,下面将参考图1,对本申请实施例的动态调整2D图像处理引擎DMA通道资源的方法进行详细描述。
首先,在步骤101,从图像信息中,获取图像信息对应的图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址。
本申请实施例中,图像信息包括从外部图像源输入的图像信息以及2D图像处理引擎输出的图像信息。在图像信息中,包含有对应的图像数据的图层数量、每个图层的图像格式,以及图像数据的内存地址。
本申请实施例中,SOC芯片的DMA资源配置模块从外部图像源输入的图像信息和2D图像处理引擎输出的图像信息中,获取对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址。
本申请实施例中,图像格式包括但不限于以下一种或多种:
NV21格式:采用YUV 4:2:0的采样方式,垂直方向上每两个像素采样一次,水平方向上每个像素采样两次。NV21的Y分量是亮度信息,V和U分量是色度信息(分别代表饱和度和色调)。
NV12格式:采用YUV 4:2:0的采样方式,NV12的Y、V、U三个分量分别采用不同的采样率,即垂直方向上每两个像素采样一次,水平方向上每隔一个像素采样一次。
YV12格式:采用YUV 4:2:0的采样方式,YV12的Y、V、U三个分量分别采用不同的采样率,即垂直方向上每两个像素采样一次,水平方向上每隔一个像素采样一次。
RGB格式:采用红、绿、蓝三种颜色组成图像。RGB的R、G、B三个分量分别表示红色、绿色和蓝色的强度。RGB图像中的每个像素都需要三个值来表示颜色,因此它的数据排列方式是按照红、绿、蓝的顺序排列。
RGBA格式:与RGB格式类似,但RGBA格式额外包含了一个Alpha通道,用于表示像素的透明度。RGBA的R、G、B三个分量分别表示红色、绿色和蓝色的强度,A表示透明度。
RGBX8888格式:与RGBA格式类似,但RGBX8888格式将像素的颜色和透明度信息都存储在32位整型中。RGBX8888的R、G、B三个分量分别表示红色、绿色和蓝色的强度,X表示透明度。
YUY2格式:采用YUV 4:2:2的采样方式。YUY2格式的Y分量是亮度信息,U和V分量是色度信息(分别代表饱和度和色调)。YUY2格式在水平方向上每隔一个像素采样一次,垂直方向上每隔两个像素采样一次。
UYVY:同样采用YUV 4:2:2的采样方式。UYVY格式的Y分量是亮度信息,U和V分量是色度信息(分别代表饱和度和色调)。UYVY格式在水平方向上每隔一个像素采样一次,垂直方向上每隔两个像素采样一次。
本申请实施例中,图层,是指在图像处理中,将图像分成不同的层级,每一层可以单独编辑和控制其透明度、延时、大小等属性。通过图层可方便地对图像进行修改和调整,同时也难怪保留原始图像的完整性,方便后续的修改和处理。
在步骤102,根据获取的图层总数,确定占用硬件图层总数。
本申请实施例中,SOC芯片的DMA资源配置模块根据从外部图像源输入的图像信息和从2D图像处理引擎输出的图像信息中获取对应的图像数据的图层数量,得到图像数据占用硬件图层总数。
在步骤103,根据图像格式,得到图像数据的平面个数和图像采样方式各分量字节的比值。
本申请实施例中,DMA资源配置模块根据从外部图像源输入的图像信息或从2D图像处理引擎输出的图像信息中获取的图像格式,得到图像在图像内存中的存储模式和图像采样方式。
图像数据的平面个数,与图像在内存中的存储模式有关。
本申请实施例中,DMA资源配置模块根据图像在图像内存中的存储模式,得到图像内存中存储的平面个数。图像在图像内存中的存储模式,包括:交错存储模式、半平面存储模式以及全平面存储模式。
图2为根据本申请实施例的图像在内存中存储的平面个数示意图,如图2所示,采用交错存储模式,像素颜色的YUV分量交错存储,在图像内存中存储的平面个数为1个;采用半平面存储模式,像素颜色Y分量单独存储,像素颜色UV分量交错存储,在图像内存中存储的平面个数为2个;采用全平面存储模式,像素颜色的YUV单独存储,在图像内存中存储的平面个数为3个。
本申请实施例中,DMA资源配置模块根据图像采样方式,得到图像各分量字节的比值。
下面对图像采样方式进行说明:
大多数YUV格式平均使用的每像素位数都少于24位元。主要的图像采样(subsample)方式有:YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和YCbCr 4:4:4。YUV的表示法称为A:B:C表示法:
4:4:4表示完全取样:采样后的每个像素位数:8+8+8;
4:2:2表示2:1的水平取样、垂直完全采样:采样后的每个像素位数:8+4+4;
4:2:0表示2:1的水平取样、垂直2:1采样:采样后的每个像素位数:8+2+2;
4:1:1表示4:1的水平取样、垂直完全采样:采样后的每个像素位数:8+4+4。
本申请实施例中,以NV21格式为例,其图像在内存中的存储方式半平面存储模式,平面个数为2,采样方式为YUV 4:2:0采样,各分量字节的比值为1:1。
在步骤104,根据图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的DMA通道数。
本申请实施例中,DMA资源配置模块根据外部图像源输入的图像信息对应的图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的读DMA通道数。
本申请实施例中,DMA资源配置模块根据2D图像处理引擎输出的图像信息对应的图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的读DMA通道数。
本申请实施例中,外部图像源输入的图像信息对应的图像数据和2D图像处理引擎输出的图像信息对应的图像数据如采用NV21格式,则图像在内存中的存储方式半平面存储模式,平面个数为2,采样方式为YUV 4:2:0采样,各分量字节的比值为1:1,硬件图层的通道的配置比值1:1:0,得到的2D图像处理引擎处理图像任务所需的RDMA(读DMA)通道数和WDMA(写DMA)通道数均为2个。
在步骤105,根据DMA通道数和DMA先进先出缓存器资源总量,得到每个通道上的DFIFO(数据先进先出缓存器)容量和CFIFO(指令先进先出缓存器)容量。
本申请实施例中,DMA资源配置模块根据RDMA通道数和RDMA先进先出缓存器资源总量,得到每个RDMA通道上的RDFIFO(读数据先进先出缓存器)容量和RCFIFO(读指令先进先出缓存器)容量。
本申请实施例中,DMA资源配置模块根据WDMA通道数和WDMA先进先出缓存器资源总量,得到每个WDMA通道上的WDFIFO(写数据先进先出缓存器)容量和WCFIFO(写指令先进先出缓存器)容量。
在步骤106,根据每个通道上的数据先进先出缓存器容量,确定访问AXI总线的突发传输数据容量。
本申请实施例中,DMA资源配置模块根据每个RDMA通道上的RDFIFO容量,确定读AXI总线的Burst(突发传输数据)容量。
读AXI总线的burst大小的计算公式:
4 x RDMAchanel = RDFIFO缓存总容量 / burst;
Burst = 2^y ;y = [0-6];
其中, RDMAchanel为RDMA通道的数量,RDFIFO为每个RDMA通道上的读数据先进先出缓存器容量,burst为读AXI总线的突发传输数据容量,y为配置到寄存器中的值。
本申请实施例中,DMA资源配置模块还根据每个WDMA通道上的WDFIFO容量,确定读AXI总线的突发传输数据容量。
其中,WDMAchanel为WDMA通道的数量,WDFIFO为每个WDMA通道上的写数据先进先出缓存器容量,burst为读AXI总线的突发传输数据容量,y为配置到寄存器中的值。
在步骤107,将DMA通道数、数据先进先出缓存器容量、指令先进先出缓存器容量和访问AXI总线的突发传输数据容量写入2D图像处理引擎寄存器。
本申请实施例中,DMA资源配置模块分别将RDMA通道数、读数据先进先出缓存器容量、读指令先进先出缓存器容量和读AXI总线的burst容量写入2D图像处理引擎寄存器,或分别将WDMA通道数、写数据先进先出缓存器容量、写指令先进先出缓存器容量和写AXI总线的burst容量写入2D图像处理引擎寄存器。
本申请实施例中,DMA资源配置模块通过将RDMA通道数、读数据先进先出缓存器容量、读指令先进先出缓存器容量和读AXI总线的burst容量写入2D图像处理引擎寄存器,配置RDMA,以及将WDMA通道数、写数据先进先出缓存器容量、写指令先进先出缓存器容量和写AXI总线的burst容量写入2D图像处理引擎寄存器,配置WDMA,有效地提高了G2D 处理2D图像的速度。
在步骤108,使能2D图像处理引擎,处理图像数据。
本申请实施例中,DMA资源配置模块配置RDMA和WDMA后,使能2D图像处理引擎硬件,2D图像处理引擎处理来自外部的图像数据。
本申请实施例中,DMA资源配置模块通过自动识别图像信息,将RDMA通道数、读数据先进先出缓存器容量、读指令先进先出缓存器容量和读AXI总线的burst容量写入2D图像处理引擎寄存器,生成最优的RDMA配置,以及将WDMA通道数、写数据先进先出缓存器容量、写指令先进先出缓存器容量和写AXI总线的burst容量写入2D图像处理引擎寄存器,生成最优的WDMA配置,有效地提高了G2D 处理2D图像的速度。
本申请实施例中,配置CFIFO的目的是配置某一DMA通道上指令先进先出缓存器的大小,用于向AXI总线发起请求缓存的大小。配置DFIFO 目的是配置某一DMA通道上数据先进先出缓存器大小,用于接收cmd 请求指令发起的从AXI总线上获取的数据缓存大小,然后把这些数据送到下游的G2D 内部图像处理模块做图像处理。
本申请实施例中,通过将上述解析的信息配置到G2D硬件引擎寄存器,在memoryto memory 快速拷贝时,将所有的DMA资源都配置到快速拷贝通路,并把burst设置为最大,此时拷贝速度最快。
实施例2
本申请实施例中,还提供一种动态调整2D图像处理引擎DMA通道资源的系统,如图3所示,本申请实施例提供的动态调整2D图像处理引擎DMA通道资源的系统10,包括:
DMA资源配置模块11,从外部图像源输入的图像信息和2D图像处理引擎输出的图像信息中,获取对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址。
本申请实施例中,DMA资源配置模块11,根据从外部图像源输入的图像信息和从2D图像处理引擎输出的图像信息中获取对应的图像数据的图层数量,得到图像数据占用硬件图层总数。
本申请实施例中,DMA资源配置模块11,根据从外部图像源输入的图像信息或从2D图像处理引擎输出的图像信息中获取的图像格式,得到图像数据的平面个数和图像采样方式各分量字节的比值。
本申请实施例中,DMA资源配置模块11,根据图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的DMA通道数。
本申请实施例中,DMA资源配置模块11,根据外部图像源输入的图像信息对应的图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的读DMA通道数。
本申请实施例中,DMA资源配置模块11,根据2D图像处理引擎输出的图像信息对应的图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的读DMA通道数。
本申请实施例中,DMA资源配置模块11,根据RDMA通道数和RDMA先进先出缓存器资源总量,得到每个RDMA通道上的RDFIFO(读数据先进先出缓存器)容量和RCFIFO(读指令先进先出缓存器)容量。
本申请实施例中,DMA资源配置模块11,根据WDMA通道数和WDMA先进先出缓存器资源总量,得到每个WDMA通道上的WDFIFO(写数据先进先出缓存器)容量和WCFIFO(写指令先进先出缓存器)容量。
本申请实施例中,DMA资源配置模块11,根据每个RDMA通道上的RDFIFO容量,确定读AXI总线的Burst(突发传输数据)容量。
本申请实施例中,DMA资源配置模块11,根据每个WDMA通道上的WDFIFO容量,确定读AXI总线的突发传输数据容量。
本申请实施例中,DMA资源配置模块11,分别将RDMA通道数、读数据先进先出缓存器容量、读指令先进先出缓存器容量和读AXI总线的burst容量写入2D图像处理引擎寄存器,或分别将WDMA通道数、写数据先进先出缓存器容量、写指令先进先出缓存器容量和写AXI总线的burst容量写入2D图像处理引擎寄存器。
本申请实施例中,DMA资源配置模块11,配置RDMA和WDMA后,向2D图像处理引擎12发送使能信号。
2D图像处理引擎12,接收DMA资源配置模块11的使能信号,处理图像数据。
本申请实施例的动态调整2D图像处理引擎DMA通道资源的方法及系统,通过识别用户使用G2D输入源图像格式和使用硬件图层个数,动态调整有限的DMA 通道个数和每个通道上的DFIFO/CFIFO数量,尽可能最大程度利用G2D 上的DMA能力,提高G2D 硬件从DDR获取和写入图像的速度,从而提高G2D 硬件图像处理的速度。
本申请实施例基于多个硬件图层的G2D处理引擎,且可以处理YUV/RGB格式的图像数据。
本申请实施例的动态调整2D图像处理引擎DMA通道资源的方法及系统通过具体调整G2D 硬件引擎上的DMA通道、DFIFO、CFIFO、总线burst,四种配置从而最大化DMA利用率。
本申请实施例的G2D 通过内部DMA来读写内存上的数据。
本申请实施例的将有限的G2D限资源集中分配到对应的通路上,以保证DMA访问内存的速度,从而保证G2D处理的速度。
实施例3
本申请实施例中,还提供一种SOC芯片,如图4所示,本申请的SOC芯片20,包括上述实施例中的动态调整2D图像处理引擎DMA通道资源的系统10。
本申请实施例中,SOC芯片20采用上述实施例中的动态调整2D图像处理引擎DMA通道资源的方法,根据图像数据类型和图像处理的动作实时、动态调整2D图像处理引擎DMA的配置。
实施例4
本申请实施例中,还提供一种车机,如图5所示,本申请的车机30,包括上述实施例中的SOC芯片20。
本申请实施例中,车机30采用上述实施例中的动态调整2D图像处理引擎DMA通道资源的方法,根据图像数据类型和图像处理的动作实时、动态调整2D图像处理引擎DMA的配置。
实施例5
本申请一个实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的系统中所包含的;也可以是单独存在,而未装配入该系统中。上述计算机可读存储介质承载有一个或者多个计算机指令,当上述一个或者多个计算机指令被执行时,实现上述实施例的动态调整2D图像处理引擎DMA通道资源的方法的步骤。
本申请的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本领域普通技术人员可以理解:以上仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.动态调整2D图像处理引擎DMA通道资源的方法,应用于SOC芯片,包括:
从图像信息中,获取所述图像信息对应的图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;
根据所述图层总数,确定占用的硬件图层总数;
根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;
根据所述图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的DMA通道数;
根据所述DMA通道数和DMA先进先出缓存器资源总量,得到每个通道上的数据先进先出缓存器容量和指令先进先出缓存器容量;
根据所述每个通道上的数据先进先出缓存器容量,确定访问AXI总线的突发传输数据容量;
将所述DMA通道数、数据先进先出缓存器容量、指令先进先出缓存器容量和所述访问AXI总线的突发传输数据容量写入所述2D图像处理引擎寄存器;
使能2D图像处理引擎,处理所述图像数据。
2.根据权利要求1所述的动态调整2D图像处理引擎DMA通道资源的方法,其特征在于,还包括:
从外部输入的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;
根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;
根据所述图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的读DMA通道数;
根据所述读DMA通道数和读DMA先进先出缓存器资源总量,得到每个读DMA通道上的读数据先进先出缓存器容量和读指令先进先出缓存器容量;
根据每个读DMA通道上的读数据先进先出缓存器容量,确定读AXI总线的突发传输数据容量;
将所述读DMA通道数、所述读数据先进先出缓存器容量、所述读指令先进先出缓存器容量和所述读AXI总线的突发传输数据容量写入所述2D图像处理引擎读寄存器;
使能2D图像处理引擎,处理所述图像数据。
3.根据权利要求1所述的动态调整2D图像处理引擎DMA通道资源的方法,其特征在于,还包括:
从2D图像处理引擎输出的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;
根据所述图层总数,确定硬件图层总数;
根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;
根据所述图像数据的平面个数、图像采样方式各分量字节的比值、占用硬件图层总数以及图像数据的内存地址,得到2D图像处理引擎处理图像任务所需的写DMA通道数;
根据所述写DMA通道数和写DMA先进先出缓存器资源总量,得到每个写DMA通道上的写数据先进先出缓存器容量和写指令先进先出缓存器容量;
根据每个写DMA通道上的写数据先进先出缓存器容量,确定写AXI总线的突发传输数据容量;
将所述写DMA通道数、所述写数据先进先出缓存器容量、所述写指令先进先出缓存器容量和所述写AXI总线的突发传输数据容量写入所述2D图像处理引擎读写存器;
使能2D图像处理引擎,处理所述图像数据。
4.根据权利要求1-3任一项所述的动态调整2D图像处理引擎DMA通道资源的方法,其特征在于,所述根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值的步骤,还包括:
根据所述图像格式,得到图像在图像内存中的存储模式和图像采样方式;
根据图像在图像内存中的存储模式,得到图像内存中存储的平面个数;
根据图像采样方式,得到图像各分量字节的比值。
5.根据权利要求4所述的动态调整2D图像处理引擎DMA通道资源的方法,其特征在于,所述图像在图像内存中的存储模式,包括:
交错模式:像素颜色YUV三分量交错存储;
半平面模式:像素颜色Y分量单独存储,UV分量交错存储;
全平面模式:像素颜色YUV三分量分别单独存储。
6.根据权利要求4所述的动态调整2D图像处理引擎DMA通道资源的方法,其特征在于,所述图像采样方式,包括:
完全取样:图像各分量字节的比值为4:4:4;
2:1的水平取样,垂直完全采样:图像各分量字节的比值为4:2:2;
2:1的水平取样,垂直2:1采样:图像各分量字节的比值为4:2:0;
4:1的水平取样,垂直完全采样:图像各分量字节的比值为4:1:1。
7.一种动态调整2D图像处理引擎DMA通道资源的系统,其特征在于,包括:
DMA资源配置模块,从图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;根据所述图像数据的平面个数和图像采样方式各分量字节的比值,计算2D图像处理引擎处理图像任务所需的DMA通道数;根据所述DMA通道数和DMA先进先出缓存器资源总量,得到每个通道上的数据先进先出缓存器容量和指令先进先出缓存器容量;根据所述每个通道上的数据先进先出缓存器容量,确定访问AXI总线的突发传输数据容量;将所述DMA通道数、数据先进先出缓存器容量、指令先进先出缓存器容量和所述访问AXI总线的突发传输数据容量写入所述2D图像处理引擎寄存器;使能所述2D图像处理引擎;
2D图像处理引擎,其接受所述DMA资源配置模块的使能,处理所述图像数据。
8.根据权利要求7所述的动态调整2D图像处理引擎DMA通道资源的系统,其特征在于,
所述DMA资源配置模块,从外部输入的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;根据所述图像数据的平面个数和图像采样方式各分量字节的比值,计算2D图像处理引擎处理图像任务所需的读DMA通道数;根据所述读DMA通道数和读DMA先进先出缓存器资源总量,得到每个读DMA通道上的读数据先进先出缓存器容量和读指令先进先出缓存器容量;根据每个读DMA通道上的读数据先进先出缓存器容量,确定读AXI总线的突发传输数据容量;将所述读DMA通道数、所述读数据先进先出缓存器容量、所述读指令先进先出缓存器容量和所述读AXI总线的突发传输数据容量写入所述2D图像处理引擎读寄存器。
9.根据权利要求7所述的动态调整2D图像处理引擎DMA通道资源的系统,其特征在于,
所述DMA资源配置模块,从2D图像处理引擎输出的图像信息中,获取所述图像信息对应图像数据的图层总数、每个图层的图像格式以及图像数据的内存地址;根据所述图层总数,确定硬件图层总数;根据所述图像格式,得到所述图像数据的平面个数和图像采样方式各分量字节的比值;根据所述图像数据的平面个数和图像采样方式各分量字节的比值,计算2D图像处理引擎处理图像任务所需的写DMA通道数;根据所述写DMA通道数和写DMA先进先出缓存器资源总量,得到每个写DMA通道上的写数据先进先出缓存器容量和写指令先进先出缓存器容量;根据每个写DMA通道上的写数据先进先出缓存器容量,确定写AXI总线的突发传输数据容量;将所述写DMA通道数、所述写数据先进先出缓存器容量、所述写指令先进先出缓存器容量和所述写AXI总线的突发传输数据容量写入所述2D图像处理引擎读写存器。
10.一种SOC芯片,其特征在于,包括权利要求7-9任一项所述的动态调整2D图像处理引擎DMA通道资源的系统。
11.一种车机,其特征在于,所述车机,包括权利要求10所述的SOC芯片。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,当计算机指令运行时执行权利要求1-6任一项所述的动态调整2D图像处理引擎DMA通道资源的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062105.5A CN116775316B (zh) | 2023-08-23 | 2023-08-23 | 动态调整2d图像处理引擎dma通道资源的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311062105.5A CN116775316B (zh) | 2023-08-23 | 2023-08-23 | 动态调整2d图像处理引擎dma通道资源的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116775316A true CN116775316A (zh) | 2023-09-19 |
CN116775316B CN116775316B (zh) | 2023-10-27 |
Family
ID=87989807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311062105.5A Active CN116775316B (zh) | 2023-08-23 | 2023-08-23 | 动态调整2d图像处理引擎dma通道资源的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775316B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5886701A (en) * | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
US20080198170A1 (en) * | 2007-02-20 | 2008-08-21 | Mtekvision Co., Ltd. | System and method for dma controlled image processing |
CN114078078A (zh) * | 2020-08-21 | 2022-02-22 | 北京小米移动软件有限公司 | 一种图像格式转换方法、装置及存储介质 |
CN114416635A (zh) * | 2021-12-14 | 2022-04-29 | 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) | 一种基于soc的图形图像叠加显示方法及芯片 |
-
2023
- 2023-08-23 CN CN202311062105.5A patent/CN116775316B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5886701A (en) * | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
US20080198170A1 (en) * | 2007-02-20 | 2008-08-21 | Mtekvision Co., Ltd. | System and method for dma controlled image processing |
CN114078078A (zh) * | 2020-08-21 | 2022-02-22 | 北京小米移动软件有限公司 | 一种图像格式转换方法、装置及存储介质 |
CN114416635A (zh) * | 2021-12-14 | 2022-04-29 | 华中光电技术研究所(中国船舶重工集团公司第七一七研究所) | 一种基于soc的图形图像叠加显示方法及芯片 |
Non-Patent Citations (1)
Title |
---|
唐瑞;姚远程;秦明伟;: "高速图像模拟源的研究与实现", 自动化仪表, no. 08 * |
Also Published As
Publication number | Publication date |
---|---|
CN116775316B (zh) | 2023-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0775971B1 (en) | Ramp generator | |
US8498500B2 (en) | Image processing apparatus and image processing method | |
CN111062858B (zh) | 高效的提前渲染方法、装置及计算机存储介质 | |
US7774521B2 (en) | Method and apparatus for reducing power consumption for isochronous data transfers | |
TWI326830B (en) | Packet processing systems and methods | |
US7629982B1 (en) | Optimized alpha blend for anti-aliased render | |
CN102263880B (zh) | 一种图像缩放的方法和装置 | |
US8345052B1 (en) | Method and system for using a GPU frame buffer in a multi-GPU system as cache memory | |
KR101812300B1 (ko) | 다수의 메모리 채널들을 가진 컴퓨팅 시스템에서의 메모리 버퍼들의 할당 | |
CA2113600C (en) | Video processing unit | |
EP1691549A1 (en) | Method and system for image editing in a mobile multimedia processor | |
EP1691371A2 (en) | Image editor used for editing images in a mobile communication device | |
JP6205742B2 (ja) | 画像処理装置、画像処理方法、及び画像処理プログラム | |
WO2007027409A2 (en) | Combined engine for video and graphics processing | |
EP1691368A2 (en) | An image editor with plug-in capability for editing images in a mobile communication device | |
AU2012218103A1 (en) | Layer blending with Alpha values of edges for image translation | |
CN112835730A (zh) | 图像存储、内存分配、图像合成方法、装置、设备及介质 | |
EP0772831B1 (en) | Bidirectional parallel signal interface | |
CN114302087B (zh) | 一种mipi数据传输模式转换方法、装置及电子设备 | |
CN116775316B (zh) | 动态调整2d图像处理引擎dma通道资源的方法及系统 | |
CN111193916B (zh) | 运算方法 | |
CN113596469B (zh) | 一种软硬结合且高效传输的视频解码方法 | |
US7861012B2 (en) | Data transmitting device and data transmitting method | |
JP2008048130A (ja) | Jpeg画像処理回路 | |
US7864359B2 (en) | Data compression and decompression unit |
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 |