发明内容
本发明实施例提供一种多显示屏控制方法、装置、设备及存储介质,可以降低传输成本。
第一方面,本发明实施例提供一种多显示屏控制方法,应用于主控端,所述方法包括:
将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像;其中,所述多个显示屏中至少两个显示屏的分辨率不同,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值中的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空闲数据;
将拼接后得到的矩形图像发送给显示驱动端,以使所述显示驱动端根据所述矩形图像驱动各显示屏显示对应的图像。
可选的,将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像,包括:
将所述多个显示屏中各显示屏对应的显示图像对应的像素值数组按照显示图像的宽度进行分组,得到多个第一数组,每个第一数组包含相同宽度的像素值数组且各像素值数组在竖直方向排列;
将所述多个第一数组按照高度值进行排序;
对高度值小于最大高度值的第一数组进行空闲数据填充,填充操作完成后得到的数组形成所述矩形图像。
可选的,对高度值小于最大高度值的第一数组进行空闲数据填充,包括:
对于每一待填充的第一数组,计算所述待填充的第一数组与高度值最大的第一数组的高度差,根据所述高度差确定所述待填充的第一数组需要填充的空白行数;
根据所述空白行数与所述待填充的第一数组的高度值的比值,将空闲数据均匀填充至所述待填充的第一数组中。
可选的,根据所述空白行数与所述待填充的第一数组的高度值的比值,将空闲数据均匀填充至所述待填充的第一数组中,包括:
根据所述比值确定第一设定行数和第二设定行数,其中,所述第一设定行数为所述比值的分母,所述第二设定行数为所述比值的分母与分子之差;
在所述待填充的第一数组中,每隔第一设定行数的显示数据后,插入第二设定行数的空闲数据。
可选的,所述主控端与所述显示驱动端之间设置有多传输通道;将拼接后得到的矩形图像发送给显示驱动端,包括:
根据所述主控端与所述显示驱动端之间的传输通道的数量,将填充操作完成后得到的数组转化为数据流;
通过所述多传输通道将所述数据流传输至显示驱动端。
第二方面,本发明实施例提供一种多显示屏控制方法,应用于显示驱动端,所述显示驱动端与用于控制多个显示屏的主控端通信,且所述显示驱动端用于驱动所述多个显示屏中的至少一个显示屏;所述方法包括:
获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像;其中,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空白数据;
根据所述多个显示图像的分辨率,对所述矩形图像进行拆解,得到所述至少一个显示屏的显示图像;
根据得到的显示图像驱动所述至少一个显示屏进行显示。
可选的,根据所述多个显示图像的分辨率,对所述矩形图像进行拆解,得到所述至少一个显示屏的显示图像,包括:
根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组;其中,所述多个第一数组是根据所述多个显示图像对应的像素值数组按照显示图像的宽度进行分组后得到的,每个第一数组包含相同宽度的像素值数组且各像素值数组在竖直方向排列;所述多个第一数组按照高度值进行排序;
根据所述至少一个显示屏对应的第一数组,确定所述至少一个显示屏的显示图像对应的像素值数组。
可选的,根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组,包括:
根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度;
计算高度值最大的第一数组与其他第一数组的高度差,根据所述高度差确定所述其他第一数组填充的空白行数;
根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组。
可选的,根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组,包括:对于每一其他第一数组,计算所述第一数组对应的空白行数与所述第一数组的高度值的比值;
根据所述比值确定第一设定行数和第二设定行数,所述第一设定行数为所述比值的分母,所述第二设定行数为所述比值的分母与分子之差;
每隔第一设定行数的显示数据后,删除第二设定行数的空闲数据,提取出所述第一数组。
可选的,所述主控端与所述显示驱动端之间设置有多传输通道;获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像,包括:
获取主控端通过所述多传输通道发送的数据流;其中,所述数据流为所述主控端根据传输通道的数量对矩形图像进行处理后得到的数据流;
根据所述数据流以及传输通道的数量,得到矩形图像。
第三方面,本发明实施例提供一种多显示屏控制装置,应用于主控端,所述装置包括:
第一得到模块,用于将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像;其中,所述多个显示屏中至少两个显示屏的分辨率不同,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值中的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空闲数据;
发送模块,用于将拼接后得到的矩形图像发送给显示驱动端,以使所述显示驱动端根据所述矩形图像驱动各显示屏显示对应的图像。
第四方面,本发明实施例提供一种多显示屏控制装置,应用于显示驱动端,所述显示驱动端与用于控制多个显示屏的主控端通信,且所述显示驱动端用于驱动所述多个显示屏中的至少一个显示屏,所述装置包括:
获取模块,用于获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像;其中,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空白数据;
第二得到模块,用于根据所述多个显示图像的分辨率,对所述矩形图像进行拆解,得到所述至少一个显示屏的显示图像;
驱动模块,用于根据得到的显示图像驱动所述至少一个显示屏进行显示。
第五方面,本发明实施例提供一种电子设备,包括:
存储器和至少一个处理器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第二方面任一项所述的多显示屏控制方法。
第六方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时,用于实现如上第一方面以及第二方面任一项所述的多显示屏控制方法。
第七方面,本发明实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第二方面任一项所述的多显示屏控制方法。
本发明实施例提供的多显示屏控制方法、装置、设备及存储介质,应用于主控端,通过将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像,其中,所述多个显示屏中至少两个显示屏的分辨率不同,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值中的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空闲数据,将拼接后得到的矩形图像发送给显示驱动端,以使所述显示驱动端根据所述矩形图像驱动各显示屏显示对应的图像,通过对显示图像进行拼接,并填充空闲数据,可以使得数据通过一组通道传输至显示驱动端,降低传输成本,并且在显示屏数量、分辨率固定的情况下,拼接成一个最小化的矩形区域,避免填充多余的空闲数据,提高传输效率。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
下面对本发明实施例提供的一种应用场景进行解释:本发明实施例提供的方案,可以用于对多个显示屏进行控制,例如,汽车中可以设置多个显示屏,所述显示屏可以为中控液晶触控屏或其它类型的显示屏。其中,中控液晶触控屏是位于汽车中控台中部的一个LCD(Liquid Crystal Display,液晶显示器)显示屏。随着科技的发展,倒车影像、导航、影音娱乐等功能在中控液晶触控屏上得到了广泛的应用。
图1A为本发明实施例提供的一种应用场景示意图。如图1A所示,在汽车的中控液晶触控屏10上显示有时间、温度、音频等信息,可以帮助用户在同一界面实现多个功能。
图1B为本发明实施例提供的一种系统架构图。如图1B所示,主控端控制三个显示屏,并通过传输通道传输显示屏1、显示屏2和显示屏3三个显示屏对应的显示数据传输给显示驱动端,显示驱动端接收传输过来的显示数据,并根据显示数据控制显示屏显示相应的画面。
在一些技术中,为不同的显示屏设置不同的传输通道,供每一显示屏的显示数据从各自对应的传输通道传输至显示驱动端。当显示屏较多时,需要多组传输通道,这样会导致传输成本较高的问题。
因此,本发明的实施例提供了一种多显示屏控制的方法,将主控端控制的显示屏对应的显示图像按分辨率进行拼接,并填充空闲数据,得到矩形图像,其中,矩形图像中每一列显示图像的宽度相同,每一列显示图像的高度值小于矩形图像高度值的部分填充有空闲数据,将拼接后得到的矩形图像发送给显示驱动端,使得显示驱动端根据矩形图像驱动各显示屏显示对应的图像,通过对显示图像进行拼接,并填充空闲数据,可以使数据通过一组通道传输至显示驱动端,降低传输成本。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图2为本发明实施例提供的一种多显示屏控制方法的流程示意图,应用于主控端,如图2所示,本实施例中的方法可以包括:
步骤201、将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像。
其中,所述多个显示屏中至少两个显示屏的分辨率不同,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值中的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空闲数据。
其中,主控端可以为车载的中央计算机、或中央域控制器、或ECU(ElectronicControl Unit,电子控制单元)、或驾驶脑,或者车机、DHU(Drilling Head Unit,娱乐主机和仪表的集成机器)、IHU(Infotainment Head Unit,信息娱乐主机)、IVI(In-VehicleInfotainment,车载信息娱乐系统)等任意车载信息交互终端,可以用于控制多个显示屏。
可选的,显示图像的显示屏可以有不同的分辨率。例如有三个显示屏,分别为显示屏A,显示屏B和显示屏C,其中,显示屏A的分辨率为130*160,显示屏B的分辨率为110*170,显示屏C的分辨率为140*230。
其中,每个显示屏对应不同的序号且依次排列,例如显示屏A对应的序号为0,显示屏B对应的序号为1,显示屏C对应的序号为2。
可选的,当显示屏有多个时,至少有两个显示屏的分辨率不同。可选的,得到的矩形图像的长宽可以是相同的也可以是不同的,是由各个显示屏最后组合拼接成的图像确定的。空闲数据可以为全0的数据。
可选的,矩形图像的第一列的宽度到最后一列的宽度可以是按照一定次序排列,其中每一列的宽度相同,第一列显示图像的高度值到最后一列显示图像的高度值可以是按照一定次序排列的。
示例性地,在将宽度相同的显示图像排为一列时,可以按照每个显示图像的高度从小到大进行列排序,当两个显示图像具有相同的宽度和高度时,可根据显示屏的序号依次排列,从而完成一列显示图像的排列。
当对每列显示图像的高度值进行排序以形成多列时,可按照高度值由大到小进行排序,若存在有至少两个宽度不同的显示图像在排列结束后高度相同的情况,则在对每列显示图像进行高度排序时,按照每列显示图像的宽度从小到大对每列显示图像进行排序。通过上述规则可以唯一地确定出矩形图像中各显示图像的位置,方便显示控制端根据所述规则还原各显示图像。当然,还可以根据实际情况对规则进行调整,例如显示图像的高度按照从大到小排列等,本发明实施例对此不作限制。
可选的,多个显示图像排序结束后,对于低于最大高度值的每列显示图像的空白区域填充空闲数据,可以得到矩形图像。其中,矩形图像的高度为各列显示图像高度值中的最大值,对于高度值小于矩形图像高度的列填充空闲数据。其中,当有至少两列显示图像的高度值等于矩形图像的高度值时,则除第一列显示图像以外的其他与第一列显示图像高度值相同的列填充的空闲数据的行数为0。例如,第一列显示图像的高度值为100,第二列显示图像的高度值为100,第三列显示图像的高度值为30,矩形图像的高度值为100,则第二列显示图像填充的空闲数据的行数为0,第三列显示图像填充的空闲数据的行数为70。
将宽度相同的显示图像排为一列,每一列中的显示图像再根据高度值和显示图像序号进行排序,再根据每列显示图像的高度值从大到小进行排序,相同高度的列根据每列显示图像的宽度由小到大进行排列。例如,第一列显示图像的宽度为4,显示图像0、显示图像3和显示图像1高度值分别为3、3和4,因此按照显示图像0、显示图像3和显示图像1进行排列,第二列显示图像的宽度为5,显示图像4、显示图像2和显示图像5的高度值分别为2、4和4,因此按照显示图像4、显示图像2和显示图像5进行排列,第三列显示图像的宽度为6,显示图像6的高度为6。因此,第一列显示图像的高度值和第二列显示图像的高度值均为10,第三列显示图像的高度值为3,则第二列显示图像填充的空闲数据的行数为0,第三列显示图像填充的空闲数据的行数为7。
步骤202、将拼接后得到的矩形图像发送给显示驱动端,以使所述显示驱动端根据所述矩形图像驱动各显示屏显示对应的图像。
显示驱动端根据矩形图像中各显示图像所在位置,以驱动各显示屏显示对应的图像。
具体的,显示驱动端可以获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像,并根据所述多个显示图像的分辨率,对所述矩形图像进行拆解,得到所述至少一个显示屏的显示图像,再根据得到的显示图像驱动所述至少一个显示屏进行显示。
由于显示驱动端了解各显示图像的排列规则以及空闲数据的填充规则,因此可以根据各个显示图像的分辨率确定矩形图像中各个显示图像所在的位置,从而还原显示图像。
示例性地,当显示驱动端获取到该矩形图像后,可根据多个显示图像的分辨率对矩形图像进行拆解,得到每一显示屏对应的显示图像,并在显示屏上显示对应的显示图像。
本实施例提供的多显示屏控制方法,应用于主控端,所述方法包括:将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像;其中,所述多个显示屏中至少两个显示屏的分辨率不同,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值中的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空闲数据,将拼接后得到的矩形图像发送给显示驱动端,以使所述显示驱动端根据所述矩形图像驱动各显示屏显示对应的图像,通过对显示图像进行拼接,并填充空闲数据,可以使得数据通过一组通道传输至显示驱动端,降低传输成本,并且在显示屏数量、分辨率固定的情况下,拼接成一个最小化的矩形区域,避免填充多余的空闲数据,提高传输效率。
在上述实施例提供的技术方案的基础上,图3为本发明实施例提供的另一种多显示屏控制方法的流程示意图。本实施例是在前述实施例的基础上,具体通过数组来实现显示图像的拼接和发送。如图3所示,所述方法包括:
步骤301、将所述多个显示屏中各显示屏对应的显示图像对应的像素值数组按照显示图像的宽度进行分组,得到多个第一数组,每个第一数组包含相同宽度的像素值数组且各像素值数组在竖直方向排列。
可以理解的是,显示图像可以由图像中各个像素点对应的像素值确定,各个像素点对应的像素值形成数组,记为像素值数组K。例如,某一显示图像的分辨率为130*150,则对应的像素值数组K可以为包含130*150个元素的数组。
可选的,根据像素值数组K的宽度进行排序,得到多个第一数组E,每个第一数组E中包含有宽度相同的像素值数组K,并且像素值数组K按照竖直方向排列。具体的,可根据像素值数组K的宽度由低到高进行排序,得到多个第一数组E。
图4为本发明实施例提供的一种多个显示图像的示意图。如图4所示,图中有8个显示图像,每个显示图像有其对应的分辨率。在拼接成矩形图像过程中,可先将各个显示图像对应的分辨率组合成像素值数组K[n][xi][yi],可简称K[n]。其中,n表示显示图像的序号,x表示第i个显示图像像素值对应的宽度,y表示第i个显示图像像素值对应的高度,i的取值是0到n。例如当显示图像1的分辨率为130*150时,对应的像素值数组为K[0],显示图像1中第一像素点数值为表示为K[0][0][0],第一行最后一列的像素点数值表示为K[0][0][149]。
图5为本发明实施例提供的一种显示图像按照分辨率宽度排序的示意图。如图5所示,可按照显示图像像素值数组的宽度对图3中所示的显示图像进行分类排列,将相同像素值宽度的显示图像归为一类组,得到多个第一数组E,按照第一数组E宽度由低到高排序,为每个第一数组E重新标号,得到宽度最小的第一数组为E[0],宽度最大的第一数组为E[k],其中k表示矩形图像中第一数组的总列数。每个第一数值E中包含宽度相同像素值数组K,像素值数组K按照竖直方向排列。
步骤302、将所述多个第一数组按照高度值进行排序。
可选的,计算组合成的第一数组E中各显示图像的高度和得到每列第一数组E的高度值,并对每列第一数组E按照高度值从大到小或者从小到大进行排序,得到数组F。
为便于描述,本实施例以对第一数组E按照高度值从大到小排序为例进行说明,当有两列第一数组E的高度值相同时,可按照每列第一数组E的宽度值由小到大进行排序。
图6为本发明实施例提供的一种多个第一数组按照高度排序的示意图。如图6所示,对第一数组E中各列显示图像的高度值从大到小进行排序,得到像素值数组K[1],K[2],K[6]和K[5]的高度和y1+y2+y6+y5最大,组合成为数组F[0],像素值数组K[3],K[4]和K[7]的高度和y3+y4+y7小于数组F[0]的高,组合成为数组F[1],像素值数组K[0]的高度y0最小,组合成为F[2]。相应的,排序前后的数据组合方式不变,只是顺序有所调整,F[0]对应第一数组E[1],F[1]对应第一数组E[2],F[2]对应第一数组E[0]。
步骤303、对高度值小于最大高度值的第一数组进行空闲数据填充,填充操作完成后得到的数组形成所述矩形图像。
可选的,基于高度值最大的第一数组,即F[0],对其他数组进行空闲数据填充,从而形成矩形图像。其中,高度值最大的第一数组不需要填充空闲数据。
本实施例中,通过步骤301至步骤303可以实现将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像。
步骤304、将拼接后得到的矩形图像发送给显示驱动端,以使所述显示驱动端根据所述矩形图像驱动各显示屏显示对应的图像。
本实施例中步骤304的具体实现原理可以参见前述实施例中的步骤202,此处不再赘述。
显示屏驱动端可以根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组;其中,所述多个第一数组是根据所述多个显示图像对应的像素值数组按照显示图像的宽度进行分组后得到的,每个第一数组包含相同宽度的像素值数组且各像素值数组在竖直方向排列;所述多个第一数组按照高度值进行排序;根据所述至少一个显示屏对应的第一数组,确定所述至少一个显示屏的显示图像对应的像素值数组。
可选的,显示驱动端在对矩形图像进行拆解时,可根据多个显示图像的分辨率确定第一数组E中各显示图像的排列顺序和宽度,根据显示图像的排列顺序和宽度可以确定空闲数据的位置,并删除矩形图像中的空闲数据,提取第一数组E。根据显示屏对应的第一数组E,确定相应显示图像对应的像素值数组。
在本实施例中,对多个显示图像的像素值数组按照显示图像的宽度分组,并将多个第一数组按照高度值进行排序,对高度值小于最大高度值的第一数组进行空白数据填充,按照一定规则对显示图像进行排序,对空白区域进行空白数据的填充,可以提高后台数据处理效率,在拆解时更加方便快捷,降低拆解显示屏数据的复杂性。
可选的,对高度值小于最大高度值的第一数组进行空闲数据填充,包括:
对于每一待填充的第一数组,计算所述待填充的第一数组与高度值最大的第一数组的高度差,根据所述高度差确定所述待填充的第一数组需要填充的空白行数;根据所述空白行数与所述待填充的第一数组的高度值的比值,将空闲数据均匀填充至所述待填充的第一数组中。其中,本发明实施例所述的均匀,可以是指在每一列第一数组中,将要填充的空闲数据分散填充到该列中,而非在该列中连续填充空闲数据。
具体的,在填充时,可以确定高度值最大的第一数组,计算其余第一数组与高度值最大的第一数组的高度差,并根据所述高度差为其余第一数组进行空白行数填充。
图7为本发明实施例提供的一种根据高度差填充空白行数的示意图。如图7所示,对于待填充的第一数组E[2],计算E[2]与高度值最大的第一数组E[1]的高度差为Py1=y1+y2+y5+y6-y4-y7-y3,则填充Py1行空白行数,对于待填充的第一数组E[0],计算E[0]与高度值最大的第一数组E[1]的高度差为Py2=y1+y2+y5+y0,则填充Py2行空白行数。
可选的,计算空白行数与待填充的第一数组的高度值的比值,可将空闲数据均匀的填充到对应的第一数组中。
显示屏驱动端在根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组时,具体可以:根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度;计算高度值最大的第一数组与其他第一数组的高度差,根据所述高度差确定所述其他第一数组填充的空白行数;根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组。
可选的,根据各个第一数组E的排列顺序和宽度,可计算高度值最大的第一数组E和其他第一数组E的高度差。其中,排列在第一列的第一数组高度值最大,排列在最后一列的第一数组的高度值最小,按照此排序规则,计算第一列第一数值与其他第一数组的高度差,可以得到空白行数,删除空闲数据,可以得到显示图像的第一数组。
在本实施例中,对每一待填充的第一数组,计算其与高度值最大的第一数组的高度差,并填充到对应的第一数组中,可以快速准确地得到一个完整的矩形图像。在拆解时,可以根据相应的组合规则进行拆解,删除对应的空闲数据,能够提高显示驱动端提取第一数组的效率。
可选的,根据所述空白行数与所述待填充的第一数组的高度值的比值,将空闲数据均匀填充至所述待填充的第一数组中,包括:
根据所述比值确定第一设定行数和第二设定行数,其中,所述第一设定行数为所述比值的分母,所述第二设定行数为所述比值的分母与分子之差;在所述待填充的第一数组中,每隔第一设定行数的显示数据后,插入第二设定行数的空闲数据。
可选的,第一数组中的显示数据中的每一行可用显示数据块L[z][n][m]来具体表示,其中,z表示F数组的序号,n表示显示屏像素值数组K的序号,m表示在整个矩形图像中的行数。第一数组中的空闲数据的每一行可用空闲数据块L’[z][0][m]具体表示,其中,z表示F数组的序号,m表示行数。在插入空闲数据时,根据比值可将空闲数据块L’[z][0][m]均匀的插入到显示数据块L[z][n][m]中。
其中,第一设定行数可以是显示数据行数,第二设定行数可以是空白行数。
根据空白行数与待填充的第一数组的高度值的比值,可以确定每隔设定行数的显示数据后,插入设定空闲数据的行数。具体的,当矩形图像的高度为2000,显示图像的第一数组的高度值为1500,空白行数为500,则空白行数与待填充的第一数组的高度值的比值为500/1500=1/3,则每隔三行显示数据块后,插入一行空闲数据块,也就是当z确定时,在插入显示数据块L[z][n][0],L[z][n][1],L[z][n][2]后,插入空闲数据块L’[z][0][0],直到将1500行显示数据和500行空闲数据全部排序完。
图8为本发明实施例提供的一种根据比值均匀插入空白行数的示意图。如图8所示,可将每一数组中的数据转化为显示数据块和空闲数据块,计算第一数组E[2]中显示图像的高度值与空闲数据的高度差Py1,计算比值Py1/y1+y2+y5+y6=1/3,则插入显示数据块L[1][3][0],L[1][3][1],L[1][3][2]后,插入空闲数据块L’[1][0][0],按照插入三行显示数据块后,插入一行空闲数据块将第一数据E[2]中的数据全部排列完。
具体的,显示驱动端在根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组说,具体可以:
对于每一其他第一数组,计算所述第一数组对应的空白行数与所述第一数组的高度值的比值;根据所述比值确定第一设定行数和第二设定行数,所述第一设定行数为所述比值的分母,所述第二设定行数为所述比值的分母与分子之差;每隔第一设定行数的显示数据后,删除第二设定行数的空闲数据,提取出所述第一数组。
可选的,计算空白行数与待填充的第一数组的高度值的比值,根据比值得到待填充的第一数组的高度值与空闲数据的排序规则,即每隔第一设定行数的显示数据后,删除第二设定行数的空闲数据,提取到第一数组。
在本实施例中,根据空闲数据与待填充的第一数组的高度值的比值,将空闲数据均匀的插入到相应的显示数据中,可以保证在传输过程中避免传输数据的不均匀导致传输通道过负载的问题。
可选的,所述主控端与所述显示驱动端之间设置有多传输通道;将拼接后得到的矩形图像发送给显示驱动端,包括:
根据所述主控端与所述显示驱动端之间的传输通道的数量,将填充操作完成后得到的数组转化为数据流;通过所述多传输通道将所述数据流传输至显示驱动端。
可选的,根据主控端与显示驱动端之间的多传输通道,可将第一数组中的显示数据块L[z][n][m]分别转化为显示数据流D[z][n][m][w],空闲数据块L’[z][0][m]转化为空闲数据流D’[z][0][m][w],其中z表示数组F的序号,n表示显示屏像素值数组k的序号,m表示行数,w表示列序号。转换后的数据流的列数可以与传输通道的数量一致。
在每个数据流的通道数据包前加上数据包头,防止数据为0的数据丢失,将数据流通过传输通道传输至显示驱动端。
可选的,在传输过程中,可先将数组F[0]中的数据转化为数据流后通过传输通道传输至显示驱动端,再将数组F[1]中的数据转化为数据流后通过传输通道传输至显示驱动端,依次将全部的数据转化为数据流后通过传输通道传输至显示驱动端。
图9为本发明实施例提供的一种数据转化为数据流的示意图。如图9所示,当传输通道的多传输通道为4通道时,可根据传输通道的数量,将第一数组中的数据转化为数据流。例如,图中数据L[1][3][0]转化为数据流D[1][3][0][0],D[1][3][0][1],D[1][3][0][2]和D[1][3][0][3],每个传输通道为L1,L2,L3和L4。其中,每一组数据按列传输至显示驱动端。
具体的,所述主控端与所述显示驱动端之间设置有多传输通道;在获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像时,具体用于:
获取主控端通过所述多传输通道发送的数据流;其中,所述数据流为所述主控端根据传输通道的数量对矩形图像进行处理后得到的数据流;根据所述数据流以及传输通道的数量,得到矩形图像。
在本实施例中,根据传输通道的通道数,将数组中的数据转化为数据流传输到显示屏驱动端,可以均匀各个通道的使用率,避免个别通道传输负载过重。
图10为本发明实施例提供的一种传输通道的示意图。如图10所示,主控端通过数据通道将数据流传输至显示驱动端。其中Data0+和Data0-是一对双绞线组合成一组数据通道,图中共有4组数据通道用于传输数据流。在传输过程中,数据流自带的序号信息也会打包跟随数据流传输至显示驱动端。其中,所述序号信息用于指示数据流中各数据在矩形图像中的位置。例如,
Clock(时钟)和Data(数据)通道为主控端通讯的物理层。其中,主控端的时钟控制显示驱动的时钟,确保数据接收的一致性。通道分布出来的通道和物理层的通道保持一致。例如,图11为本发明实施例提供的一种传输通道保持一致性的示意图,如图11所示,在传输过程中,以列为单位进行数据传输,第一列数据流通过L1通道传输,第二列数据流通过L2通道传输,第三列数据流通过L3通道传输,第四列数据流通过L4通道传输。
图12为本发明实施例提供的一种显示驱动接收数据流后的示意图。如图12所示,当数据流通过L1通道,L2通道,L3通道和L4通道传输到显示驱动端后,数据流根据自带的序号信息确定在矩形图像中的位置。在传输过程中删除传输到显示驱动端的空闲数据流D’[z][0][m][w],提取显示数据流D[z][n][m][w]组合成显示数据块L[z][n][m],当数组F[0]中的数据流全部传输到显示驱动端后,提取显示数据块L[z][n][m]中的n确定所述像素值数组K对应的显示数据在原来未排序时的位置,并根据显示数据控制显示屏显示相应的图像。
可选的,本发明实施例中的显示图像的各数组组合方式和排序方式也可以通过其他方式实现传输和拆解,本发明不做具体限定。
图13为本发明实施例提供又一种多显示屏控制方法的流程示意图,应用于显示驱动端,所述显示驱动端与用于控制多个显示屏的主控端通信,且所述显示驱动端用于驱动所述多个显示屏中的至少一个显示屏;所述方法包括:
步骤1301、获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像;其中,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的总高度的最大值,每列显示图像对应的总高度为该列各显示图像对应的高度之和,总高度小于矩形图像高度的列填充有空白数据。
步骤1302、根据所述多个显示图像的分辨率,对所述矩形图像进行拆解,得到对应显示屏的显示图像。
步骤1303、根据所述显示图像驱动对应的显示屏进行显示。
可选的,根据所述多个显示图像的分辨率,对所述矩形图像进行拆解,得到所述至少一个显示屏的显示图像,包括:
根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组;其中,所述多个第一数组是根据所述多个显示图像对应的像素值数组按照显示图像的宽度进行分组后得到的,每个第一数组包含相同宽度的像素值数组且各像素值数组在竖直方向排列;所述多个第一数组按照高度值进行排序;
根据所述至少一个显示屏对应的第一数组,确定所述至少一个显示屏的显示图像对应的像素值数组。
可选的,根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组,包括:
根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度;
计算高度值最大的第一数组与其他第一数组的高度差,根据所述高度差确定所述其他第一数组填充的空白行数;
根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组。
可选的,根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组,包括:
对于每一其他第一数组,计算所述第一数组对应的空白行数与所述第一数组的高度值的比值;
根据所述比值确定第一设定行数和第二设定行数,所述第一设定行数为所述比值的分母,所述第二设定行数为所述比值的分母与分子之差;
每隔第一设定行数的显示数据后,删除第二设定行数的空闲数据,提取出所述第一数组。
可选的,所述主控端与所述显示驱动端之间设置有多传输通道;获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像,包括:
获取主控端通过所述多传输通道发送的数据流;其中,所述数据流为所述主控端根据传输通道的数量对矩形图像进行处理后得到的数据流;
根据所述数据流以及传输通道的数量,得到矩形图像。
本实施例中方法的具体实现原理和效果均可以参见前述实施例中的步骤,此处不再赘述。
图14为本发明实施例提供的多显示屏控制方法的流程示意图。如图14所示,多个显示屏的显示图像通过填充空白区域的方法拼接成矩形图像,将矩形图像中的数组逐列转化为数据流,通过传输通道的多通道传输到显示驱动端,判断显示驱动端处是否补充数据,即判断显示驱动端是否还有数据传输过来,若是,则继续补充,若否,则根据显示数据,驱动对应显示屏进行显示。
图15为本发明实施例提供的一种多显示屏控制装置的结构示意图。如图15所示,本实施例提供的多显示屏控制装置,应用于主控端,可以包括:
第一得到模块1501,用于将多个显示屏中各显示屏对应的显示图像按照分辨率进行拼接,并填充空闲数据,得到矩形图像;其中,所述多个显示屏中至少两个显示屏的分辨率不同,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值中的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空闲数据;
发送模块1502,用于将拼接后得到的矩形图像发送给显示驱动端,以使所述显示驱动端根据所述矩形图像驱动各显示屏显示对应的图像。
可选的,所述第一得到模块1501,具体用于:
将所述多个显示屏中各显示屏对应的显示图像对应的像素值数组按照显示图像的宽度进行分组,得到多个第一数组,每个第一数组包含相同宽度的像素值数组且各像素值数组在竖直方向排列;
将所述多个第一数组按照高度值进行排序;
对高度值小于最大高度值的第一数组进行空闲数据填充,填充操作完成后得到的数组形成所述矩形图像。
可选的,所述第一得到模块1501,在对高度值小于最大高度值的第一数组进行空闲数据填充时,具体用于:
对于每一待填充的第一数组,计算所述待填充的第一数组与高度值最大的第一数组的高度差,根据所述高度差确定所述待填充的第一数组需要填充的空白行数;
根据所述空白行数与所述待填充的第一数组的高度值的比值,将空闲数据均匀填充至所述待填充的第一数组中。
可选的,所述第一得到模块1501,在根据所述空白行数与所述待填充的第一数组的高度值的比值,将空闲数据均匀填充至所述待填充的第一数组中时,具体用于:
根据所述比值确定第一设定行数和第二设定行数,其中,所述第一设定行数为所述比值的分母,所述第二设定行数为所述比值的分母与分子之差;
在所述待填充的第一数组中,每隔第一设定行数的显示数据后,插入第二设定行数的空闲数据。
可选的,所述主控端与所述显示驱动端之间设置有多传输通道;所述发送模块1502在将拼接后得到的矩形图像发送给显示驱动端时,具体用于:
根据所述主控端与所述显示驱动端之间的传输通道的数量,将填充操作完成后得到的数组转化为数据流;
通过所述多传输通道将所述数据流传输至显示驱动端。
本实施例提供的装置可以执行如图1-图14所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图16为本发明实施例提供的另一种多显示屏控制装置的结构示意图。如图16所示,应用于显示驱动端,所述显示驱动端与用于控制多个显示屏的主控端通信,且所述显示驱动端用于驱动所述多个显示屏中的至少一个显示屏,可以包括:获取模块1601,用于获取主控端发送的多个显示屏对应的显示图像拼接后得到的矩形图像;其中,所述矩形图像中相同宽度的显示图像为一列,且矩形图像的高度为各列显示图像对应的高度值的最大值,每列显示图像对应的高度值为该列各显示图像对应的高度之和,高度值小于矩形图像高度的列填充有空白数据;
得到模块1602,用于根据所述多个显示图像的分辨率,对所述矩形图像进行拆解,得到所述至少一个显示屏的显示图像;
驱动模块1603,用于根据得到的显示图像驱动所述至少一个显示屏进行显示。
可选的,所述得到模块1602具体用于:
根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组;其中,所述多个第一数组是根据所述多个显示图像对应的像素值数组按照显示图像的宽度进行分组后得到的,每个第一数组包含相同宽度的像素值数组且各像素值数组在竖直方向排列;所述多个第一数组按照高度值进行排序;
根据所述至少一个显示屏对应的第一数组,确定所述至少一个显示屏的显示图像对应的像素值数组。
可选的,所述得到模块1602,在根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度,并根据各个第一数组的顺序以及宽度,删除所述矩形图像中的空闲数据,提取出各个第一数组时,具体用于:
根据所述多个显示图像的分辨率,确定多个第一数组中各个第一数组的顺序以及宽度;
计算高度值最大的第一数组与其他第一数组的高度差,根据所述高度差确定所述其他第一数组填充的空白行数;
根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组。
可选的,所述得到模块1602,在根据所述空白行数,删除所述矩形图像的空闲数据,提取出各个第一数组时,具体用于:
对于每一其他第一数组,计算所述第一数组对应的空白行数与所述第一数组的高度值的比值;
根据所述比值确定第一设定行数和第二设定行数,所述第一设定行数为所述比值的分母,所述第二设定行数为所述比值的分母与分子之差;
每隔第一设定行数的显示数据后,删除第二设定行数的空闲数据,提取出所述第一数组。
可选的,所述主控端与所述显示驱动端之间设置有多传输通道;所述获取模块1601,具体用于:
获取主控端通过所述多传输通道发送的数据流;其中,所述数据流为所述主控端根据传输通道的数量对矩形图像进行处理后得到的数据流;
根据所述数据流以及传输通道的数量,得到矩形图像。
本实施例提供的装置可以执行如图1-图14所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图17为本发明实施例提供的一种电子设备的结构示意图。如图17所示,本实施例提供的设备,可以包括:存储器172和至少一个处理器171;
所述存储器172存储计算机执行指令;
所述至少一个处理器171执行所述存储器172存储的计算机执行指令,使得所述至少一个处理器171执行上述任一实施例所述的方法。
其中,存储器172和处理器171可以通过总线173连接。
其中,电子设备可以是主控设备,也可以是显示驱动设备。
本实施例提供的设备的具体实现原理和效果可以参见图1-图14所示实施例对应的相关描述和效果,此处不做过多赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明任一实施例提供的多显示屏控制方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本发明任一实施例所述的多显示屏控制方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本发明附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。