CN111813480A - Gpgpu中的2d桌面拉伸方法、装置及图形处理器 - Google Patents
Gpgpu中的2d桌面拉伸方法、装置及图形处理器 Download PDFInfo
- Publication number
- CN111813480A CN111813480A CN202010657600.0A CN202010657600A CN111813480A CN 111813480 A CN111813480 A CN 111813480A CN 202010657600 A CN202010657600 A CN 202010657600A CN 111813480 A CN111813480 A CN 111813480A
- Authority
- CN
- China
- Prior art keywords
- stretching
- stretched
- pixel
- pixels
- command
- 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 34
- 238000012545 processing Methods 0.000 title claims description 9
- 238000000638 solvent extraction Methods 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 24
- 238000004590 computer program Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- 108010074860 Factor Xa Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
Abstract
GPGPU中的2D桌面拉伸方法、装置及图形处理器,包括:将待拉伸的像素分块;利用多个拉伸部件对每块像素进行拉伸。采用本申请中的方案,整个拉伸操作过程高效,极大的加速了复杂3D应用场景下2D桌面流畅度。
Description
技术领域
本申请涉及GPGPU技术,具体地,涉及一种GPGPU中的2D桌面拉伸方法、装置及图形处理器。
背景技术
操作系统按其应用领域分为桌面操作系统、服务器操作系统、嵌入式操作系统。其中,桌面操作系统应用最为普遍,桌面操作系统基本功能是实现人机交互,人机交互过程中追求流畅的桌面窗口显示效果,从而带来友好的体验。
目前,主流桌面操作系统有MAC OS、LINUX、WINDOWS、国产中标麒麟、银河麒麟、UOS桌面系统等,像素操作的特点在于数据量庞大,操作次数极其频繁。
实现2D桌面通常由软件直接来实现,2D桌面性能极大的依赖CPU性能,为了摆脱对CPU的完全依赖,通过通用图形处理器(GPGPU,General-purpose computing on graphicsprocessing units)实现硬件加速。
然而,在某些应用情景下,GPGPU绘图引擎被负责的3D绘图占据时,2D桌面使用时会出现卡顿。
现有技术中存在的问题:
GPGPU绘图引擎被3D绘图占用场景下,2D桌面使用时出现卡顿。
发明内容
本申请实施例中提供了一种GPGPU中的2D桌面拉伸方法、装置及图形处理器,以解决上述技术问题。
根据本申请实施例的第一个方面,提供了一种GPGPU中的2D桌面拉伸方法,包括如下步骤:
将待拉伸的像素分块;
利用多个拉伸部件对每块像素进行拉伸。
根据本申请实施例的第二个方面,提供了一种GPGPU中的2D桌面拉伸装置,包括:派发部件和多个拉伸部件,其中,
所述派发部件,用于将待拉伸的像素分块并派发拉伸命令至多个拉伸部件;
每个拉伸部件,用于对接收到的拉伸命令对应的像素块进行拉伸。
根据本申请实施例的第三个方面,提供了一种图形处理器,包括片上网络NOC、命令解析模块、以及如上所述的GPGPU中的2D桌面拉伸装置;其中,所述片上网络用于各模块互联;所述命令解析模块用于对获取到的拉伸命令进行解析。
采用本申请实施例中提供的GPGPU中的2D桌面拉伸方法、装置及图形处理器,通过独立的2D拉伸实现方案,简单、快速的实现2D桌面的拉伸操作,硬件资源占用较少、性能极高,且不受限于复杂的3D应用场景,达到流畅的2D桌面显示效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例一中GPGPU中的2D桌面拉伸方法实施的流程示意图;
图2示出了本申请实施例二中GPGPU中的2D桌面拉伸装置的结构示意图;
图3示出了本申请实施例三中图形处理器的结构示意图;
图4示出了本申请实施例四中GPGPU中2D桌面拉伸装置的结构示意图;
图5示出了本申请实施例四中像素横向拉大的块拷贝相对关系示意图;
图6示出了本申请实施例四中像素拉大纵向分块的示意图;
图7示出了本申请实施例五中像素横向拉小的块拷贝相对关系示意图;
图8示出了本申请实施例五中像素拉小横向分块的示意图;
图9示出了本申请实施例六中像素横向纵向拉大的块拷贝相对关系示意图。
具体实施方式
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
图1示出了本申请实施例一中GPGPU中的2D桌面拉伸方法实施的流程示意图。
如图所示,所述GPGPU中的2D桌面拉伸方法包括:
步骤101、将待拉伸的像素分块;
步骤102、利用多个拉伸部件对每块像素进行拉伸。
采用本申请实施例中提供的GPGPU中的2D桌面拉伸方法,通过独立的2D拉伸实现方案,简单、快速的实现2D桌面的拉伸操作,硬件资源占用较少、性能极高,且不受限于复杂的3D应用场景,达到流畅的2D桌面显示效果。
在一种实施方式中,所述将待拉伸的像素分块,包括:
获取拉伸命令;所述拉伸命令中包括待拉伸的像素的大小;
根据所述待拉伸的像素的大小以及拉伸部件的个数N将所述待拉伸的像素分成N块,对每块像素生成该像素块对应的拉伸命令;所述拉伸命令中包括该像素块的地址。
在一种实施方式中,所述将所述待拉伸的像素分成N块,包括:
在所述待拉伸的像素的宽大于所述待拉伸的像素的高时,对所述所述待拉伸的像素进行横向分块;
在所述待拉伸的像素的宽小于所述待拉伸的像素的高时,对所述所述待拉伸的像素进行纵向分块。
在一种实施方式中,所述利用多个拉伸部件对每块像素进行拉伸,包括:
每个拉伸部件读取该拉伸部件所需拉伸的像素块的源数据;
根据读取的源数据进行像素对齐后进行拉伸;
对拉伸后的每个位置点进行色域转换;
根据目标对象的起始地址进行对齐后将像素写入帧存。
在一种实施方式中,每个拉伸部件读取源数据可以从内存或者帧存读取源数据,然后写入双口RAM。
在一种实施方式中,采用线性像素读取源数据或者可配置块模式读取源数据。
在一种实施方式中,所述拉伸,包括:
将目标对象的像素块的地址乘以拉伸的比例因子,得到拉伸前的地址;
根据所述拉伸前的地址读取该地址的源数据并按照所述拉伸的比例因子进行拉伸后存储至目标对象像素块地址;
所述拉伸的比例因子为根据待拉伸的像素的大小与接收到的目标像素的大小计算得到。
实施例二
基于同一发明构思,本申请实施例提供了一种GPGPU中的2D桌面拉伸装置,该装置解决技术问题的原理与一种GPGPU中的2D桌面拉伸方法相似,重复之处不再赘述。
图2示出了本申请实施例二中GPGPU中的2D桌面拉伸装置的结构示意图。
如图所示,所述GPGPU中的2D桌面拉伸装置包括:派发部件和多个拉伸部件,其中,
所述派发部件,用于将待拉伸的像素分块并派发拉伸命令至多个拉伸部件;
每个拉伸部件,用于对接收到的拉伸命令对应的像素块进行拉伸。
采用本申请实施例中提供的GPGPU中的2D桌面拉伸方法,通过独立的2D拉伸实现方案,简单、快速的实现2D桌面的拉伸操作,硬件资源占用较少、性能极高,且不受限于复杂的3D应用场景,达到流畅的2D桌面显示效果。
在一种实施方式中,所述拉伸部件,包括:
源数据读取单元,用于读取该拉伸部件所需拉伸的像素块的源数据;
对齐单元,用于对源数据和目标数据进行像素边界对齐;
拉伸单元,用于对像素对齐后的数据进行拉伸;
色域转换单元,用于对拉伸后的每个位置点进行色域转换;
控制单元,用于将像素写入帧存。
在一种实施方式中,所述拉伸部件进一步包括:
随机存储器RAM,用于存储像素块的源数据;
缓冲区FIFO,用于存储拉伸后的像素,并在非空状态时启动Burst操作。
在一种实施方式中,所述派发部件,包括:
命令获取单元,用于获取拉伸命令;所述拉伸命令中包括待拉伸的像素的大小;
命令派发单元,用于根据所述待拉伸的像素的大小以及拉伸部件的个数N将所述待拉伸的像素分成N块,对每块像素生成该像素块对应的拉伸命令并派发至拉伸部件;所述拉伸命令中包括该像素块的地址。
实施例三
基于同一发明构思,本申请实施例还提供一种图形处理器,下面进行说明。
图3示出了本申请实施例三中图形处理器的结构示意图。
如图所示,所述图形处理器包括片上网络NOC、命令解析模块、以及如实施例二所述的GPGPU中的2D桌面拉伸装置;其中,所述片上网络用于各模块通信;所述命令解析模块用于对获取到的拉伸命令进行解析。
采用本申请实施例中提供的图形处理器,通过独立的2D拉伸实现方案,简单、快速的实现2D桌面的拉伸操作,硬件资源占用较少、性能极高,且不受限于复杂的3D应用场景,达到流畅的2D桌面显示效果。
实施例四
为了便于本申请的实施,本申请实施例以像素横向拉大为具体实例进行说明。
图4示出了本申请实施例四中GPGPU中2D桌面拉伸装置的结构示意图。
如图所示,包括命令解析模块、派发部件、拉伸扩展引擎、NOC(片上网络,Network-on-Chip)、GDDR(双倍速率同步动态随机存储器,Graphics Double-Data-Rate),其中,拉伸扩展引擎包括八个拉伸部件,每个拉伸部件包括拉伸单元、字节对齐单元、RAM、FIFO。
图5示出了本申请实施例四中像素横向拉大的块拷贝相对关系示意图。
如图所示,假设源对象中包括多个数据块,对每个位置点(X,Y)进行临近拉伸后,得到目标对象中位置点。
以图中左侧灰色区域位置(第一个数据块)为例,横向拉伸后得到图中右侧灰色区域位置(两个数据块)。
假设整个像素的宽高为320*400,想要把它横向拉大为640*400,那么,本申请的拉伸过程可以包括:
1、计算拉伸的比例因子;
X方向比例因子Xa=320/640=0.5;
Y方向比例因子为Ya=400/400=1。
2、命令获取模块获取命令;
3、命令解析模块解析得到拉伸命令;
4、派发部件将所述整个像素分成8块;
由于像素的宽高为320*400,宽小于高,本申请实施例采用纵向分块。
图6示出了本申请实施例四中像素拉大纵向分块的示意图。
如图所示,将像素纵向分为8个像素块(图中竖条形状),每个像素块的像素均为40*400,假设:
第一个像素块的地址为:基地址;
第二个像素块的地址为:基地址+400/8*4*1;
第二个像素块的地址为:基地址+400/8*4*2;
...
5、派发部件将每个像素块的拉伸命令分别派发至8个拉伸部件;
例如:
将拉伸请求和第一个像素块的地址发送至第一个拉伸部件;
将拉伸请求和第二个像素块的地址发送至第二个拉伸部件;
...
6、每个拉伸部件分别从帧存读取源数据写入双口RAM;
例如:
第一个拉伸部件根据第一个像素块的地址从帧存读取第一个像素块的源数据,假设读取第一个像素块的源数据,将其写入RAM。
7、拉伸部件读取双口RAM的源数据,进行目前像素对齐;
例如:读取到的源数据,以16字节像素对齐之后,得到对齐后的原数据。
8、拉伸部件对像素对齐后的数据进行拉伸;
例如:像素对齐后的数据依据目标坐标*拉伸的比例因子Xa,Ya=拉伸后相应坐标的数据。
9、拉伸部件对拉伸后的数据进行相应的色域转换;
例如:拉伸后的数据色域转换前为源数据格式,比如rgb565,横向拉大后,色域转换为目标颜色格式argb8888。
10、拉伸部件依据目标对象的起始地址进行对齐;
例如:假设目标对象的起始地址为任意字节地址,16字节的像素对齐后得到全流水的目标像素。
11、拉伸部件将像素写入FIFO;
12、拉伸部件启动写帧存操作。
在一种实施方式中,FIFO非空状态时可直接启动写帧存Burst操作,若存储带宽足够的情况下,此处Burst操作也可以达到全流水操作性能。
在一种实施方式中,由拉伸部件的控制单元直接产生写帧存操作,同时产生相应的Burst操作,以及字节掩码控制写帧存。
每个拉伸部件输出4个像素,每周期8个拉伸部件可以输出32个像素(RGBA,32bit)。整个拉伸过程简单,高效,极大的加速了复杂3D应用场景下2D桌面流畅度。
实施例五
为了便于本申请的实施,本申请实施例以像素横向拉小为具体实例进行说明。
图7示出了本申请实施例五中像素横向拉小的块拷贝相对关系示意图。
如图所示,假设源对象中包括多个数据块,对每个位置点(X,Y)进行临近拉伸后,得到目标对象中位置点。
以图中左侧灰色区域位置(两个数据块)为例,横向拉小后得到图中右侧灰色区域位置(一个数据块)。
假设整个像素的宽高为800*320,想要把它横向拉小为400*320,那么,本申请的拉伸过程可以包括:
1、计算拉伸的比例因子;
X方向比例因子Xa=800/400=2;
Y方向比例因子为Ya=320/320=1。
2、命令获取模块获取命令;
3、命令解析模块解析得到拉伸命令;
4、派发部件将所述整个像素分成8块;
由于像素的宽高为800*320,宽大于高,本申请实施例采用横向分块。
图8示出了本申请实施例五中像素拉小横向分块的示意图。
如图所示,将像素横向分为8个像素块(图中横条形状),每个像素块的像素均为800*40。
5、派发部件将每个像素块的拉伸命令分别派发至8个拉伸部件;
6、每个拉伸部件分别从帧存读取源数据写入双口RAM;
7、拉伸部件读取双口RAM的源数据,进行目前像素对齐;
8、拉伸部件对像素对齐后的数据进行拉伸;
9、拉伸部件对拉伸后的数据进行相应的色域转换;
例如:拉伸后的数据色域转换前为源数据格式,比如rgb565,横向拉大后,色域转换为目标颜色格式argb8888。
10、拉伸部件依据目标对象的起始地址进行对齐;
11、拉伸部件将像素写入FIFO;
12、拉伸部件启动写帧存操作。
每个拉伸部件输出4个像素,每周期8个拉伸部件可以输出32个像素(RGBA,32bit)。整个拉伸过程简单,高效,极大的加速了复杂3D应用场景下2D桌面流畅度。
实施例六
为了便于本申请的实施,本申请实施例以像素横向纵向拉大为具体实例进行说明。
图9示出了本申请实施例六中像素横向纵向拉大的块拷贝相对关系示意图。
如图所示,假设源对象中包括多个数据块,对每个位置点(X,Y)进行临近拉伸后,得到目标对象中位置点。
以图中左侧灰色区域位置(第一个数据块)为例,横向拉小后得到图中右侧灰色区域位置(四个数据块)。
假设整个像素的宽高为320*400,想要把它横向纵向拉大为640*800,那么,本申请的拉伸过程可以包括:
1、计算拉伸的比例因子;
X方向比例因子Xa=320/640=0.5;
Y方向比例因子为Ya=400/800=0.5。
2、命令获取模块获取命令;
3、命令解析模块解析得到拉伸命令;
4、派发部件将所述整个像素分成8块;
由于像素的宽高为320*400,宽小于高,本申请实施例采用纵向分块。
5、派发部件将每个像素块的拉伸命令分别派发至8个拉伸部件;
6、每个拉伸部件分别从帧存读取源数据写入双口RAM;
7、拉伸部件读取双口RAM的源数据,进行目前像素对齐;
8、拉伸部件对像素对齐后的数据进行拉伸;
9、拉伸部件对拉伸后的数据进行相应的色域转换;
例如:拉伸后的数据色域转换前为源数据格式,比如rgb565,横向拉大后,色域转换为目标颜色格式argb8888。
10、拉伸部件依据目标对象的起始地址进行对齐;
11、拉伸部件将像素写入FIFO;
12、拉伸部件启动写帧存操作。
每个拉伸部件输出4个像素,每周期8个拉伸部件可以输出32个像素(RGBA,32bit)。整个拉伸过程简单,高效,极大的加速了复杂3D应用场景下2D桌面流畅度。
本申请具有如下优点:
1、性能极高:本申请实施例提出的拉伸操作的多部件实现采用流水方式实现以及高效率Burst方式写帧存,每个拉伸部件仅需按照目标起始地址进行流水操作,流水操作包括从RAM读取像素、两级缓存对齐、两级流水执行拉伸操作、流水写回帧存。每个部件的Burst操作可达到128*256bit,相比1024x768显示分辨率,一次可连续操作一行像素;
2、逻辑资源少:本申请实施例支持的拉伸操作占用资源少,高效率电路结构;
3、可复用性强:本申请实施例采用独立的2D拉伸实现,命令接受方式包括三种,配置总线写命令fifo,或从内存、帧存中主动读取命令的ringbuffer模式,采用标准的内部存储总线接口访问帧存,可重用性强,能在GPGPU高性能通用型图形芯片设计重复使用。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种GPGPU中的2D桌面拉伸方法,其特征在于,包括:
将待拉伸的像素分块;
利用多个拉伸部件对每块像素进行拉伸。
2.根据权利要求1所述的方法,其特征在于,所述将待拉伸的像素分块,包括:
获取拉伸命令;所述拉伸命令中包括待拉伸的像素的大小;
根据所述待拉伸的像素的大小以及拉伸部件的个数N将所述待拉伸的像素分成N块,对每块像素生成该像素块对应的拉伸命令;所述拉伸命令中包括该像素块的地址。
3.根据权利要求2所述的方法,其特征在于,所述将所述待拉伸的像素分成N块,包括:
在所述待拉伸的像素的宽大于所述待拉伸的像素的高时,对所述所述待拉伸的像素进行横向分块;
在所述待拉伸的像素的宽小于所述待拉伸的像素的高时,对所述所述待拉伸的像素进行纵向分块。
4.根据权利要求1所述的方法,其特征在于,所述利用多个拉伸部件对每块像素进行拉伸,包括:
每个拉伸部件读取该拉伸部件所需拉伸的像素块的源数据;
根据读取的源数据进行像素对齐后进行拉伸;
对拉伸后的每个位置点进行色域转换;
根据目标对象的起始地址进行对齐后将像素写入帧存。
5.根据权利要求1至4任一所述的方法,其特征在于,所述拉伸,包括:
将目标对象的像素块的地址乘以拉伸的比例因子,得到拉伸前的地址;
根据所述拉伸前的地址读取该地址的源数据并按照所述拉伸的比例因子进行拉伸后存储至目标对象像素块地址;
所述拉伸的比例因子为根据待拉伸的像素的大小与接收到的目标像素的大小计算得到。
6.一种GPGPU中的2D桌面拉伸装置,其特征在于,包括:派发部件和多个拉伸部件,其中,
所述派发部件,用于将待拉伸的像素分块并派发拉伸命令至多个拉伸部件;
每个拉伸部件,用于对接收到的拉伸命令对应的像素块进行拉伸。
7.根据权利要求6所述的装置,其特征在于,所述拉伸部件,包括:
源数据读取单元,用于读取该拉伸部件所需拉伸的像素块的源数据;
对齐单元,用于对源数据跟目标数据进行像素边界对齐;
拉伸单元,用于对像素对齐后的数据进行拉伸;
色域转换单元,用于对拉伸后的每个位置点进行色域转换;
控制单元,用于将像素写入帧存。
8.根据权利要求7所述的装置,其特征在于,所述拉伸部件进一步包括:
随机存储器RAM,用于存储像素块的源数据;
缓冲区FIFO,用于存储拉伸后的像素,并在非空状态时启动Burst操作。
9.根据权利要求6所述的装置,其特征在于,所述派发部件,包括:
命令获取单元,用于获取拉伸命令;所述拉伸命令中包括待拉伸的像素的大小;
命令派发单元,用于根据所述待拉伸的像素的大小以及拉伸部件的个数N将所述待拉伸的像素分成N块,对每块像素生成该像素块对应的拉伸命令并派发至拉伸部件;所述拉伸命令中包括该像素块的地址。
10.一种图形处理器,其特征在于,包括片上网络NOC、命令解析模块、以及如权利要求6至9任一所述的GPGPU中的2D桌面拉伸装置;其中,所述片上网络用于各模块互联;所述命令解析模块用于对获取到的拉伸命令进行解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010657600.0A CN111813480A (zh) | 2020-07-09 | 2020-07-09 | Gpgpu中的2d桌面拉伸方法、装置及图形处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010657600.0A CN111813480A (zh) | 2020-07-09 | 2020-07-09 | Gpgpu中的2d桌面拉伸方法、装置及图形处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111813480A true CN111813480A (zh) | 2020-10-23 |
Family
ID=72842062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010657600.0A Pending CN111813480A (zh) | 2020-07-09 | 2020-07-09 | Gpgpu中的2d桌面拉伸方法、装置及图形处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813480A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020085016A1 (en) * | 1999-01-15 | 2002-07-04 | Val G. Cook | Method and apparatus for stretch blitting using a 3d pipeline |
US20060048062A1 (en) * | 2004-09-01 | 2006-03-02 | Adamson Dale F | Software and method providing graphic user interface for graphics adapter configuration |
US7061500B1 (en) * | 1999-06-09 | 2006-06-13 | 3Dlabs Inc., Ltd. | Direct-mapped texture caching with concise tags |
CN101192131A (zh) * | 2006-11-30 | 2008-06-04 | 重庆优腾信息技术有限公司 | 处理桌面背景的方法、装置及操作系统桌面的界面系统 |
WO2008064613A1 (fr) * | 2006-11-30 | 2008-06-05 | Chongqing Yeahto Information Technology Co., Ltd. | Procédé et appareil pour traiter des fonds de bureau et système d'interface pour un bureau de système d'exploitation |
US20190096117A1 (en) * | 2017-09-28 | 2019-03-28 | Intel Corporation | Leveraging control surface fast clears to optimize 3d operations |
-
2020
- 2020-07-09 CN CN202010657600.0A patent/CN111813480A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020085016A1 (en) * | 1999-01-15 | 2002-07-04 | Val G. Cook | Method and apparatus for stretch blitting using a 3d pipeline |
US7061500B1 (en) * | 1999-06-09 | 2006-06-13 | 3Dlabs Inc., Ltd. | Direct-mapped texture caching with concise tags |
US20060048062A1 (en) * | 2004-09-01 | 2006-03-02 | Adamson Dale F | Software and method providing graphic user interface for graphics adapter configuration |
CN101192131A (zh) * | 2006-11-30 | 2008-06-04 | 重庆优腾信息技术有限公司 | 处理桌面背景的方法、装置及操作系统桌面的界面系统 |
WO2008064613A1 (fr) * | 2006-11-30 | 2008-06-05 | Chongqing Yeahto Information Technology Co., Ltd. | Procédé et appareil pour traiter des fonds de bureau et système d'interface pour un bureau de système d'exploitation |
US20190096117A1 (en) * | 2017-09-28 | 2019-03-28 | Intel Corporation | Leveraging control surface fast clears to optimize 3d operations |
Non-Patent Citations (1)
Title |
---|
周秉锋: "一个基于线性变换的数字图像自由拉伸算法", 北京大学学报(自然科学版), vol. 33, no. 6, pages 1 - 6 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11222240B2 (en) | Data processing method and apparatus for convolutional neural network | |
CN1251155C (zh) | 用于实现全景图形保真过采样的方法和装置 | |
Rupnow et al. | High level synthesis of stereo matching: Productivity, performance, and software constraints | |
CN1287330C (zh) | 用于区带渲染的有效图形状态管理 | |
US9378533B2 (en) | Central processing unit, GPU simulation method thereof, and computing system including the same | |
CN110544290A (zh) | 数据渲染方法及装置 | |
TW209288B (zh) | ||
CN108520489B (zh) | Gpu中一种实现命令解析和顶点获取并行的装置和方法 | |
JP5808407B2 (ja) | アンチエイリアシングされたサンプルの分割ストレージ | |
CN110663064A (zh) | 用于矢量图形和图像处理的并行化流水线 | |
WO2021243899A1 (zh) | 顶点并行处理方法、装置及计算机存储介质、电子设备 | |
CN106340055A (zh) | 一种基于多线程的OpenGL快速绘制方法 | |
CN105718420A (zh) | 数据处理装置及其操作方法 | |
CN115731313A (zh) | Svg格式的图片的处理方法、装置、设备、介质及产品 | |
CN106101712A (zh) | 一种视频流数据的处理方法及装置 | |
CN111460342B (zh) | 页面的渲染展示方法、装置、电子设备及计算机存储介质 | |
US11397615B2 (en) | Methods and apparatuses for coalescing function calls for ray-tracing | |
CN106934757B (zh) | 基于cuda的监控视频前景提取加速方法 | |
CN108024116B (zh) | 一种数据缓存方法及装置 | |
WO2000042571A1 (en) | Method and apparatus for stretch blitting using a 3d pipeline | |
US8982134B2 (en) | Area-based dependency chain analysis of shaders and command stream | |
CN111813480A (zh) | Gpgpu中的2d桌面拉伸方法、装置及图形处理器 | |
US20140176578A1 (en) | Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline | |
CN111813481A (zh) | Gpgpu中2d桌面位图扩展方法、装置及图形处理器 | |
EP3321793A1 (en) | Method and system for real-time slide displaying of scanned image |
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 |