专利名称:一种2维图像旋转处理方法及处理装置的制作方法
技术领域:
本发明涉及图像处理技术领域,特别是一种2维图像旋转处理方法及处理装置。
背景技术:
现有的2维图像旋转处理方法包括如下步骤根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素 --对应;根据待旋转角度生成与源矩阵对应的目标矩阵;逐行扫描目标矩阵,并根据源矩阵与目标矩阵之间的元素对应关系,从源矩阵中读取元素数据,并对目标矩阵中的元素进行赋值操作。然而,发明人在实现本发明实施例的过程中发现,现有技术至少存在数据利用效率低下的问题,详细说明如下。如图1所示,为一原始图像的像素排列示意图,而图2为原始图像旋转90度之后的像素排列示意图,下面结合上述的图1和图2来说明现有技术中图像旋转处理过程。首先,根据原始图像计算得到源矩阵,其中源矩阵中的矩阵元素与所述原始图像
的像素一一对应;然后,根据待旋转角度计算一目标矩阵,源矩阵与目标矩阵之间的像素有一一对应关系,如图2所示,源矩阵的最后一行变成了目标矩阵的第一列,源矩阵的倒数第二行变
成了目标矩阵的第二列,......,源矩阵的倒数第二行变成了目标矩阵的第二列,源矩阵的
第一行变成了目标矩阵的最后一列。接下来,会以行为单位扫描目标矩阵。扫描目标矩阵中的第一行第一列(元素91),由于目标矩阵中的元素91在源矩阵中为第9行第1列的元素,此时会从所述源矩阵中读取元素91并给目标矩阵中的第一行第一列的元素赋值,考虑到按照现有的计算机的处理方式,从所述源矩阵中读取元素91时, 会同时将与元素91位于同一缓存行的其他元素(92、93、94.....99)读取出来。这个步骤之后,计算机的缓存中的数据为元素 92、93、…、99。扫描目标矩阵中的第一行第二列(元素81),由于目标矩阵中的元素81在源矩阵中为第8行第1列的元素,此时会从所述源矩阵中读取元素81并给目标矩阵中的第一行第二列的元素赋值,考虑到按照现有的计算机的处理方式,从所述源矩阵中读取元素81时, 会同时将与元素81位于同一缓存行的其他元素(82、83、84.....89)读取出来。这个步骤之后,计算机的缓存中的数据为元素 92、93、. . .、99、82、83、84、. . .、89。接下来的两个步骤之后,计算机的缓存中的数据为元素 92、93、· · ·、99、82、83、84、· · ·、89、72、73、· · ·、79、62、63、64、· · ·、69。假定计算机的缓存只能够存储36个元素的数据,这种情况下,扫描目标矩阵中的第一行第五列(元素51),由于目标矩阵中的元素51在源矩阵中为第5行第1列的元素,此时会从所述源矩阵中读取元素51并给目标矩阵中的第一行第五列的元素赋值,考虑到按照现有的计算机的处理方式,从所述源矩阵中读取元素51时,会同时将与元素51位于同一缓存行的其他元素(52、53、54.....59)读取出来。但由于计算机的缓存只能够存储36个元素的数据,此时,新读取出来的元素52、
53,54.....59的数据会挤掉最先读取的元素92、93、94、95的数据,也就是说,最先读取出
来的元素92、93、94、95的数据还没有被使用就被从缓存中删除了,这样在处理目标矩阵中的元素92、93、94、95时又需要重新去读取。在接下来的处理步骤中,其他在先读取并保存到缓存中的数据在还没有被使用前就会被挤出缓存。又以旋转45度为例。当处理图3中虚线所示的行时,在处理91时,会将元素92、93.....99读入到缓
存,但元素92的数据需要在处理完82、73、64、55、46、37、观、19之后才能扫描到92,也就是说这段时间会有72个像素的数据会读入到缓存中,当缓存的大小不足以存储72个像素的数据时,元素92的数据就会被挤出缓存。因此,现有技术中的2维图像旋转处理方法的数据利用效率低,而现有的图像大小动辄数兆,而现有的处理器缓存,尤其是一些类似于手机、PDA、数码相机等设备的处理器的缓存较小,一般几k到几十k,这样在图像较大的情况下,缓存中能够存储的像素数据的数量较少,这就会导致上述的缓存中的数据还未被使用就从缓存中被删除的情况,导致数据读取、利用率低下。
发明内容
本发明的目的是提供一种2维图像旋转处理方法及处理装置,提高2维图像旋转处理时的数据读取、利用率。为了实现上述目的,本发明实施例提供了一种2维图像旋转处理方法,包括根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素 --对应;根据待旋转角度生成与源矩阵对应的目标矩阵;以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作;所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2。上述的2维图像旋转处理方法,其中,以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据, 并利用读取的元素数据对所述子矩阵中的元素进行赋值操作具体包括以子矩阵为单位对目标矩阵进行扫描,确定目标矩阵中当前被扫描到的第一元素;根据目标矩阵和源矩阵之间的元素对应关系,确定所述源矩阵中与所述第一元素对应的第二元素;
判断所述第二元素的元素数据是否已经存储在缓存中,获取一判断结果;在所述判断结果指示所述第二元素的元素数据已经存储在缓存中时,直接利用所述缓存中的第二元素的元素数据对所述第一元素进行赋值,否则从所述源矩阵中读取与所述第二元素及与第二元素位于同一缓存行的其他元素的元素数据,并将读取到的元素数据存储到缓存后,利用缓存中的第二元素的元素数据对所述第一元素进行赋值。上述的2维图像旋转处理方法,其中,所述子矩阵的行数目或列数目与所述像素的大小以及缓存的大小相关。上述的2维图像旋转处理方法,其中所述子矩阵中包括在所述目标矩阵中位于不同缓存行的第一元素和第二元素,所述第一元素和第二元素在所述源矩阵中位于同一缓存行,且在所述子矩阵中所述第一元素先于所述第二元素被扫描;一元素集合中的所有元素的元素数据的总和小于或等于所述缓存的容量;所述元素集合由所述源矩阵中与第三元素位于同一缓存行的其它元素以及所述源矩阵中与第一元素位于同一缓存行的其它元素组成。所述第三元素为所述子矩阵中的在所述第一元素和第二元素之间被扫描的元素。上述的2维图像旋转处理方法,其中,所述子矩阵中元素的个数不超过缓存行的容量与元素数据的大小的商。为了实现上述目的,本发明实施例还提供了一种2维图像旋转处理装置,包括源矩阵计算模块,用于根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素一一对应;目标矩阵生成模块,用于根据待旋转角度生成与源矩阵对应的目标矩阵;旋转处理模块,用于以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作;所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2。上述的2维图像旋转处理装置,其中,上述的旋转处理模块具体包括扫描单元,用于以子矩阵为单位对目标矩阵进行扫描,确定目标矩阵中当前被扫描到的第一元素;第二元素确定单元,用于根据目标矩阵和源矩阵之间的元素对应关系,确定所述源矩阵中与所述第一元素对应的第二元素;判断单元,用于判断所述第二元素的元素数据是否已经存储在缓存中,获取一判断结果;处理单元,用于在所述判断结果指示所述第二元素的元素数据已经存储在缓存中时,直接利用所述缓存中的第二元素的元素数据对所述第一元素进行赋值,否则从所述源矩阵中读取与所述第二元素及与第二元素位于同一缓存行的其他元素的元素数据,并将读取到的元素数据存储到缓存后,利用缓存中的第二元素的元素数据对所述第一元素进行赋值。上述的2维图像旋转处理装置,其中,所述子矩阵的行数目或列数目与所述像素的大小以及缓存的大小相关。上述的2维图像旋转处理装置,其中所述子矩阵中包括在所述目标矩阵中位于不同缓存行的第一元素和第二元素,所述第一元素和第二元素在所述源矩阵中位于同一缓存行,且在所述子矩阵中所述第一元素先于所述第二元素被扫描;一元素集合中的所有元素的元素数据的总和小于或等于所述缓存的容量;所述元素集合由所述源矩阵中与第三元素位于同一缓存行的其它元素以及所述源矩阵中与第一元素位于同一缓存行的其它元素组成。所述第三元素为所述子矩阵中的在所述第一元素和第二元素之间被扫描的元素。上述的2维图像旋转处理装置,其中,所述子矩阵中元素的个数不超过缓存行的容量与元素数据的大小的商。本发明实施例具有以下的有益效果本发明实施例中,以子矩阵为单元进行扫描,由于所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2,因此被读入到缓存中的数据的等待使用时间(给目标矩阵赋值)减少,降低了数据没有被使用就从缓存中被删除的可能性,提高了数据的利用效率。有效提高2D旋转动画的帧率,表现为更加流畅的画面。同时,在系统负载较重时(即频繁的进程切换),由于读入到缓存中的数据的等待使用时间(给目标矩阵赋值)减少,即使在频繁的进程切换情况下,数据没有被使用就从缓存中被删除的可能性也相对降低,旋转动画的性能下降只有10% -20%,而采用现有技术的方案,旋转动画的性能会下降50%以上。
图1为一原始图像的像素排列示意图;图2为原始图像以图像中心为轴顺时钟旋转90度之后的像素排列示意图;图3为原始图像以图像中心为轴顺时钟旋转45度之后的像素排列示意图;图4为本发明实施例的2维图像旋转处理方法的流程示意图;图5为本发明实施例的子矩阵选择的示意图。
具体实施例方式本发明实施例的2维图像旋转处理方法及装置中,改变了以往的以行为单位对目标矩阵进行扫描的方式,而是以子矩阵的方式进行扫描,而该子矩阵的列数目是低于所述目标矩阵的列数目的,这就导致被读入到缓存中的数据的等待时间减少,降低了数据没有被使用就从缓存中被删除的可能性,提高了数据的利用效率。缓存(Cache Memory)是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。而缓存由缓存行组成,缓存的容量为所有缓存行的容量的和。本发明实施例的2维图像旋转处理方法如图4所示,包括步骤41,根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素一一对应;步骤42,根据待旋转角度生成与源矩阵对应的目标矩阵;步骤43,以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作;所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2。在具体的处理过程中,上述的步骤43 (以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作)具体包括以子矩阵为单位对目标矩阵进行扫描,确定目标矩阵中当前被扫描到的第一元素;根据目标矩阵和源矩阵之间的元素对应关系,确定所述源矩阵中与所述第一元素对应的第二元素;判断所述第二元素的元素数据是否已经存储在缓存中,获取一判断结果;在所述判断结果指示所述第二元素的元素数据已经存储在缓存中时,直接利用所述缓存中的第二元素的元素数据对所述第一元素进行赋值,否则从所述源矩阵中读取与所述第二元素及与第二元素位于同一缓存行的其他元素的元素数据,并将读取到的元素数据存储到缓存后,利用缓存中的第二元素的元素数据对所述第一元素进行赋值。下面结合图1和图2来说明本发明实施例如何提高数据的利用效率。本发明实施例不再以行为单位进行扫描,而是以子矩阵为单位进行扫描,当然,该子矩阵的列数量小于所述目标矩阵的列数目。如图2的虚线框所示,其中的子矩阵为2行2列,而目标矩阵为9列。下面详细描述上述扫描方式下的2维图像旋转处理方法的具体处理过程。扫描目标矩阵中的第一行第一列(元素91),由于目标矩阵中的元素91在源矩阵中为第9行第1列的元素,此时会从所述源矩阵中读取元素91并给目标矩阵中的元素赋值,考虑到按照现有的计算机的处理方式,从所述源矩阵中读取元素91时,会同时将与元素91位于同一缓存行的其他元素(92、93、94.....99)读取出来。这个步骤之后,计算机的缓存中的数据为元素 92、93、…、99。扫描目标矩阵中的第一行第二列(元素81),由于目标矩阵中的元素81在源矩阵中为第8行第1列的元素,此时会从所述源矩阵中读取元素81并给目标矩阵中的元素赋值,考虑到按照现有的计算机的处理方式,从所述源矩阵中读取元素81时,会同时将与元素81位于同一缓存行的其他元素(82、83、84.....89)读取出来。这个步骤之后,计算机的缓存中的数据为元素 92、93、. . .、99、82、83、84、. . .、89。扫描目标矩阵中的第二行第一列(元素9 ,由于元素92的元素数据已经在缓存中,所以会直接读取并赋值。扫描目标矩阵中的第二行第二列(元素8 ,由于元素82的元素数据已经在缓存中,所以会直接读取并赋值。此时,计算机的缓存中的数据为元素93、. . .、99、83、84、. . .、89。扫描目标矩阵中的第一行第三列(元素71),由于目标矩阵中的元素71在源矩阵中为第7行第1列的元素,此时会从所述源矩阵中读取元素71并给目标矩阵中的元素赋值,考虑到按照现有的计算机的处理方式,从所述源矩阵中读取元素71时,会同时将与元素71位于同一缓存行的其他元素(72、73、74.....79)读取出来。这个步骤之后,计算机的缓存中的数据为元素 93,...、99、83、84、· · ·、89、72、73、74、· · ·、79 ;扫描目标矩阵中的第一行第四列(元素61),由于目标矩阵中的元素61在源矩阵中为第6行第1列的元素,此时会从所述源矩阵中读取元素61并给目标矩阵中的元素赋值,考虑到按照现有的计算机的处理方式,从所述源矩阵中读取元素61时,会同时将与元素61位于同一缓存行的其他元素(62、63、64.....69)读取出来。这个步骤之后,计算机的缓存中的数据为元素 93,...、99、83、84、· · ·、89、72、73、74、· · ·、79、62、63、64、· · ·、69。扫描目标矩阵中的第二行第三列(元素7 ,由于元素72的元素数据已经在缓存中,所以会直接读取并赋值。扫描目标矩阵中的第二行第四列(元素72),由于元素72的元素数据已经在缓存中,所以会直接读取并赋值。这个步骤之后,计算机的缓存中的数据为元素 93,...、99、83、84、· · ·、89、73、· · ·、79、63、· · ·、69。此时缓存中一共有28个像素的数据。在这之后,会有一部分之前读取到缓存中的数据在被使用之前就被挤出缓存,但相对于现有技术的方式而言,利用本发明实施例的方法,至少有部分读入缓存的数据被利用(如元素92、82、72、62、...)等都被使用到了,而现有技术的方案中,所有预先读入到缓存中的数据都在被使用之前就被挤出缓存,也就是说任何一个数据都没有被利用。上述是以子矩阵为2行2列的情况进行的说明,当子矩阵为3行1列、4行1列、5 行1列时,其预先读入到缓存中的数据在被使用之前就被挤出缓存的数量会进一步降低。在本发明的具体实施例中,上述子矩阵的列数越少,数据的利用效率越高,而同时上述子矩阵的行数越多,数据的利用效率越高,举例说明如下。在之前的例子中,元素92、82、72和62等都能得到有效的利用,不会发生在还没使用前就被挤出缓存的现象,但元素93、. . ·、99、83、84、. . ·、89、73、74、· · ·、79、· · ·等在还没
使用前就被挤出缓存。2行2列的情况下,只有91-92的数据会得到有效利用,而当子矩阵为3行1列时, 则首次读取的元素91-99中,91-93的数据会得到有效利用,而当子矩阵为5行1列时,则首次读取的元素91-99中,91-95的数据会得到有效利用。该子矩阵应该满足如下的要求1、所述子矩阵中包括在所述目标矩阵中位于不同缓存行的第一元素和第二元素, 所述第一元素和第二元素在所述源矩阵中位于同一缓存行,且在所述子矩阵中所述第一元素先于所述第二元素被扫描;2、元素集合中的所有元素的元素数据的总和小于或等于所述缓存的容量;所述元素集合由所述源矩阵中与第三元素位于同一缓存行的元素以及所述源矩阵中与第一元素位于同一缓存行的元素组成。所述第三元素为所述子矩阵中的在所述第一元素和第二元素之间被扫描的元素;如图2所示,该子矩阵可以是91、81、92、82,其中91和92在所述源矩阵中位于同一缓存行,同时,元素92和元素91之间有元素81被扫描,因此,元素集合如下{92、93、..·、99、82、83、84、. . · >89}由于缓存能够存储36个元素的数据,而元素集合中只有16个元素,则满足上述条件。如图2所示,该子矩阵可以是91、81、82、93,其中81和82在所述源矩阵中位于同一缓存行,同时,元素82和81之间没有元素,则元素集合如下{82、83、84、. . .、89}由于缓存能够存储36个元素的数据,而元素集合中只有8个元素,则满足上述条件。即使被挤出,也是之前先写入到缓存的92、93.....99被挤出之后才会轮到82、
83、84、··· 、89。当然,该子矩阵还可以是图5所示的各种情况,如图5虚线框所包括的各种情况, 在此不一一详细说明。在本发明的具体实施例中,在列数目确定的情况下,该子矩阵中元素的个数以不超过缓存行的容量与元素数据的大小的商为佳。在子矩阵的元素数目以及列数目确定的情况下,则可以确定行数目。以上设计是基于缓存采用全相联映射方式,如果考虑到缓存采用组相联设计(假设为2路组相联),这种情况下,子矩阵的列上限制改为缓存的路数目。本发明实施例的2维图像旋转处理装置包括源矩阵计算模块,用于根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素一一对应;目标矩阵生成模块,用于根据待旋转角度生成与源矩阵对应的目标矩阵;旋转处理模块,用于以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作;所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2。上述的旋转处理模块具体包括扫描单元,用于以子矩阵为单位对目标矩阵进行扫描,确定目标矩阵中当前被扫描到的第一元素;第二元素确定单元,用于根据目标矩阵和源矩阵之间的元素对应关系,确定所述源矩阵中与所述第一元素对应的第二元素;
判断单元,用于判断所述第二元素的元素数据是否已经存储在缓存中,获取一判断结果;处理单元,用于在所述判断结果指示所述第二元素的元素数据已经存储在缓存中时,直接利用所述缓存中的第二元素的元素数据对所述第一元素进行赋值,否则从所述源矩阵中读取与所述第二元素及与第二元素位于同一缓存行的其他元素的元素数据,并将读取到的元素数据存储到缓存后,利用缓存中的第二元素的元素数据对所述第一元素进行赋值。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种2维图像旋转处理方法,其特征在于,包括根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素一一对应;根据待旋转角度生成与源矩阵对应的目标矩阵;以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作;所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2。
2.根据权利要求1所述的2维图像旋转处理方法,其特征在于,以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作具体包括以子矩阵为单位对目标矩阵进行扫描,确定目标矩阵中当前被扫描到的第一元素; 根据目标矩阵和源矩阵之间的元素对应关系,确定所述源矩阵中与所述第一元素对应的第二元素;判断所述第二元素的元素数据是否已经存储在缓存中,获取一判断结果; 在所述判断结果指示所述第二元素的元素数据已经存储在缓存中时,直接利用所述缓存中的第二元素的元素数据对所述第一元素进行赋值,否则从所述源矩阵中读取与所述第二元素及与第二元素位于同一缓存行的其他元素的元素数据,并将读取到的元素数据存储到缓存后,利用缓存中的第二元素的元素数据对所述第一元素进行赋值。
3.根据权利要求1或2所述的2维图像旋转处理方法,其特征在于,所述子矩阵的行数目或列数目与所述像素的大小以及缓存的大小相关。
4.根据权利要求1或2所述的2维图像旋转处理方法,其特征在于所述子矩阵中包括在所述目标矩阵中位于不同缓存行的第一元素和第二元素,所述第一元素和第二元素在所述源矩阵中位于同一缓存行,且在所述子矩阵中所述第一元素先于所述第二元素被扫描;一元素集合中的所有元素的元素数据的总和小于或等于所述缓存的容量; 所述元素集合由所述源矩阵中与第三元素位于同一缓存行的其它元素以及所述源矩阵中与第一元素位于同一缓存行的其它元素组成。所述第三元素为所述子矩阵中的在所述第一元素和第二元素之间被扫描的元素。
5.根据权利要求4所述的2维图像旋转处理方法,其特征在于,所述子矩阵中元素的个数不超过缓存行的容量与元素数据的大小的商。
6.一种2维图像旋转处理装置,其特征在于,包括源矩阵计算模块,用于根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素一一对应;目标矩阵生成模块,用于根据待旋转角度生成与源矩阵对应的目标矩阵; 旋转处理模块,用于以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作;所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2。
7.根据权利要求6所述的2维图像旋转处理装置,其特征在于,上述的旋转处理模块具体包括扫描单元,用于以子矩阵为单位对目标矩阵进行扫描,确定目标矩阵中当前被扫描到的第一元素;第二元素确定单元,用于根据目标矩阵和源矩阵之间的元素对应关系,确定所述源矩阵中与所述第一元素对应的第二元素;判断单元,用于判断所述第二元素的元素数据是否已经存储在缓存中,获取一判断结果;处理单元,用于在所述判断结果指示所述第二元素的元素数据已经存储在缓存中时, 直接利用所述缓存中的第二元素的元素数据对所述第一元素进行赋值,否则从所述源矩阵中读取与所述第二元素及与第二元素位于同一缓存行的其他元素的元素数据,并将读取到的元素数据存储到缓存后,利用缓存中的第二元素的元素数据对所述第一元素进行赋值。
8.根据权利要求6或7所述的2维图像旋转处理装置,其特征在于,所述子矩阵的行数目或列数目与所述像素的大小以及缓存的大小相关。
9.根据权利要求6或7所述的2维图像旋转处理装置,其特征在于所述子矩阵中包括在所述目标矩阵中位于不同缓存行的第一元素和第二元素,所述第一元素和第二元素在所述源矩阵中位于同一缓存行,且在所述子矩阵中所述第一元素先于所述第二元素被扫描;一元素集合中的所有元素的元素数据的总和小于或等于所述缓存的容量; 所述元素集合由所述源矩阵中与第三元素位于同一缓存行的其它元素以及所述源矩阵中与第一元素位于同一缓存行的其它元素组成。所述第三元素为所述子矩阵中的在所述第一元素和第二元素之间被扫描的元素。
10.根据权利要求9所述的2维图像旋转处理装置,其特征在于,所述子矩阵中元素的个数不超过缓存行的容量与元素数据的大小的商。
全文摘要
本发明公开了一种2维图像旋转处理方法及处理装置,其中该方法包括根据原始图像计算得到源矩阵,所述源矩阵中的矩阵元素与所述原始图像的像素一一对应;根据待旋转角度生成与源矩阵对应的目标矩阵;以子矩阵为单位对目标矩阵进行扫描,并根据扫描结果以及目标矩阵和源矩阵之间的元素对应关系,从所述源矩阵中读取元素数据,并利用读取的元素数据对所述子矩阵中的元素进行赋值操作;所述子矩阵的列数目小于所述目标矩阵的列数目,所述子矩阵的行数目大于或等于2。本发明实施例提高了2维图像旋转处理过程中的数据利用效率。
文档编号G06T3/60GK102479381SQ20101055728
公开日2012年5月30日 申请日期2010年11月22日 优先权日2010年11月22日
发明者史子旺, 林松涛, 王佐 申请人:联想(北京)有限公司