CN103455973B - 一种屏幕图像绘制方法和装置 - Google Patents
一种屏幕图像绘制方法和装置 Download PDFInfo
- Publication number
- CN103455973B CN103455973B CN201210169147.4A CN201210169147A CN103455973B CN 103455973 B CN103455973 B CN 103455973B CN 201210169147 A CN201210169147 A CN 201210169147A CN 103455973 B CN103455973 B CN 103455973B
- Authority
- CN
- China
- Prior art keywords
- screen
- signal
- piecemeal
- density
- memory
- 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
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明涉及一种屏幕图像绘制方法和装置。首先根据屏幕的大小建立内存缓冲区对象;并实时判断对应内存区域的信号密度及更新频率等因素,根据信号密度状况动态的地向屏幕切分控制器发送信号密度信息,根据这些因素进行内存分块,并将相应的动态信号资源按分块分别绘制;最后将分块内存中的图像拷贝到屏幕上。解决了在大屏下,信号频率很高的情况下的动态图像绘制性能和资源占用问题,实现了对海量信号的动态绘制。
Description
技术领域
本发明属于计算机图像处理领域,具体涉及一种屏幕图像绘制方法和装置。
背景技术
现有技术中,一般都是基于当前屏幕大小创建内存对象,将图像首先绘制到该内存对象上,然后再将这个内存对象的图像拷贝到屏幕设备上,从而实现图像的绘制。实时定位信号的大屏幕显示技术中涉及到两个概念:实时定位信号和大屏幕。实时定位信号主要指的是带X,Y的位置信号资源,这些定位信号需要在地图上进行展现,其中定位信号所带的X,Y值都是基于经纬度坐标系的,在将定位信号在屏幕上进行绘制时,需要将这些坐标首先转为屏幕坐标,从而在对应的在屏幕上绘制出来。常用的电脑显示器的分辨率大小一般为1024*768,但大屏幕大小可能由几个或十几个1024*768,这样其总的像素个数就很大。大屏幕显示设备的屏幕的对角线尺寸大都在40英寸以上。
基于windows平台目前使用的此较多的图像绘制技术多是基于GDI+双缓冲方式,也就是先根据屏幕大小创建一个相同大小的内存块,首先在该内存块中将所要绘制的图像绘制到上面,然后将该内存块中的图像整个拷贝到屏幕设备中,从而能实现屏幕无刷新的图像绘制。
在大屏幕领域,分辨率远远大于普通台式机屏幕大小,如果通过传统的图像绘制方式,也会常常引起性能上的问题,严重的会内存不足而造成整个系统的崩溃。具体而言,现有技术中存在以下不足:首先,如果根据大屏的大小来创建个内存对象,则需要占用很大的资源,同时在一次性将一很大的区域拷贝到屏幕设备时,同样容易引起系统的内存不够问题。其次,对动态变化频率此较高的场合,则需要不断的动态刷新整个屏幕,如果信号变化频率此较大,则常常造成死机等问题。
发明内容
针对现有技术中存在的缺陷,为了解决在大屏下,信号频率很高的情况下的动态图像绘制性能和资源占用问题,本发明提供一种屏幕图像绘制方法和装置。该方法和装置采用动态分屏技术,实现对海量信号的动态绘制。
具体地,为达到以上目的,本发明采用的技术方案是:
一种屏幕图像绘制方法,包括以下步骤:(1)内存块初始化,根据当前的屏幕的大小,建立内存块缓冲区;(2)内存分块控制,根据内存区域的屏幕定位信号的信号密度对初始化的内存块进行相应的分块或并块处理;(3)图像分块绘制,按分块分别进行对应块中的定位信号资源绘制,并分别将内存块中的绘制图像拷贝到屏幕,完成图像绘制。
进一步,所述步骤(1)中进一步包括以下步骤:将要绘制的定位信号资源的坐标转换成屏幕坐标。
更进一步,所述步骤(2)中包括以下步骤:2-1)判断当前屏幕区域的信号密度是否大于屏幕信号密度上限参数max,如果大于则将该区域分块;2-2)对每一分块,进一步判断该分块的信号密度大小是否大于屏幕信号密度上限参数max,如果大于屏幕信号密度上限参数max的,屏幕切分控制器对该分块再进行分块;2-3)判断当前分块的信号密度是否小于屏幕信号密度下限参数mi n,如果是,则判断当前的区域是否是根区域,如果不是根区域,则获取同当前区域相邻的内存区域对象;所述根区域是指原始大小的屏幕区域;2-4)判断同当前区域相邻的内存区域对象上的信号密度是否都小于屏幕信号密度下限参数mi n,如果是,则在内存中将这些块区域合并成一个内存对象。
步骤(3)包括以下步骤:3-1)为每一分块分别创建内存DC对象,3-2)分别将每个内存DC对象拷贝到该分块相对应的屏幕区域;所述内存DC是指内存设备内容。
优选地,所述信号为定位信号。
另一个实施方式中,所述步骤(2)包括:步骤2-1),根据屏幕大小和信号密度和/或绘制的频率对屏幕进行分块后,自动检测各个分块的信号密度和绘制频率,如果发现有新的区域信号密度增加,则继续进行分块,直至所设定的一个临界值为止;步骤2-2),如果几个分块区域的信号密度或绘制频率减少,则自动将多个分块合并成。
本发明还提供一种屏幕图像绘制装置,包括1)信号接收模块,用于接收信号;2)屏幕切分控制器,根据屏幕的信号密度信息进行内存区域的分块;3)位置更新控制器,实时判断各分块区域中的信号密度,根据信号密度状况动态地向屏幕切分控制器发出信号密度信息;4)绘制控制器,将分块内存中的绘制图像拷贝到屏幕上。
进一步,所述屏幕切分控制器将要绘制的定位信号资源的坐标转换成屏幕坐标。
更进一步,屏幕切分控制器判断当前屏幕区域的信号密度是否大于屏幕信号密度上限参数max,如果大于则将该区域分块;对每一分块,屏幕切分控制器进一步判断该分块的信号密度大小是否大于屏幕信号密度上限参数max,如果大于屏幕信号密度上限参数max的,屏幕切分控制器对该分块再进行分块;屏幕切分控制器判断当前分块的信号密度是否小于屏幕信号密度下限参数min,如果是,则判断当前的区域是否根区域,如果不是根区域,则获取同当前区域相邻的内存区域对象;判断同当前区域相邻的内存区域对象上的信号密度是否都小于屏幕信号密度下限参数min,如果是,则在内存中将这些块区域合并成一个内存对象。
此外,绘制控制器为每一分块分别创建内存DC对象,分别将每个内存DC对象拷贝到该分块相对应的屏幕区域。
本发明的效果在于:本发明针对传统中对屏幕图像的绘制的问题,提供一种动态分屏图像绘制的方法和装置,从而有效的提高绘制的效率并降低对系统的性能的影响。这种方法尤其在动态信号量大,动态变化的频率高的情况,以及在大屏幕领域更能体现出优势和效果。
附图说明
图1是本发明所述屏幕图像绘制方法的示意图;
图2是本发明所述屏幕图像绘制装置的结构图;
图3是本发明所述屏幕图像绘制方法的流程。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步描述。
由于动态信号的局部性原理,可以认为在一定时间内,信号在指定的一个大的区域中移动,而不会突然从一个位置跳跃到一个很远的位置,特别是对于实时定位信号而言更是如此。因此,本发明对动态信号密度高的区域实现动态分块,附图1是动态分屏原理图,图中的圆点表示动态位置信号。
具体而言,图1示意了一种屏幕图像绘制的方法。包括以下步骤:(1)内存块初始化,根据当前的屏幕的大小,建立内存块缓冲区;(2)内存分块控制,根据内存区域的屏幕定位信号的信号密度对初始化的内存块进行相应的分块或并块处理;(3)图像分块绘制,按分块分别进行对应块中的定位信号资源绘制,并分别将内存块中的绘制图像拷贝到屏幕,完成图像绘制。
更为详细地。首先,根据屏幕大小和动态信号的数据量和绘制的频率对屏幕进行分块。
图1非限制性地描述了对屏幕进行分块的一个实施方式,如图1所示,原始屏幕为根区域,大屏幕的右上角集中了大量的动态位置信号,而其他区域中动态位置信号的分布较少,因此可以将屏幕分为4块(根区域的4个分支)。由此,在内存中动态分成4块,然后每一块分别创建内存DC对象,并进行相应的动态信号绘制,并分别拷贝到整个屏幕区域,从而完成整个屏幕动态信号图像的绘制。
本领域的技术人员应当明白,上述内存DC为“内存设备内容”。为了能够让应用程序在内存中而不是在实际设备中绘图,使用一种称作内存设备内容(memory devicecontext)的特殊设备内容来针对位图操作。内存DC允许系统分配一部分内存来作为虚拟DC,内存DC是应用程序可以临时为在普通绘图区域创建的位图保存色彩数据而在内存中保存的一系列的此特。由于位图和设备是兼容的,所以一个内存DC有时也被称作兼容设备内容。
更进一步,从图1中可以看出,在分块2区域中,所存在的信号密度仍然较大,系统在该区域空间所消耗的资源压力最大,因此,可进一步动态地对原分块2再进行分块,图1中示出了将分块2进一步分割成四块。同样的道理,可根据需要对分块7再进行动态分割。这样根据需要就在内存中动态的将屏幕区域分割成10块,每一块独立渲染刷新,从而能有效的减轻系统的压力,提升动态信号图像绘制的效率。
由于信号的位置是动态变化的,因此,上述分块的过程能够实时调整,即在一次分块后,系统依然会自动的检测各个分块的信号绘制密度和信号频率,如果发现有新的区域密度增加,则继续进行分块,直至所设定的一个临界值为止,如果原某几个分块区域的信号密度或频率减少,则自动的将多个分块合并成一个内存块,从而完成屏幕的动态分屏过程。
本发明还提供了一种屏幕图像绘制装置,参见附图2,该装置包括:一信号接收模块,用于接收信号,在一个优选的但非限制性的实施方式中,所述信号为定位信号。一屏幕切分控制器,其根据接收到消息数据、屏幕的信号密度信息(从位置更新控制器获得)进行内存区域的分块。以及一个位置更新控制器,实时判断个分块区域中的信号密度,根据信号密度状况动态向屏幕切分控制器发出屏幕切分或合并指示。以及一个绘制控制器,按分块分别进行对应块中的信号资源绘制,并将分块内存中的绘制图像拷贝到屏幕上。
与该装置相对应地屏幕图像绘制方法为:
1)通过信号接收模块接收到所有的定位消息;
2)根据接收到消息数据以及屏幕的信号密度信息进行内存区域的分块;
3)位置更新服务器负责将定位信号对新的切块重新绘制到新的内存区域;
4)将分块内存中的图像拷贝到屏幕上。
更具体地,上述装置和方法的更为优选的实施方式可参见附图3。信号接收模块接入信号(例如,实际定位信号)。屏幕切分控制器计算当前屏幕的大小,并将定位信号的经纬度坐标转换成屏幕坐标;根据屏幕的大小设置一个屏幕信号密度上限参数max。屏幕切分控制器判断当前屏幕区域的信号密度是否大于屏幕信号密度上限参数max,如果大于则将该区域分块;对每一分块,屏幕切分控制器进一步判断该分块的信号密度大小是否大于屏幕信号密度上限参数max,如果大于屏幕信号密度上限参数max的,屏幕切分控制器对该分块再进行分块。绘制控制器为每个分块创建内存DC,将转换了坐标的定位信号绘制到内存DC上,并将各个分块的内存DC上的图像拷贝到屏幕设备上。
更进一步,可设置屏幕信号密度下限参数min,屏幕切分控制器实时判断当前屏幕区域(即当前分块)的信号密度是否小于屏幕信号密度下限参数min,如果是,则判断当前的区域是否根区域(即原始大小的屏幕区域,未进行屏幕切分过的区域)。如果不是根区域,则获取同当前区域相邻的内存区域对象,进一步判断同当前区域相邻的内存区域对象上的信号密度是否都小于屏幕信号密度下限参数min,如果是,则在内存中将这些块区域合并成一个内存对象。绘制控制器将定位信号绘制到该合并后的内存DC上,将内存画布上的图像拷贝到屏幕上。
在上述实施方式中,区域信号密度可以用信号数量除以区域面积,和/或该区域中单位时间内信号刷新的频率。另一个实施方式中,上述区域面积可以用像素数量来代替。
本发明从屏幕绘制的性能因素考虑,重点关注了当前绘制区域的大小,当前区域中要绘制的内容及更新频率等因素。所以,本发明采用一种对大屏幕区域进行动态分块的方式,也对信号量及更新频率此较高的区域也相应进行分块处理,分块进行渲染绘制,从而在整体上提高系统的绘制性能。更具体地,本发明所采用的技术方案在分辨率很高的大屏领域以及信号量非常大且频率很高的区域更能体现出其性能的优势。其根据屏幕大小和信号密度在内存中动态分屏,从而避免了一般方式下,不管屏幕大小及信号的频率,都整体绘制的模式,提升系统的绘制效率及性能。能够动态检测信号的的区域密度因素,在密度减低时,自动将多个分块合并成一块。
本发明所述的方法和系统并不限于具体实施方式中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
Claims (10)
1.一种屏幕图像绘制方法,包括以下步骤:(1)内存块初始化,根据当前的屏幕的大小,建立内存块缓冲区;(2)内存分块控制,系统自动检测各个分块的信号密度,依此实时调整内存各分块的分块或并块处理;(3)图像分块绘制,按分块分别进行对应块中的定位信号资源绘制,并分别将内存块中的绘制图像拷贝到屏幕,完成图像绘制。
2.如权利要求1所述的屏幕图像绘制方法,其特征在于:所述步骤(1)中进一步包括以下步骤:将要绘制的定位信号资源的坐标转换成屏幕坐标。
3.如权利要求1所述的屏幕图像绘制方法,其特征在于:所述步骤(2)中包括以下步骤:2-1)判断当前屏幕区域的信号密度是否大于屏幕信号密度上限参数max,如果大于则将该区域分块;2-2)对每一分块,进一步判断该分块的信号密度大小是否大于屏幕信号密度上限参数max,如果大于屏幕信号密度上限参数max的,对该分块再进行分块;2-3)判断当前分块的信号密度是否小于屏幕信号密度下限参数min,如果是,则判断当前的区域是否是根区域,如果不是根区域,则获取同当前区域相邻的内存区域对象;所述根区域是指原始大小的屏幕区域;2-4)判断同当前区域相邻的内存区域对象上的信号密度是否都小于屏幕信号密度下限参数min,如果是,则在内存中将这些块区域合并成一个内存对象。
4.如权利要求1所述的屏幕图像绘制方法,其特征在于:步骤(3)包括以下步骤:3-1)为每一分块分别创建内存DC对象,3-2)分别将每个内存DC对象拷贝到该分块相对应的屏幕区域;所述内存DC是指内存设备内容。
5.如权利要求1所述的屏幕图像绘制方法,其特征在于,所述信号为定位信号。
6.如权利要求1所述的屏幕图像绘制方法,其特征在于,所述步骤(2)包括:步骤2-1),根据屏幕大小和信号密度和/或绘制频率对屏幕进行分块后,自动检测各个分块的信号密度和绘制频率,如果发现有新的区域信号密度增加,则继续进行分块,直至所设定的一个临界值为止;步骤2-2),如果几个分块区域的信号密度或绘制频率减少,则自动将多个分块合并成一个内存块。
7.一种屏幕图像绘制装置,其特征在于,包括1)信号接收模块,用于接收信号;2)屏幕切分控制器,自动检测各个分块的信号密度,依此实时调整内存各分块的分块或并块处理;3)位置更新控制器,实时判断各分块区域中的信号密度,根据信号密度状况动态地向屏幕切分控制器发出信号密度信息;4)绘制控制器,将分块内存中的图像拷贝到屏幕上。
8.如权利要求7所述的屏幕图像绘制装置,其特征在于:所述屏幕切分控制器将要绘制的定位信号资源的坐标转换成屏幕坐标。
9.如权利要求7所述的屏幕图像绘制装置,其特征在于:屏幕切分控制器判断当前屏幕区域的信号密度是否大于屏幕信号密度上限参数max,如果大于则将该区域分块;对每一分块,屏幕切分控制器进一步判断该分块的信号密度大小是否大于屏幕信号密度上限参数max,如果大于屏幕信号密度上限参数max的,屏幕切分控制器对该分块再进行分块;屏幕切分控制器判断当前分块的信号密度是否小于屏幕信号密度下限参数min,如果是,则判断当前的区域是否根区域,如果不是根区域,则获取同当前区域相邻的内存区域对象;判断同当前区域相邻的内存区域对象上的信号密度是否都小于屏幕信号密度下限参数min,如果是,则在内存中将这些块区域合并成一个内存对象。
10.如权利要求9所述的屏幕图像绘制装置,其特征在于:绘制控制器为每一分块分别创建内存DC对象,分别将每个内存DC对象拷贝到该分块相对应的屏幕区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210169147.4A CN103455973B (zh) | 2012-05-28 | 2012-05-28 | 一种屏幕图像绘制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210169147.4A CN103455973B (zh) | 2012-05-28 | 2012-05-28 | 一种屏幕图像绘制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455973A CN103455973A (zh) | 2013-12-18 |
CN103455973B true CN103455973B (zh) | 2017-02-08 |
Family
ID=49738306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210169147.4A Active CN103455973B (zh) | 2012-05-28 | 2012-05-28 | 一种屏幕图像绘制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455973B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745448B (zh) * | 2013-12-24 | 2016-08-17 | 四川大学 | 光栅3d显示中超高分辨率合成图像的快速生成方法 |
CN105242970A (zh) * | 2015-09-17 | 2016-01-13 | Tcl移动通信科技(宁波)有限公司 | 一种基于内存剩余容量调节照相机频率的方法及系统 |
CN105528758B (zh) * | 2016-01-12 | 2018-12-14 | 武汉精测电子集团股份有限公司 | 基于可编程逻辑器件的图像重映射方法及装置 |
CN108805945B (zh) * | 2017-05-02 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 一种图像绘制方法及终端 |
CN112817505A (zh) * | 2021-01-25 | 2021-05-18 | 深圳邦健生物医疗设备股份有限公司 | 软件信息界面显示方法、装置、存储介质及设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266582C (zh) * | 2001-05-06 | 2006-07-26 | 中兴通讯股份有限公司 | 大视图分块缓冲显示方法 |
US20080211825A1 (en) * | 2006-10-12 | 2008-09-04 | Canon Kabushiki Kaisha | Display control apparatus, display apparatus, display control method, and display processing method |
CN101650820B (zh) * | 2009-09-24 | 2011-07-20 | 浙江大学 | 基于多核架构的大图像实时浏览方法 |
CN102290033B (zh) * | 2010-06-17 | 2014-11-05 | 无锡中星微电子有限公司 | 一种刷新图像的方法及装置 |
CN102368779B (zh) * | 2011-01-25 | 2013-04-17 | 麦克奥迪实业集团有限公司 | 一种用于移动互联网设备的超大图像加载显示方法 |
-
2012
- 2012-05-28 CN CN201210169147.4A patent/CN103455973B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103455973A (zh) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455973B (zh) | 一种屏幕图像绘制方法和装置 | |
US7167171B2 (en) | Methods and apparatuses for a polygon binning process for rendering | |
US10699365B2 (en) | Method, apparatus, and storage medium for processing particle system | |
US6683614B2 (en) | System and method for automatically configuring graphics pipelines by tracking a region of interest in a computer graphical display system | |
US8498482B2 (en) | Image segmentation | |
CN103680470B (zh) | 大屏控制的图像显示方法及系统 | |
US20200210766A1 (en) | Image processing apparatus and image processing method thereof | |
TWI474281B (zh) | 多重顯示器控制方法及其系統 | |
GB2455955A (en) | Improving image mask | |
CN104281426B (zh) | 一种图像显示方法及装置 | |
CN102194443A (zh) | 视频画中画窗口的显示方法、系统及视频处理设备 | |
KR102337829B1 (ko) | 로고 검출 방법 및 이를 이용한 표시장치 | |
KR20110080503A (ko) | 타일 기반의 렌더링 장치 및 렌더링 방법 | |
CN111586489A (zh) | 弹幕渲染方法、装置、计算机设备及存储介质 | |
CN103020888A (zh) | 图像平移更新显示方法和系统 | |
CN105701780A (zh) | 一种遥感影像处理方法及系统 | |
CN110110773A (zh) | 一种图像语义分割目标的置信度计算方法 | |
CN112822479A (zh) | 一种用于2d-3d视频转换的深度图生成方法及装置 | |
JP5254250B2 (ja) | ベクトルグラフィックをラスター化するプロセスにおいて境界を発生させるための方法およびシステム、ならびに、システムを製造するための方法 | |
CN104166958A (zh) | 一种感兴趣区域的显示及操作方法 | |
CN104282013B (zh) | 一种用于前景目标检测的图像处理方法及装置 | |
CN109493331B (zh) | 一种基于并行计算算法的两景图像重叠区域快速获取方法 | |
TW200506757A (en) | Method and system for providing useable images on a high resolution display when a 2D graphics window is utilized with a 3D graphics window | |
CN112767278A (zh) | 基于非均匀大气光先验的图像去雾方法及相关设备 | |
JP2016045600A (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |