手持设备屏幕画面同时实现90度和270度旋转的方法

文档序号:2648546阅读:248来源:国知局
专利名称:手持设备屏幕画面同时实现90度和270度旋转的方法
手持设备屏幕画面同时实现90度和270度旋转的方法
技术领域
本发明属于屏幕画面显示技术领域,具体是指一种手持设备屏幕画面同时实现90 度和270度旋转的方法。
背景技术
随着技术的发展,移动终端性能的提高,用户对信息获取的要求越来越高。而屏幕 作为视觉的载体,是信息获取的最主要手段,如何使得用户在使用移动终端设备时得到更 好的用户体验是很多厂商努力的方向。而通过绚丽的屏幕画面显示来达到提高用户体验是 一种最直接有效的方法。屏幕画面旋转显示通过旋转画面使得画面比例更接近于屏幕的长 宽比例,使得用户获得更大的可视范围,成为当前显示技术的热点。但是在如何实现画面的 各种旋转显示一直是一个技术难题。现有的图像旋转处理的方法通常有软件处理方法和硬件加速两种方法。软件方法编写程序将图像从存储单元读出后交由CPU计算处理。使用这种方式, 需要软件人员进行大量的编程工作,而且耗费大量CPU的运算资源,数据传输效率低下,速 度很慢。硬件加速方法使用专门的图像旋转芯片,或者图像处理器(GPU)来处理。相对于 软件方法,专用旋转电路速度较快,但是通常的解决方式是将图像整个存于一个帧缓存器 中,再将图像按照旋转后的顺序从帧缓存中读出。这种方法非常耗费硬件资源,需要大量的 存储单元;而且如果使用GPU处理,通常需要通过固定的API接口进行,比如OpenGL。这样 造成使用时的编程工作相对复杂。所以如何在尽可能少的使用硬件电路的前提下,更高效的实现图像旋转处理,是 一个非常重要又非常有挑战性的一个问题。

发明内容本发明所要解决的技术问题在于提供一种手持设备屏幕画面同时实现90度和 270度旋转的方法,该方法只需要很小的缓存器容量,最大程度上的节省了电路实现面积, 而且不同功能的电路之间可以复用,也大幅减少了电路的实现面积。本发明采用以下技术方案解决上述技术问题手持设备屏幕画面同时实现90度和270度旋转的方法,包括如下步骤步骤一设计一旋转电路结构包括外部源存储器、CPU、总线、外部目标存储器、 旋转单元;所述外部源存储器、CPU、外部目标存储器分别连接到所述总线;所述总线连接 所述旋转单元;所述旋转单元包括配置寄存器、图像块读取单元、旋转控制单元、内部缓存器、图 像块回写控制单元;所述图像块读取单元连接所述旋转控制单元、所述旋转控制单元连接 所述内部缓存器、所述内部缓存器连接所述图像块回写控制单元;所述图像块读取单元和 图像块回写控制单元分别连接到所述总线;
3
其中所述CPU负责通过总线对配置寄存器进行配置;所述外部源存储器负责存储 原图像;所述外部目标存储器负责存储处理后图像的数据;所述总线为一个互联的单元, 将挂载在总线上的各个单元连接在一起,任一个总线上的单元可以通过总线访问到挂载在 总线的其他单元;所述图像块读取控制单元负责通过总线从外部源存储器读取原图像数 据,并把数据送到旋转控制单元;所述旋转控制单元根据用户配置的旋转角度,将读入的图 像块数据按照一定顺序和位置存储到内部缓存器中;所述内部缓存器负责缓存经过旋转控 制单元处理后的图像块数据;所述图像块回写控制单元负责从内部缓存器读出处理后的图 像块数据,再将数据通过总线回写到外部目标存储器中;所述配置寄存器负责存储整个旋 转过程需要的信息,该信息包括图像的宽高、旋转的角度、原始图像在外部源存储器中的起 始地址值,目标图像在外部目标存储器中的起始地址,开始工作的开关位;步骤二 当用户使用旋转电路时,用CPU通过总线对配置寄存器中的值进行配置; 首先配置需要旋转的角度,然后再配置图像的尺寸,原始图像在外部源存储器中的起始地 址值,目标图像在外部目标存储器中的起始地址这些必须的信息,当以上信息配置完毕后 通过配置电路开始工作的开关位使电路进入工作状态;步骤三在配置完毕电路开始工作后,图像块读取控制单元通过总线从外部源存 储器按图像块读取原图像数据,并把数据送到旋转控制单元;步骤四在读入原图像数据进入旋转控制单元后,旋转控制单元根据用户配置的 旋转角度,将读入的图像块数据按照一定顺序和位置存储到内部缓存器中;步骤五在一整个图像块的数据都经过旋转控制单元写入内部缓存器后,图像块 回写控制单元开始从内部缓存器读出处理后的图像块数据,再将数据通过总线回写到外部 目标存储器中;步骤六当处理完一个图像块并将其完全回写到目标外部存储器后,从第二步开 始重复一个新的图像块处理;步骤七图像块按照一定的读取顺序一个接一个的处理,直到整个图像处理完毕。本发明的优点在于1、本发明的电路结构同时实现了 90度和270度旋转功能;2、 将90度和270度旋转使用的缓存空间进行复用,以减少存储器和电路的使用;3、相对与其 他处理方式,基于块处理的方式保证了只需要很少的电路就可以实现旋转功能;4、配置简 单,方便用户使用,该电路只需要用户配置图像的宽高,旋转的角度,原始图像在外部源存 储单元中的起始地址值,目标图像在外部目标存储器中的起始地址,电路就可以完成工作; 5、灵活的应用场合,该电路可以使用于屏幕需要显示的画面的旋转,也可以对一些指定位 置的小图像进行旋转处理后写入指定的目标位置,并且可以多次操作以实现图像处理的作 用。

下面参照附图结合实施例对本发明作进一步的描述。图1是本发明旋转电路结构框图。图2是本发明原图像按块读取顺序示意图。图3a是本发明90度块旋转前后像素位置示意图。图3b是本发明270度块旋转前后像素位置示意图。
4
图4是本发明原图像块读入数据顺序示意图。图5是本发明90度旋转控制示意图。图6是本发明270度旋转控制示意图。图7是本发明90度旋转图像块回写顺序示意图。图8是本发明270度旋转图像块回写顺序示意图。
具体实施方式
手持设备屏幕画面同时实现90度和270度旋转的方法,首先设计一旋转电路结 构,如图1所示包括外部源存储器、CPU、总线、外部目标存储器、旋转单元;所述外部源存 储器、CPU、外部目标存储器分别连接到所述总线;所述总线连接所述旋转单元;所述旋转单元包括配置寄存器、图像块读取单元、旋转控制单元、内部缓存器、图 像块回写控制单元;所述图像块读取单元连接所述旋转控制单元、所述旋转控制单元连接 所述内部缓存器、所述内部缓存器连接所述图像块回写控制单元;所述图像块读取单元和 图像块回写控制单元分别连接到所述总线;其中所述CPU负责通过总线对配置寄存器进行配置;所述外部源存储器负责存储 原图像;所述外部目标存储器负责存储处理后图像的数据;所述总线为一个互联的单元, 将挂载在总线上的各个单元连接在一起,任一个总线上的单元可以通过总线访问到挂载在 总线的其他单元;所述图像块读取控制单元负责通过总线从外部源存储器读取原图像数 据,并把数据送到旋转控制单元;所述旋转控制单元根据用户配置的旋转角度,将读入的图 像块数据按照一定顺序和位置存储到内部缓存器中;所述内部缓存器负责缓存经过旋转控 制单元处理后的图像块数据;所述图像块回写控制单元负责从内部缓存器读出处理后的图 像块数据,再将数据通过总线回写到外部目标存储器中;所述配置寄存器负责存储整个旋 转过程需要的信息,该信息包括图像的宽高、旋转的角度、原始图像在外部源存储器中的起 始地址值,目标图像在外部目标存储器中的起始地址,开始工作的开关位。总体操作流程首先当用户使用旋转电路时,用CPU通过总线对配置寄存器中的值进行配置;首 先配置需要旋转的角度,然后再配置图像的尺寸,原始图像在外部源存储器中的起始地址 值,目标图像在外部目标存储器中的起始地址这些必须的信息,当以上信息配置完毕后通 过配置电路开始工作的开关位使电路进入工作状态;在配置完毕电路开始工作后,图像块读取控制单元通过总线从外部源存储器按图 像块读取原图像数据,并把数据送到旋转控制单元;在读入原图像数据进入旋转控制单元后,旋转控制单元根据用户配置的旋转角 度,将读入的图像块数据按照一定顺序和位置存储到内部缓存器中;在一整个图像块的数据都经过旋转控制单元写入内部缓存器后,图像块回写控制 单元开始从内部缓存器读出处理后的图像块数据,再将数据通过总线回写到外部目标存储 器中;当处理完一个图像块并将其完全回写到目标外部存储器后,从第二步开始重复一 个新的图像块处理;图像块按照一定的读取顺序一个接一个的处理,直到整个图像处理完毕。
下面详细描述电路结构中各单元工作原理图像块读取控制单元原理示意如图2所示,每个小框代表一个图像块,图像块在原图像中的读取顺序为从上到 下,从左到右。每个图像块中间的虚线代表图像块内部的像素读取顺序,每个横向的虚线箭 头代表一次突发传输。突发传输读起始地址的计算1、首次突发传输的地址为整个原图像的起始地址;2、在一个突发传输结束后,下一个突发传输的开始地址为上一次突发传输起始地 址加上原图像中一行像素的地址偏移量;3、不断重复上一条的操作直到第一个块列的最后一个突发传输传输完;(块列意 为将图像按块划分后,处于同一列的全部块)4、第二个块列开始时的突发传输起始地址为原图像起始地址加上一次突发传输 长度的像素地址偏移量;5、下一个突发传输的开始地址同第2点一样,为上一次突发传输起始地址加上原 图像中一行像素的地址偏移量;6、如此不断重复,直到整个原图像被读取完毕。块旋转原量示意图像块的大小为N乘N像素,其中N的大小为一次突发传输的像素数量;如果N越 大,相应的内部缓存器会变大,但是每次突发传输的长度越大则总线的数据传输效率越高; 但是无论N的大小,旋转处理的控制机制是一样的;为了方便说明原理,后面的描述都以4 乘4的图像块处理为例。如图3a与图3b所示,是以4乘4块为例,说明旋转前后的像素位置;图中图像块 中的像素编号为该像素在原图像块中的行列位置。旋转控制单元工作原理N乘N的块需要N个长度为N的内部缓存器,以4乘4块为例,则需要4个缓存器, 每个缓存器可以存4个像素。如图4所示,在4乘4原图像块中,每次突发传输4个像素,一共4次传输16个像
ο图5所示为顺时针90度旋转时,旋转控制单元如何把每次突发传输的像素写到对 应的缓存器中。旋转控制单元顺时针90旋转时具体工作流程1、在第一次突发传输中,旋转控制单元将前4个像素依次写入缓存器0到缓存器 3的最高地址位;2、在第二次突发传输中,旋转控制单元将第二次突发传输的4个像素依次写入缓 存器0到缓存器3的地址2中;3、每次突发传输,4个像素依次写入缓存器0到缓存器3的地址都递减1 ;直到整 个图像块读入完毕;4、当整个图像块传输完毕后,缓存器也都已经存满,此时已经准备好可以被图像 块回写单元从内部缓存器读出后通过总线写回目标外部存储器。
图6所示为顺时针270度旋转时,旋转控制单元如何把每次突发传输的像素写到 对应的缓存器中。旋转控制单元顺时针270旋转时具体工作流程;1、在第一次突发传输中,旋转控制单元将前4个像素依次写入缓存器0到缓存器 3的最低地址位;2、在第二次突发传输中,旋转控制单元将第二次突发传输的4个像素依次写入缓 存器0到缓存器3的地址1中;3、每次突发传输4个像素依次写入缓存器0到缓存器3的地址都递增1,直到整个 图像块读入完毕;4、当整个图像块传输完毕后,缓存器也都已经存满,此时已经准备好可以被图像 块回写单元从内部缓存器读出后通过总线写回目标外部存储器。图像块回写控制单元原理图像块回写控制单元从内部缓存器读取数据的机制由于原图像块数据在经过旋 转控制单元写入内部缓存器后,已经经过了旋转处理,所以不管是90度还是270度旋转,图 像块回写控制单元在从内部缓存器读取时,都是从缓存器0开始,地址从0到3的数据在通 过总线回写目标外部存储器时构成一次突发传输,然后再读缓存器1中的4个数回写到目 标外部存储器,一直到缓存器3从内部缓存器被读取并回写完毕后,该图像块处理完毕。图像块回写控制单元对图像块之间回写顺序的控制如图7所示,,每个小框代表一个图像块,每个图像块中间的虚线代表图像块内部 的像素读取顺序,每个横向的虚线箭头代表一次突发传输。由于图像块在原图像中的读取 顺序为从上到下,从左到右,所以在90读旋转后图像块的回写顺序变为图7所示的从右到 左,从上到下。90度旋转时图像块回写时地址的计算1、首次突发写传输的起始地址为目标图像起始地址加上一行像素的偏移地址再 减去一次突发传输长度的偏移地址;2、在一个突发传输结束后,下一个突发传输的开始地址为上一次突发传输起始地 址加上原图像中一行像素的地址偏移量;3、在一个图像块回写完毕后,新的块的第一次突发传输起始地址为前一个图像块 第一次突发传输起始地址减去一次突发传输长度的偏移地址;4、不断重复上两条的操作直到第一个块行的最后一个块传输完;(块行意为将图 像按块划分后,处于同一行的全部块)5、第二个块行开始的第一次突发传输起始地址为前一个块行第一次突发传输起 始地址加上图像块高度乘以一行像素地址偏移量的积(也就是一整个块行的地址偏移 量);6、如此每个块行不断重复,直到整个图像被回写完毕。如图8所示,每个小框代表一个图像块,每个图像块中间的虚线代表图像块内部 的像素读取顺序,每个横向的虚线箭头代表一次突发传输。由于图像块在原图像中的读取 顺序为从上到下,从左到右,所以在270读旋转后图像块的回写顺序变为图8所示的从左到 右,从下到上。
270度旋转时图像块回写时地址的计算1、首次突发写传输的起始地址为目标图像起始地址+(目标图像高度-1)* 一行 像素的偏移地址。其实就是将首次突发写传输的起始地址定为目标图像的左下角开始;2、在一个突发传输结束后,下一个突发传输的开始地址为上一次突发传输起始地 址减去原图像中一行像素的地址偏移量;3、在一个图像块回写完毕后,新的块的第一次突发传输起始地址为前一个图像块 第一次突发传输起始地址加上一次突发传输长度的偏移地址;4、不断重复上两条的操作直到第一个块行的最后一个块传输完;5、第二个块行开始的第一次突发传输起始地址为前一个块行第一次突发传输起 始地址减去图像块高度乘以一行像素地址偏移量的积(也就是一整个块行的地址偏移 量);6、如此每个块行不断重复,直到整个图像被回写完毕。本发明的有益效果在于1、本发明的电路结构同时实现了 90度和270度旋转功 能。2、将90度和270度旋转使用的缓存空间进行复用,以减少存储器和电路的使用。3、相 对与其他处理方式,基于块处理的方式保证了只需要很少的电路就可以实现旋转功能。4、 图像块的划分灵活,可以根据需要划分为N乘N的图像块,如果N越大,相应的内部缓存器 会变大,但是每次突发传输的长度越大则总线的数据传输效率越高。5、配置简单,方便用户 使用,该电路只需要用户配置图像的宽高、旋转的角度、原始图像在外部源存储单元中的起 始地址值,目标图像在外部目标存储器中的起始地址,电路就可以完成工作。6、灵活的应用 场合,该电路可以使用于屏幕需要显示的画面的旋转,也可以对一些指定位置的小图像进 行旋转处理后写入指定的目标位置,并且可以多次操作以实现图像处理的作用。
8
权利要求
手持设备屏幕画面同时实现90度和270度旋转的方法,其特征在于包括如下步骤步骤一设计一旋转电路结构包括外部源存储器、CPU、总线、外部目标存储器、旋转单元;所述外部源存储器、CPU、外部目标存储器分别连接到所述总线;所述总线连接所述旋转单元;所述旋转单元包括配置寄存器、图像块读取单元、旋转控制单元、内部缓存器、图像块回写控制单元;所述图像块读取单元连接所述旋转控制单元、所述旋转控制单元连接所述内部缓存器、所述内部缓存器连接所述图像块回写控制单元;所述图像块读取单元和图像块回写控制单元分别连接到所述总线;其中所述CPU负责通过总线对配置寄存器进行配置;所述外部源存储器负责存储原图像;所述外部目标存储器负责存储处理后图像的数据;所述总线为一个互联的单元,将挂载在总线上的各个单元连接在一起,任一个总线上的单元可以通过总线访问到挂载在总线的其他单元;所述图像块读取控制单元负责通过总线从外部源存储器读取原图像数据,并把数据送到旋转控制单元;所述旋转控制单元根据用户配置的旋转角度,将读入的图像块数据按照一定顺序和位置存储到内部缓存器中;所述内部缓存器负责缓存经过旋转控制单元处理后的图像块数据;所述图像块回写控制单元负责从内部缓存器读出处理后的图像块数据,再将数据通过总线回写到外部目标存储器中;所述配置寄存器负责存储整个旋转过程需要的信息,该信息包括图像的宽高、旋转的角度、原始图像在外部源存储器中的起始地址值,目标图像在外部目标存储器中的起始地址,开始工作的开关位;步骤二当用户使用旋转电路时,用CPU通过总线对配置寄存器中的值进行配置;首先配置需要旋转的角度,然后再配置图像的尺寸,原始图像在外部源存储器中的起始地址值,目标图像在外部目标存储器中的起始地址这些必须的信息,当以上信息配置完毕后通过配置电路开始工作的开关位使电路进入工作状态;步骤三在配置完毕电路开始工作后,图像块读取控制单元通过总线从外部源存储器按图像块读取原图像数据,并把数据送到旋转控制单元;步骤四在读入原图像数据进入旋转控制单元后,旋转控制单元根据用户配置的旋转角度,将读入的图像块数据按照一定顺序和位置存储到内部缓存器中;步骤五在一整个图像块的数据都经过旋转控制单元写入内部缓存器后,图像块回写控制单元开始从内部缓存器读出处理后的图像块数据,再将数据通过总线回写到外部目标存储器中;步骤六当处理完一个图像块并将其完全回写到目标外部存储器后,从第二步开始重复一个新的图像块处理;步骤七图像块按照一定的读取顺序一个接一个的处理,直到整个图像处理完毕。
全文摘要
手持设备屏幕画面同时实现90度和270度旋转的方法,设计一旋转电路结构包括外部源存储器、CPU、总线、外部目标存储器、旋转单元;所述外部源存储器、CPU、外部目标存储器分别连接到所述总线;所述总线连接所述旋转单元;所述旋转单元包括配置寄存器、图像块读取单元、旋转控制单元、内部缓存器、图像块回写控制单元;所述图像块读取单元连接所述旋转控制单元、所述旋转控制单元连接所述内部缓存器、所述内部缓存器连接所述图像块回写控制单元;所述图像块读取单元和图像块回写控制单元分别连接到所述总线。本发明只需要很小的缓存器容量,最大程度上的节省了电路实现面积,而且不同功能的电路之间可以复用,也大幅减少了电路的实现面积。
文档编号G09G5/38GK101958112SQ20101050550
公开日2011年1月26日 申请日期2010年10月13日 优先权日2010年10月13日
发明者廖裕民 申请人:福州瑞芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1