发明内容
为了解决以上所述的技术缺陷,本发明提供一种逐点式二维与三维共融显示的驱动方法及驱动装置。
为实现上述目的,本发明采取以下技术方案:一种逐点式二维与三维共融显示的驱动方法,包括:
接收主机发送的2D/3D区域信息,根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据并存储;
根据当前扫描位置读出存储的相应显示点的显示状态数据,和驱动控制信号一起传输给逐点2D/3D显示切换装置。
较佳地,
所述驱动方法应用于包括数据接口单元、存储单元、读写控制单元和驱动单元的2D/3D共融显示驱动装置;
所述接收主机发送的2D/3D区域信息,根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据并存储,包括:
所述数据接口单元接收和缓存所述主机发送的2D/3D区域信息;
在写时刻,所述读写控制单元根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,按照显示点对应的写地址将每一显示点的显示状态数据写入所述存储单元中,所述显示状态为2D显示状态或3D显示状态。
较佳地,
所述读出当前扫描位置上的显示点的显示状态数据,和驱动控制信号一起传输给逐点2D/3D显示切换装置,包括:
在读时刻,所述读写控制单元根据所述驱动单元产生的扫描位置信号生成读地址,从所述存储单元读出该扫描位置上的显示点的显示状态数据,和所述驱动单元产生的驱动控制信号一起传输给逐点2D/3D显示切换装置。
较佳地,
所述主机发送的2D/3D区域信息包括整个显示屏幕上的显示点的显示状态数据,所述读写控制单元根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,包括:所述读写控制单元根据所述2D/3D区域信息直接获得显示屏幕上各显示点的显示状态数据;或者
所述主机发送的2D/3D区域信息包括显示屏幕上更新区域的窗口信息和所述窗口中显示点的显示状态信息,所述读写控制单元根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,包括:所述读写控制单元根据所述2D/3D区域信息转换得到显示屏幕上各显示点的显示状态数据。
较佳地,
所述窗口信息用窗口的定位点坐标表示;
在所述窗口中各显示点的显示状态完全相同时,所述窗口中显示点的显示状态信息用所述窗口的显示状态表示;在所述窗口中各显示点的显示状态不完全相同时,所述窗口中显示点的显示状态信息用所述窗口中各显示点的显示状态数据表示。
较佳地,
所述主机每次发送的2D/3D区域信息包括帧起始标识和显示屏幕上各显示点的显示状态数据;
所述在写时刻,所述读写控制单元根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,按照显示点对应的写地址将每一显示点的显示状态数据写入所述存储单元中,包括:
在写时刻,所述读写控制单元如检测到所述数据接口单元的先进先出缓冲器缓存有数据,判断该数据是否是帧起始标识,如是,将写地址置为起始地址,如否,将缓存的显示状态数据写入当前地址并将当前地址加1,直到将该帧中所有显示点的显示状态数据写入所述存储单元。
较佳地,
所述写时刻和读时刻由所述读写控制单元对系统时钟分频得到的驱动时钟产生。
相应地,本发明还提供了一种逐点式二维与三维共融显示驱动装置,其特征在于,包括数据接口单元、存储单元、读写控制单元和驱动单元,其中:
所述数据接口单元,用于接收和缓存主机发送的2D/3D区域信息;
所述读写控制单元,包括:
写控制单元,用于在写时刻,根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,按照显示点对应的写地址将每一显示点的显示状态数据写入所述存储单元中,所述显示状态包括2D显示状态或3D显示状态;
读控制单元,用于在读时刻,根据所述驱动单元产生的扫描位置信号生成读地址,从所述存储单元读出该扫描位置上的显示点的显示状态数据,传输给逐点2D/3D显示切换装置;
所述驱动单元,用于产生所述扫描位置信号和驱动控制信号,所述驱动控制信号传输给所述逐点2D/3D显示切换装置;
所述存储单元,用于缓存显示屏幕上各显示点的显示状态数据。
较佳地,
所述写控制单元根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,包括:
根据所述2D/3D区域信息直接获得显示屏幕上各显示点的显示状态数据;或者
根据所述2D/3D区域信息包括的显示屏幕上更新区域的窗口信息和所述窗口中显示点的显示状态信息,转换得到显示屏幕上各显示点的显示状态数据。
较佳地,
所述写控制单元在写时刻,根据所述2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,按照显示点对应的写地址将每一显示点的显示状态数据写入所述存储单元中,包括:
在写时刻,所述写控制单元如检测到所述数据接口单元的先进先出缓冲器FIFO缓存有数据,判断该数据是否是帧起始标识,如是,将写地址置为起始地址,如否,将缓存的显示状态数据写入当前地址并将当前地址加1,直到将该帧中所有显示点的显示状态数据写入所述存储单元。
较佳地,
所述读写控制单元还包括:分频单元,用于对系统时钟分频得到的驱动时钟以产生所述写时刻和读时刻。
较佳地,
所述数据接口单元用内置FIFO的数据接口实现,所述读写控制单元和所述驱动单元用现场可编程门阵列实现,所述存储单元为随机存取存储器。
采取以上所述的方案实现了逐点式2D/3D共融显示的驱动,由于使用存储单元存储了立体显示画面的2D/3D区域信息,读写控制单元可以从存储单元中读取2D/3D区域信息的数据,故对于2D/3D区域相同的显示画面,主机只需传输一次2D/3D区域信息,大大减少了需要传送的数据量,减轻了主机的负担。并且上述驱动装置的电路简单,易于控制实现。
具体实施方式
为了使本发明的技术方案更加清楚明白,下面结合附图和具体实施例对本发明做进一步详细阐述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。
图1示出了本实施例的逐点式2D/3D共融显示驱动装置10、主机20、逐点2D/3D显示切换装置30和LCD显示装置40。如图所示,本实施例的逐点式二维与三维共融显示驱动装置10(简称为2D/3D共融显示驱动装置)包括数据接口单元101、读写控制单元103、驱动单元105和存储单元107,其中:
数据接口单元101,用于接收和缓存主机20发送的2D/3D区域信息。
读写控制单元103包括:
写控制单元,用于在写时刻,根据2D/3D区域信息获得显示屏幕上各显示点(指显示屏幕上显示状态始终相同的最小的显示单位,如像素点)的显示状态数据,按照显示点对应的写地址将每一显示点的显示状态数据写入存储单元中,显示状态为2D显示状态或3D显示状态;本实施例中,写控制单元根据2D/3D区域信息直接获得显示屏幕上各显示点的显示状态数据;在写时刻,写控制单元如检测到数据接口单元缓存有数据且该数据为帧起始标识,则将写地址置为起始地址;如检测到数据接口单元缓存有显示点的显示状态数据,则将显示状态数据写入当前地址并将当前地址加1,直到将该帧中所有显示点的显示状态数据写入存储单元。在其他实施例中,写控制单元也可以根据2D/3D区域信息包括的显示屏幕上更新区域的窗口信息和所述窗口中显示点的显示状态信息,转换得到显示屏幕上各显示点的显示状态数据,然后再写入存储单元。
读控制单元,用于在读时刻,根据驱动单元产生的扫描位置信号生成读地址,从存储单元读出该扫描位置上的显示点的显示状态数据,并传输给逐点2D/3D显示切换装置30。
可选地,读写控制单元包括:分频单元,用于对系统时钟分频得到驱动时钟以产生写时刻和读时刻。
驱动单元105,用于产生扫描位置信号和驱动控制信号,驱动控制信号传输给逐点2D/3D显示切换装置30。
存储单元107,用于缓存显示屏幕上各显示点的显示状态数据。
数据接口单元可以用内置FIFO(FIRST IN FIRST OUT)的数据接口如USB接口实现,读写控制单元和驱动单元可以用现场可编程门阵列(FPGA)实现,存储单元可以用随机存取存储器(RAM)实现。
本实施例逐点式二维与三维共融显示的驱动方法,应用于上述2D/3D共融显示驱动装置,如图2所示,该驱动方法包括:
步骤110,数据接口单元接收和缓存主机发送的2D/3D区域信息;
步骤120,在写时刻,读写控制单元根据2D/3D区域信息获得显示屏幕上各显示点的显示状态数据,按照显示点对应的写地址将每一显示点的显示状态数据写入存储单元中,所述显示状态为2D显示状态或3D显示状态;
本实施例中,主机发送的2D/3D区域信息包括整个显示屏幕上的显示点的显示状态数据,读写控制单元根据该2D/3D区域信息直接获得显示屏幕上各显示点的显示状态数据;在另一个实施例中,主机发送的2D/3D区域信息也可以包括显示屏幕上更新区域的窗口信息和所述窗口中显示点的显示状态信息,读写控制单元根据该2D/3D区域信息转换得到显示屏幕上各显示点的显示状态数据。其中,窗口信息可以用窗口的定位点坐标表示。在所述窗口中各显示点的显示状态完全相同时,所述窗口中显示点的显示状态信息可以用所述窗口的显示状态表示,即所述窗口是2D窗口还是3D窗口,窗口的显示状态可以采用默认的方式如默认为3D窗口;在所述窗口中各显示点的显示状态不完全相同时,所述窗口中显示点的显示状态信息可以用所述窗口中各显示点的显示状态数据表示。
本实施例中,在发送2D/3D区域信息过程中,当显示画面中的2D/3D区域改变时,主机发送所述2D/3D区域信息,当显示画面中的2D/3D区域不变时,主机可以不发送该2D/3D区域信息。每次发送的2D/3D区域信息包括帧起始标识和显示屏幕上各显示点的显示状态数据,每一个显示点的显示状态用一个bit表示,图3所示是一幅2D/3D显示画面上各显示点的显示状态的示意图,1表示相应位置上显示点的显示状态为3D显示状态,0表示相应位置上显示点的显示状态为2D显示状态,当然也可用0表示3D显示状态,用1表示2D显示状态。在此情况下,在写时刻,所述读写控制单元如检测到所述数据接口单元的先进先出缓冲器(FIFO)缓存有数据,判断该数据是否是帧起始标识,如是,将写地址置为起始地址,如否,将缓存的显示状态数据写入当前地址并将当前地址加1,直到将该帧中所有显示点的显示状态数据写入所述存储单元。
步骤130,在读时刻,读写控制单元根据驱动单元产生的扫描位置信号生成读地址,从存储单元读出该扫描位置上的显示点的显示状态数据,并和驱动单元产生的驱动控制信号一起传输给逐点2D/3D显示切换装置。
应当说明的是,上述各步并没有先后的关系,数据接口单元、读写控制单元和驱动单元完全可以进行并行处理。
上述写时刻和读时刻可以由读写控制单元对系统时钟分频得到的驱动时钟产生,但并不局限于此。写时刻和读时刻的比例由主机传送2D/3D区域信息的速率和逐点2D/3D显示切换装置数据传输速率决定。为保证显示时不出现滞后,主机传输数据的速率必须尽可能快,最好能达到60fps的数据传输速率。为保证主机传送的2D/3D区域信息能够及时存入存储单元中,存储单元数据传输速率大于等于主机传输数据速率和逐点2D/3D显示切换装置数据传输速率之和。
下面介绍一个具体的应用示例。
仍请参照图1,本示例逐点式2D/3D共融显示驱动装置10与主机20和逐点2D/3D显示切换装置30连接,主机20还将2D/3D显示数据输出到LCD显示装置40,也可以是其他的2D/3D共融显示装置。2D/3D共融显示驱动装置10用驱动板实现,其中的数据接口单元101为包括先进先出缓冲器(FIFO)的USB接口,读写控制单元103和逐点2D/3D显示切换装置的驱动单元105用现场可编程逻辑器件(FPGA)实现,存储单元107用SRAM实现。图中的2D/3D共融显示驱动装置略去了电源电路部分。
主机根据显示屏幕的分辨率预先设置2D/3D区域信息的帧格式,假定显示屏幕的分辨率为415*260,其显示点共415*260个,则每一帧2D/3D区域信息包括2字节的帧起始标识和415*260个显示点的显示状态数据,每一个显示点的显示状态数据用一个bit表示,帧长度为415*260*1bit+2byte≈13490byte,60fps下的数据量约为0.8Mbyte/s,USB接口完全可以满足带宽要求。
主机通过USB接口发送2D/3D区域信息,2D/3D共融显示驱动装置通过USB接口接收并缓存在USB接口的FIFO中。
主机发送2D/3D区域信息,可以采用以下几种方式:
一、在2D/3D显示画面上只存在简单的矩形窗口时,主机只需传输2D或3D窗口对角线上的两个端点(称为起始点和终点)坐标即可,坐标可以用显示点所在位置的行、列序号表示。对于全屏3D,只需设置起始点坐标为首行首列,终点坐标为末行末列,而对于全屏2D,只需设置起始点与终点坐标相等即可。
二、对于在两幅显示画面之间只有少量3D区域更新的情况,主机可以仅传输更新区域的窗口信息和所述窗口中各显示点的显示状态信息,窗口信息可以用窗口的定位点坐标表示,窗口的定位点指可以确定该窗口在显示屏幕上的位置的点,如矩形窗口可以用对角线上的两个端点坐标来表示。至于窗口中各显示点的显示状态信息,如窗口中所有显示点的显示状态完全相同,只需指示该窗口的显示状态即该窗口是2D或3D窗口即可,该指示可以用默认方式如默认为3D窗口。如果窗口中各显示点的显示状态不完全相同,可以直接用各显示点的显示状态数据表示。例如,一个球不断变大的3D画面,主机只需传输该球的外接矩形的两个端点坐标及外接矩形内各显示点的显示状态数据即可,此方法对于小且少量不规则窗口更新效果明显。以相邻两个图像帧之间传输图4A和图4B的画面为例,图4A所示的第一画面和图4B所示的第二画面均包含有3D显示的B窗口和C窗口且C窗口不变,而B窗口发生移动,在传输过第一画面B窗口和C窗口各显示点的显示状态数据后,对于第二画面,可以只传输更新区域即图4C中的B’窗口(由第一画面和第二画面中的B窗口合并得到)的起始点坐标和终点坐标以及B’窗口中各显示点的显示状态数据。根据传送的这些信息,读写控制单元103可以确定显示屏幕上各显示点的显示状态数据并写入到SRAM中,可以只写更新区域中显示点的显示状态数据,并根据显示点对应的存储地址来生成相应的写地址。
三、对于不适用上述两种情况的3D区域更新的情况,可以每次传输整个显示屏幕上各显示点的显示状态数据,此方法数据量大,但最为灵活。
在实际驱动时,以上几种传输方式可以依情况混合使用,以达到灵活性及数据传输量的最佳配置。
读写控制单元103工作在48MHz时钟下,使用分频单元对该时钟分频1/60得到STN驱动时钟,对48MHz时钟进行60计数,计数值count60=0,1,...59,共计60个时钟时刻,将该60个时钟时刻中的第1个时钟时刻(count60=0)作为读时刻,其他时刻作为写时刻,在不同的情况下读时刻和写时刻的划分可以不同。
如图5所示,读写控制单元103的处理流程包括:
步骤210,判断是否读时刻,即判断count60=0是否成立,如果是,执行步骤220,如果否,执行步骤230;
步骤220,依据驱动单元产生的扫描位置信号生成SRAM读地址,从SRAM中读取相应显示点的显示状态数据并发送至2D/3D显示切换装置,返回步骤210;
驱动单元产生的扫描位置信号可以用扫描位置处的行坐标(x坐标)和列坐标(y坐标)来表示,一对x,y坐标对应于一个显示点,各显示点在SRAM中的存储位置是固定的,因此可以根据x,y生成相应的读地址来读取需要的显示点的显示状态数据。
步骤230,检测USB接口的FIFO是否为空,如果不为空,执行步骤240,否则返回步骤210;
步骤240,判断FIFO中的数据是否是帧起始标识,如果是,执行步骤250,否则,执行步骤260;
步骤250,将SRAM写地址置为0,返回步骤210;
也可以将SRAM写地址置为任何一个设定的初始地址。
步骤260,将FIFO中显示点的显示状态数据写入SRAM,并将SRAM写地址加1,返回步骤210。
本示例中,每个SRAM写地址可以存储8bit的显示状态数据,直到SRAM写地址等于upper(415*260/8)=13520,完成一帧2D/3D区域信息的更新。通过上述写入处理,各显示点对应的存储地址是固定的。
驱动单元用于产生读写控制单元需要的扫描位置信号,驱动单元可以使用一行计数器的计数值生成行坐标,一列计数器的计数值(扫描完一行后计数值加1)生成列坐标,从而产生行坐标和列坐标组成的扫描位置信号。同时,驱动单元根据扫描位置产生驱动控制信号传送到2D/3D显示切换装置,所述驱动控制信号可以包括行扫描起始信号、帧扫描起始信号和帧翻转信号等,这里不再赘述。
虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。