图像光栅化处理方法及装置与流程

文档序号:11178303阅读:518来源:国知局
图像光栅化处理方法及装置与流程

本发明实施例涉及图像处理领域,尤其涉及一种图像光栅化处理方法及装置。



背景技术:

在图像光栅化处理过程中,图像语法解析模块用于解释pdf文件中图像的语法,获取图像的宽度、高度、位深、色空间等图像基本信息和图像操作指令(如旋转、移动、缩放)等,并将图像基本信息和图像操作指令存储在磁盘中。

图像光栅化处理器从磁盘中读取图像操作指令对存储在磁盘中的原始图像进行处理,例如,图像操作指令为旋转,由于图像光栅化处理器只能按行读取图像数据,图像光栅化处理器需要计算旋转后图像的每行数据相对于原始图像的起始行和终止行,并将原始图像的起始行和终止行的数据从磁盘中读取出来存入内存供后续图像操作处理使用。尤其是当旋转角度为90度或270度时,旋转后图像的每行数据相对于原始图像的第一行和最后一行,因此,对于旋转后的每行数据都需要从磁盘中读取一次原始图像的数据并存入内存。

若原始图像的像素较大,将导致内存资源被严重消耗,另外,还会导致图像光栅化处理器的处理速度降低。



技术实现要素:

本发明实施例提供一种图像光栅化处理方法及装置,以减低内存的占用率,提高图像光栅化处理器的处理速度。

本发明实施例的一个方面是提供一种图像光栅化处理方法,包括:

获取原始图像数据和图像操作指令;

依据所述图像操作指令对所述原始图像数据进行处理获得处理后图像数 据;

计算所述处理后图像数据相对于所述原始图像数据的位置信息;

依据所述位置信息从所述原始图像数据中读取与所述位置信息对应的目标图像数据。

本发明实施例的另一个方面是提供一种图像光栅化处理装置,包括:

获取模块,用于获取原始图像数据和图像操作指令;

图像处理模块,用于依据所述图像操作指令对所述原始图像数据进行处理获得处理后图像数据;

计算模块,用于计算所述处理后图像数据相对于所述原始图像数据的位置信息;

读取模块,用于依据所述位置信息从所述原始图像数据中读取与所述位置信息对应的目标图像数据。

本发明实施例提供的图像光栅化处理方法及装置,通过计算处理后图像数据相对于原始图像数据的位置信息,依据位置信息从原始图像数据中读取与位置信息对应的目标图像数据,不需从磁盘中读取旋转图像的每行数据相对于原始图像的起始行和终止行并放入内存,大大减低了内存的占用率,同时,图像光栅化处理器只需从磁盘中读取旋转图像的每个像素点在原始图像中的映射点,提高了图像光栅化处理器的处理速度。

附图说明

图1为本发明实施例提供的图像光栅化处理方法流程图;

图2为本发明实施例提供的图像光栅化处理方法流程图;

图3为本发明另一实施例提供的图像光栅化处理方法流程图;

图4为本发明另一实施例提供的原始图像的示意图;

图5为本发明另一实施例提供的旋转后图像的示意图;

图6为本发明另一实施例提供的图像光栅化处理方法流程图;

图7为本发明另一实施例提供的未裁剪图像示意图;

图8为本发明另一实施例提供的裁剪后图像示意图;

图9为本发明另一实施例提供的图像光栅化处理方法流程图;

图10为本发明另一实施例提供的未旋转图像分段示意图;

图11为本发明另一实施例提供的旋转后图像分段示意图;

图12为本发明实施例提供的图像光栅化处理装置的结构图。

具体实施方式

图1为本发明实施例提供的图像光栅化处理方法流程图,图2为本发明实施例提供的图像光栅化处理方法流程图。本发明实施例针对当原始图像的像素较大,导致内存资源被严重消耗,另外,还会导致图像光栅化处理器的处理速度降低,提供了图像光栅化处理方法,具体的方法步骤如下:

步骤s101、获取原始图像数据和图像操作指令;

本发明实施例的执行主体为图像光栅化处理装置,该图像光栅化处理装置设置在光栅化处理器中,图像光栅化处理装置包括图像语法解释模块和图像处理器,图像语法解释模块对pdf文件的图像语法指令进行解析获得原始图像基本信息和图像操作指令,如图2所示,图像语法解释模块22的输入是pdf文件21,图像语法解释模块22解析pdf文件21中的语法指令获得原始图像基本信息和图像操作指令,原始图像基本信息包括原始图像的宽度、高度、位深、色空间等基本信息,图像操作指令包括旋转指令、平移指令、缩放指令、裁剪指令等。图像处理器24的输入有原始图像数据23和图像语法解释模块22的解析结果即原始图像基本信息和图像操作指令,图像处理器24依据图像操作指令对原始图像数据23进行处理,并将原始图像数据23、原始图像基本信息和图像操作指令存入磁盘25中,以便后续处理使用。

步骤s102、依据所述图像操作指令对所述原始图像数据进行处理获得处理后图像数据;

如图2所示,图像处理器24依据图像操作指令对原始图像数据23进行处理获得处理后图像数据。

步骤s103、计算所述处理后图像数据相对于所述原始图像数据的位置信息;

例如,该图像操作指令具体为旋转指令,图像处理器24对原始图像进行旋转后获得旋转图像,确定旋转图像的每个像素点在原始图像中的映射点,并计算该映射点相对于原始图像第一个像素点的位置。

步骤s104、依据所述位置信息从所述原始图像数据中读取与所述位置信 息对应的目标图像数据。

依据该映射点相对于原始图像第一个像素点的位置从原始图像数据中读取该位置上的该映射点,由于原始图像数据存储在磁盘中,图像处理器24只需从磁盘中读取旋转图像的每个像素点在原始图像中的映射点,不需从磁盘中读取旋转图像的每个像素点相对于原始图像的起始行和终止行。

本发明实施例通过计算处理后图像数据相对于原始图像数据的位置信息,依据位置信息从原始图像数据中读取与位置信息对应的目标图像数据,不需从磁盘中读取旋转图像的每行数据相对于原始图像的起始行和终止行并放入内存,大大减低了内存的占用率,同时,图像光栅化处理器只需从磁盘中读取旋转图像的每个像素点在原始图像中的映射点,提高了图像光栅化处理器的处理速度。

图3为本发明另一实施例提供的图像光栅化处理方法流程图;图4为本发明另一实施例提供的原始图像的示意图;图5为本发明另一实施例提供的旋转后图像的示意图。本发明实施例详述计算所述处理后图像数据相对于所述原始图像数据的位置信息的具体方法,该方法步骤如下:

步骤s301、以所述处理后图像数据的各行数据为目标数据,确定所述目标数据的第一个数据在所述原始图像数据中的第一映射数据相对于所述原始图像数据的第一个数据的第一偏移值;

如图4所示为原始图像(矩形部分),对该图像进行逆时针45度旋转后获得如图5所示的旋转后图像,以图5中各行数据为目标数据,假设ab所在行为旋转后图像的第若干行,本发明实施例以该行为例进行说明,对其他每一行的处理方法与该行即ab的处理方法一致,具体处理方法为:根据旋转时pdf中设置的转置矩阵m确定ab所在行第一个数据即点a在图4原始图像中的第一映射点a’,由于a=a’*m,则a’=a*m’(m’为m矩阵的逆矩阵)。由图4可知点0为原始图像的第一个像素点,则根据计算出的a’可确定a’相对于点0的第一偏移值,假设第一映射点a’的坐标为(x,y),原始图像的宽度为w,则第一偏移值offset=(w+7)*(y-1)/8字节。

步骤s302、确定所述目标数据中除所述第一个数据之外的任一数据在所述原始图像数据中的第二映射数据相对于所述第一映射数据的第二偏移值;

假设b点为ab所在行中除第一个数据即点a之外的任意一个数据,同理 根据点a和点a’之间的映射关系可确定b点在原始图像数据中的第二映射点b’,并根据图4中点a’和点b’之间的位置关系确定点b’相对于点a’的第二偏移值,并且第二偏移值rowoffset=(x+7)/8字节。

步骤s303、依据所述第一偏移值和所述第二偏移值确定所述第二映射数据相对于所述原始图像数据的第一个数据的第三偏移值,所述第三偏移值为所述目标数据中除所述第一个数据之外的任一数据相对于所述原始图像数据的位置信息。

根据点b’相对于点a’的第二偏移值和点a’相对于点0的第一偏移值可计算出点b’相对于点0的第三偏移值,第三偏移值等于第一偏移值offset加第二偏移值rowoffset,该第三偏移值为旋转后图像的第若干行即ab所在行中除所述第一个数据之外的任一数据相对于原始图像数据的位置信息。

本发明实施例以处理后图像数据的各行数据为目标数据,计算目标数据中每个数据在原始图像数据中的映射点,并计算该映射点相对于原始图像数据中第一个数据的偏移值,依据该偏移值从磁盘中存储的原始图像数据中获取映射点对应的数据,避免图像光栅化处理器从磁盘中读取旋转图像的每行数据相对于原始图像的起始行和终止行并放入内存,大大减低了内存的占用率,同时,图像光栅化处理器只需从磁盘中读取旋转图像的每个像素点在原始图像中的映射点,提高了图像光栅化处理器的处理速度。

图6为本发明另一实施例提供的图像光栅化处理方法;图7为本发明另一实施例提供的未裁剪图像示意图;图8为本发明另一实施例提供的裁剪后图像示意图。在图3对应的实施例的基础上,本发明实施例的具体步骤如下:

步骤s601、获取原始图像数据和图像操作指令,所述图像操作指令包括旋转指令和裁剪指令;

在上述实施例的基础上,所述图像操作指令具体包括旋转指令和裁剪指令,裁剪指令具体包括裁剪区域。

步骤s602、依据所述裁剪指令对所述原始图像数据进行裁剪获得有效图像数据;

如图7所示,原始图像为62,裁剪区域为61,原始图像62和裁剪区域61的重叠部分即为裁剪后的有效图像,如图8所示,有效图像用63表示,另外,原始图像对应的数据为原始图像数据,有效图像对应的数据为有效图 像数据。

步骤s603、依据所述旋转指令对所述有效图像数据进行旋转获得所述处理后图像数据;

本发明实施例中的有效图像63具体可以为图4中的图像,对有效图像数据进行旋转获得所述处理后图像数据的过程同理于对图4中的图像进行旋转的过程,此处不再赘述。

步骤s604、计算所述处理后图像数据相对于所述原始图像数据的位置信息;

步骤s605、依据所述位置信息从所述原始图像数据中读取与所述位置信息对应的目标图像数据。

步骤s604和步骤s605与上述实施例对应的方法一致,此处不再赘述。

本发明实施例通过对原始图像进行裁剪,对裁剪后的图像进行旋转可降低图像光栅化处理器的数据处理量。

图9为本发明另一实施例提供的图像光栅化处理方法流程图;图10为本发明另一实施例提供的未旋转图像分段示意图;图11为本发明另一实施例提供的旋转后图像分段示意图。在图6对应的实施例的基础上,本发明实施例的具体步骤如下:

步骤s901、获取原始图像数据和图像操作指令,所述图像操作指令包括旋转指令和裁剪指令;

步骤s902、依据所述裁剪指令对所述原始图像数据进行裁剪获得有效图像数据;

步骤s903、计算所述有效图像数据占用内存的大小;

在上述实施例的基础上,计算有效图像63的数据占用内存的大小,具体的计算方法为依据公式s=w*h*b/8计算所述有效图像数据占用内存的大小s,其中,w表示所述有效图像数据的宽度,h表示所述有效图像数据的高度,b表示所述原始图像数据的位深。

步骤s904、依据所述有效图像数据占用内存的大小和光栅图像处理器中图像缓冲区的大小计算分段数目;

依据有效图像数据占用内存的大小s和光栅图像处理器中图像缓冲区的大小buffersize计算所述分段数目的公式为n=(s+buffersize-1)/buffersize,其中, n表示所述分段数目。

步骤s905、依据所述分段数目对所述有效图像数据进行分段处理;

合理假设,上述步骤计算出的分段数目为3,如图10所示,将有效图像63分为3段。

步骤s906、对分段处理后的有效图像数据进行旋转获得所述处理后图像数据,所述处理后图像数据包括多个分段;

对分段处理后的有效图像数据进行旋转获得旋转后的图像64,旋转后划分的分段不变如图11所示,。

步骤s907、计算所述处理后图像数据的每个分段中每行数据相对于所述原始图像数据的位置信息;

计算旋转后的图像64的每个分段中每行数据相对于所述原始图像数据的位置信息,计算方法同理于图3对应的实施例所述的方法。

步骤s908、依据所述位置信息从所述原始图像数据中读取与所述位置信息对应的目标图像数据。

本发明实施例通过对有效图像数据进行分段处理,减少图像旋转过程中所占用的内存资源,降低了因内存不足系统进行频繁的数据磁盘缓存造成的时间开销。

图12为本发明实施例提供的图像光栅化处理装置的结构图。本发明实施例提供的图像光栅化处理装置可以执行图像光栅化处理方法实施例提供的处理流程,如图12所示,图像光栅化处理装置120包括获取模块121、图像处理模块122、计算模块123和读取模块124,其中,获取模块121用于获取原始图像数据和图像操作指令;图像处理模块122用于依据所述图像操作指令对所述原始图像数据进行处理获得处理后图像数据;计算模块123用于计算所述处理后图像数据相对于所述原始图像数据的位置信息;读取模块124用于依据所述位置信息从所述原始图像数据中读取与所述位置信息对应的目标图像数据。

本发明实施例通过计算处理后图像数据相对于原始图像数据的位置信息,依据位置信息从原始图像数据中读取与位置信息对应的目标图像数据,不需从磁盘中读取旋转图像的每行数据相对于原始图像的起始行和终止行并放入内存,大大减低了内存的占用率,同时,图像光栅化处理器只需从磁盘 中读取旋转图像的每个像素点在原始图像中的映射点,提高了图像光栅化处理器的处理速度。

在上述实施例的基础上,计算模块123具体用于以所述处理后图像数据的各行数据为目标数据,确定所述目标数据的第一个数据在所述原始图像数据中的第一映射数据相对于所述原始图像数据的第一个数据的第一偏移值;确定所述目标数据中除所述第一个数据之外的任一数据在所述原始图像数据中的第二映射数据相对于所述第一映射数据的第二偏移值;依据所述第一偏移值和所述第二偏移值确定所述第二映射数据相对于所述原始图像数据的第一个数据的第三偏移值,所述第三偏移值为所述目标数据中除所述第一个数据之外的任一数据相对于所述原始图像数据的位置信息。

所述图像操作指令包括旋转指令和裁剪指令;图像处理模块122具体用于依据所述裁剪指令对所述原始图像数据进行裁剪获得有效图像数据;依据所述旋转指令对所述有效图像数据进行旋转获得所述处理后图像数据。

图像处理模块122还用于计算所述有效图像数据占用内存的大小;依据所述有效图像数据占用内存的大小和光栅图像处理器中图像缓冲区的大小计算分段数目;依据所述分段数目对所述有效图像数据进行分段处理;对分段处理后的有效图像数据进行旋转获得所述处理后图像数据,所述处理后图像数据包括多个分段;计算模块123具体用于计算所述处理后图像数据的每个分段中每行数据相对于所述原始图像数据的位置信息。

计算模块123具体用于依据公式(1)计算所述有效图像数据占用内存的大小:

s=w*h*b/8(1)

其中,s表示所述有效图像数据占用内存的大小,w表示所述有效图像数据的宽度,h表示所述有效图像数据的高度,b表示所述原始图像数据的位深;

依据公式(2)计算所述分段数目:

n=(s+buffersize-1)/buffersize(2)

其中,n表示所述分段数目,buffersize表示所述光栅图像处理器中图像缓冲区的大小。

本发明实施例提供的图像光栅化处理装置可以具体用于执行上述图1所提供的方法实施例,具体功能此处不再赘述。

本发明实施例以处理后图像数据的各行数据为目标数据,计算目标数据中每个数据在原始图像数据中的映射点,并计算该映射点相对于原始图像数据中第一个数据的偏移值,依据该偏移值从磁盘中存储的原始图像数据中获取映射点对应的数据,避免图像光栅化处理器从磁盘中读取旋转图像的每行数据相对于原始图像的起始行和终止行并放入内存,大大减低了内存的占用率,同时,图像光栅化处理器只需从磁盘中读取旋转图像的每个像素点在原始图像中的映射点,提高了图像光栅化处理器的处理速度;通过对原始图像进行裁剪,对裁剪后的图像进行旋转可降低图像光栅化处理器的数据处理量;通过对有效图像数据进行分段处理,减少图像旋转过程中所占用的内存资源,降低了因内存不足系统进行频繁的数据磁盘缓存造成的时间开销。

综上所述,本发明实施例通过计算处理后图像数据相对于原始图像数据的位置信息,依据位置信息从原始图像数据中读取与位置信息对应的目标图像数据,不需从磁盘中读取旋转图像的每行数据相对于原始图像的起始行和终止行并放入内存,大大减低了内存的占用率,同时,图像光栅化处理器只需从磁盘中读取旋转图像的每个像素点在原始图像中的映射点,提高了图像光栅化处理器的处理速度;以处理后图像数据的各行数据为目标数据,计算目标数据中每个数据在原始图像数据中的映射点,并计算该映射点相对于原始图像数据中第一个数据的偏移值,依据该偏移值从磁盘中存储的原始图像数据中获取映射点对应的数据,避免图像光栅化处理器从磁盘中读取旋转图像的每行数据相对于原始图像的起始行和终止行并放入内存,大大减低了内存的占用率,同时,图像光栅化处理器只需从磁盘中读取旋转图像的每个像素点在原始图像中的映射点,提高了图像光栅化处理器的处理速度;通过对原始图像进行裁剪,对裁剪后的图像进行旋转可降低图像光栅化处理器的数据处理量;通过对有效图像数据进行分段处理,减少图像旋转过程中所占用的内存资源,降低了因内存不足系统进行频繁的数据磁盘缓存造成的时间开销。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或 一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1