CN106547505B - 用于实时滑动显示扫描图像的方法及系统 - Google Patents

用于实时滑动显示扫描图像的方法及系统 Download PDF

Info

Publication number
CN106547505B
CN106547505B CN201510609525.XA CN201510609525A CN106547505B CN 106547505 B CN106547505 B CN 106547505B CN 201510609525 A CN201510609525 A CN 201510609525A CN 106547505 B CN106547505 B CN 106547505B
Authority
CN
China
Prior art keywords
image
display
image data
incremental
cache
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
CN201510609525.XA
Other languages
English (en)
Other versions
CN106547505A (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.)
Nuctech Co Ltd
Original Assignee
Nuctech 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 Nuctech Co Ltd filed Critical Nuctech Co Ltd
Priority to CN201510609525.XA priority Critical patent/CN106547505B/zh
Priority to PCT/CN2016/096193 priority patent/WO2017050075A1/zh
Priority to EP16847957.4A priority patent/EP3321793A4/en
Publication of CN106547505A publication Critical patent/CN106547505A/zh
Application granted granted Critical
Publication of CN106547505B publication Critical patent/CN106547505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请涉及用于实时滑动显示扫描图像的方法及系统。一种支持图像变换的用于实时滑动显示扫描图像的方法包括:采集扫描图像,从而得到增量图像数据块;进行增量数据处理,从而根据当前图像变换的状态对增量图像数据块进行处理;将增量图像数据块添加到计算机内存中分配的图像缓存中,图像缓存存储显示屏幕中的图像数据;进行增量显示,从而将增量图像数据块拷贝到显卡的显存中,并利用显卡的显存实时滑动显示增量图像数据块。在获得图像变换请求时,利用图像处理线程对图像缓存中的图像数据进行处理,得到图像变换数据,并设置刷新显示请求信号;利用显示刷新线程根据刷新显示请求信号对图像变换数据分块进行刷新显示。

Description

用于实时滑动显示扫描图像的方法及系统
技术领域
本公开涉及扫描图像显示方法和系统,具体而言,涉及支持图像变换的用于扫描图像实时滑动显示的方法及系统。
背景技术
在大型集装箱检查设备中,目前主要工作模式是,由系统控制站控制扫描过程,由数据处理站采集并保存成X射线图像文件,最后通过图像处理站查验图像。为了能提高检查效率,有时需要对图像进行实时处理和显示,让检查人员能及时高效地进行看图工作。
另外,在X射线图像显示领域,现有很多显示方式,大都借助了GPU处理功能。通过强大的GPU处理器,快速完成算法处理,然后快速交换离屏内存,可立即显示出处理后效果。这些方式优点是不占用CPU资源,处理刷屏速度很快。但缺点是依赖价格较贵的图形处理卡,且不同的图形处理卡在功能兼容上存在较大差异,这就给后续设备硬件维护带来很多隐患。
因此,需要一种在实时扫描和实时显示过程中允许用户实时进行图像处理的方法和系统,并且可以不依赖于GPU等图像处理硬件。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请公开一种支持图像变换的用于实时滑动显示扫描图像的方法及系统,能够以低成本得到较好的显示效果。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提供一种支持图像变换的用于实时滑动显示扫描图像的方法,该方法用于通过显卡在显示屏幕上显示扫描图像,包括:采集扫描图像,从而得到增量图像数据块;进行增量数据处理,从而根据当前图像变换的状态对所述增量图像数据块进行处理;将所述增量图像数据块添加到计算机内存中分配的图像缓存中,所述图像缓存存储显示屏幕中的图像数据;进行增量显示,从而将所述增量图像数据块拷贝到所述显卡的显存中,并利用所述显卡的显存实时滑动显示增量图像数据块。在获得图像变换请求时,利用图像处理线程对所述图像缓存中的图像数据进行处理,得到图像变换数据,并设置刷新显示请求信号;利用显示刷新线程根据所述刷新显示请求信号对所述图像变换数据分块进行刷新显示。
根据一些实施例,每块数据的刷新所需的时间小于显示屏幕的刷新间隔。
根据一些实施例,所述图像处理线程和所述显示刷新线程是以计算机CPU作为处理核心。
根据一些实施例,所述进行增量显示包括:进行增量拷贝,从而将所述增量图像数据块从计算机内存拷贝到所述显存中分配的离屏增量缓存中;进行增量映射,从而将所述离屏增量缓存中的所述增量图像数据块映射到所述显存中分配的离屏后台缓存的空白区;进行显示映射,从而将所述离屏后台缓存中的图像数据滑动映射到所述显存中分配的离屏主缓存从而在所述显示屏幕上显示图像。
根据一些实施例,在进行增量拷贝或增量映射时,如果判断所述空白区不能容纳所述增量图像数据块,则整体移动所述离屏后台缓存中的图像数据以扩大所述空白区,从而容纳所述增量图像数据块。
根据一些实施例,所述滑动映射的移动速度与采集扫描图像的频率相关。
根据一些实施例,所述离屏后台缓存的大小等于所述离屏增量缓存和所述离屏主缓存的大小之和。
根据一些实施例,所述进行增量数据处理还包括:将所述增量图像数据块加到计算机内存的一队列中。
根据一些实施例,所述进行增量拷贝包括:从所述队列中取出所述增量图像数据块并将其拷贝到所述显卡的离屏增量缓存中。
根据一些实施例,所述进行增量拷贝还包括:将从所述队列中取出的所述增量图像数据块加入到计算机内存中的所述图像缓存中。
根据本公开的另一方面,提供一种支持图像变换的用于实时滑动显示扫描图像的系统,用于通过显卡在显示屏幕上显示扫描图像,包括:扫描图像采集模块,用于得到增量图像数据块;图像数据管理模块,包括:增量数据处理模块,用于根据当前图像变换的状态对所述增量图像数据块进行处理;图像缓存维护模块,用于在计算机内存中维护一图像缓存,所述图像缓存存储显示屏幕中的图像数据;图像处理线程,用于在获得图像变换请求时,对所述图像缓存中的图像数据进行处理,得到图像变换数据,并设置刷新显示请求信号;图像数据显示模块,包括:显存管理模块,用于分配显存,维护显存中的图像数据,并执行图像显示滑动映射;以及刷新显示线程,用于根据所述刷新显示请求信号对所述图像变换数据分块进行刷新显示,其中所述图像数据管理模块或所述图像数据显示模块还配置为将所述增量图像数据块添加到计算机内存中的图像缓存中。
根据一些实施例,每块数据的刷新所需的时间小于显示屏幕的刷新间隔。
根据一些实施例,所述图像处理线程和所述显示刷新线程是以计算机CPU作为处理核心。
根据一些实施例,所述显存管理模块配置为:在显存中分配离屏增量缓存、离屏后台缓存和离屏主缓存;进行增量拷贝,从而将所述增量图像数据块从计算机内存拷贝到所述显存的离屏增量缓存中;进行增量映射,从而将所述离屏增量缓存中的所述增量图像数据块映射到所述显存的离屏后台缓存的空白区;进行显示映射,从而将所述离屏后台缓存中的图像数据滑动映射到所述显存的离屏主缓存从而在所述显示屏幕上显示图像。
根据一些实施例,所述显存管理模块还配置为:在进行增量拷贝或增量映射时,如果判断所述空白区不能容纳所述增量图像数据块,则整体移动所述离屏后台缓存中的图像数据以扩大所述空白区,从而容纳所述增量图像数据块。
根据一些实施例,所述滑动映射的移动速度与采集扫描图像的频率相关。
根据一些实施例,所述离屏后台缓存的大小等于所述离屏增量缓存和所述离屏主缓存的大小之和。
根据一些实施例,所述增量数据处理模块还配置为:将所述增量图像数据块加到计算机内存的一队列中。
根据一些实施例,所述进行增量拷贝包括:从所述队列中取出所述增量图像数据块并将其拷贝到所述显卡的离屏增量缓存中。
根据一些实施例,所述进行增量拷贝还包括:将从所述队列中取出的所述增量图像数据块加入到计算机内存中的所述图像缓存中。
根据一些实施例,系统基于Irrlicht显示框架从而具有底层显示平台无关性。
根据本公开的一些实施例的支持图像变换的用于实时滑动显示扫描图像的方法及系统,可以不依赖GPU实现较好的显示效果。另外,根据本公开的一些实施例的支持图像变换的用于扫描图像实时滑动显示的系统,具有较强的兼容性,适用于多种运行平台。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。
图1示意性示出根据本公开一些实施例的支持图像变换的用于X射线图像实时滑动显示的方法;
图2示出根据本公开一些实施例的图像映射过程;
图3示意性示出根据本公开一些实施例的支持图像变换的用于X射线图像实时滑动显示的系统的模块构成。
具体实施例
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际进行的顺序有可能根据实际情况改变。
图1示意性示出根据本公开一些实施例的支持图像变换的用于X射线图像实时滑动显示的方法。
根据本公开的构思,采用多线程并发处理方式以及独立的图像显示刷新线程,并且分配必要的显示内存作为缓冲区进行显示加速。
如图1所示,根据本公开的方法包括如下一些处理。
S410,采集扫描图像,从而得到增量图像数据块。这可以通过例如一些与X射线扫描设备相关的接口调用实现。虽然以X射线扫描设备为例描述本公开的技术方案,但本领域技术人员理解,本公开的方案也可以应用于其他辐射扫描成像设备或其他扫描成像设备。
S420,进行增量数据处理,从而根据当前图像变换的状态对所述增量图像数据块进行处理。例如,图像变换可包括增强、反色等。在得到增量图像数据块后,可以根据当前的图像变换的状态进行增强、反色等处理。当然,如果不需要图像变换,则可不对取得的专利数据块进行处理,或者说进行空处理,但可以统称为进行增量数据处理。
S430,将所述增量图像数据块添加到计算机内存中的图像缓存中,所述图像缓存存储显示屏幕中的图像数据。在图像处理中,可用到这些数据。
根据一些实施例,所述进行增量数据处理还可包括将所述增量图像数据块加到计算机内存的一队列中。
S440,进行增量显示。具体地,可将所述增量图像数据块拷贝到所述显卡的显存中,并利用所述显卡的显存实时滑动显示增量图像数据块。根据本公开,由于直接操纵显存,可以提高显示速度和效果。滑动显示直观理解就是利用一窗口在缓存中的图像数据上移动,从而可实时移动地逐渐显示增量图像数据。滑动显示的基本原理是公知的,此处不再赘述。后面将会说明根据本公开的一种具体实现。
根据一些实施例,增量拷贝包括从所述队列中取出所述增量图像数据块并将其拷贝到所述显卡的离屏增量缓存中,还可同时将从所述队列中取出的所述增量图像数据块加入到计算机内存中的所述图像缓存中。
S450,在获得图像变换请求时,图像处理线程对所述图像缓存中的图像数据进行处理,得到图像变换数据,并设置刷新显示请求信号。所述图像缓存中的图像数据对应于所述离屏后台缓存中的图像数据。
S460,发现所述刷新显示请求信号时,显示刷新线程对所述图像变换数据分块进行刷新显示。
根据本公开的方法,所述图像处理线程和所述显示刷新线程是以计算机CPU作为处理核心。由于采用多线程机制,增量显示过程、图像处理以及显示刷新可以各种独立进行。这样,在没有依赖GPU的情况下,依然能够得到较好的显示效果。而且,由于可以使用较为廉价的图形处理器,可以降低成本。此外,由于根据本公开的方法不依赖于显示硬件,可以避免对特定硬件的依赖,便于系统后期的维护。
根据本公开的方法,由于采用单独线程进行图像处理和显示刷新,因此不影响增量数据的获得、增量图像的显示以及当前屏幕图像的变换处理和显示。
图2示出根据本公开一些实施例的图像映射过程。
参见图2,根据本公开,进行增量显示包括增量拷贝、增量映射及显示映射。
如图2所示,增量拷贝将所述增量图像数据块从计算机内存拷贝到所述显存的离屏增量缓存SurfaceC中。
然后,增量映射将所述离屏增量缓存SurfaceC中的所述增量图像数据块映射到所述显存的离屏后台缓存SurfaceB的空白区。空白区表示不存在可用于显示的图像数据的显示内存区域。
接着显示映射将所述离屏后台缓存SurfaceB中的图像数据映射到所述显存的离屏主缓存SurfaceA从而在所述显示屏幕上显示图像。
离屏增量缓存SurfaceC作为临时交互区,其尺寸较小,这样就可以保证快速地把数据从内存拷贝到显存中。在进行增量拷贝或增量映射时,如果判断空白区不能容纳增量图像数据块,则整体移动离屏后台缓存SurfaceB中的图像数据以扩大空白区,从而容纳增量图像数据块。即,把离屏后台缓存SurfaceB中的数据左移,使得最左边的图像移出显存,然后把SurfaceC增量映射到SurfaceB的空白区中。
在所述离屏增量缓存SurfaceC中的增量图像数据块映射到所述离屏后台缓存SurfaceB的空白区之后,这时可将所述离屏后台缓存SurfaceB中的图像数据滑动映射到所述离屏主缓存,从而平滑地显示出增量图像。滑动映射表示利用与离屏主缓存SurfaceA的大小一致的滑动窗口在离屏后台缓存SurfaceB上移动从而可逐步增量显示图像。滑动映射的基本原理是本领域技术人员所公知的,此处不再赘述。
所述滑动映射的移动速度与采集扫描图像的频率相关。移动速度可表示为滑动映射时每帧的滑动步长(列数)。例如,移动速度=增量数据列数÷(增量数据列数÷采集频率)。
如图2所示,所述离屏后台缓存SurfaceB的大小可等于所述离屏增量缓存SurfaceC和所述离屏主缓存SurfaceA的大小之和。
图3示意性示出根据本公开一些实施例的支持图像变换的用于X射线图像实时滑动显示的系统的模块构成。
如图3所示,根据本公开的用于X射线图像实时滑动显示的系统300可用于通过显卡在显示屏幕上显示扫描图像。系统300可包括扫描图像采集模块310、图像数据管理模块320及图像数据显示模块330。
扫描图像采集模块310可用于得到增量图像数据块。这可以通过例如一些与X射线扫描设备相关的接口调用实现。
图像数据管理模块320可包括:增量数据处理模块322,用于根据当前图像变换的状态对所述增量图像数据块进行处理;图像缓存维护模块324,用于在计算机内存中维护一图像缓存,所述图像缓存存储显示屏幕中的图像数据;图像处理线程326,用于在获得图像变换请求时,对所述图像缓存中的图像数据进行处理,得到图像变换数据,并设置刷新显示请求信号。
图像数据显示模块330可包括:显存管理模块332,用于分配显存,维护显存中的图像数据,并执行图像显示滑动映射;以及刷新显示线程334,用于根据所述刷新显示请求信号对所述图像变换数据分块进行刷新显示。
另外,所述图像数据管理模块320或所述图像数据显示模块330还可配置为将所述增量图像数据块添加到计算机内存中的图像缓存中。
所述显存管理模块332可配置为在显存中分配离屏增量缓存SurfaceC、离屏后台缓存SurfaceB和离屏主缓存SurfaceA。
所述显存管理模块332还可进行增量拷贝,将所述增量图像数据块从计算机内存拷贝到所述显存的离屏增量缓存SurfaceC中。
所述显存管理模块332还可进行增量映射,将所述离屏增量缓存SurfaceC中的所述增量图像数据块映射到所述显存的离屏后台缓存SurfaceB的空白区。
所述显存管理模块332还可进行显示映射,将所述离屏后台缓存SurfaceB中的图像数据滑动映射到所述显存的离屏主缓存SurfaceA从而在所述显示屏幕上显示图像。
显存管理模块332还可配置为,在进行增量拷贝或增量映射时,如果判断空白区不能容纳增量图像数据块,则整体移动离屏后台缓存SurfaceB中的图像数据以扩大空白区,从而容纳增量图像数据块。
根据一些实施例,增量数据处理模块322还配置为将所述增量图像数据块加到计算机内存的一队列中。这样,增量拷贝可包括从所述队列中取出所述增量图像数据块并将其拷贝到所述显卡的离屏增量缓存中。另外,进行增量拷贝还可包括将从所述队列中取出的所述增量图像数据块加入到计算机内存中的所述图像缓存中。
根据本公开的一些实施例,系统可基于Irrlicht显示框架从而具有底层显示平台无关性。Irrlicht是开源的高性能实时3D引擎。通过该框架,可以屏蔽具体的显示驱动层技术(如OpenGL、DirectX等)。在该显示框架基础上,构建所需的显示控制逻辑。这样就既可以使用OpenGL进行显示加速,也可以使用其他显示技术进行显示加速,例如DirectX。因此,可增强该显示功能的兼容能力,适应更为广泛的运行平台。
下面描述根据本公开一些实施例的支持图像变换的用于X射线图像实时滑动显示的示例性系统。
该示例性系统可包括图像数据管理对象(简称ImageObject)及图像数据显示对象(简称DisplayObject)。
图像数据管理对象(ImageObject)负责在计算机内存中缓存屏幕中的X射线图像数据,同时该对象附有一个后台工作线程,该线程用于响应用户触发的图像变换请求。而且,为了实现扫描图像的增量实时显示,该对象还拥有一个增量图像块缓存队列,负责缓存实时扫描图像的增量数据。
图像数据显示对象(DisplayObject)负责分配管理显卡内存,维护显卡内存中的图像数据和执行图像显示映射逻辑。在用户执行图像变换时,负责执行ImageObject中的图像变换后图像刷新请求。在实时扫描中,负责显示ImageObject中的增量图像块数据。为了加速显示过程,该对象中分配了必要的显示缓存,包括一个离屏主缓存SurfaceA、一个离屏增量缓存SurfaceC、一个离屏后台缓存SurfaceB。该对象还附有一个独立的显示刷新线程(非UI线程),用于实时显示刷新任务。
显示刷新逻辑可实现如下。
增量显示过程。在实时扫描过程中,系统在得到增量图像数据块后,通过接口调用,把增量数据传递到图像数据管理对象(ImageObject)的队列中。在加入队列前,可根据当前图像处理状态对该增量数据进行图像处理,然后追加到队列中。随后,图像数据显示对象(DisplayObject)将会很快检测到新的增量图像数据,然后取出增量数据添加到图像数据管理对象(ImageObject)中的图像缓存中,同时拷贝到离屏增量缓存SurfaceC显存中(由于该显存较小,拷贝速度很快)。接着,把离屏增量缓存SurfaceC的数据增量映射到离屏后台缓存SurfaceB的空白区。如果离屏增量缓存SurfaceB中的图像数据已经填满,则需要移动离屏后台缓存SurfaceB中的数据,腾出离屏增量缓存SurfaceC需要的空间。根据数据采集频率,可使用合适的移动速度,动态地把离屏后台缓存SurfaceB中新增加的图像滑动映射到离屏主缓存SurfaceA上,即显示到屏幕。
图像处理刷新过程。当用户触发图像变换时,对应的图像变换请求消息就会发送给图像数据管理对象(ImageObject)对象,该对象的后台工作线程就会执行本次图像变换,即对当前图像数据管理对象(ImageObject)中所有缓存的图像数据进行图像处理(包括尚未来得及显示的增量图像数据)。算法处理结束后,将设置刷新显示请求信号。图像数据显示对象(DisplayObject)很快检测到刷新显示信号,并将分块执行刷新显示,使每块图像数据刷新所需时间小于显示器刷新间隔(对于刷新率60Hz,刷新间隔约13毫秒),这样就可以在保证执行图像处理的同时,也能保证增量图像平滑实时显示。
通过以上的详细描述,本领域的技术人员易于理解,根据本公开实施例的系统和方法具有以下优点中的一个或多个。
在没有过多依赖GPU情况下,得到了较好显示效果。可以使用较为廉价的图形处理器,降低成本。便利的后期硬件维护,避免对特定硬件的依赖。充分利用CPU多核处理能力,发挥其潜力。
通过以上的实施例的描述,本领域的技术人员易于理解,本公开实施例可以通过硬件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)进行根据本公开实施例的方法。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上具体地示出和描述了本公开的示例性实施例。应该理解,本公开不限于所公开的实施例,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效布置。

Claims (19)

1.一种支持图像变换的用于实时滑动显示扫描图像的方法,该方法用于通过显卡在显示屏幕上显示扫描图像,包括:
采集扫描图像,从而得到增量图像数据块;
进行增量数据处理,从而根据当前图像变换的状态对所述增量图像数据块进行处理,所述图像变换包括增强和/或反色;
将所述增量图像数据块添加到计算机内存中分配的图像缓存中,所述图像缓存存储显示屏幕中的图像数据;
进行增量显示,从而将所述增量图像数据块拷贝到所述显卡的显存中,并利用所述显卡的显存实时滑动显示增量图像数据块,
其特征在于,在获得用户触发的图像变换请求时:
利用图像处理线程对所述图像缓存中的图像数据进行处理,得到图像变换数据,并设置刷新显示请求信号,其中,所述图像处理线程是以计算机CPU作为处理核心;
利用显示刷新线程根据所述刷新显示请求信号对所述图像变换数据分块进行刷新显示,其中,所述显示刷新线程是以计算机CPU作为处理核心。
2.如权利要求1所述的方法,其中每块数据的刷新所需的时间小于显示屏幕的刷新间隔。
3.如权利要求1所述的方法,其中所述进行增量显示包括:
进行增量拷贝,从而将所述增量图像数据块从计算机内存拷贝到所述显存中分配的离屏增量缓存中;
进行增量映射,从而将所述离屏增量缓存中的所述增量图像数据块映射到所述显存中分配的离屏后台缓存的空白区;
进行显示映射,从而将所述离屏后台缓存中的图像数据滑动映射到所述显存中分配的离屏主缓存从而在所述显示屏幕上显示图像。
4.如权利要求3所述的方法,其中在进行增量拷贝或增量映射时,如果判断所述空白区不能容纳所述增量图像数据块,则整体移动所述离屏后台缓存中的图像数据以扩大所述空白区,从而容纳所述增量图像数据块。
5.如权利要求3所述的方法,其中所述滑动映射的移动速度与采集扫描图像的频率相关。
6.如权利要求3所述的方法,其中所述离屏后台缓存的大小等于所述离屏增量缓存和所述离屏主缓存的大小之和。
7.如权利要求1所述的方法,其中所述进行增量数据处理还包括:将所述增量图像数据块加到计算机内存的一队列中。
8.如权利要求7所述的方法,其中所述进行增量拷贝包括:从所述队列中取出所述增量图像数据块并将其拷贝到所述显卡的离屏增量缓存中。
9.如权利要求8所述的方法,其中所述进行增量拷贝还包括:将从所述队列中取出的所述增量图像数据块加入到计算机内存中的所述图像缓存中。
10.一种支持图像变换的用于实时滑动显示扫描图像的系统,用于通过显卡在显示屏幕上显示扫描图像,包括:
扫描图像采集模块,用于得到增量图像数据块;
图像数据管理模块,包括:
增量数据处理模块,用于根据当前图像变换的状态对所述增量图像数据块进行处理,所述图像变换包括增强和/或反色;
图像缓存维护模块,用于在计算机内存中维护一图像缓存,所述图像缓存存储显示屏幕中的图像数据;
图像处理线程,用于在获得用户触发的图像变换请求时,对所述图像缓存中的图像数据进行处理,得到图像变换数据,并设置刷新显示请求信号,其中,所述图像处理线程是以计算机CPU作为处理核心;
图像数据显示模块,包括:
显存管理模块,用于分配显存,维护显存中的图像数据,并执行图像显示滑动映射;以及
刷新显示线程,用于根据所述刷新显示请求信号对所述图像变换数据分块进行刷新显示,
其中,所述刷新显示线程是以计算机CPU作为处理核心,所述图像数据管理模块或所述图像数据显示模块还配置为将所述增量图像数据块添加到计算机内存中的图像缓存中。
11.如权利要求10所述的系统,其中每块数据的刷新所需的时间小于显示屏幕的刷新间隔。
12.如权利要求10所述的系统,其中所述显存管理模块配置为:
在显存中分配离屏增量缓存、离屏后台缓存和离屏主缓存;
进行增量拷贝,从而将所述增量图像数据块从计算机内存拷贝到所述显存的离屏增量缓存中;
进行增量映射,从而将所述离屏增量缓存中的所述增量图像数据块映射到所述显存的离屏后台缓存的空白区;
进行显示映射,从而将所述离屏后台缓存中的图像数据滑动映射到所述显存的离屏主缓存从而在所述显示屏幕上显示图像。
13.如权利要求12所述的系统,其中所述显存管理模块还配置为:在进行增量拷贝或增量映射时,如果判断所述空白区不能容纳所述增量图像数据块,则整体移动所述离屏后台缓存中的图像数据以扩大所述空白区,从而容纳所述增量图像数据块。
14.如权利要求12所述的系统,其中所述滑动映射的移动速度与采集扫描图像的频率相关。
15.如权利要求12所述的系统,其中所述离屏后台缓存的大小等于所述离屏增量缓存和所述离屏主缓存的大小之和。
16.如权利要求12所述的系统,其中所述增量数据处理模块还配置为:将所述增量图像数据块加到计算机内存的一队列中。
17.如权利要求16所述的系统,其中所述进行增量拷贝包括:从所述队列中取出所述增量图像数据块并将其拷贝到所述显卡的离屏增量缓存中。
18.如权利要求17所述的系统,其中所述进行增量拷贝还包括:将从所述队列中取出的所述增量图像数据块加入到计算机内存中的所述图像缓存中。
19.如权利要求10所述的系统,所述系统基于Irrlicht显示框架从而具有底层显示平台无关性。
CN201510609525.XA 2015-09-22 2015-09-22 用于实时滑动显示扫描图像的方法及系统 Active CN106547505B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510609525.XA CN106547505B (zh) 2015-09-22 2015-09-22 用于实时滑动显示扫描图像的方法及系统
PCT/CN2016/096193 WO2017050075A1 (zh) 2015-09-22 2016-08-22 用于实时滑动显示扫描图像的方法及系统
EP16847957.4A EP3321793A4 (en) 2015-09-22 2016-08-22 Method and system for real-time slide displaying of scanned image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510609525.XA CN106547505B (zh) 2015-09-22 2015-09-22 用于实时滑动显示扫描图像的方法及系统

Publications (2)

Publication Number Publication Date
CN106547505A CN106547505A (zh) 2017-03-29
CN106547505B true CN106547505B (zh) 2021-02-05

Family

ID=58365494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510609525.XA Active CN106547505B (zh) 2015-09-22 2015-09-22 用于实时滑动显示扫描图像的方法及系统

Country Status (3)

Country Link
EP (1) EP3321793A4 (zh)
CN (1) CN106547505B (zh)
WO (1) WO2017050075A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367948B (zh) * 2020-03-12 2022-04-26 北京字节跳动网络技术有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN111813300A (zh) * 2020-06-03 2020-10-23 深圳市鸿合创新信息技术有限责任公司 一种屏幕截图方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987930A (zh) * 2006-09-30 2007-06-27 武汉市迅彩科技有限责任公司 一种在移动通讯终端显示装置中显示动画的方法
CN104239121A (zh) * 2014-08-28 2014-12-24 北京云巢动脉科技有限公司 显卡重定向系统和利用该系统实现图形显示的方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09245179A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp コンピュータグラフィックス装置
JP2002287681A (ja) * 2001-03-27 2002-10-04 Mitsubishi Electric Corp 部分ホールド型表示制御装置及び部分ホールド型表示制御方法
CN2588367Y (zh) * 2002-12-25 2003-11-26 北京有色金属研究总院 一种透射电镜数字图象接收处理系统
GB0309379D0 (en) * 2003-04-25 2003-06-04 Cxr Ltd X-ray scanning
CN100338631C (zh) * 2003-07-03 2007-09-19 马堃 数字成像设备现场全景成像的方法
US8149247B1 (en) * 2007-11-06 2012-04-03 Nvidia Corporation Method and system for blending rendered images from multiple applications
JP5540553B2 (ja) * 2008-06-30 2014-07-02 株式会社リコー 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム
CN101672807B (zh) * 2008-09-11 2011-12-21 同方威视技术股份有限公司 X射线安全检查系统中的图像回拉方法和设备
CN101510417B (zh) * 2009-02-19 2011-12-07 广东威创视讯科技股份有限公司 一种图像数据处理方法及其装置
US8732496B2 (en) * 2011-03-24 2014-05-20 Nvidia Corporation Method and apparatus to support a self-refreshing display device coupled to a graphics controller
CN102426172A (zh) * 2011-09-05 2012-04-25 大连理工大学 解决x射线轮胎检测中周期性条纹滚动视频闪烁的方法
US9001267B2 (en) * 2011-11-11 2015-04-07 Qualcomm Incorporated Method and apparatus for tightly coupled, low power image processing
CN103150305B (zh) * 2011-12-06 2016-05-11 泰瑞数创科技(北京)有限公司 三维数字地球实时数据处理与管理系统
PT2828830T (pt) * 2012-03-20 2018-03-13 Siemens Corp Visualização de bagagem e desembalamento virtual
US10559123B2 (en) * 2012-04-04 2020-02-11 Qualcomm Incorporated Patched shading in graphics processing
CN103034467B (zh) * 2012-12-06 2016-03-23 小米科技有限责任公司 图像显示方法、装置及移动终端
CN104104888A (zh) * 2014-07-01 2014-10-15 大连民族学院 一种并行多核fpga数字图像实时缩放处理方法和装置
CN104102465A (zh) * 2014-07-09 2014-10-15 宁波摩视光电科技有限公司 基于高精度大幅面扫描仪系统的图像快速显示方法
CN104657101A (zh) * 2015-02-12 2015-05-27 武汉新蜂乐众网络技术有限公司 一种图像拼接显示方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1987930A (zh) * 2006-09-30 2007-06-27 武汉市迅彩科技有限责任公司 一种在移动通讯终端显示装置中显示动画的方法
CN104239121A (zh) * 2014-08-28 2014-12-24 北京云巢动脉科技有限公司 显卡重定向系统和利用该系统实现图形显示的方法

Also Published As

Publication number Publication date
WO2017050075A1 (zh) 2017-03-30
EP3321793A4 (en) 2018-06-20
CN106547505A (zh) 2017-03-29
EP3321793A1 (en) 2018-05-16

Similar Documents

Publication Publication Date Title
US7969444B1 (en) Distributed rendering of texture data
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
TWI616846B (zh) 利用以空間及/或時間方式改變取樣圖案之增強型消鋸齒的一種圖形子系統、電腦實施方法及電腦裝置
US20180350036A1 (en) Storage for foveated rendering
US8803896B2 (en) Providing a coherent user interface across multiple output devices
JP6185211B1 (ja) 適応的シェーディングによるテクスチャルックアップを使用した帯域幅低減
US9495722B2 (en) Developer controlled layout
US9355464B2 (en) Dynamic generation of texture atlases
KR101824665B1 (ko) 안티-앨리어싱된 샘플들의 분할 저장
JP2018512644A (ja) 低品質タイルを使用してメモリ帯域幅を減らすためのシステムおよび方法
CN105684037A (zh) 图形处理单元
DE112017003838T5 (de) Threadprioritätsmechanismus
DE102019115130A1 (de) Vorrichtung und Verfahren für konservatives morphologisches Anti-Aliasing mit Mehrfachabtastung
CN109844802B (zh) 用于在图形处理器中提高线程并行性的机制
CN106547505B (zh) 用于实时滑动显示扫描图像的方法及系统
DE102020107554A1 (de) Verteilte kopier-engine
DE102020104651A1 (de) Arbeitsspeicherkomprimierungs-Hashmechanismus
US20140292617A1 (en) System, method, and computer program product for reducing image artifacts on multiple displays
US9471956B2 (en) Graphic remoting system with masked DMA and graphic processing method
DE112017004132T5 (de) Mechanismus zur gemeinsamen nutzung statischer daten für eine heterogene verarbeitungsumgebung
DE102020106728A1 (de) Hintergrundschätzung für Objektsegmentierung mittels Grobstufenverfolgung
US10678553B2 (en) Pro-active GPU hardware bootup
CN117742863B (zh) 一种基于Qt和GStreamer结合的多媒体处理方法、系统
US11605364B2 (en) Line-based rendering for graphics rendering systems, methods, and devices
US20230177763A1 (en) Method for Adapting the Rendering of a Scene

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