图像投影设备、存储器控制设备、激光投影机和存储器访问方法

文档序号:2673304阅读:232来源:国知局
专利名称:图像投影设备、存储器控制设备、激光投影机和存储器访问方法
技术领域
本发明涉及图像投影设备、存储器控制设备、激光投影机和存储器访问方法。
背景技术
目前,已经开发出了使用激光作为光源的图像投影设备(在下文中也被称为“投影机”)。使用激光作为光源使投影机获取极高的色度和高的色彩再生。DLP (数字光处理)方法、LCOS(硅上液晶)方法和使用MEMS(微电子机械系统)的方法是将激光投影到表面的已知方法。然而,在从投影机投影激光的情况下,已知当通过投影图像和投影的激光的中心处的光束形成的角并不成直角(在下文中也被称为“倾斜投影”)时,通过投影机投影的投影图像变形,并且该投影图像的形状为梯形。图38A-38C是用于描述在光学系统中出现倾斜投影的情况下的投影图像的示意图。图38A说明了在非倾斜投影的情况下的投影图像的示例。图38B说明了在倾斜投影(向上投影)的情况下的投影图像的示例。图38C说明了在倾斜投影(向下投影)的情况下的投影图像的另一个示例。在图38A中,由于来自投影机的光是以一定距离(从投影机到墙壁的距离)和在设计光学系统时预计的角(通过投影图像和在投影的光的中心处的光束形成的角)被投影的,投影图像被投影而没有任何失真。在图38B中,由于从投影机投影的光相对于在设计光学系统时预期的角向上倾斜,投影图像的上侧长于投影图像的下侧。因此,投影图像失真并变为梯形。在图38C中,由于从投影机投影的光相对于在设计光学系统时预期的角向下倾斜,投影图像的下侧长于投影图像的上侧。因此,投影图像失真并变为梯形。尽管存在将失真的投影图像从梯形校正为正方形的数种方法,诸如使用DLP处理的投影机(DLP投影机)或使用LCOS处理的投影机(LC0S投影机)之类的投影机需要事前对数据图像(要被输入到光学偏振元件的图像)执行图像处理。也就是说,由于在光学偏振元件上形成的单个像素对应于在投影平面上形成的图像的单个像素,因此需要DLP投影机和LCOS事先对输入图像执行图像处理(像素跳过、像素插入)。图39A是用于描述DLP投影机的示意图。DLP投影机使用具有以像素为单元集成的反射镜的DMD(数字微反射镜装置)。图93A说明了与4个像素QX2)对应的DMD的示例。在图39A的DMD中,右上的反射镜被关闭,而其他的反射镜被开启。相应地,在从光源投影的投影图像中,与DMD的反射镜的状态相对应地,在右上像素上形成黑色图像。因此,使用DLP投影机,偏振元件的1个反射镜对应于投影图像的1个像素。图39B是用于描述在使用DLP投影机的情况下的梯形图像的校正的示例图。由于DLP的微反射镜(以及LCOS投影机的液晶)与投影图像的像素具有一一对应的关系,因此投影机无法改变被投影的像素的位置。例如,为了将如图3B的左侧所示的失真的投影图像校正为如图3B的右侧所示的矩形,需要从与矩形像素相对应的微反射镜反射光。这导致有效像素的减少。此外,由于与有效像素的减少相关联的原始图像数据被跳过,因此会出现投影图像的劣化。图40A是用于描述使用激光扫描方法的投影机(激光扫描型投影机)的示意图。激光扫描型投影机通过利用2D (二维)扫描仪(x-y扫描仪)来对激光进行偏振,来在投影平面上形成图像。在图40A中,从激光振荡器发射的激光投射通过半反射镜。随后,通过2D扫描仪对激光进行偏振。随后,通过半反射镜改变激光的路径,从而在屏幕上形成图像。由于2D扫描仪被连续地操作,因此可以通过调整发射激光的定时来调整要表现的区域。从而,能够表现等于或小于单个像素的区域。图40B是用于描述激光扫描型投影机的矩形校正的示意图。利用激光扫描型投影机,通过经由调整发射激光的定时来略微调整像素位置,就能够实现矩形校正而无需减少有效像素。然而,如日本专利公开No. 2007-199251所披露的,考虑到振荡反射镜以谐振状态振荡,基于垂直轴的位置控制振荡反射镜的振荡是困难和不现实的。此外,在日本专利公开No. 20044950 中,控制发射激光的定时,使用包括三角函数和逆三角函数的实数来计算通过谐振状态下的振荡反射镜形成的激光的轨迹。因此,在校正发射激光的定时的同时实时计算激光的表现区域的情况下,存在计算无法跟上校正的问题。此外,在日本专利公开No. 2010-230730中,并未详细地描述计算非表现区域或在计算后控制激光的方法。因此,设想在日本专利公开No. 2010-230730中披露的技术包括尚待解决以便实现该技术的问题。

发明内容
本发明可以提供基本上消除由相关领域的限制和缺陷导致的一个或多个问题的图像投影设备、存储器控制设备、激光投影机、和存储器访问方法。在以下描述中阐明了本发明的特征和优势,从说明书和附图中,本发明的特征和优势的一部分将变得明显,或者通过根据在说明书中提供的教诲来实践本发明,可以获知本发明的特征和优势的一部分。通过以这样的完全、清晰、简介和精确的措辞来在说明书中特别地指出以使本领域一般技术人员能够实践本发明的图像投影设备、存储器控制设备、激光投影机和存储器访问方法,能够实现和获取本发明的目的、以及其他特征和优势。为了实现这些和其他优势并根据在本文中体现和广泛地描述的本发明的目的,本发明的实施例提供了一种图像投影设备,其包括输入部件,其用于输入图像数据;帧存储器,其用于存储图像数据;激光振荡器,其用于向屏幕发射激光;偏转部件,其包括反射光学元件,并用于相对于两个垂直交叉的轴来振荡反射光学元件;存储部件,其用于存储多项式的系数数据;照射位置计算部件,其用于基于通过使用系数数据获取的系数和反射光学元件的振荡角来计算照射位置;地址计算部件,其用于计算帧存储器中与照射位置对应的地址;存储器控制部件,其用于读取地址的像素数据;以及激光驱动部件,其用于根据与像素数据对应的亮度来振荡激光振荡器。根据以下描述并结合附图,本发明的其他目的、特征和优势将变得更加明显。


图IA和IB是说明根据本发明实施例的激光投影机和输入终端的示例的示意图;图2是说明根据本发明实施例的LPJ的配置的示意图;图3是用于描述根据本发明实施例的在帧存储器中存储的图像数据的示意图;图4是说明根据本发明实施例的表现位置计算单元的示意图;图5A是根据本发明实施例的MEMS反射镜的平面视图;图5B是根据本发明另一实施例的MEMS反射镜的示意图;图6是用于描述从MEMS反射镜反射的激光的坐标位置的示意图;图7是说明MEMS反射镜的两个旋转轴的示意图;图8是说明根据本发明实施例的通过LPJ假定的投影图像的失真的示例的示意图;图9是用于说明在当主扫描方向上的振荡角Φ为-1到-7度时副扫描方向上的振荡角θ改变的情况下分别获取的激光的轨迹的示意图;图IOA和IOB是说明在当副扫描方向上的振荡角θ为1到5度时主扫描方向上的振荡角Φ改变的情况下分别获取的激光的轨迹的示意图;图IlA是说明根据本发明实施例的副扫描方向上的振荡角Φ和a(x)之间的关系的图示;图IlB是说明根据本发明实施例的振荡角Φ和b(x)之间的关系的图示;图12A是说明根据本发明实施例的副扫描方向上的振荡角θ和c(y)之间的关系的图示;图12B是说明根据本发明实施例的副扫描方向上的振荡角θ和d(y)之间的关系的图示;图12C是说明根据本发明实施例的副扫描方向上的振荡角θ和e(y)之间的关系的图示;图13是说明根据本发明实施例的图像输出系统电路的整体操作的时序图;图14是说明根据本发明实施例的通过执行仿真来从隶属于(X,Y)的数据获取15个系数的步骤的流程图;图15是说明根据本发明实施例的通过从使用仿真软件而获取的函数a(x)到e (y)获取通过使用dyl到dy9并计算屏幕坐标的所计算出的轨迹的坐标a(x)到e(y)、而获取的屏幕坐标的轨迹的示例的示意图;图16是用于说明失真校正的示例的示意图;图17是用于说明枕形失真或桶形失真和校正枕形失真或桶形失真的结果的示意图;图18A和18B是用于说明自由扫描的示例的示意图;图19是用于说明根据本发明实施例的LPJ的存储器访问的示意图;图20是说明图像尺寸和存储容量之间的关系的示例的表格;图21是说明读取周期的示例的时序图;图22是说明根据本发明实施例的在连续访问期间的读取周期的示例的时序图23是用于说明执行光栅扫描的示例的示意图;图M是用于说明自由扫描的示例的示意图;图25A和25B是用于说明失真校正的示意图;图沈是说明根据本发明实施例的存储器控制块的示例性配置的框图;图27是说明根据本发明实施例的输入缓存的框图;图观是说明根据本发明实施例的输出缓存的框图;图四是说明根据本发明实施例的输出缓存的地址部分的框图;图30是说明根据本发明实施例的从将读出地址输入到地址部分和将对应数据写入到2端口 FIFO开始的操作的流程图;图31是用于描述根据本发明实施例的直到FIFO控制部分将在2端口 FIFO中存储的数据传送到仲裁器或数据部分为止执行的操作的流程图;图32是说明根据本发明实施例的输出缓存的数据部分的示例性配置的框图;图33A说明根据本发明实施例的通过FIFO控制部分写入重叠数据/空白数据的操作;图3 说明根据本发明实施例的重叠/空白生成部分从2端口 FIFO 36加载数据的操作;图34是说明根据本发明实施例的重叠/空白再生部分的示例性配置的框图;图35是说明根据本发明实施例的使用重叠/空白再生部分来再生重叠/空白数据的操作的流程图;图36是说明根据本发明实施例的向仲裁器输入并从仲裁器输出的信号的示意图;图37说明根据本发明实施例的根据裁定策略生成的裁定表格的示例;图38A-38C是用于描述在光学系统中出现倾斜投影的情况下的投影图像的示意图;图39A是用于描述DLP投影机的示意图;图39B是用于描述在使用DLP投影机的情况下的梯形图像的校正的示意图;图40A是用于描述使用激光扫描方法的投影机的示意图;以及图40B是用于描述激光扫描型投影机的梯形校正的示意图。
具体实施例方式[第一实施例]图IA和IB是说明根据本发明实施例的激光投影机(在下文中也被称为“LPJ”) 200和输入终端的示例的示意图。输入终端用于向LPJ 200输入图像数据。输入终端可以是例如PC(个人计算机)、电视机、BD (蓝光盘片)播放器、或其上记录有图像数据的记录介质。LPJ 200基于图像数据生成激光,并通过在2D扫描仪上反射激光来在屏幕上形成投影图像。在LPJ 200不具有光学系统(例如,透镜)的情况下,LPJ 200用于总是具有焦点对准的激光。如图1中所示,以在面对投影图像的中心的位置处放置发射激光的发射部件的方式来形成投影图像。或者,以在面对投影图像的底端的附件的位置处放置发射部件的方式来形成投影图像。
尽管投影图像的尺寸取决于LPJ 200和屏幕之间的投影距离而不同,但是投影图像的尺寸可以被改变为使得投影图像的对角线的范围为从30cm到300cm。在LPJ 200包括变焦机构和透反射镜的情况下,无需改变LPJ 200的位置就可以改变投影图像的尺寸。图2是说明根据本发明实施例的LPJ 200的配置的示意图。LPJ 200包括例如图像输入系统电路49、图像输出系统电路48、帧存储器58、2D扫描仪53、和激光振荡器60。图像输入系统电路49包括输入接口,输入接口包括一个或多个视频输入。输入接口可以是用于数据数字图像数据的端子(例如,DVI端子、HDMI端子)或用于输入模拟数据的端子(例如,D-Sub端子、S-Video端子)。输入接口还可以是例如用于连接到存储装置 (例如,闪速存储器)的USB端子。输入图像数据的视频信号是RGB信号。然而,在输入图像数据的视频信号是YUV 信号的情况下,LPJ 200在视频输入前将YUV信号转换为RGB信号。利用预定的分辨率(例如,WXGA、XGA、SVGA、VGA)来输入图像数据。在视频输入为模拟信号的情况下,图像输入系统电路49对模拟信号执行A/D转换,并将转换的信号输出到存储器控制块100。存储器控制块100在帧存储器58中临时存储从图像输入系统电路49输入的图像数据,从帧存储器58中读出图像数据,并将图像数据输出到图像输出系统电路48。图3是用于描述根据本发明实施例的在帧存储器58中存储的图像数据的示意图。 图3说明了从帧存储器58提取的图像数据的一部分的放大视图。帧存储器58被设置在下属的外部存储器15中的区域的一部分(地址范围)中。除了帧存储器58之外,外部存储器15还存储程序等。利用3个字节(M个bit(R:8字节、G:8字节、B:8字节))来表示图像数据的一个像素。在图3中,图像数据的每个方块包括8个bit。存储器控制块100读出具有与2D扫描仪53的投影区域(位置)对应的地址的图像数据,并将图像数据输出到激光驱动器59。在本发明的下述第二实施例中详细描述存储器控制块100。返回到图2,图像输出系统电路48包括二维扫描仪驱动定时生成单元51、定时校正指示单元M、表现(d印iction)位置计算单元57、扫描仪角计算单元55、扫描仪驱动器 52、ADC (模拟到数字转换器)56、和激光驱动器59。由于LPJ 200使用激光作为光源,因此LJP 200包括激光振荡器60,激光振荡器 60将与RGB色彩中的每一个相对应的激光重叠(组合)为单个激光并输出重叠的激光。激光振荡器60包括与RGB色彩中的每一个相对应的激光二极管(LD) 60r、60g、60b。激光驱动器59包括用于驱动LD 60r.60g.60b的激光驱动器59r、59g、59b。激光驱动器59r基于与给定像素的R相对应的图像数据生成用于驱动激光二极管60ι 的红色激光二极管(LD)驱动波形,激光驱动器59g基于与给定像素的G相对应的图像数据生成用于驱动激光二极管 60g的绿色激光二极管(LD)驱动波形,以及激光驱动器59b基于与给定像素的B相对应的图像数据生成用于驱动激光二极管60b的蓝色激光二极管(LD)驱动波形。相应地,红色LD 60r、绿色LD 60g、和蓝色LD 60b以基于对应的图像数据的密度振荡。因此,激光振荡器60 发射具有与图像数据相对应的亮度(色彩)的激光。2D扫描仪53通过二维扫描激光来对投影图像进行投影。在该实施例中,2D扫描仪 53是两轴MEMS扫描仪。两轴MEMS扫描仪包括用于检测MEMS反射镜的振荡角(偏转角) 的传感器(角检测器)。角检测器将与MEMS反射镜的振荡角相对应的电压输出到ADC 56。 ADC 45将与振荡角相对应的电压转换为数字振荡角。
二维扫描仪驱动定时生成单元51将时钟计数输出到表现位置计算单元57。时钟计数用作MEMS反射镜驱动波形的原始数据。利用谐振频率来驱动MEMS反射镜,从而能够用少量的能量来获取大的振荡角。由于谐振频率是基于例如MEMS反射镜的材料、形状、尺寸和/或梁(beam)部分的材料、形状、尺寸而被确定的,因此研究者等能够假定谐振频率的大致的值。此外,通过提供用于检测MEMS反射镜的频率的传感器,可以更准确地获取谐振频率。通过诸如微型计算机之类的外部装置(未示出)将谐振频率设置到二维扫描仪驱动定时生成单元51。二维扫描仪驱动定时生成单元51基于通过外部装置设置的谐振频率和系统时钟频率,对与在主方向上进行扫描的单个周期相当的时钟的数量和与在副扫描方向上进行扫描的单个周期相当的时钟的数量进行计数。例如,在相对于水平方向的谐振频率为 1000Hz (1周期为1ms)、且系统时钟频率为IOOMHz (10 μ s)的情况下,由于需要100个计数来对Ims进行计数,相对于水平方向的最大时钟计数为100次。类似地,根据水平方向上的谐振频率来确定相对于垂直方向的最大时钟计数。二维扫描仪驱动定时生成单元51相对于水平方向对时钟进行计数(例如,一旦时钟计数到达100次时钟计数就返回1,并重复直到100次的计数),并将时钟计数输出到定时校正指示单元M和表现位置计算单元57。取代在水平方向和垂直方向上分别对时钟进行计数,可以存在与单个屏幕对应的单个时钟计数。在以下的描述中,在没有区分水平方向和垂直方向的情况下,在下文中对时钟计数进行描述。此外,二维扫描仪驱动定时生成单元51基于时钟计数生成用于以谐振频率振荡 MEMS反射镜的MEMS反射镜的驱动波形,并将所述驱动波形输出到扫描仪驱动器52。驱动波形可以是诸如PWM(脉宽调制)波形、正弦波形、三角波形之类的典型波形。在该示例中, 相对于主扫描方向的驱动波形是矩形波形,相对于副扫描方向的驱动波形是PWM波形。尽管时钟计数用作用于驱动MEMS反射镜的驱动波形的原始数据,但由于各种延迟因素(例如,扫描仪驱动器52的延迟、MEMS反射镜的物理响应特性),MEMS反射镜的实际移动可能会偏离时钟计数。此外,由于MEMS反射镜的谐振频率可能会随着温度或经过的时间的改变而改变,因此即使MEMS反射镜以相同的驱动波形振荡,MEMS反射镜的振荡也会改变。为了校正偏离,扫描仪角计算单元55根据驱动波形检测MEMS反射镜的已知最大振荡角的定时,并对从ADCM输出的振荡角进行采样。将振荡角输入到定时校正指示单元 54。定时校正指示单元M确定在通过驱动波形预期的振荡角和从扫描仪角计算单元 55输入的实际角之间是否存在差值。在差值等于或大于预定值的情况下,定时校正指示单元讨计算要校正的量(校正量),并将计算出的校正量输入到二维扫描仪驱动定时生成单元51。因此,由于根据校正量来校正时钟计数,因此二维扫描仪驱动定时生成单元51调整驱动波形的驱动电压或频率。从而,可以将MEMS反射镜的振荡角调整到期望的角。此外,定时校正指示单元M将MEMS反射镜驱动定时(最大振荡定时)和MEMS反射镜的实际振荡之间的相位差输出到表现位置计算单元57。以时钟的数量(时钟校正量) 来表示相位差。接下来,将描述根据本发明实施例的表现位置计算单元57。
图4是说明根据本发明实施例的表现位置计算单元57的示意图。表现位置计算单元57包括例如校正后时钟计数计算单元61、屏幕坐标计算单元62、失真校正参数存储单元63、和存储器地址计算单元64。表现位置计算单元57计算当以特定的振荡角放置MEMS反射镜时激光发射到的屏幕上的位置(地点)。表现位置计算单元57主要执行以下的2个操作。操作1 表现计算单元57基于从实际校正指示单元M接收到的时钟校正(校正量)和从2D扫描仪驱动定时生成单元M接收到的时钟计数,计算用于标识表现位置(即要表现的区域的位置)的校正的时钟计数。主要通过校正时钟计算单元61来执行计算。操作2:表现计算单元57基于校正的时钟计数来计算屏幕坐标。此外,表现计算单元57基于屏幕坐标来标识与要表现的坐标相对应的数据地址,并指示读出所标识的地址的数据。主要通过屏幕坐标计算单元 62和存储器地址计算单元64来执行计算。校正后时钟计数计算单元61例如通过将从实际校正指示单元M输出的时钟校正量(延迟时间)和从2D扫描仪驱动定时生成单元51输出的时钟计数相加、并将相加的值与恒定数相乘,来计算校正时钟计数。由于根据时钟计数来驱动要通过2D扫描仪53扫描的位置,因此时钟计数定义了屏幕上的唯一坐标。相应地,屏幕坐标计算单元62通过使用校正的时钟计数执行集合计算,能够唯一地计算屏幕坐标。在下面详细地描述计算方法。在从LPJ 200发射的光的光轴并不与屏幕垂直时,由于从LPJ 200发射的光的光轴相对于屏幕形成了角(在下文中也被称为“投影角”),因此投影图像失真成为梯形。即使在这种情况下,表现位置计算单元57能够通过使用投影角,在给定的瞬间计算屏幕上的照射位置。因此,从失真校正参数存储单元63向屏幕坐标计算单元62提供与投影角相对应的参数。相应地,校正参数存储单元63存储用于计算与各种情况下的投影角相对应的屏幕坐标的多项式的系数。通过使用参数来执行计算,能够以较少量的时间和工作负荷来计算与每一单个时钟相对应的屏幕坐标。此外,即使在通过2D扫描仪53扫描的区域为梯形的情况下,也能够计算与每一单个时钟相对应的屏幕坐标。由于可以实现从传感器或从设置组获取投影角,因此投影角对于表现位置计算单元57是已知的。存储器地址计算单元64基于屏幕坐标来计算要表现(显示)的像素的数据地址, 并将计算出的数据地址输出到存储器控制块100。整个帧存储器58中的每一地址相对于屏幕上的每个坐标(X,Y)其有一一对应的关系。因此,如果获取了时钟计数(更确切的说,校正时钟计数的数据),则能够唯一地识别(指定)帧存储器58的地址。存储器地址计算单元64可以执行预定的转换计算。或者,存储器地址计算单元64通过参考预定的转换表格, 可以将时钟计数转换为数据地址。由于在正投影和倾斜投影的情况下屏幕坐标和数据地址之间的关系不同,存储器地址计算单元64根据投影角执行不同类型的转换计算。或者,存储器地址计算单元64可以根据投影角使用不同转换表格将时钟计数转换为数据地址。需要注意的是,取决于图像数据的分辨率(例如,Full_HD、WXGA、XGA、SVGA、VGA), 可能存在其中没有存储像素值的地址。然而,如在下文中描述的本发明的第二实施例所述, 这些地址被假定为空白。[2D 扫描仪]
11
接下来,将描述根据本发明实施例的2D扫描仪53。2D扫描仪53可以是一般使用的扫描仪。2D扫描仪53的一个示例可以具有以下的配置。图5A是根据本发明实施例的MEMS反射镜70的平面视图。MEMS反射镜70具有反射镜基底531、两个扭矩梁532546,和成型作为低阻抗单晶硅基底上的单体的上框架M7。 上框架547将两个扭矩梁563546固定到其外侧的位置。两个扭矩梁532、546是同坐标的。通过两个扭矩梁532、546来支撑反射镜基底的一侧的中心部分。在反射镜基底531上形成金属薄膜533。金属薄膜相对于向其发射的激光的波长具有足够的反射性。反射镜基底531、扭矩梁532546中的每一个的测量被设计为用于获得期望的谐振频率。经由绝缘膜548将上框架547绑定到下框架M8。从下框架549移除与反射镜基底531的振荡部分相对应的部分。通过使用相同的基底执行腐蚀渗透,使得上框架M7、扭矩梁532546、和反射镜基底531成型为单个的独立体,在腐蚀渗透中,反射镜基底531的不具有与其绑定的扭矩梁 532的侧被形成为梳形。在反射镜基底531的梳形侧上形成可移动的电极Ml、535,从而可以通过静电吸引来驱动可移动的电极Ml、535。固定的电极543、537被形成在面对面对可移动的电极Ml、535的梳状侧的两侧上。形成固定电极M3、537的上框架547的一部分(第一上框架部分)通过狭缝534、538、 545、540被分离,并且与被绑定到扭矩梁532、546的上框架547的另一部分(第二上框架部分)绝缘。在上框架M7的表面上形成电极垫M2、536、539。通过经由喷溅来沉积Al薄膜, 可以形成电极垫M2、536、539。当从电极垫M2、536同时将电压应用到固定的电极M3、537时,在彼此面对的固定电极543、537和可移动的电极541、535之间经由细微的间距出现静电吸引。当在固定电极讨3、537和可移动电极Ml、535的初始位置之间存在些许的空间(偏移)量的情况下,旋转力矩(惯性力矩)运动在反射镜基底531上,从而固定电极M3、537和可移动电极Ml、 535之间的距离变为最短距离。通过应用静电吸引,固定电极543、537和可移动电极Ml、 535的初始位置之间的偏离产生了谐振频率。因此,增加了 MEMS反射镜70的振荡角。取代使用静电吸引,还可以使用电磁力来作为生成反射镜基底531的谐振频率的驱动力。图5B是根据本发明另一实施例的MEMS反射镜70的示意图。在图5B的实施例中, 在MEMS反射镜70中使用压电元件。第一反射镜支撑部件563a连接到连接点Qa、Qb处的第一梁部件567a的实质上的中心部分。按照与第一反射镜部件563a类似的方式,将第二反射镜支撑部件56 连接到第二梁部件567b。按照在第一梁部件576a和第一固定部件 561a之间进行插入的方式,利用传导性的粘合剂来将第一压电构件56 绑定到第一梁部件567a和第一固定部件561a。类似地,按照在第二梁部件657b和第二固定部件561b之间进行插入的方式,利用传导性的粘合剂来将第二压电构件56 绑定到第二梁部件567b和第二固定部件561b。类似地,按照在第二梁部件567b和第三固定部件561c之间进行插入的方式,利用传导性的粘合剂来将第一压电构件563c绑定到第二梁部件567b和第三固定部件561c。类似地,按照在第二梁部件567b和第四固定部件561d之间进行插入的方式,利用传导性的粘合剂来将第四压电构件565d绑定到第二梁部件567b和第四固定部件561d。经由第一接线571a、共享的接线569、和由传导性材料形成的框架部件564来将交流电从驱动电路570供应到第一和第三压电构件56fe、565c。类似地,经由第二接线571b、 共享的接线569、和由传导性材料形成的框架部件564来将另一交流电从驱动电路570供应到第二和第四压电构件56fe、565c。相对于向第一和第三压电构件56fe、565c提供的交流电,所述另一交流电具有相反的相位。第一到第四压电构件56fe-565d中的每一个根据来自驱动电路570的交流电而振荡。震荡被发送到第一和第二梁部件567a、567b。被发送到第一和第二梁部件567a、567b的振荡生成旋转扭矩。通过将旋转扭矩应用到第一和第二反射镜支撑部件563a、563b,在第一和第二反射镜支撑部件563a、563b中出现扭矩位移。相应地,反射镜部件562振荡,其中第一和第二反射镜支撑部件563a、563b 中的每一个用作振荡(摆动)杆。反射镜部件562的振荡频率变为高的谐振频率。由于在图5A和5B中公开的MEMS反射镜70中的每一个仅具有单个轴,MEMS反射镜70中的每一个仅能够按一个方向扫描。相应地,以一个MEMS反射镜70的振荡方向相对于另一个MEMS反射镜70的振荡方向成90度的方式来组合两个MEMS反射镜70。从而,获取了 2D扫描仪53。或者,利用在相互间成90度取向的两个分开的轴的周围振荡的单个反射镜来形成2D扫描仪53。[振荡角和激光发射的屏幕坐标]图6是用于说明从MEMS反射镜反射的激光的坐标位置的示意图。为了便于说明, 假定从激光振荡器60发射的激光入射到处于静止(非移动)状态的MEMS70的平面。此外, 为了便于说明,省略了用作放大光学系统的透镜。相应地,在图6的实施例中,从MEMS反射镜70反射激光,并且激光到达屏幕上的单个点(X,Y)。在“ θ ”表示MEMS反射镜70(绕着y轴旋转的反射镜)相对于主扫描方向的振荡角、而“ Φ ”表示MEMS反射镜70(绕着χ轴旋转的反射镜)的振荡角、且“d”表示MEMS 反射镜70和屏幕之间的距离的情况下,入射到屏幕上的激光的坐标(X,Y)被表示为
(V~d · sin θ · cos(|), Vr"d · sincj))。然而,如图7中所示,MEMS反射镜70的两个旋转轴的中心并不匹配。如果MEMS反射镜70的两个旋转轴的中心匹配,圆的中心会匹配两个垂直相交的直线之间的交叉点。然而,利用实际的MEMS反射镜,旋转轴中的一个(在图7的示例中的垂直的旋转轴)偏离圆的中心。相应地,在存在两个旋转轴的情况下,无法利用前述的三角函数来表达坐标(X, Y),并且坐标(X,Y)被替代性地表示为(d · tan Φ,d · tan {arctan (cos Φ · tan θ )}。然而,即使可以分析性地表达坐标,表现位置计算单元57也需要大量的时间来计算三角函数。例如,计算与IOOMhz的单个时钟相对应的坐标是非常困难的。尽管可以通过参照指示与(X,Y)坐标相对应的时钟计数的表格来计算与单个时钟相对应的坐标,由于表达式(d · tan Φ,d · tan {arctan (cos Φ · tan θ )}包括逆三角函数(arctan),因此需要用于逆三角函数(arctan)的表格。相应地,即使使用这种表格,仍难于计算与单个时钟相对应的坐标。当在MEMS反射镜后没有放置放大透镜的情况下来计算上述表达式(d· tancK d · tan {arctan (cos Φ · tan θ )},而当在MEMS反射镜后放置放大透镜的情况下可能需要比表达式(d · tan Φ , d · tan {arctan (cos Φ · tan θ )}更复杂的表达式。
因此,根据本发明实施例的LPJ 200根据使用Φ和θ的多项式来计算屏幕坐标 (X,Y)。[模型类型]图8是说明根据本发明实施例的通过LPJ 200假定的投影图像的失真的示例的示意图。在图8中,水平坐标表示MEMS反射镜相对于主扫描方向的振荡角,而垂直轴表示 MEMS反射镜相对于副扫描方向的MEMS反射镜的振荡角。如图8中所示,投影图像的形状是激光的扫描范围的包络。在图8中,假定MEMS反射镜的平面并不平行于屏幕的屏幕。因此,如图39Β中所示,投影图像变形为梯形。此外,由于通过使用图像表面放大透镜的LPJ 200来对图8的投影图像进行投影,因此LPJ 200的投影图像显现出了包络弯曲的特性失真。以下的描述揭示了,当投影角为预定角时,如何基于MEMS反射镜70的振荡角Φ 和θ来将屏幕坐标(X,Y)表达为将特性失真校正为矩形形状。由于即使屏幕和MEMS反射镜70之间的距离改变,投影图像的形状也不改变(即形状类似),因此无需定义相对于屏幕的距离。所以,在该模型类型中假定屏幕和MEMS反射镜之间的典型距离。首先,为了对多项式建模,当在通过放大光学系统的光的投影角为预定角时MEMS 反射镜70的振荡角为Φ、θ的情况下,计算屏幕坐标。通过使用仿真软件来执行计算。假定可以利用如下的表达式来表示MEMS反射镜的移动状态。MX = Φ = A · sin(cot+a)...(表达式 1)MY= θ = B · sin(co,t+β)...(表达式 2)换句话说,MEMS反射镜70的移动状态被建模为简单的谐振荡,其中可以实践的线性函数来表达MEMS反射镜70的角Φ和θ的变化。随后,通过向在主扫描方向上的振荡角Φ分配(设置)固定角,并同时改变副扫描方向上的振荡角θ的角,来获取激光的轨迹。图9是说明在当主扫描方向上的振荡角Φ为-1到-7度时副扫描方向上的振荡角θ改变的情况下分别获取的激光的轨迹的示意图。由于主扫描方向上的振荡角Φ固定同时副扫描方向上的振荡角θ改变,因此以按照垂直方向延伸的方式来表现激光的轨迹。 由于通过面向上放置投影机200来形成预定的投影角(参见例如图38b),因此MEMS反射镜70和屏幕表面之间的距离随着主方向上的振荡角Φ的增加而增加。因此,即使副扫描方向上的振荡角θ的改变量保持相同,激光的轨迹也会随着主扫描方向上的振荡角Φ的增加而向外(朝着图9中的左侧)扩展。尽管图9中的轨迹线并不是精确的直线,但这些线逼近于直线。因此,可以利用 MEMS反射镜70的振荡角θ的二次函数(二次表达式)来表达屏幕坐标系统(Χ,Υ)的X坐标。从而,为了将屏幕坐标系统(X,Y)的坐标表达为MEMS反射镜坐标系统的坐标,振荡角 Φ被假定为“X”,而振荡角θ被假定为“y”。X (χ, y) = a (χ) y+b (χ)…(表达式 3)换句话说,如果相对于每个振荡角Φ来确定振荡角θ,则能够获取定义X(x,y)的 a (χ)和b (χ)。因此,通过获取a (χ)和b (χ),能够获取X (x, y)。尽管在图9中将-1到-7设置为振荡角Φ,但是也能够获取其中将1到7 (正侧) 设置为振荡角Φ的X(x,y)。CN 102566213 A
说明书
11/28 页图IOA是说明在当副扫描方向上的振荡角θ为1到5度时主扫描方向上的振荡角Φ改变的情况下分别获取的激光的轨迹的示意图。由于在副扫描方向上的振荡角θ固定同时主扫描方向上的振荡角Φ被改变,因此以在水平方向上延伸的方式来表现激光的轨迹。由于在图IOA中难于区分每个轨迹为曲线的量,因此在图IOB中说明了副扫描方向上的振荡角θ为1度的轨迹。基于图10Β,能够假定图IOA中的轨迹逼近抛物线。因此,可以利用MEMS反射镜 70的振荡角Φ来表示屏幕坐标系统(X,Y)的Y坐标。从而,为了将屏幕坐标系统(X,Y)
的坐标表达为MEMS反射镜坐标系统的坐标,将振荡角Φ假定为“X”,而将振荡角θ假定为 “y,,。Y(x,y) = c (y) x2+d (y) +e (y)…(表达式 4)换句话说,如果相对于每个振荡角θ确定了振荡角Φ,则可以获取定义Y(x,y)的 c (y)、d (y)和e ()。因此,通过获取c (y)、d (y)和e (y),能够获取Y (x, y)。在利用逼近上述表达式(1)和O)的多项式来获取(X,Y)之后,可以在数值上定义函数a(x)-e(y)。由于a(x)和b(x)是χ(Φ)和c (y)的函数,d(y)和e(y)是y(9)的函数,因此将获取五个函数。[获取5个函数的方法]接下来,将描述根据本发明实施例的获取5个函数的数值解的方法。在上述表达式(1)和O)中,a (χ)和b(x)取决于振荡角Φ而不同,并且c(y), d(y)和e(y)取决于振荡角θ而不同。因此,如果能够确定a (χ)和b (χ)如何对应于振荡角Φ而改变,就能够从振荡角Φ来获取a(x)和b(x)。同样,如果能够确定c(y),d(y)和 e(y)如何对应于振荡角θ而改变,就能够根据振荡角θ来获取e(y)。在该实施例中,能够通过使用最小平方方法来获取a (χ)、b (χ)、c (y)、d (y)和e (y)。首先,通过使用最小平方方法从利用仿真软件计算的每个直线(例如,如图9中所示)来获取a(x)和b(x)。通过在主扫描方向上的振荡角Φ的整个范围上(例如,以0.01 度到0. 1度的间隔来设置振荡角Φ的范围)执行该计算,能够获取在主扫描方向上的振荡角Φ的整个范围上的a (χ)和b(x)。需要注意的是,应用振荡角的多项式并不限于表达式(3)这样的线性表达。例如, 多项式可以是二次多项式或大于二次的多项式。或者,多项式可以是双曲线(例如,Χ2(χ, y)/2a(x)-y2/2a(x) = 1)。此外,在振荡角Φ的整个范围上无需使用相同的多项式。例如, 可以根据振荡角Φ来改变多项式。更具体而言,例如,在-3度<振荡角Φ <3度的情况下可以使用直线多项式,而在振荡角Φ <-3度或3度<振荡角Φ的情况下可以使用曲线多项式。然而,由于能够在短时间内计算具有较少字符(数值)的多项式,因此该实施例使用直线多项式。图IlA是说明根据本发明实施例的在副扫描方向上的振荡角Φ和a(x)之间的关系的图示。图IlB是说明根据本发明实施例的在振荡角Φ和b(x)之间的关系的图示。在图IlA和IlB中所示的线被假定为逼近于曲线。图IlB中所示的线是无理函数
(a(x) = {- (x-b)} + c的形状的一部分。图IlB中所示的线类似于指数函数的形状的
一部分。
随后,通过使用最小平方方法从利用仿真软件计算的从每个线(例如如图IOA所示)获取c(y)、d(y)和e(y)。通过在副扫描方向上的振荡角θ的整个范围上(例如,以 0.01度到0.1度的间隔来设置振荡角θ的范围)执行该计算,能够获取在副扫描方向上的振荡角θ的整个范围上的c(y)、d(y)和e(y)。需要注意的是,应用振荡角的多项式并不限于表达式(4)这样的线性表达。例如, 多项式可以是二次多项式或大于二次的多项式。例如,多项式可以是四次多项式或小于四次的多项式。然而,由于能够在短时间内计算具有较少字符(数值)的多项式,因此该实施例使用四次多项式。图12A是说明根据本发明实施例的副扫描方向上的振荡角θ和c(y)之间的关系的图示。图12B是说明根据本发明实施例的副扫描方向上的振荡角θ和d(y)之间的关系的图示。图12C是说明根据本发明实施例的副扫描方向上的振荡角θ和e(y)之间的关系的图示。图12A-12C中所示的线被假定为逼近于曲线。图12A和12C中所示的线类似于面向下的抛物线的形状的一部分,而图12B中所示的线类似于面向上的抛物线的形状的一部分(四次多项式)。或者,图12A-12C中所示的线可以被假定为具有三次多项式或大于三次的的多项式的形状。相应地,可以理解的是,可以通过利用上述的直线和曲线方程进行逼近来获取4 个函数a(X)-e(y)。在该实施例中,为了简化计算,利用具有最简单的曲线多项式的四次多项式来全部共同地逼近a (X)到e(y)。也就是说,通过经由使用最小平方方法获取如下四次多项式的数值系数d,可以从 a (χ)到e(y)获取振荡角Φ、θ。(表达式5)a (χ) = dylx2+dy2x+dy3b (χ) = dy4x2+dy5x+dy6c (y) = dxly2+dx2y+dx3d(y) = dx4y2+dx5y+dx6e (y) = dx7y3+dx8y+dx9使用上述表达式获取的15个系数d被存储在微型计算机的非易失性存储器(未示出)中。当激活LPJ 200时,微型计算机从非易失性存储器读出系数,并将系数例如设置到表现位置计算单元57的寄存器。表现位置计算单元57的寄存器对应于失真校正参数存储单元63。当振荡角Φ和振荡角θ分别为给定角时,表现位置计算单元57使用表达式5 来获取a(x)到e(y)。相应地,表现位置计算单元57通过使用表达式( 和所获取的a (χ) 和b(y) —起来获取X屏幕坐标,并通过使用表达式(4)和所获取的c(y)、d(y)和e (y) — 起来获取Y屏幕坐标。利用根据本发明实施例的LPJ 200,通过利用多项式而不使用三次多项式来进行逼近,可以简化获取屏幕坐标的计算。从而,表现位置计算单元并不需要大尺寸的电路。需要注意的是,由于图9-10B的图示仅是在LPJ 200的投影角为给定角的情况下的屏幕坐标的示例,在LPJ 200的投影角变为接近于θ度的情况下15个系数的值改变。然而,在LPJ 200的投影角接近于0度的情况下,表现位置计算单元57无需计算屏幕坐标,这是因为通过参照时钟计数,可以将帧存储器58的地址相对于屏幕坐标识别为具有一一对应的关系。[振荡角Φ、θ和时钟计数之间的关系]在上述的实施例中,可以利用经由使用振荡角Φ和θ作为系统的2轴的重叠的简单谐振荡的组合来表达MEMS反射镜70的移动。这表明能够利用时间的线性函数来逼近角的变化。被输入到表现位置计算单元57以用于同步的时钟计数相当于时间。如上所述,考虑到使用角作为参数的坐标的表达和使用时间作为参数的坐标的表达相同,可以通过使用被输入到表现位置计算单元57的时钟计数来表达屏幕坐标(X,Y)。[整体操作]图13是说明根据本发明实施例的图像输出系统电路48的整体操作的时序图。在步骤Sl中,2D扫描仪驱动定时生成单元51基于系统时钟频率,将主扫描和副扫描方向上的时钟计数输出到校正时钟计数计算单元61。在步骤S2中,定时校正指示单元M基于从扫描角计算单元55输入的实际角和通过驱动波形预期的振荡角之差来计算校正量(要校正时钟的量),并将时钟校正量输出到校正后时钟计数计算单元61。在步骤S3中,校正后时钟计数计算单元61通过将时钟校正量与时钟计数相加来计算校正后的时钟计数。在步骤S4中,屏幕坐标测量单元62从失真校正参数存储单元63读出15个系数。 在系数d为固定值的情况下,例如无需读出15个系数,直到步骤S4为止。在步骤S5中,屏幕坐标测量单元62通过将系数d应用到上述的表达式( 而获取函数a(x)到e(y)。此外,屏幕坐标测量单元62通过将函数a(x)和b (y)应用到表达式 (3)来获取屏幕坐标的X坐标,并通过将函数c(y)、d(y)和e (y)应用到表达式(4)来获取屏幕坐标的Y坐标。在步骤S6中,存储器地址计算单元64根据屏幕坐标获取表现目标(要表现(显示)的对象)的图像数据的数据地址,并将数据地址输出到存储器控制块100。步骤S6之后的处理包括从帧存储器读出数据的处理(在下面的第二实施例中进行描述)。[计算系数d的步骤]图14是说明根据本发明实施例的通过执行仿真来从隶属于(X,Y)的数据获取15 个系数的步骤的流程图。使用例如包括CPU和存储器的计算机来执行仿真。首先,计算机将通过仿真软件生成的数据加载到存储器(步骤S10)。随后,计算机提取仅与MEMS反射镜70的振荡角的范围内的数据对应的数据(步骤S20)。这是因为能够对其中MEMS反射镜70无法振荡的范围执行仿真。可以实现将执行仿真的范围限制为到实际振荡角的范围内。随后,计算机将振荡角Φ和θ转换为时钟计数(步骤S30)。随后,计算机读出具有主扫描方向上的相同坐标(X,Y)的时钟计数,并通过基于副扫描方向上的坐标将时钟计数分类为组来划分时钟计数(步骤S40)。从而,能够获取如图9中所示的轨迹。随后,计算机通过使用最小平方方法来计算相对于主扫描方向上的每个位置(即相对于在步骤S40中被分类为组的每个组)的函数a(x)和b(x)(步骤S50)。随后,计算机使用最小平方方法来计算在主扫描方向上的每个位置的计算出的 a (χ)和b(x)被应用到二次多项式(3)的情况下获取的系数(步骤S60)。从而,能够获取
dyl 到 dy6。随后,计算机读出具有副扫描方向上的相同坐标(X,Y)的时钟计数,并通过基于主扫描方向上的坐标将时钟计数分类为组来划分时钟计数(步骤S70)。随后,计算机通过使用最小平方方法来计算相对于副扫描方向上的每个位置(即相对于在步骤S70中被分类为组的每个组)的函数c(y)、d(y)和e (y)(步骤S80)。随后,计算机使用最小平方方法来计算在副扫描方向上的每个位置的计算出的 c(y)、d(y)和e(y)被应用到二次多项式(4)的情况下获取的系数(步骤S90)。在获取dyl到dy9之后,计算机将所获取的系数存储到失真校正参数存储单元63。图15是说明根据本发明实施例的通过从使用仿真软件而获取的函数a(x)到e (y) 获取通过使用dyl到dy9并计算屏幕坐标的所计算出的轨迹的函数a(x)到e(y)、而获取的屏幕坐标的轨迹的示例的示意图。在图15中,在水平方向上往复的曲线表示屏幕坐标的轨迹,曲线的包络表示投影图像,而矩形形状表示在投影角为0度的情况下的理想投影图像。根据图15,由于能够获取相同的轨迹作为实际激光的轨迹,因此可以确认能适当地实现激光的坐标的数值计算。如上所述,由于该实施例中的LPJ 200被设置在面向上的偏向位置并形成预定的投影角,因此与理想投影图像相比投影角很大并且失真。更具体而言,将要在矩形内部初始发射从矩形外侧发射的激光。为了将激光仅发射到矩形内部,将存储器控制块100控制为选择性地将图像数据发送到激光驱动器59。因此,无需降低分辨率就可以校正失真。[失真校正]如上所述,如果能够获取(计算)预定的投影角,就可以容易地确定投影图像失真的程度。例如,梯形的上侧和下侧之间的比率取决于投影角。考虑优选理想矩形图像的水平长度和垂直长度之比(所谓的长宽比)维持与通过视频输入的图像数据(视频输入图像数据)的长宽比相等的长宽比。因此,将失真投影图像的激光的照射位置控制为对应于具有预定长宽比的区域,从而失真投影图像的初始图像数据的长宽比维持预定的长宽比。从而,无需减少像素的数量就可以校正失真。然而,需要注意的是,只要理想投影图像具有矩形形状,理想投影图像就无需具有与通过视频输入的图像数据的长宽比相等的长宽比。图16是用于说明失真校正的示意图。实现通过表现位置计算单元57来检测要作为视频数据的图像数据的长宽比。随后,存储器地址计算单元64执行以下的处理(i)和 (ii)。(i)存储器地址计算单元可以包括例如按与预定的长宽比相对应而制备的确定表格,并参照该确定表格。确定表格包括指示屏幕坐标中的每一个是否处于维持预定长宽比的矩形之内的数据。在屏幕坐标并未处于矩形之内的情况下,存储器地址计算单元64向存储器控制块100报告与屏幕坐标相对应的图像是空白像素。在这种情况下,存储器控制块 100控制激光的发射,从而显示具有黑色级别亮度的图像。换句话说,没有激光被发射到与空白像素相对应的位置。
18
(ii)在屏幕坐标处于矩形内的情况下,存储器地址计算单元64基于屏幕坐标计算数据地址表格,并将所计算出的数据地址表格输出到存储器控制块100。为了通过使用在形成图16A中所示的失真的投影图像中使用的激光来发射如图16B所示的具有预定长宽比的投影图像,调整发射激光的定时。例如,在发射与图16B的参照标记1'相对应的激光的定时发射与图16A的参照标记1相对应的激光,…在发射与图16B的参照标记13'相对应的激光的定时发射与图16A的参照标记13相对应的激光。因此存储器地址计算单元64 具有(按与每个长宽比相对应而制备的)映射表,用于将失真图像的屏幕坐标映射到维持预定长宽比的区域。例如,在激光1'的屏幕坐标的情况下,生成与坐标1相对应的帧存储器58中的数据地址。通过生成数据地址,能够将失真图像的坐标映射到矩形而没有激光损
^^ ο相应地,通过选择性地驱动激光驱动器59,可以消除图像失真。从而,能够无需丢弃像素地显示图像。需要注意的是,失真校正不仅可以被应用到由倾向(倾斜)造成的失真,还可以被应用到光学系统的失真。图17是用于说明枕形失真或桶形失真和校正枕形失真或桶形失真的结果的示意图。在使用增大投影图像的放大光学系统的情况下,可能会出现枕形失真或桶形失真。当设计光学系统时,在正投影的情况下,一般可以将失真减小为很难被注意到的水平。然而,即使在正投影的情况下失真很难被注意到,但是在倾斜投影的情况下,枕形失真等可以明显地被注意到。然而,通过调整发射激光的定时,还可以应用根据本发明上述实施例的LPJ 200来校正光学系统的诸如枕形失真之类的失真。相应地,无需调整光学系统就可以校正光学系统的诸如枕形失真之类的失真。此外,通过高速(例如,相对于相关现有技术中的60MHz,高速为200MHz)操作表现位置计算单元57和存储器控制块100,就能够执行例如像素值的插补。因此,能够实现小于 1像素(在该实施例中,大致为1像素的1/ 的图像的高分辨率表现。因此,使用根据本发明实施例的其中使用逼近多项式来计算屏幕坐标的LPJ 200, 可以高速执行例如表现位置的计算,而无需使用复杂的公式。此外,由于在保持预定长宽比的同时能够校正从LPJ 200发射激光的定时,因此即使在LPJ 200倾斜的情况下也能够防止图像的失真。[第二实施例]在根据第一实施例的使用谐振型MEMS的LPJ 200中,存储器控制块100扫描与屏幕坐标相对应的帧存储器。该扫描方法无需根据帧存储器的地址的顺序来读出像素。因此, 难于以与例如校正激光发射的定时的速度相等的速度来读出数据。鉴于这样的问题,根据第二实施例的LPJ 200执行被称为“自由扫描”的存储器访问。所使用的词语“自由扫描” 与词语“光栅扫描”形成对比。在自由扫描的情况下,要被访问的地址无需连续。首先,在自由扫描的情况下,图像数据的定时和图像数据的定时不匹配。因此,要投影的图像的数据(投影图像数据)要被临时存储在帧存储器58中。图18A和18B是用于描述自由扫描的示意图。更具体而言,图18A是说明执行光栅扫描的示例的示意图,而图18B是说明执行自由扫描的示例的示意图。利用光栅扫描,通过从输入图像的开始点(原点)扫描光,并在χ-方向上的输入图像的终点终止,可以在χ-方向上读出输入图像。在到达终点之后,光被移回(回到图18A中的左侧),并且在Y-方向上向下移动一行。随后,通过在χ-方向上扫描光来读出输入像素,直到到达χ-方向上的终点为止。与之形成对比的是,通过在X-方向上扫描光并同时在Y-方向上扫描光来执行自由扫描。因此,无法连续地读出输入像素。因此,无法读出具有连续地址的输入像素。从而, 间歇地访问输入像素。因此,为了对投影图像数据(要投影的图像的数据)执行自由扫描, 投影图像数据将被临时存储在帧存储器58中。然而,当在图18B中所示的自由扫描的情况下访问帧存储器58时,无法执行对连续地址的访问。此外,无法执行预读取的处理或基于预期的访问地址来将数据重新排布为按适当顺序进行存储的处理。这导致如下的问题,在例如使用突发访问的SDRAM(例如DDR/ DDR2/DDR3)的情况下,对帧存储器58进行了不必要的访问。为了获取所需的带宽来解决上述问题,提出了使用昂贵的双端口 SRAM或使用高速SDRAM(其并不昂贵,但耗电量大)的方法。例如,在日本专利公开No. 8-065686中,公开了改善存储器的访问效率的方法。利用该方法,通过压缩多个像素的数据,图像数据被存储在存储器中。随后,通过对压缩数据进行解码,图像数据被读出,并被存槠在缓存(高速缓存)中。因此,可以在下一次读出图像数据时使用高速缓存的数据。相应地,能够减小存储器的负荷和数据传输量。然而,如日本专利公开No. 8-065686中所公开的,即使通过压缩/解码图像数据能够获取访问带宽,也存在上述的读出连续地址的问题。也就是说,在自由扫描的情况下,对于每一个和每个扫描的数据项而言访问地址是不同的。因此,并不以连续地址来存储要被读出的数据。从而,利用在日本专利公开No. 8-065686中所公开的方法,即使压缩的数据被读出并被解码为多个像素,也还存在无法使用多个像素的情况。因此,可能需要再次加载数据。因此,利用日本专利公开No. 8-065686中所公开的方法,在例如自由扫描的情况下可能难于实现工作负荷和数据传输量的减小。下面描述的根据本发明实施例的存储器控制设备能够高效率地实现对帧存储器 58的访问。由于下述的存储器控制设备对应于第一实施例的存储器控制块100,因此也利用参照标记100来表示存储器控制设备的下述的实施例。图19是用于说明根据本发明实施例的LPJ的存储器访问的示意图。首先,LPJ 200连续地确定要读出的数据的地址是否与另一数据的地址重叠。在要读出的数据的地址与另一数据的地址相同时(即出现了重叠的情况),数据被再生而并不访问帧存储器58(即,具有相同地址的数据被拷贝)。此外,在执行失真校正的情况下,LPJ 200确定要读出的数据是否是空白。在要读出的数据是空白的情况下,LPJ 200并不访问帧存储器58。通过确定重叠的数据和确定空白,可以对于基本上具有连续地址的帧存储器58 来防止对相同地址的连续访问或对不必要的数据的访问。此外,LPJ 200监视在下述的输入缓存11和下述的输出缓存12中剩余的数据量。 因此,为了实现对帧存储器58的连续访问,LPJ 200根据输入缓存11和输出缓存12的状态,裁定将数据写入到输入缓存11的优先级和从输出缓存12读出数据的优先级。因此,可以将数据集中地写入到帧存储器58以及从帧存储器58集中地读出数据。[关于 DRAM]在该实施例中,DRAM (动态随机存取存储器)被用作帧存储器58。DRAM被用作帧存储器58的存储装置,原因如下。^DRAM价格低廉(由于DRAM在个人计算机中被广泛地使用,因此可以低成本来提供DRAM)。 可以高速访问DRAM(例如具有时钟频率333MHz的DDR,具有时钟频率1333MHz 的 DDR3)。· DRAM的供应稳定。· DRAM 具有大存储容量(例如,128Mbit,512Mbit)。在低价格组件的情况下,LSI的成本对于低价格组件装置的整体成本而言相对很重要。LSI的成本是考虑确定是否将LSI安装到产品的因素。因此,希望存储装置的成本为低。此外,帧存储器58所需的存储容量取决于图像的尺寸而不同。例如,VGA需要大约7. 1Mbit,而Full-HD需要大约45Mbit。需要注意的是,表格的括号中的值指示1像素的层次(gradation)值。因此,在使用32bit来显示层次的情况下,VGA需要大约9. 4Mbit,而 Full-HD 需要大约 60Mbit。例如,在用于HD(720P)的SRAM的情况下,可以存储27. 3Mbit。然而,单个SRAM可能需要花费数千日元。因此,取决于使用SRAM的产品的成本,可能难于选择SRAM作为产品的存储器装置。另一方面,甚至可以不超过500日元的成本来供应使用DDR/DDR2/DDR3的单个 512Mbit 的 SDRAM。然而,DRAM具有大访问延迟(时延)的不期望的特性。例如,在利用DDR3存储器执行单个读出访问的情况下,从预充电开始到读取完成为止需要最多33个周期。图21是说明了读取周期的时序图。上行表示CAS(列地址选通脉冲)延迟(CL), 其中CL = 2,而下行表示其中CL = 2. 5的CAS延迟。存储器控制器执行以下的处理。(i)存储器控制器输入行地址和空白地址以及ACT(存储体活动命令),以使得对应存储体的特定行地址有效。(ii)随后,在tRCD之后,存储器控制器输入列地址、存储体地址和READ (读命令)。(iii)随后,在CAS延迟之后,从上述识别的地址开始突发数据输出。(iv)随后,在tRAS之后,存储器控制器输入PRE (预充电命令)。(ν)存储器输出DQS信号(数据选通脉冲信号)和与DQS信号同步的DQ信号(数据信号)。存储器控制器通过参照DQS信号的上升/下降沿来获取DQ信号。相应地,为了隐藏延迟,SDRAM类型基本上执行连续的访问。图22是说明根据本发明实施例的在连续访问期间的读取周期的时序图。在图22 中,CL(CAS延迟)为2。仅在执行连续访问(图22中的READ a)的第一时间,执行存储器控制器的上述的所有处理。在第二访问时间和在之后,可以仅根据列地址的指令(图22中的READ b)来执行访问。换句话说,在第二访问时间和在之后,省略了 ACT、存储体地址和行地址的输出。此外,省略了预充电(图11中的PRE)的输出。相应地,即使在延迟较大的情况下,也可以高吞吐量来实现访问。图22是说明连续两次指示列地址的情况的时序图。如图22中所示,可以在第二读取命令(READER b)之后立即执行数据的读出。因此,为了实现以高吞吐量访问DDR存储器,仅利用列地址而不改变存储体地址和行地址(因此在连续访问中省略了存储体地址和行地址)来执行连续访问。[光栅扫描]图23是用于描述执行光栅扫描的示例的示意图。光栅扫描是将数据写入例如帧存储器8和从帧存储器58读取数据的已知方法。例如,光栅扫描被用于在PC的显示器上显示图像。光栅扫描是通过将原始图像的单个扫描线转换为数据、并按与扫描原始图像的相同顺序显示数据而执行的扫描方法。在使用谐振型MEMS反射镜7的LPJ 200的帧存储器58的情况下,从PC、或移动电话输入到LPJ 200的图像数据被存储在帧存储器58中。在记录从PC等获取的图像数据的情况下,LPJ 200可以通过使用光栅扫描逐行地连续存储图像数据。在光栅扫描中,通过从原点(0,0)开始直到到达线的终点为止在X-方向上扫描单个线,来存储输入图像的图像数据。随后,LPJ 200通过在Y-方向上向下移动一行并在 X-方向上进行扫描,来继续图像数据的存储。通过重复该处理,能够输入单个帧图像。由于在执行光栅扫描的情况下在X-方向上的数据被存储在连续地址中,因此可以将数据连续地写入到帧存储器58中。[自由扫描]图23是用于描述执行光栅扫描的示例的示意图。由于LPJ 200使用谐振型MEMS 反射镜70,因此将特定值设置为在X和Y方向上的震荡频率是非常困难的。因此,在X和Y 方向上的振荡频率变为给定值。也就是说,在X和Y方向上的振荡频率取决于MEMS反射镜 70的物理属性而不同。如果将特定值设置为在X和Y方向上的振荡频率,则可以存储图像数据,使得根据特定的振荡频率来执行光栅扫描。然而,由于在X和Y方向上的振荡频率是给定值,因此无法将图像数据按预定顺序记录到帧存储器58中。因此,通过自由扫描来执行LPJ 200的图像输出。如图M中所示,LPJ 200在X-方向上进行扫描,同时在Y_方向上进行扫描(参见在图M中用对角线箭头示出的扫描线)。相应地,无法利用连续地址来访问X-方向上的单个线。当在X-方向上连续读取数据到了一定程度并且在Y-方向上移动扫描位置之后, 再次开始χ-方向上的数据的读取。这使得对帧存储器58的访问是间歇的(即非连续的)。 帧存储器58的间歇访问使得访问的开销增加。[失真校正]图25Α和25Β用于根据本发明的实施例说明失真校正。在该实施例中,LPJ 200使用放下投影,以便通过使用包括例如激光振荡器、MEMS反射镜和透镜的小的光学引擎来将图像投影到大屏幕上。放大透镜被设计为减少投影图像的失真。LPJ 200被设计为不仅在正投影(即,从屏幕正面进行光投影)的情况下减少失真、而且在倾斜投影(即相对于屏幕从倾斜位置进行光投影)的情况下减少失真。在组件等被提供给LPJ 200以进行两个正投影的情况下,如果放大透镜被设计为用于正投影,则在倾斜投影的情况下投影图像的失真可能较大,并且如果放大透镜被设计为用于倾斜投影,则在正投影的情况下投影图像的失真可能较大。图25Α的左侧上的投影图像是在具有透镜失真的正投影期间的失真的示例,而图25A的右侧上的投影图像是在具有透镜失真的倾斜投影期间的失真的示例。图25A的帧线对应于当利用激光实际扫描时的失真图像的外边缘。帧线内的图像说明了通过执行失真校正而校正后的图像。在失真校正中,将失真图像校正为对与通过正投影形成的投影图像相当的图像进行投影,通过经由使用失真图像和通过正投影形成的投影图像执行映射来转移投影位置, 执行失真校正。由于通过自由扫描来执行对帧存储器58的访问,因此根据失真校正来调整自由扫描的访问顺序。如利用图25B中的箭头所说明的,取决于所访问的位置,自由扫描的扫描方向可以为曲线。然而,如图25B中所示,即使当利用LPJ 200执行自由扫描时存在透镜失真,也能够显示与通过正投影形成的投影图像相等的投影图像。此外,由于执行失真校正而形成了空白像素。参照图25A和25B,尽管LPJ 200的激光的扫描范围对应于帧线,激光仅需要被发射到通过正投影形成的投影图像的范围上。 这导致在通过正投影形成的投影图像和帧线之间的区域处形成了空白像素(未发射激光的像素)。由于无需从帧存储器58读出与空白像素相对应的数据,LPJ可以省略从帧存储器58读出数据的处理。[配置]图沈是说明了根据本发明实施例的存储器控制块100的示例性配置的框图。存储器控制块100可以是诸如ASIC(专用集成电路)之类的IC(集成电路)。存储器控制块 100包括例如输入缓存11、仲裁器13、存储器控制器14、和输出缓存12。在以下的描述中, 图像数据和各种信号可以被统称为数据、输入数据(在写入图像数据的情况下)或输出数据(在读出图像数据的情况下)。输入存储器11临时存储从视频输入输入的图像数据。仲裁器13在从输入缓存11 到存储器控制器14的对输入图像数据的输入请求、和来自输出缓存12的对输出图像数据的输出请求之间进行裁定(选择)。存储器控制器14将ACT、READ、PRE和各种地址输出到外部存储器(相当于帧存储器58) 18,控制外部存储器15,并读取/写入数据。输出缓存12 临时存储从读出地址生成部件16输入的地址,请求要被读取到仲裁器13的图像数据,并临时存槠要被输出到视频输入的图像数据。读出地址生成部件16用作例如表现位置计算部件57所需的上述的图像输出系统电路48需要注意的是,词语“数据地址”在下文中也被称作为读出地址。例如如图沈中所示,数据流如下。 数据输入存储器控制块100将从视频输入输入的图像数据存储到外部存储器 15。视频输入一输入缓存11 —仲裁器13 —存储器控制器14 —外部存储器15 数据输出存储器控制块100根据通过读出地址生成部件16指定的读出地址从外部存储器15读出图像数据,并将图像数据输出到视频输出。读出地址读出地址生成部件16 —输出缓存12 —仲裁器13 —存储器控制器14 — 外部存储器图像数据外部存储器15 —存储器控制器14 —仲裁器13 —输出缓存12 —视频输出
在该示例中,存储器控制块100及其组件包括如下的特性。 输入缓存11能够存储与大约1到数个线相当的图像数据。输入缓存11根据来自仲裁器13的指令,将写入数据(要被写入到外部存储器15的图像数据)进行连续传送。 仲裁器13进行裁定(选择),以使输入数据尽可能地被连续地访问。 在相对于相同的读出地址而连续请求数据的读出的情况下,输出缓存12仅一次(单次)从外部存储器15读出数据,并在第二次时或在之后使用数据的副本。 在请求表现区域外的图像数据(即空白)的情况下,输出缓存12并不从外部存储器15读出图像数据,而将空白数据(空白值)输出到视频输出。[输入缓存]图27是说明根据本发明实施例的输入缓存11的框图。在图27-29中,利用黑箭头来说明信号流,并利用白箭头来说明数据流。输入缓存11临时存储从视频输入输入到2 端口 FIFO 21的图像数据。随后,响应于来自仲裁器13的请求,输入缓存11对图像数据增加地址,并将数据发送到仲裁器13。 如果对外部存槠器15的“立即突发(burst-right) ”被假定为在χ扫描方向上的大约1/4线到1/2线,考虑在χ扫描方向上的大约1线是能够被存储在2端口 FIFO 21 中的数据的适当量。 地址数据生成部件22生成常规增加地址。当pinjruvsync (输入图像的垂直同步)被输入到地址生成部件22中时,地址生成部件22被清空为零。 输入缓存将表示2端口 FIFO 21的状态的flag_in_*传送到仲裁器。flag_in_* 是信号 flag_in_empty> flag_in_half> flag_in_full、或 flag_in_over_run_err 之一。 应当注意的是,输入缓存11可以是用于输入图像的典型的异步吸收缓存。因此,在该实施例中,输入缓存11无需专门的结构。信号内容如下。pix_in[23:0]输入数据clk_pix_in 输入数据的1像素的时钟pix_in_en 当请求接受输入数据时变为“1”pix_in_size_x 相对于χ方向的输入数据的尺寸pix_in_size_y 相对于y方向的输入数据的尺寸pix_in_vsync 输入数据的垂直同步信号flag_in_empty 当2端口 FIFO为空时变为“1”的标记flag_in_half 当2端口 FIFO的一半或更多被填充有数据时变为“1”的标记flag_in_full 当2端口 FIFO被填满(例如,90%或更多)时变为‘T的标记flag_in_over_run_err 当不能及时从2端口 FIFO读出而出现输入数据溢出时变为“1”的标记mem_wr_req 请求写入到 2 端口 FIFOmem_wr_data[23:0]要通过2端口 FIFO写入到仲裁器的图像数据mem_wr_addr [ 0]通过地址生成部件22生成的地址〈输出缓存〉图28是说明根据本发明实施例的输出缓存12的框图。输出缓存12执行对外部
24存储器15的读出的请求,临时存储输出图像数据,并将数据输出到视频输出。从功能的角度来说,输出缓存12可以被划分为地址部分31和数据部分32。地址部分31包括例如确定(检查)部分33、2端口 FIFO 34、和FIFO控制部分35。 数据部分32包括例如2端口 FIFO 36、重叠/空白生成部分37和2端口 FIFO 38。 输出缓存的地址部分Υ>图四是说明根据本发明实施例的输出缓存12的地址部分31的框图。确定部分 33确定是否存在任何重叠(重叠检查)和是否存在任何空白(空白检查)。眷重叠检查在重叠检查处理中,确定部分33确定是否存在相对于相同地址而被连续请求的任何多个读出请求。在该实施例中,通过确定部分33确定的连续请求的最大数量为4个连续请求。然而,可以根据例如实施来改变连续请求的最大数量。 空白检查在空白检查处理中,确定部分33在存在通过LPJ 200进行失真校正的情况下,确定是否存在未表现图片的任何区域。读出地址生成部件16根据要表现图片的坐标来计算读出的地址(pix_0ut_ addr) 0另一方面,对于没有展现图片的坐标,读出地址生成部件16输出信号“pix_0ut_ addr_en = 0”,并将该坐标报告给输出缓存12。确定部分33识别信号“piX_addr_en = 0”, 并确定在对应的定时表现空白。尽管确定部分33确定是否存在空白区域的任何重叠,但是空白部分33忽略该地址。信号的内容如下。pix_out_addr[:0]通过读出生成部件16生成的读出地址clk_pix_out 当读出生成部件16请求读出时的时钟pix_out_addr_en 当读出地址为空白时变为“0”flag_in_empty 当读出目标的地址的数据不被存储在2端口 FIFO中时变为“1” 的标记mem_rd_addr_dup 1 ication_infο [ 1 0]重叠的数量被存储mem_rd_addr_blank 当空白时变为 “ 1,,mem_rd_addr_param_en 当读出目标等的地址被存储在2端口 FIFO 34时变为
U ι,,mem_rd_req 当仲裁器选择输出缓存时变为“ 1,,mem_rd_addr[:0]通过仲裁器请求读出的地址mem_rd_addr_en 当向仲裁器请求读出时变为“ 1,,图30是说明根据本发明实施例的从将读出地址输入到地址部分和将对应数据写入到2端口 FIFO开始的操作的流程图。每单个时钟地执行从读出地址生成部件16的输入。 在1个时钟内执行输入信号采样、空白检查、将数据写入到2端口 FIFO 34的处理、并执行随后的处理(后处理)。在图30的流程图中使用的变量的含义如下。overlapping_count 存储有重叠数量的变量pre_pix_addr 存储有先前输入的读出地址的变量pre_pix_blank 在先前输入的读出地址为空白时存储“ 1”的变量new_pix_addr 存储有当前输入的读出地址的变量
new_pix_blank 在当前输入的读出地址为空白时存储“ 1”的变量首先,地址部分31如下所示进行变量的初始化(步骤S10)。over Iapp ing_count = 0pre_pix_addr = 0pre_pix_blank = 0随后,地址部分31对输入信号进行采样(步骤S20)。在该实施例中,地址部分31 每1时钟对信号pix_out_addr和信号pix_out_addr_en进行采样。确定部分33 确定是否信号 pix_out_addr_en = = 0(步骤 S30)。在“pix_out_ addr_en = 0”的情况下,读出地址的图像数据为空白。因此,确定部分33将“ 1”设置到变量new_pix_blank(步骤S40)。此外,确定部分33将任意地址分配给new_pix_blank。确定部分33分配“任意”地址的原因在于,当图像数据为空白时,地址部分31并不访问外部存储器15。在pix_0Ut_addr_en并不等于0的情况下,读出地址的图像数据并不是空白。因此,确定部分33将“0”设置到变量pre_piX_blank(步骤S50)。此外,确定部分33将新(当前)的读出地址分配给new_pix_addr。随后,确定部分33确定是否存在重叠(步骤S60)。可以利用如下的表达式来表达该确定。if{((new_pix_blank & pre_pix_blank) = =1)or ((new_pix_blank orpre_pix_ blank == 0) & (new_pix_addr == pre_pix_addr))} : over lap// 重叠else :no overlap// 不重叠换句话说,如果当前的读出地址和先前(一次之前)的读出地址两者均为空白、或者在当前的读出地址或先前的读出地址相同时如果当前的读出地址或先前的读出地址并不是空白,确定连续的读出地址重叠。因为在当前的读出地址的图像数据和先前的读出地址的图像数据两者均为空白时忽略了地址,因此可以检测到大量的重叠。在图30的流程图中,当已经连续地读出2个地址时,需要注意的是,确定重叠,并根据重叠的确定结果来确定是否将数据写入到2端口 FIFO 34。在连续的读出地址重叠的情况下,确定部分33将变量overlapping_count加1。 在连续的读出地址并不重叠的情况下,确定部分33并不将任何数据写入到2端口 FIFO 34。 因此,FIFO控制部分35并不向仲裁器13请求读出。然而,即使连续的读出地址重叠,确定部分33也确定变量overlapping_count是否为3 (步骤S80)。直到变量overlapping_count变为3为止,确定部分33将new_pix_ blank 拷贝到 pre_pix_blank,并将 new_pix_addr 拷贝到 pre_pix_addr (步骤 S90)。在连续的读出地址并不重叠的情况下,确定部分33将变量overlappingjount、 pre_pix_blank、和pre_pix_addr写入到2端口 FIF034以读出图像数据(步骤S100)。在两个连续的读出地址中,由于变量为“pre_piX_blank”和“pre_piX_addr”,先前的读出地址的重叠数据和空白数据被写入到2端口 FIFO 34。随后,overlapping_count的变量被初始化(步骤S110)。同样在这种情况下,确定部分 33 new_pix_blank 拷贝至Ij pre_pix_blank,并)new_pix_addr 拷贝至Ij pre_pix_ addr (步骤 S90)。
直到3次确定(检测到)连续的读出地址的重叠,才执行将数据(例如,指示重叠次数的数据、指示先前的读出地址是否为空白的数据、指示先前的读出地址的数据)写入到2端口 FIFO 34的步骤。因此,可以控制对具有相同地址的存储器的访问。重叠的次数的上限并不限于3次。例如,重叠的次数的上限可以是4次或更多次。图31是用于描述根据本发明实施例的直到FIFO控制部分35将在2端口 FIFO 34 中存储的数据传送到仲裁器13或数据部分32为止执行的操作的流程图。首先,将地址数据从FIFO控制部分35传送到仲裁器13的条件包括从仲裁器13 输出 mem_rd_req = 1 ;flag_out_addr_empty = 0 (读出目的地的地址被存储)被输出作为地址部分31 的2端口 FIFO 34的状态;以及由于在2端口 FIFO 34中存储的读出地址并不为空白,从 FIFO 控制部分 35 输出 mem_rd_addr_blank = 0。此外,将重叠数据和孔北海数据从FIFO控制部分35传送到数据部分32的条件为flag_out_addr_empty = 0 被输出作为 2 端口 ;34 的状态。首先,FIFO控制部分35将由FIFO控制部分35自身使用的变量等初始化(步骤 S210)。随后,FIFO控制部分;35 确定是否 f lag_out_addr_empty = 0 (步骤 S220)。由于“flag_out_addr_empty = 0”指示地址等被存储在2端口 FIFO 34中,因此 FIFO控制部分35从2端口 FIFO 34读出1个字。在该实施例中,“1个字”是被作为单个组存储的一系列数据(例如,32bit)。随后,FIFO控制部分35将读出的数据(1个字)设置到临时FF(文件夹)(步骤S240)。也就是说,FIFO控制部分35将overlapping_count的数据设置到mem_addr_ duplication_info,将 pre_pix_blank 的数据设置至丨J mem_rd_addr_b 1 ank,并将 pre_pix_ addr的数据设置至Ij mem_rd_addr。随后,FIFO控制部分35将设置数据传送到数据部分32。也就是说,FIFO控制部分 35 将 mem_addr_duplicaiton_info 和 mem_rd_addr_blank 输出到数据部分 32。当数据被输出给数据部分32时,mem_rd_addr_param_en被增加到“1”。随后,FIFO控制部分;35 确定是否 mem_rd_addr_blank = 1 (步骤 S^O)。在“mem_rd_addr_blank = 1”的情况下,读出地址为空白。因此,操作返回到步骤 S220。在mem_rd_addr_blank不为1的情况下,读出地址不为空白。因此,FIFO控制部分;35等待,直到mem_rd_req = 1为止(步骤S270)。由于“mem_rd_req = 1”表示仲裁器 13能够选择输出缓存12,FIFO控制部分35将数据输出到仲裁器13 (步骤S^O)。换句话说,FIFO控制部分35将mem_rd_addr输出到仲裁器13。当mem_rd_addr被输出到仲裁器 13 时,mem_rd_addr_param_en 被±曾力口至Ij “ 1,,。相应地,当在步骤S260中“mem_rd_addr_blank = 1”的情况下,由于读出地址被确定为空白,因此没有对外部存储器15进行访问。因此,可以控制不必要的访问。 输出缓存的数据部件Y)接下来,将描述根据本发明实施例的输出缓存12的数据部分32。
图32是说明根据本发明实施例的输出缓存12的数据部分32的示例性配置的框图。数据部分21主要包括如下的3个部分。· 2端口 FIFO 36 :2端口 FIFO 36用于临时存储重叠数据和空白数据。 重叠/空白生成部分37 重叠/空白生成部分37用于再生与重叠的读出地址相对应的图像数据和与空白的读出地址相对应的图像数据。· 2端口 FIFO 38 :2端口 FIFO 38用于临时存储输出数据。接下来,在下面将描述临时存储重叠数据和空白数据的处理和通过2端口 FIFO 36执行的操作。在“mem_rd_addr_param_en = 1 ”的情况下,2端口 FIFO 36继续从地址部分31接收并存储数据。将数据传送到重叠/空白生成部分37的定时如下。 当接下来要传送的数据是空白数据时(mem_rd_addr_blank = 1),2端口 FIFO 36仅将数据传送到重叠/空白生成部分37。 当接下来要传送的数据部是空白数据时(mem_rd_addr_blank = 0),2端口 FIFO 36等待从仲裁器13输入数据(mem_rd_data_en = 1),并当图像数据被输入时传送数据。图33A和34A是说明根据本发明实施例的利用数据部分32控制重叠数据和空白数据的写入、和利用数据部分32控制重叠数据和空白数据的读出的操作的流程图。图33A说明了根据本发明实施例的通过FIFO控制部分35来写入重叠数据/空白数据的操作。首先,数据部分32初始化2端口 FIFO 36(步骤S310)。随后,数据部分32确定是否 mem_rd_addr_param_en = 1 (步骤 S320)。由于在mem_rd_addr_param_en = 1的情况下地址部分31具有在其中存储的地址数据等,2端口 FIFO 36从地址部分31接受要向其写入的mem_rd_addr_duplication_ info (指示重叠数量的数据)和mem_rd_addr_blank(空白数据)(步骤S330)。另一方面,由于在mem_rd_addr_param_en并不为1的情况下地址部分31在其中并不存储地址数据等,因此2端口 FIFO 36等待。图3 说明了重叠/空白生成部分37从2端口 FIFO 36加载数据的操作。首先,重叠/空白生成部分37根据需要将其自身初始化。随后,重叠/空白生成部分37确定2端口 FIFO 36是否为空(步骤S420)。在2 端口 FIFO 36为空的情况下,由于无需读出数据,因此重叠/空白生成部分37等待(步骤 S420中为“是”)。在2端口 FIFO 36并不为空的情况下(步骤S420中为“否”),重叠/空白生成部分37从2端口 FIFO 36读出1个字(例如,重叠数据、空白数据)(步骤S430)。随后,2端口 FIFO 36基于mem_rd_addr_blank(空白数据)确定要读出的图像数据是否为空白(步骤S440)。在要被读出的图像数据为空白的情况下(步骤S440中为“是”),由于要读出的图像数据的地址并不被传送到仲裁器13,因此无需从外部存储器15读出图像数据。相应地, 重叠数据和空白数据被写入到重叠/空白再生部分37中(步骤S450)。在要被读出的图像数据并不为空的清空下(步骤S440中为“否”),2端口 FIFO 36 确定是否 mem_rd_data_en ==1(步骤 S460)。由于"mem_rd_data_en = = 1”指示图像数据被存储在仲裁器13中,因此重叠/空白再生部分37从仲裁器13相应地接收图像数据, 并将接收到的图像数据写入到2端口 FIFO 38中(步骤S450)。相应地,重叠/空白图像数据再生部分37仅在要被读出的图像数据并不为空白时,从仲裁器13获取图像数据。[输出缓存中的重叠/空白的再生]图34是说明根据本发明实施例的重叠/空白再生部分37的示例性配置的框图。 重叠/空白再生部分37包括例如缓存控制部分371和临时缓存372。缓存控制部分371用于再生空白图像数据或重叠的图像数据。如上所述,重叠/空白再生部分37从之前的2端口 FIFO 36接收重叠数据和空白数据。重叠/空白再生部分37仅在mem_rd_data_en = 1时从仲裁器13获取mem_rd_ data。重叠/空白再生部分37根据重叠数据再生最多4个像素。通过重叠/空白再生部分37再生的图像数据被写入到朝向输出缓存32的输出侧的 2 端口 FIFO 38。在图34中,重叠/空白再生部分37分别将mem_rd_dupl ication_infο (重叠数据) ^BilJ param_0_duplicaiton_info, ^ mem_rd_addr_blank ( $ [=1 ) ^BilJ param_0_ blank,并将 mem_rd_addr_param_en 设置至丨J param_0_eno图35是说明根据本发明实施例的利用重叠/空白再生部分37再生重叠/空白数据的操作的流程图。首先,重叠/空白再生部分37根据需要初始化临时缓存372(步骤S510)。重叠/空白再生部分37确定是否param_0_en ==1(步骤S520)。在param_0_ en并不为1的情况下(在步骤S520中为“否”),2端口 FIFO 36在其中并不存储有数据。 因此,重叠/空白再生部分37等待。在param_0_en = = 1的情况下(在步骤S520中为“是”),数据被存储在2端口 FIFO 36中。相应地,重叠/空白再生部分37确定是否paramj^blank = 1 (步骤S530).在paramJLblank = = 1的情况下(在步骤S530中为“是”),要被写入到2端口 FIFO 38的值(写入值)为空白值。空白值是例如图像亮度变为零的图像数据。在RGB的情况下,空白值是例如RGB值为(0,0,0)(即黑色)的图像数据。在paramJLblank并不为1的情况下(在步骤S530中为“否”),要被写入到2端口 FIFO 38中的值(写入值)为从仲裁器13获取的mem_re_data (图像数据)(步骤S550)。随后,重叠/空白再生部分37确定临时缓存0-7中的任何一个是否为空(S560)。 临时缓存0-7在其中寄存有指示临时缓存0-7是否为空的数据。例如,临时缓存0-7具有与取决于数据是否被输出到2端口 FIFO 38而被开启和关断的每一单个像素相对应的标记。重叠/空白再生部分37将param_0_duplication_info+l次和写入值一起写入 (步骤S570)。也就是说,重叠/空白再生部分37将指示(重叠次数+1次)的写入数据、 空白数据、或mem_rd_data写入。在图30的步骤S60的确定过程中,当2个连续读出的地址相互重叠时,重叠的次数为1次,当3个连续读出的地址相互重叠时,重叠的次数为2次,而当4个连续读出的地址相互重叠时,重叠的次数为3次。相应地,在图35的步骤S570中,缓存控制部分370将重叠次数+1次、空白值或mem_rd_data写入到2端口 FIFO 38。需要注意的是,当在重叠的次数为1或两次时下一连续读出的地址被确定为并不重叠时,要被写入到2端口 FIFO 34的地址是被确定为并不重叠的地址之前的地址。相应地,无需考虑与被确定为并不重叠的地址相对应的图像数据。因此,可以将与被确定为并不重叠的地址相对应的图像数据写入到2端口 FIF034的定时最快是下一时钟。相应地,缓存控制部分371将指示重叠次数+1次的数据、空白值、或mem_rd_data 拷贝到临时缓存0-7。随后,缓存控制部分371确定满了的临时缓存0-7的数量是否为4个或更多(步骤S580)。当在临时缓存中图像数据累积到一定程度时执行该确定以便写入图像数据。在满了的临时缓存0-7的数量为4或更多时(步骤S580中的“是”),图像数据被写入到之后的2端口 FIFO 38。随后,缓存控制部分371将等于4个像素的临时缓存向地址0转移(步骤S600)。 例如,当在等于3个像素的图像数据被存储在临时缓存0-7中的情况下拷贝等于2个或更多个像素的图像数据时,将等于比4个像素多的像素的图像数据存储在临时缓存0-7中。相应地,在将等于4个像素的图像数据写入到2端口 FIF038之后,将未被写入到之后的2端口 FIFO 38并保留在临时缓存0-7中的图像数据向具有低编号的地址转移。由于有8个临时缓存0-7,因此当在等于3个像素的图像数据被存储在临时缓存0-7的状态下拷贝等于4 个像素的图像数据时,总会有一个剩余的临时缓存。[朝向输出侧的2端口FIFO]在该实施例中,朝向输出缓存32的输出侧的2端口 FIFO 38的操作在实质上与典型的2端口 FIFO 38的操作相同。2端口 FIFO 38的输入端口的数据长度和2端口 FIFO 38的输出端口的数据长度不同。2端口 FIFO 38的输入端口从重叠/空白再生部分37接收等于4个像素 04bitX4个像素)的图像数据。2端口 FIFO 38的输出端口将等于1个像素(Mbit)的图像数据输出到视频输出。2端口 FIFO 38包括用于指示在2端口 FIFO 38中剩余的数据量的状态标记。例如,f lag_out_empty指示在2端口 FIFO 38中剩余的数据量为零,f lag_out_half指示在2 端口 FIFO 38中剩余的数据量为一半或更多,而flag_0ut_alm0St_full指示在2端口 FIFO 38中剩余的数据量为基本上为满(参见图36)。在该实施例中,“基本上为满”对应于2端口 FIFO 38的容量的大约90%。这考虑到了已经被传送到仲裁器13的读出地址的处理的必要性。状态标记被输出到仲裁器13。[仲裁器]图36是说明根据本发明实施例的向仲裁器13输入并从仲裁器13输出的信号的示意图。仲裁器13基于通过从输入输出缓存接口输入的状态标记指示的状态,确定是否从输入缓存IF(接口)或输出缓存IF接受请求。根据本发明实施例的仲裁器13的裁定策略如下。 输入侧(输入缓存11)
(A-I) 2 端口 FIFO 21 并没有变满(A-2)在2端口 FIFO 21中存储的数据被尽量保持在2端口 FIFO 21的存储容量的一半或更少。(A-3)如果2端口 FIFO 21为空则不需要访问。如果要进行访问,则尽可能地连续进行访问 输出侧(输出缓存12)(B-I) 2 端口 FIFO 38 并没有变满(B-2)在2端口 FIFO 38中存储的数据被尽量保持在2端口 FIFO 38的存储容量的一半或更少。(B-3)如果2端口 FIFO 21为空则不需要访问。图37说明根据上述裁定策略生成的裁定表格的示例。对于图37中的状态标记的组合,两个标记(如果有两个标记的话)的组合表示“1”。在仲裁器13选择输入侧的情况下,将“ 1 ”设置到mem_Wr_req。在仲裁器13选择输出侧的情况下,将“ 1,,设置到mem_rd_req。No. 1 由于Flag_in_empty为“1”,因此无需访问输入侧。由于Flag_out_empty为 “1”,因此鉴于裁定策略的(B-I)项来向输出侧给予优先权。No. 2 由于Flag_in_empty为“1”,因此鉴于裁定策略的(A_3)项而无需访问输入侧。尽管没有输入侧的标记,也向输出侧给予优先权。No. 3 由于Flag_in_empty为“1”,因此无需访问输入侧。尽管Flag_out_half为 “ 1 ”,也向输出侧给予优先权以累积更多的图像数据。No. 4 由于 Flag_in_empty 为“1”,因此无需访问输入侧。由于 Flag_out_almost_ full为“1”,因此无需访问输出侧。然而,向输出侧给予优先权并选择输出侧。No. 5 尽管没有输入侧的标记,鉴于裁定策略(B-I)项,由于Flag_0ut_empty为 “1”因此向输出侧给予优先权。No. 6 由于没有输入和输入侧两者的标记,因此鉴于裁定策略的(B-2)向输出侧给予优先权并选择输出侧。No. 7:尽管没有输入侧的标记,但是鉴于裁定策略的(A-2)和(B_2)项,由于 Flag_out_half为“1”,因此向像输出侧给予优先权以累积更多的图像数据。No. 8 尽管没有输入侧的标记,但是鉴于裁定策略的(B-3)项,由于Flag_0ut_ almost_full为“1”,因此像输入侧给予优先权。输入缓存11被保持为要选择的缓存,直到输出Flag_in_empty为止。从而,可以传送数据,直到输入缓存11变为空为止。No. 9 由于FlagjnJiaIf为“1”,因此输入侧的图像数据是输入缓存11的存储容量的一半或更多。由于Flag_0Ut_empty为“1”,因此鉴于裁定策略的(B-I)项而向输出侧给予优先权。输出缓存12被保持为要选择的缓存,直到Flag_0ut_half或Flag_0ut_addr_ empt被输出为止。从而,可以传输数据,直到所累积的数据变为输出缓存12的存储容量的一半或更多为止。No. 10 由于FlagjnJiaIf为“1”,因此输入侧的图像数据是输入缓存11的存储容量的一般或更多。由于没有输出侧的标记(一般或更少的输出数据),因此鉴于裁定策略的(B-2)项而向输出侧给予优先权。输出缓存12被保持为要选择的缓存,直到Flag_0ut_half或Flag_0Ut_addr_empty被输出为止。从而,可以传输数据,直到所累积的数据变为输出缓存12的存储容量的一半或更多为止。No. 11 由于Flag_in_half为“1”,因此输入侧的图像数据是输入缓存11的存储容量的一般或更多。由于Flag_0Ut_half为“1”,因此输出侧的图像数据是输出缓存12的存储容量的一半或更多。因此,鉴于裁定策略的(A-幻项而向输入侧给予优先权。输出缓存11被保持为要选择的缓存,直到Flag_in_empty被输出为止。从而,可以传输数据,直到输入缓存11变为空为止。No. 12 由于FlagjnJiaIf为“1”,因此输入侧的图像数据是输入缓存11的存储容量的一般或更多。由于Flag_0ut_alm0St_full为“1”,因此输出侧无需图像数据。因此, 鉴于裁定策略的(A-幻项而向输入侧给予优先权。输出缓存11被保持为要选择的缓存,直到Flag_in_empty被输出为止。从而,可以传输数据,直到输入缓存11变为空为止。No. 13 由于Flag_in_full和Flag_out_empty,因此输入和输出侧均变为错误。然而,输出缓存被选择,以便首先填充输出缓存12。No. 14 由于Flag_in_full,因此输入侧变为错误。从而,输入侧被选择。No. 15 由于Flag_in_full,因此输入侧变为错误。因此,即使在Flag_out_half 的情况下,输入侧也被选择。No. 16 由于Flag_in_full,因此输入侧变为错误,而输出侧为Flag_out_almost_ full。从而,由于数据侧不需要图像数据,因此输入侧被选择。相应地,仲裁器13通过在输入侧和输出侧之间进行选择,使得数据的连续传输变得较为容易。例如,在图37的裁定表格的No. 9和No. 10的情况下,可以传输数据,直到在输出侧中累积的数据变为输出缓存12的一般或更多位置。在图37的裁定表格的No. 8、No. 11 和No. 12的情况下,可以传输数据,直到输入缓存11变为空为止。因此,可以实现要被读出的单独数据的连续传输或要被写入的单独数据的连续传输。因此,根据本发明的上述实施例,LPJ 200能够防止具有相同地址的数据被连续地读出,并防止不必要的空白区域(未表现图片的区域)的数据被读出。相应地,由于LPJ 200 的仲裁器13可以在将图像数据写入到输入缓存11中的处理和从输出缓存12读出图像数据的处理之间进行裁定,因此能够容易地实现连续的访问。本发明并不限于实施例中公开的具体形式,并且可以对本发明进行各种各样的修改和变更而不偏离本发明的范围。本申请基于在2010年11月19日和2011年3月22日分别提交的日本在先申请 No. 2010-259459和2011-063236,在此通过引用方式将它们的全部内容并入到本文中。
权利要求
1.一种图像投影设备,包括输入部件,用于输入图像数据;帧存储器,用于存储所述图像数据;激光振荡器,用于将激光照射到屏幕;包括反射光学元件的偏转部件,所述偏转部件用于相对于两个垂直相交的轴振荡所述反射光学元件;存储部件,用于存储多项式的系数数据;照射位置计算部件,用于基于通过使用所述系数数据获取的系数和所述反射光学元件的振荡角,来计算照射位置;地址计算部件,用于计算所述帧存储器中与所述照射位置相对应的地址;存储器控制部件,用于读出所述地址的像素数据;和激光驱动部件,用于根据与所述像素数据相对应的亮度来振荡所述激光振荡器。
2.根据权利要求1所述的图像投影设备,还包括确定表格;其中,所述地址计算部件用于通过参照所述确定表格,确定所述照射位置是否在保持所述图像数据的长宽比的矩形或预定矩形中的至少一个之内;其中,所述地址计算部件用于在所述地址计算部件确定所述照射位置不在保持所述图像数据的长宽比的矩形或预定矩形之内的情况下,输出与具有黑色级别亮度的像素相对应的空白数据。
3.根据权利要求2所述的图像投影设备,所述地址计算部件用于在所述地址计算部件确定所述照射位置在保持所述图像数据的长宽比的矩形或预定矩形之内的情况下,计算所述帧存储器中与所述照射位置相对应的地址。
4.根据权利要求2所述的图像投影设备,还包括转换表格,所述转换表格包括维持所述图像数据的长宽比的矩形或预定矩形内的坐标位置;其中,所述地址计算部件用于在所述地址计算部件确定所述照射位置在保持所述图像数据的长宽比的矩形或预定矩形之内的情况下,将所述照射位置转换为所述坐标位置之一,并基于转换后的照射位置来计算所述帧存储器中的地址。
5.根据权利要求1所述的图像投影设备,其中,所述反射光学元件用于在第一方向和与所述第一方向垂直相交的第二方向上振荡;其中,所述多项式包括第一多项式和第二多项式,所述第一多项式逼近当在所述第一方向上的振荡角被固定的情况下在所述第二方向上扫描所述反射光学元件时的照射位置,并且所述第二多项式逼近当在所述第二方向上的振荡角被固定的情况下在所述第一方向上扫描所述反射光学元件时的照射位置。
6.根据权利要求5所述的图像投影设备,其中所述第一多项式是相对于垂直角的一阶多项式,而所述第二多项式是相对于水平方向的二阶多项式。
7.根据权利要求6所述的图像投影设备,其中,所述照射位置计算部件用于通过应用关于与所述垂直角相对的二次逼近表达式的系数数据,来计算关于垂直角的系数;其中,所述照射位置计算部件用于通过应用关于与所述水平角相对的另一二次逼近表达式的系数数据,来计算关于水平角的系数。
8.一种存储器控制设备,包括输入缓存,用于临时存储图像数据,并将所述图像数据写入到帧存储器中;地址生成部件,用于生成读出地址;确定部件,用于通过参照所述地址生成部件,确定是否存在要求从在所述帧存储器中的相同地址读出所述图像数据的连续请求,并确定是否存在要求读取与空白地址相对应的图像数据的请求;读出指示部件,用于在所述确定部件确定不存在要求读出所述图像数据的连续请求和不存在要求读取与所述空白地址相对应的图像数据的请求的情况下,指示所述帧存储器输出所述图像数据;数据获取部件,用于从所述帧存储器获取所述图像数据;和数据再生部件,用于再生被连续请求要求读出的图像数据和与所述空白地址相对应的空白图像数据。
9.根据权利要求8所述的存储器控制设备,其中,所述确定部件用于对所述连续请求的次数进行计数,并将所述次数报告给所述数据再生部件;其中,所述数据再生部件用于在所述确定部件确定不存在要求读出所述图像数据的连续请求之前,根据所述次数复制被连续请求要求读出的图像数据。
10.根据权利要求8所述的存储器控制设备,其中,所述确定部件用于对要求读取与所述空白地址相对应的图像数据的请求的次数进行计数,并将所述次数报告给所述数据再生部件;其中,所述数据再生部件用于根据所述次数复制与所述空白地址相对应的空白图像数据。
11.根据权利要求8所述的存储器控制设备,还包括输出缓存,用于临时存储由所述数据获取部件获取的图像数据和由所述数据再生部件再生的图像数据;和仲裁部件,用于通过从所述输入缓存和输出缓存获取将图像数据连续写入到所述帧存储器和从所述帧存储器读出所述图像数据的标记,裁定来自所述输入缓存的写入请求和来自所述输出缓存的读出请求。
12.根据权利要求11所述的存储器控制设备,其中,所述仲裁部件用于裁定要求在所述输出缓存的存储容量的一半或更多被填充之前连续写入所述图像数据的写入请求和要求在所述输入缓存变为空之前连续读出所述图像数据的读出请求。
13.根据权利要求8所述的存储器控制设备,其中,所述确定部件用于确定,在由所述地址生成部件生成的当前地址之前的地址为所述空白地址时或者当所述当前地址或在所述当前地址之前的地址中的至少一个不是所述空白地址时,存在从所述帧存储器中的相同地址读出所述图像数据的连续请求。
14.根据权利要求9所述的存储器控制设备,所述读出指示部件用于在所述连续请求的次数等于或大于预定次数的情况下,指示所述帧存储器输出所述图像数据。
15.一种激光投影机,包括根据权利要求8所述的存储器控制设备;帧存储器,用于在与非连续访问相比的连续访问的情况下更快地写入和读出图像数据;和光学引擎,其包括激光振荡器、谐振型MEMS (微电子机械系统)反射镜。
16. 一种存储器访问方法,包括如下的步骤临时存储图像数据;将所述图像数据写入到帧存储器中;生成读出地址;通过参照所述生成步骤,确定是否存在要求从在所述帧存储器中的相同地址读出所述图像数据的连续请求,并确定是否存在要求读取与空白地址相对应的图像数据的请求;在确定部件确定不存在要求读出所述图像数据的连续请求和不存在要求读取与所述空白地址相对应的图像数据的请求的情况下,指示所述帧存储器输出所述图像数据;从所述帧存储器获取所述图像数据;和再生被连续请求要求读出的图像数据和与所述空白地址相对应的空白图像数据。
全文摘要
本发明涉及图像投影设备、存储器控制设备、激光投影机和存储器访问方法。该图像投影设备包括输入部件,用于输入图像数据;帧存储器,用于存储所述图像数据;激光振荡器,用于将激光发射到屏幕;包括反射光学元件的偏转部件,所述偏转部件用于相对于两个垂直相交的轴振荡所述反射光学元件;存储部件,用于存储多项式的系数数据;照射位置计算部件,用于基于通过使用所述系数数据获取的系数和所述反射光学元件的振荡角,来计算照射位置;地址计算部件,用于计算所述帧存储器中与所述照射位置相对应的地址;存储器控制部件,用于读出所述地址的像素数据;和激光驱动部件,用于根据与所述像素数据相对应的亮度来振荡所述激光振荡器。
文档编号G02B26/10GK102566213SQ20111037854
公开日2012年7月11日 申请日期2011年11月21日 优先权日2010年11月19日
发明者佐藤哲也, 山本英明, 齐所贤一郎 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1