首页 / 专利库 / 钟表 / 指针 / 时针 / 一种实现屏幕顺时针270度旋转的系统

一种实现屏幕顺时针270度旋转的系统

阅读:461发布:2020-05-13

专利汇可以提供一种实现屏幕顺时针270度旋转的系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种实现屏幕顺 时针 270度旋转的系统,包括CPU和存储有图像原始数据的存储单元,所述CPU和存储单元经总线与总线读取单元连接,所述的总线读取单元负责通过总线从存储单元读取图像数据,如果是不旋转的图像数据,则直接送入屏幕显示 控制器 ;如果是要旋转的图像数据,将该数据送入旋转控制器;所述的旋转控制器负责图像数据进行旋转处理,再将处理后的数据存放到旋转图像缓存单元,所述的旋转图像缓存单元与屏幕显示控制器连接,所述的屏幕显示控制器的数据输出端与屏幕连接;所述的CPU经总线还连接有配置寄存器。本发明大大降低了总线带宽的占用,解决了在尽量少占用资源的情况下实现画面旋转的功能。,下面是一种实现屏幕顺时针270度旋转的系统专利的具体信息内容。

1.一种实现屏幕顺时针270度旋转的系统,包括CPU和存储有图像原始数据的存储单元,其特征在于:所述系统还包括总线读取单元、屏幕显示控制器、旋转图像缓存单元、旋转控制器、屏幕以及配置寄存器;所述CPU和存储单元经总线与总线读取单元连接,所述的总线读取单元负责通过总线从存储单元读取图像数据,如果是不旋转的图像数据,则直接送入屏幕显示控制器;如果是要旋转的图像数据,将该数据送入旋转控制器;所述的旋转控制器负责图像数据进行旋转处理,再将处理后的数据存放到旋转图像缓存单元,所述的旋转图像缓存单元由两个结构完全一致的缓存器构成,各所述缓存器内部又由4个列缓存构成,每个列缓存的位宽都是32bit;主要用于操作过程中的乒乓操作,即第一缓存器在填充数据的时候第二缓存器能向外输送数据,当第一缓存器被填满数据并向外传数据时,第二缓存器被填充;每个缓存器存储的像素个数为:最大支持分辨率的高度和一次突发传输的长度的乘积;所述的旋转图像缓存单元与屏幕显示控制器连接,所述的屏幕显示控制器的数据输出端与屏幕连接;所述的CPU经总线还连接有配置寄存器,所述的配置寄存器为总线读取单元和旋转控制器提供配置信息;其中所述总线读取单元读取图像数据并填入所述旋转图像缓存单元中的缓存器的顺序见步骤10至步骤40:
步骤10、从原始图像的左下开始传输,数据通过旋转控制器送到第一缓存器,每次传输一个突发传输的长度,传完后继续传输上一行的一个突发传输的长度,直到原始图像的第一行的突发传输被传完,此时第一缓存器被填满,可以向屏幕显示控制器输出原始图像的列数据;
步骤20、接着从原始图像的最后一行偏移一个突发传输长度所占用缓存器的地址再开始传输,此时填充第二缓存器,操作和填充第一缓存器一致,直到第二缓存也被填满,然后等待第一缓存器被读完;
步骤30、等待第一缓存器被读完后,开始读第二缓存器,总线读取单元也从原始图像最后一行偏移两个突发传输长度所占用缓存器的地址再开始传输,重新填充第一缓存器,直到第一缓存器填满,然后等待第二缓存器被读完;
步骤40、等待第二缓存器被读完后,又开始读第一缓存器和重新填充第二缓存器,如此循环直到整个图像被遍历;
其中,所述图像缓存单元向屏幕显示控制器输出的具体时序如下:
当缓存器填满后,缓存器向屏幕显示控制器输出原始图像的列数据,输出方向为从下到上、从左到右;每当需要显示原始图像的一列,则读取对应列缓存中原始图像的列数据,每次读取一列,直到缓存中的16列全部读完,该缓存器再次进入被填充状态。
2.根据权利要求1所述的一种实现屏幕顺时针270度旋转的系统,其特征在于:所述的配置信息包括配置画面的尺寸、是否需要旋转、原始图像在存储单元中的起始地址值。
3.根据权利要求1所述的一种实现屏幕顺时针270度旋转的系统,其特征在于:所述旋转控制器是根据像素所在行除以4的余数和像素在本行中的位置对4的余数来决定写入列缓存的位置,具体的方法包括:
像素所在的行数对4的余数如果为0,则该像素存储于列缓存的最低8bit大小空间中;
像素所在的行数对4的余数如果为1,则该像素存储于列缓存的9到16bit大小空间中;
像素所在的行数对4的余数如果为2,则该像素存储于列缓存的17到24bit大小空间中;
像素所在的行数对4的余数如果为3,则该像素存储于列缓存的最高8bit大小空间中;
像素在本行中的位置对4的余数如果为0,则该像素存储于第4个列缓存中;
像素在本行中的位置对4的余数如果为1,则该像素存储于第1个列缓存中;
像素在本行中的位置对4的余数如果为2,则该像素存储于第2个列缓存中;
像素在本行中的位置对4的余数如果为3,则该像素存储于第3个列缓存中。

说明书全文

一种实现屏幕顺时针270度旋转的系统

【技术领域】

[0001] 本发明涉及一种通信设备领域,尤其涉及一种实现通信设备中的屏幕顺时针270度旋转的系统。【背景技术】
[0002] 随着技术的发展移动终端性能的提高,用户对信息获取的要求越来越高。 [0003] 屏幕作为视觉的载体,是信息获取的最主要手段,如何使得用户在使用移动终端设备时得到更好的用户体验是很多厂商努的方向。而通过绚丽的屏幕显示来达到提高用户体验是一种最直接有效的方法。但是要实现绚丽的显示效果通常需要软件人员进行大量的编程和对CPU资源和总线带宽大量的使用。如何才能在拥有绚丽显示效果的同时又减少软件人员的工作量并且节约CPU的计算资源和总线的带宽资源是一个很矛盾的问题。 [0004] 屏幕画面旋转显示通过旋转画面使得画面比例更接近于屏幕的长宽比例,使得用户获得更大的可视范围,成为当前显示技术的热点。但是在如何实现画面的旋转显示一直是一个技术难题,现有技术没有高效的解决旋转屏幕的电路,通常耗费较多的面积和功耗;常见的实现方法有通过图形图像处理器GPU来处理,从存储单元读出处理完后写回存储单元,在读/写存储单元时会涉及到突发传输,突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度。在进行突发传输时,只要指定缓存器起始列地址与突发长度,内存就会依次地自动对后面相应数量的存储单元进行读/写操作而不再需要控制器连续地提供列地址。在需要显示时才又从存储单元读出显示。这种方式会占用大量的总线带宽;如果用软件编程通过CPU或者DSP计算处理,将耗费大量的运算资源,而且速度很慢,很难满足大解析度的视频播放旋转要求。
【发明内容】
[0005] 本发明要解决的技术问题,在于提供一种实现屏幕顺时针270度旋转的系统,通过较少的电路和存储器实现了屏幕顺时针旋转270度。
[0006] 本发明是这样实现的:一种实现屏幕顺时针270度旋转的系统,包括CPU和存储有图像原始数据的存储单元,所述系统还包括总线读取单元、屏幕显示控制器、旋转图像缓存单元、旋转控制器、屏幕以及配置寄存器;所述CPU和存储单元经总线与总线读取单元连接,所述的总线读取单元负责通过总线从存储单元读取图像数据,如果是不旋转的图像数据,则直接送入屏幕显示控制器;如果是要旋转的图像数据,将该数据送入旋转控制器;所述的旋转控制器负责图像数据进行旋转处理,再将处理后的数据存放到旋转图像缓存单元,所述的旋转图像缓存单元由两个结构完全一致的缓存器构成,各所述缓存器内部又由4个列缓存构成,每个列缓存的位宽都是32bit;主要用于操作过程中的乒乓操作,即第一缓存器在填充数据的时候第二缓存器能向外输送数据,当第一缓存器被填满数据并向外传数据时,第二缓存器被填充;每个缓存器存储的像素个数为:最大支持分辨率的高度和一次突发传输的长度的乘积;所述的旋转图像缓存单元与屏幕显示控制器连接,所述的屏幕显示控制器的数据输出端与屏幕连接;所述的CPU经总线还连接有配置寄存器,所述的配置寄存器为总线读取单元和旋转控制器提供配置信息;其中所述总线读取单元读取图像数据并填入所述旋转图像缓存单元中的缓存器的顺序见步骤10至步骤40:
[0007] 步骤10、从原始图像的左下开始传输,数据通过旋转控制器送到第一缓存器,每次传输一个突发传输的长度,传完后继续传输上一行的一个突发传输的长度,直到原始图像的第一行的突发传输被传完,此时第一缓存器被填满,可以向屏幕显示控制器输出原始图像的列数据;
[0008] 步骤20、接着从原始图像的最后一行偏移一个突发传输长度所占用缓存器的地址再开始传输,此时填充第二缓存器,操作和填充第一缓存器一致,直到第二缓存也被填满,然后等待第一缓存器被读完;
[0009] 步骤30、等待第一缓存器被读完后,开始读第二缓存器,总线读取单 元也从原始图像最后一行偏移两个突发传输长度所占用缓存器的地址再开始传输,重新填充第一缓存器,直到第一缓存器填满,然后等待第二缓存器被读完;
[0010] 步骤40、等待第二缓存器被读完后,又开始读第一缓存器和重新填充第二缓存器,如此循环直到整个图像被遍历;
[0011] 其中,所述图像缓存单元向屏幕显示控制器输出的具体时序如下: [0012] 当缓存器填满后,缓存器向屏幕显示控制器输出原始图像的列数据,输出方向为从下到上、从左到右;每当需要显示原始图像的一列,则读取对应列缓存中原始图像的列数据,每次读取一列,直到缓存中的16列全部读完,该缓存器再次进入被填充状态。 [0013] 本发明具有如下优点:本发明通过较少的电路和存储器实现了屏幕旋转,由于本系统和屏幕显示控制器紧耦合,只需要从存储单元读出待显示画面,经过旋转后直接显示到显示设备上,大大降低了总线带宽的占用,很好的解决了在尽量少占用资源的情况下实现画面旋转的功能。
[0014] 【附图说明】
[0015] 图1为本发明系统结构示意图。
[0016] 图2为本发明总线读取单元读数的时序示意图。
[0017] 图3为本发明旋转和屏幕扫描原理示意图。
[0018] 图4为本发明旋转控制器写两缓存器的具体时序示意图。
[0019] 图5为本发明第一个突发传输的写缓存器具体时序示意图。
[0020] 图6为本发明第一缓存器中四个列缓存填充像素的示意图。
[0021] 图7为本发明图像缓存单元向显示控制器输出的具体时序示意图。 [0022] 【具体实施方式】
[0023] 下面参照附图结合实施例对本发明作进一步的说明。
[0024] 一种实现屏幕顺时针270度旋转的系统,如图1所示,包括CPU和存储有图像原始数据的存储单元,所述CPU和存储单元经总线与总线读取单元连接,所述的总线读取单元负责通过总线从存储单元读取图像数据,如果 是不旋转的图像数据,则直接送入屏幕显示控制器;如果是要旋转的图像数据,将该数据送入旋转控制器;所述的旋转控制器负责图像数据进行旋转处理,再将处理后的数据存放到旋转图像缓存单元,所述的旋转图像缓存单元与屏幕显示控制器连接,其中所述的旋转图像缓存单元由两个结构完全一致的缓存器构成,所述缓存器各自内部又由4个列缓存构成,每个列缓存的位宽都是32bit;主要用于操作过程中的乒乓操作,即第一缓存器在填充数据的时候第二缓存器能向外输送数据,当第一缓存器被填满数据并向外传数据时,第二缓存器被填充;每个缓存器存储的像素个数为:最大支持分辨率的高度和一次突发传输的长度的乘积;所述的屏幕显示控制器的数据输出端与屏幕连接;所述的CPU经总线还连接有配置寄存器,所述的配置寄存器为总线读取单元和旋转控制器提供配置信息;所述的配置信息包括配置画面的尺寸、是否需要旋转、原始图像在存储单元中的起始地址值。
[0025] 其中所述总线读取单元读数并填入缓存器的顺序如下(如图2所示): [0026] 步骤10、从原始图像的左下角开始传输,数据通过旋转控制器送到第一缓存器,每次传输一个突发传输的长度,传完后继续传输上一行的一个突发传输的长度,直到原始图像的第一行的突发传输被传完,此时第一缓存器被填满,可以向屏幕显示控制器输出原始图像的列数据;
[0027] 步骤20、接着从原始图像的最后一行偏移一个突发传输长度所占用缓存器的地址再开始传输,此时填充第二缓存器,操作和填充第一缓存器一致,直到第二缓存也被填满,然后等待第一缓存器被读完;
[0028] 步骤30、等待第一缓存器被读完后,开始读第二缓存器,总线读取单元也从原始图像最后一行偏移两个突发传输长度所占用缓存器的地址再开始传输,重新填充第一缓存器,直到第一缓存器填满,然后等待第二缓存器被读完;
[0029] 步骤40、等待第二缓存器被读完后,又开始读第一缓存器和重新填充第二缓存器,如此循环直到整个图像被遍历。
[0030] 本发明中的存储单元:负责存储隔行格式的视频原始数据;
[0031] CPU:负责系统整体的时序控制和对寄存器进行配置;
[0032] 总线读取单元:负责通过总线从存储单元读取图像数据,并把数据送到运动估计单元和图像缓存单元;
[0033] 旋转控制器:负责对总线读取单元送入的数据进行旋转处理,再将处理后的数据存放到图像缓存单元;
[0034] 旋转图像缓存单元:负责存储将要显示到屏幕的经过处理的旋转图像; [0035] 屏幕显示控制器:负责放大缩小缓存中的图像尺寸使之适应屏幕的尺寸并且按照屏幕需要的格式和时序传输图像数据到屏幕输出;
[0036] 配置寄存器:负责存储整个旋转过程需要的所有信息,如画面的尺寸,是否需要旋转,原始图像在存储单元中的起始地址值,等等,用户使用CPU通过总线对寄存器中的值进行配置。
[0037] 本发明的系统工作的流程:
[0038] 1、当用户使用旋转电路时,CPU通过总线配置寄存器,配置画面的尺寸,是否需要旋转,原始图像在存储单元中的起始地址值等必须的信息;
[0039] 2、在配置完毕后,总线读取单元会根据配置开始从存储单元取数,如果不需要旋转,则读取像素的顺序与屏幕扫描顺序一样,并将读取的数据直接送到屏幕显示控制器;如果需要旋转,则从原始图像的左下角开始读取,并将数据送往旋转控制器; [0040] 3、数据在经过旋转控制器后,像素经过旋转存到图像缓存单元; [0041] 4、图像缓存单元按照原始图像中列的形式将像素送往屏幕显示控制器; [0042] 5、屏幕显示控制器将图像按照屏幕需要的格式和时序传输图像数据到屏幕输出。 [0043] 其中旋转和屏幕扫描原理示意:
[0044] 如图3所示,在旋转之前,需要显示图像的话,向屏幕送数据的方式只需要按照原始图像一行一行的从左到右从上到下的方向就可以了,这也是原始图像存储于存储单元的格式。如果需要旋转屏幕扫描的方向不变的情况下将画面输出的顺序进行改变,将变为从画面的左下方开始送数据,将原始画面一列一列从下到上,从左到右输送。 [0045] 下面结合一具体实施例对本发明作进一步说明。
[0046] 数据在经过旋转控制器时写到两个缓存器的具体时序,如图4所示:两个缓存器都有4个列缓存,每个列缓存的位宽都是32bit,图中显示的是前四次突发传输的第一个32bit的存放于4个列缓存的方式。旋转控制器是根据像素所在行除以4的余数和像素在本行中的位置对4的余数来决定写入列缓存的位置,具体的方法是:
[0047] 像素所在的行数对4的余数如果为0,则该像素存储于列缓存的最低8bit大小空间中;
[0048] 像素所在的行数对4的余数如果为1,则该像素存储于列缓存的9到16bit大小空间中;
[0049] 像素所在的行数对4的余数如果为2,则该像素存储于列缓存的17到24bit大小空间中;
[0050] 像素所在的行数对4的余数如果为3,则该像素存储于列缓存的最高8bit大小空间中;
[0051] 像素在本行中的位置对4的余数如果为0,则该像素存储于第4个列缓存中; [0052] 像素在本行中的位置对4的余数如果为1,则该像素存储于第1个列缓存中; [0053] 像素在本行中的位置对4的余数如果为2,则该像素存储于第2个列缓存中; [0054] 像素在本行中的位置对4的余数如果为3,则该像素存储于第3个列缓存中。 [0055] 如图5所示,是第一个突发传输的写缓存器具体时序,假设原始图像的高度是720行,所以第一次突发传输的内容是第720行的像素。一次突发传输的量是16个像素,在4个时钟节拍内送入缓存器,每个节拍四个像素,根据上面描述的写列缓存位置的规则写入各个列缓存,如图5中第一个时钟节拍4个像素10,分别写入缓存器20L1基地址、L2基地址、L3基地址、L4基地址,第二、三、四时钟节拍,每个节拍中的4个像素同第一节拍一样的原理分别写入对应的缓存器中。
[0056] 按照以上的写时序将第一个缓存器填满后,缓存器中四个列缓存的内容如图6所示:
[0057] 假设原始图像的高度为720行,第一次将A缓存填满后的个缓存内容如图6所示。整个缓存中一共存储了原图像16列的内容,每个列缓存都存储了原始图像中4列的数据。
比如列缓存L1中从基地址到偏移地址179存储了原图中第一列的所有像素,偏移地址180到359存储了原图中第五列的所有像素,偏移地址360到539存储了原图中第九列的所有像素,偏移地址540到719存储了原图中第十三列的所有像素。
[0058] 其系统工作流程中图像缓存单元向显示控制器输出的具体时序: [0059] 在将缓存器填满后,缓存器可以向显示控制器输出原始图像的列数据,输出方向为从下到上从左到右。所以每当需要显示原始图像的一列,则读取对应列缓存中原始图像的列数据,具体的读取顺序如图7所示,每次读取一列,直到缓存中的16列全部读完,该缓存器再次进入被填充状态。
[0060] 总之,本发明通过较少的电路和存储器实现了屏幕旋转,由于本系统和屏幕显示控制器紧耦合,只需要从存储单元读出待显示画面,经过旋转后直接显示到显示设备上,大大降低了总线带宽的占用,而且用户通过CPU进行基本的配置即可实现画面旋转显示,中间不需要CPU干预,大大节省了CPU的计算资源。
[0061] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈