一种多子图分屏显示方法、系统、硬件电路及存储介质与流程

文档序号:32162139发布日期:2022-11-12 02:59阅读:48来源:国知局
一种多子图分屏显示方法、系统、硬件电路及存储介质与流程

1.本发明涉及图像处理技术领域,特别涉及一种多子图分屏显示方法、系统、硬件电路及存储介质。


背景技术:

2.在同一屏幕幅面上显示多幅不同子图时,需要显示硬件同时支持多个子图像素信息的存储、读取和显示,同时为了在数据处理过程中实现更好的显示效果,需要在显示画面中将不同子图通过间隙间隔开显示。由于目前的显示硬件通常只能处理一幅画面,因此需要额外设计分屏显示的控制方案使同一显示硬件上可以同时显示多幅子图。
3.目前有两种方案可以实现上述分屏显示的效果,第一种方案是从存储有图像数据的双倍数据率同步动态随机存取存储器中(double data rate synchronous dynamic random access memory,ddr sdram,后文简称ddr),将图像数据提取出来后,通过额外软件实现图像数据与间隙边框的合成,再将合成后的数据重新写入ddr中,在需要将图像数据输出给显示单元时,再从ddr中将图像数据读取出来。使用第一种方案会明显降低了ddr使用效率,且需要占用cpu的处理资源,降低了cpu对实时数据处理能力。
4.第二种方案是在通过配置寄存器实现间隙边框及颜色生成,用硬件来实现边框与图像数据的拼接。但是使用第二种方案时每个子图均需要一套寄存器记录图像数据,消耗大量寄存器,同时既要满足各个子图之间按需求进行划分,也要支持每个子图大小都是可独立配置,这导致屏幕每行的拼接组合、拼接控制复杂性增加。
5.因此目前需要一种多子图分屏显示方法,可以避免对cpu资源的过度占用,降低对寄存器资源面积的需求,实现在同一显示硬件中进行多子图分屏显示的技术效果。


技术实现要素:

6.为解决现有技术中实现在同一显示硬件中进行多子图分屏显示时,存在对cpu资源的过度占用或者对寄存器资源面积要求高的技术问题,本发明提供一种多子图分屏显示方法、系统、硬件电路及存储介质,具体的技术方案如下:
7.本发明提供一种多子图分屏显示方法,应用于配置有第一ram的硬件电路,包括步骤:
8.通过所述第一ram接收当前帧多子图分屏显示画面的边框配置指令,所述边框配置指令中包括所述多子图分屏显示画面中背景边框的位置信息、尺寸信息和颜色信息;
9.发起读取ddr的突发指令,所述ddr中存储所述多子图分屏显示画面中各个子图的像素数据;
10.获取所述ddr返回的各个所述子图对应的像素数据;
11.读取所述第一ram中的所述边框配置指令,并根据所述边框配置指令生成所述背景边框;
12.同步将各个所述子图对应的像素数据和所述背景边框合成为所述多子图分屏显
示画面。
13.本发明提供的多子图分屏显示方法通过在硬件电路中配置第一ram,由第一ram接收边框配置指令,再从ddr接收各个子图对应的像素数据,最后同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面,无需采用软件方式执行拼接操作,降低了ddr的带宽需求,同时通过逻辑运算的方式代替图像数据拼接,避免图像数据与间隙数据的复杂拼接组合,降低代码实现难度,无需cpu执行拼接处理,减少对cpu处理能力的占用,提高多子图分屏显示操作执行过程的灵活性和简便性。
14.在一些实施方式中,应用于配置有第二ram的硬件电路,所述的发起读取所述ddr的突发指令之后,所述的获取所述ddr返回的各个所述子图对应的像素数据之前,还包括:
15.将所述突发指令对应的同步信息写入所述第二ram;
16.所述的获取所述ddr返回的各个所述子图对应的像素数据之后,所述的同步将各个所述子图对应的像素数据和所述背景边框合成为所述多子图分屏显示画面之前,还包括:
17.从所述第二ram中读取所述同步信息;
18.根据所述同步信息和所述像素数据生成同步标签;
19.根据所述同步标签判断所述像素数据对应的所述边框配置指令是否已正常从所述第一ram中读取;
20.在判断结果为是时,根据所述边框配置指令生成所述背景边框;
21.在所述判断结果为否时,从所述第一ram中读取所述像素数据对应的所述边框配置指令,并根据读取到的所述边框配置指令生成所述背景边框。
22.本发明提供的多子图分屏显示方法通过设置第二ram,并根据第二ram存储同步信息,并根据同步信息确定多子图分屏显示过程中,当前读取的像素数据对应的边框配置指令是否正常从第一ram中读取,避免由于读取失败导致无法生成完整边框,影响后续多子图分屏显示画面的合成过程。
23.在一些实施方式中,所述边框配置指令包括若干边框配置从指令,每条所述边框配置从指令均包括所述多子图分屏显示画面中若干行数内所述背景边框的所述位置信息、所述尺寸信息和所述颜色信息;
24.所述的根据所述同步信息和所述像素数据生成同步标签之后,还包括:
25.根据所述同步标签判断所述像素数据对应的所述边框配置从指令是否已正常从所述第一ram中读取;
26.在判断结果为是时,根据所述边框配置从指令生成所述背景边框;
27.在所述判断结果为否时,从所述第一ram中读取所述像素数据对应的所述边框配置从指令,并根据读取到的所述边框配置从指令生成所述背景边框。
28.在一些实施方式中,所述边框配置从指令包括起始行号信息、重复行数信息、子图数量信息、子图标号信息、子图是否显示信息、边框颜色信息、左边框列数信息、图像列数信息和右边框列数信息。
29.本发明提供的多子图分屏显示方法公开了一种边框配置从指令的格式示例,通过上述边框配置从指令的格式实现在预设数量的行数内背景边框的生成,便于后续根据生成的背景边框实现多子图分屏显示画面的合成。
30.在一些实施方式中,所述的根据所述边框配置指令生成所述背景边框之后,还包括:
31.判断所述边框配置指令对应的所述背景边框是否已经完全生成;
32.若已完全生成,同步将各个所述子图对应的像素数据和所述背景边框合成为所述多子图分屏显示画面;
33.若未完全生成,重新发起读取所述ddr的所述突发指令,获取各个所述子图对应的像素数据,根据所述边框配置指令生成所述背景边框,再次判断当前帧所述多子图分屏显示画面中所述背景边框是否已经完全生成,直至所述背景边框完全生成,同步将各个所述子图对应的像素数据和所述背景边框合成为所述多子图分屏显示画面。
34.本发明提供的多子图分屏显示方法通过在每次生成背景边框后,均判断当前帧多子图分屏显示画面中背景边框是否已经完全生成,并在未生成时重复执行背景边框生成以及像素数据获取操作,避免出现一帧画面中存在数据丢失的情况,提高多子图分屏显示效果。
35.在一些实施方式中,所述的通过所述第一ram接收当前帧多子图分屏显示画面的边框配置指令之后,所述的读取所述第一ram中的所述边框配置指令之前,还包括:
36.通过地址通路发起读取所述ddr的所述突发指令;
37.通过数据通路接收所述ddr返回的各个所述子图对应的所述像素数据,所述像素数据中包括所述子图的图像id;
38.根据所述图像id对各个所述像素数据进行分组排序处理。
39.本发明提供的多子图分屏显示方法通过地址通路和数据通路实现突发指令与像素数据的信息交互过程,并且根据像素数据中返回的图像id对像素数据进行分组排序,避免多子图分屏显示过程中由于像素数据乱序返回导致图像显示顺序和背景边框的显示出现误差,影响多子图分屏显示效果。
40.在一些实施方式中,所述的同步将各个所述子图对应的像素数据和所述背景边框合成为所述多子图分屏显示画面之后,还包括:
41.切换所述第一ram,通过切换后所述第一ram接收下一帧所述多子图分屏显示画面的所述边框配置指令,根据下一帧所述多子图分屏显示画面的所述边框配置指令生成所述背景边框,发起读取所述ddr的所述突发指令,获取各个所述子图对应的像素数据,并同步将各个所述子图对应的像素数据和所述背景边框合成为所述多子图分屏显示画面。
42.本发明提供的多子图分屏显示方法通过切换第一ram的方式实现多帧多子图分屏显示画面的生成,降低对第一ram数据容量的要求。
43.在一些实施方式中,根据本发明的另一方面,本发明还提供一种多子图分屏显示系统,应用于配置有第一ram的硬件电路,包括:
44.接收模块,用于通过所述第一ram接收当前帧多子图分屏显示画面的边框配置指令,所述边框配置指令中包括所述多子图分屏显示画面中背景边框的位置信息、尺寸信息和颜色信息;
45.发起模块,用于发起读取ddr的突发指令,所述ddr中存储所述多子图分屏显示画面中各个子图的像素数据;
46.获取模块,用于获取所述ddr返回的各个所述子图对应的像素数据;
47.读取模块,用于读取所述第一ram中的所述边框配置指令,并根据所述边框配置指令生成所述背景边框;
48.合成模块,用于同步将各个所述子图对应的像素数据和所述背景边框合成为所述多子图分屏显示画面。
49.在一些实施方式中,根据本发明的另一方面,本发明还提供一种硬件电路,包括上述多子图分屏显示系统。
50.在一些实施方式中,根据本发明的另一方面,本发明还提供一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述多子图分屏显示方法所执行的操作。
51.本发明提供的多子图分屏显示方法、系统、硬件电路及存储介质,至少包括以下一项技术效果:
52.(1)通过在硬件电路中配置第一ram,由第一ram接收边框配置指令,再从ddr接收各个子图对应的像素数据,最后同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面,无需采用软件方式执行拼接操作,降低了ddr的带宽需求,同时通过逻辑运算的方式代替图像数据拼接,避免图像数据与间隙数据的复杂拼接组合,降低代码实现难度,无需cpu执行拼接处理,减少对cpu处理能力的占用,提高多子图分屏显示操作执行过程的灵活性和简便性;
53.(2)通过设置第二ram,并根据第二ram存储同步信息,并根据同步信息确定多子图分屏显示过程中,当前读取的像素数据对应的边框配置指令是否正常从第一ram中读取,避免由于读取失败导致无法生成完整边框,影响后续多子图分屏显示画面的合成过程;
54.(3)公开了一种边框配置从指令的格式示例,通过上述边框配置从指令的格式实现在预设数量的行数内背景边框的生成,便于后续根据生成的背景边框实现多子图分屏显示画面的合成;
55.(4)通过在每次生成背景边框后,均判断当前帧多子图分屏显示画面中背景边框是否已经完全生成,并在未生成时重复执行背景边框生成以及像素数据获取操作,避免出现一帧画面中存在数据丢失的情况,提高多子图分屏显示效果;
56.(5)通过地址通路和数据通路实现突发指令与像素数据的信息交互过程,并且根据像素数据中返回的图像id对像素数据进行分组排序,避免多子图分屏显示过程中由于像素数据乱序返回导致图像显示顺序和背景边框的显示出现误差,影响多子图分屏显示效果;
57.(6)通过切换第一ram的方式实现多帧多子图分屏显示画面的生成,降低对第一ram数据容量的要求。
附图说明
58.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
59.图1为本发明一种多子图分屏显示方法的流程图;
60.图2为本发明一种多子图分屏显示方法中根据同步标签判断边框配置指令是否正常读取的流程图;
61.图3为本发明一种多子图分屏显示方法中根据同步标签判断边框配置指令是否正常读取的另一个流程图;
62.图4为本发明一种多子图分屏显示方法中边框配置从指令的示例图;
63.图5为本发明一种多子图分屏显示方法中判断当前帧多子图分屏显示画面中背景边框是否已经完全生成的流程图;
64.图6为本发明一种多子图分屏显示方法的另一个流程图;
65.图7为本发明一种多子图分屏显示方法中进行下一帧多子图分屏显示画面生成的流程图;
66.图8为本发明一种多子图分屏显示系统的示例图。
67.图中标号:接收模块-10、发起模块-20、获取模块-30、读取模块-40和合成模块-50。
具体实施方式
68.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本技术。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
69.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
70.为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘出了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
71.还应当进一步理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
72.另外,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
73.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
74.目前为实现多子图分屏显示的效果,通常采用两种技术方案,第一种方案是通过软件实现图像数据与间隙边框合成后再将合成后数据写入ddr,具体步骤如下:
75.第一步,读取存储在ddr中的图像数据。
76.第二步,在软件控制下,在原图像数据的基础上叠加背景边框后。
77.第三步,将叠加背景边框后的合成图再次写入ddr中。
78.第四步,在需要输出给显示单元时再从ddr读取出来。
79.在第一种方案中,图像数据在ddr中完成了“读—写—读”的3个过程,消耗了3倍显示数据所需要的读写带宽,且每次读写都存在突发拆分因素,导致每次实际读写占用ddr带宽大于显示所需数据带宽,大幅降低了ddr的使用效率,同时需要在cpu中执行软件控制,进行图像数据和背景边框的叠加,占用cpu的处理能力。
80.第二种方案是通过配置寄存器实现背景边框的生成,用硬件来实现背景边框与图像数据的拼接,但是第二种方案实施过程中每个子图需要配置4条边框的大小和颜色等信息,每个子图均需要一套寄存器记录子图宽、高、拼接位置计数等,需要消耗大量寄存器,同时子图既要支持均匀划分的情况,也要支持实际应用每个子图大小都是可独立配置的情况,因此屏幕每行的拼接组合、拼接控制复杂繁琐。
81.因此为避免上述两种方案的技术缺陷,本发明提供了一种实现多子图分屏显示的技术方案,具体实施如下:
82.本发明的一个实施例,如图1所示,本发明提供一种多子图分屏显示方法,应用于配置有第一ram的硬件电路,包括步骤:
83.s100通过第一ram接收当前帧多子图分屏显示画面的边框配置指令。
84.具体地,预先根据多种背景边框生成格式设置对应的边框配置指令,边框配置指令中包括多子图分屏显示画面中背景边框的位置信息、尺寸信息和颜色信息,各条边框配置指令对应背景边框的位置信息、尺寸信息和颜色信息中任意一项与其它背景边框不同,在执行多子图分屏显示的过程中,根据背景边框生成格式的需求,用户选择对应的边框配置指令,并将该边框配置指令输入硬件电路中的第一ram中。
85.s210发起读取ddr的突发(burst)指令。
86.具体地,ddr中存储多子图分屏显示画面中各个子图的像素数据,通过向ddr发起包括起始地址和突发长度的突发指令,根据突发指令中的起始地址和突发长度依次读取ddr中存储的像素数据。
87.s300获取ddr返回的各个子图对应的像素数据。
88.s400读取第一ram中的边框配置指令,并根据边框配置指令生成背景边框。
89.具体地,步骤s200~s300与步骤s400之间不存在执行顺序的限定,可以先执行步骤s200~s300实现像素数据的读取,再执行步骤s400实现背景边框的生成,也可以先执行步骤s400再执行步骤s200~s300,也可以步骤s200~s300和步骤s400同时执行。
90.s500同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
91.具体地,硬件电路采用逻辑合成的方式,通过将各个子图对应的像素数据和背景边框的数据信息叠加,实现将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面的操作,合成后将多子图分屏显示画面通过axi总线输出给显示处理单元显示。
92.本实施例提供的多子图分屏显示方法通过在硬件电路中配置第一ram,由第一ram接收边框配置指令,再从ddr接收各个子图对应的像素数据,最后同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面,无需采用软件方式执行拼接操作,降低了ddr的带宽需求,同时通过逻辑运算的方式代替图像数据拼接,避免图像数据与间隙数据的复杂拼接组合,降低代码实现难度,无需cpu执行拼接处理,减少对cpu处理能力的占用,提高多子图分屏显示操作执行过程的灵活性和简便性。
93.在一个实施例中,如图2所示,本发明还提供一种多子图分屏显示方法,应用于配置有第一ram和第二ram的硬件电路,包括步骤:
94.s100通过第一ram接收当前帧多子图分屏显示画面的边框配置指令。
95.具体地,预先根据多种背景边框生成格式设置对应的边框配置指令,边框配置指令中包括多子图分屏显示画面中背景边框的位置信息、尺寸信息和颜色信息,各条边框配置指令对应背景边框的位置信息、尺寸信息和颜色信息中任意一项与其它背景边框不同,在执行多子图分屏显示的过程中,根据背景边框生成格式的需求,用户选择对应的边框配置指令,并将该边框配置指令输入硬件电路中的第一ram中。
96.s210发起读取ddr的突发(burst)指令。
97.具体地,ddr中存储多子图分屏显示画面中各个子图的像素数据,通过向ddr发起包括起始地址和突发长度的突发指令,根据突发指令中的起始地址和突发长度依次读取ddr中存储的像素数据。
98.s220将突发指令对应的同步信息写入第二ram。
99.具体地,硬件电路中配置有专门用于存储同步信息的第二ram,同步信息包括帧起始标识、行头标识、行尾标识和行内坐标值。
100.s300获取ddr返回的各个子图对应的像素数据。
101.s410从第二ram中读取同步信息。
102.s420根据同步信息和像素数据生成同步标签。
103.具体地,根据帧起始标识确定配置ram起始位置、根据行头标识或行尾标识查找对应配置,根据行内坐标值查找对应子图配置,同步标签中包括帧同步信息、行同步信息和子图定位同步信息。
104.s430根据同步标签判断像素数据对应的边框配置指令是否已正常从第一ram中读取。
105.具体地,在读取像素数据的过程中,根据行头标识或行尾标识计算行号,根据行号与配置命令累积的行号进行比较,判断当前数据对应的命令信息是否已经读取,预先设置当前帧结束标签,例如设置全1为当前帧结束标签,读取到全1时,表明不再继续累加ram地址。
106.s440在判断结果为是时,根据边框配置指令生成背景边框。
107.s450在判断结果为否时,从第一ram中读取像素数据对应的边框配置指令,并根据读取到的边框配置指令生成背景边框。
108.示例性地,在判断结果为否时,可能是从第一ram中读取边框配置指令出现错误,导致读取失败。
109.也可能是在根据边框配置指令生成第1行~第17行的背景边框过程中,从第一ram中读取的边框配置指令已经执行完成,第1行~第17行内背景边框已经完成生成,执行步骤s220~s420,根据s420生成的同步标签判断第18行像素数据对应的边框配置指令是否正常从第一ram中读取。由于之前从第一ram中读取的生成第1行~第17行的背景边框的边框配置指令已经执行完成,因此此时判断结果为否,从第一ram中读取第18行像素数据对应的边框配置指令,新读取到的边框配置指令用于生成第18行~第34行,并根据读取到的边框配置指令生成背景边框。
110.s500同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
111.具体地,硬件电路采用逻辑合成的方式,通过将各个子图对应的像素数据和背景边框的数据信息叠加,实现将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面的操作。
112.本实施例提供的多子图分屏显示方法通过设置第二ram,并根据第二ram存储同步信息,并根据同步信息确定多子图分屏显示过程中,当前读取的像素数据对应的边框配置指令是否正常从第一ram中读取,避免由于读取失败导致无法生成完整边框,影响后续多子图分屏显示画面的合成过程。
113.在一个实施例中,如图3所示,步骤s420根据同步信息和像素数据生成同步标签之后,还包括步骤:
114.s431根据同步标签判断像素数据对应的边框配置从指令是否已正常从第一ram中读取。
115.具体地,边框配置指令包括若干边框配置从指令,每条边框配置从指令均包括多子图分屏显示画面中若干行数内背景边框的位置信息、尺寸信息和颜色信息。
116.s441在判断结果为是时,根据边框配置从指令生成背景边框。
117.s451在判断结果为否时,从第一ram中读取像素数据对应的边框配置从指令,并根据读取到的边框配置从指令生成背景边框。
118.示例性地,在多子图分屏显示画面共51行图像数据,纵向同时显示三幅子图,横向共显示16幅子图,每幅子图纵向均包含17行图像数据,第一ram中存储的边框配置指令包括三条边框配置从指令,每条边框配置从指令对应17行背景边框的位置信息、尺寸信息和颜色信息。
119.在根据第1~17行边框配置从指令对应的17行背景边框全部生成完成后,再向ddr发送起始行数为第18行的突发指令时,根据s421生成的同步标签判断第18行像素数据对应的边框配置从指令是否正常从第一ram中读取。由于之前从第一ram中读取的生成第1行~第17行的背景边框的边框配置从指令已经执行完成,因此此时判断结果为否,从第一ram中读取第18行像素数据对应的边框配置从指令,新读取到的边框配置指令用于生成第18行~第34行的背景边框。
120.示例性地,如图4所示,如图为边框配置从指令的示例图,边框配置从指令包括起始行号信息、重复行数信息、子图数量信息、子图标号信息、子图是否显示信息、边框颜色信息、左边框列数信息、图像列数信息和右边框列数信息等等,其中图像上边框列数信息和下边框列数信息通过图像列数信息表示,例如通过预设格式的图像列数信息表示为上边框列数信息和下边框列数信息。
121.本实施例提供的多子图分屏显示方法公开了一种边框配置从指令的格式示例,通过上述边框配置从指令的格式实现在预设数量的行数内背景边框的生成,便于后续根据生成的背景边框实现多子图分屏显示画面的合成。
122.在一个实施例中,如图5所示,步骤s400读取第一ram中的边框配置指令,并根据边框配置指令生成背景边框之后,还包括步骤:
123.s510判断边框配置指令对应的背景边框是否已经完全生成。
124.示例性地,每条边框配置指令对应17行图像数据,在根据边框配置指令生成17行
图像数据背景边框之后,判断该条边框配置指令对应的17行图像数据中背景边框是否已经完全生成。例如,在该条边框配置指令对应的17行图像数据中背景边框已经完全生成后,将第一ram中最后1个地址配置为全1指令,则在第一ram中最后1个地址中读到全1指令,表示该条边框配置指令对应的17行图像数据中背景边框是否已经完全生成。
125.s521若已完全生成,同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
126.s522若未完全生成,重新发起读取ddr的突发指令,获取各个子图对应的像素数据,根据边框配置指令生成背景边框,再次判断当前帧多子图分屏显示画面中背景边框是否已经完全生成,直至背景边框完全生成,同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
127.示例性地,在多子图分屏显示画面共51行图像数据,纵向同时显示三幅子图,横向共显示16幅子图,每幅子图纵向均包含17行图像数据,且第1~17行、第18~34行和第35~51行的背景边框均相同的场景下,为减低第一ram的数据容量需求,可以在第一ram中存储第1~17行背景边框对应的边框配置指令。
128.在根据第一ram中存储的第1~17行背景边框对应的边框配置指令生成背景边框结束后,由于当前帧多子图分屏显示画面中背景边框未完全生成,因此重新执行步骤s100~s522,生成第18~34行的背景边框,直至背景边框完全生成,再同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
129.本实施例提供的多子图分屏显示方法通过在每次生成背景边框后,均判断当前帧多子图分屏显示画面中背景边框是否已经完全生成,并在未生成时重复执行背景边框生成以及像素数据获取操作,避免出现一帧画面中存在数据丢失的情况,提高多子图分屏显示效果。
130.在一个实施例中,如图6所示,步骤s100通过第一ram接收当前帧多子图分屏显示画面的边框配置指令之后,步骤s400读取第一ram中的边框配置指令,并根据边框配置指令生成背景边框之前,还包括步骤:
131.s211通过地址通路发起读取ddr的突发指令。
132.s310通过数据通路接收ddr返回的各个子图对应的像素数据。
133.具体地,像素数据中包括子图的图像id。
134.s320根据图像id对各个像素数据进行分组排序处理。
135.本实施例提供的多子图分屏显示方法通过地址通路和数据通路实现突发指令与像素数据的信息交互过程,并且根据像素数据中返回的图像id对像素数据进行分组排序,避免多子图分屏显示过程中由于像素数据乱序返回导致图像显示顺序和背景边框的显示出现误差,影响多子图分屏显示效果。
136.在一个实施例中,如图7所示,步骤s500同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面之后,还包括步骤:
137.s600切换第一ram,通过切换后第一ram接收下一帧多子图分屏显示画面的边框配置指令,根据下一帧多子图分屏显示画面的边框配置指令生成背景边框,发起读取ddr的突发指令,获取各个子图对应的像素数据,并同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
138.本实施例提供的多子图分屏显示方法通过切换第一ram的方式实现多帧多子图分屏显示画面的生成,降低对第一ram数据容量的要求。
139.在一个实施例中,步骤s500同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面之后,可以继续采用原第一ram接收下一帧多子图分屏显示画面的边框配置指令,根据下一帧多子图分屏显示画面的边框配置指令生成背景边框,发起读取ddr的突发指令,获取各个子图对应的像素数据,并同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
140.步骤s500同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面执行结束并接收到切换指令后,才会切换第一ram,通过切换后第一ram执行上述操作。
141.上述列举出的多子图分屏显示方法实施例与通过软件实现图像数据与间隙边框合成后再将合成后数据写入ddr的方案相比,具有以下优势:
142.1、软件不参与拼接过程处理,在多子图分屏显示过程中减少ddr读取频率,例如burst长度为256byte,子图一行宽度为426byte字节时,上述列举出的多子图分屏显示方法实施例在读写过程各减少了约480mbps的带宽需求,如果考虑到传统方案中ddr读取时在每行尾部会有无效填充数据,还会使读写过程的带宽需求进一步减少,读写过程各减少约960mbps的带宽需求,如果考虑到burst突发拆分的影响,则实际对带宽使用率提升更大。
143.2、上述列举出的多子图分屏显示方法实施例无需执行拼接操作,软件仅在硬件电路初始化后下发边框配置指令,通过逻辑合成方式实现背景边框与像素数据的合成较拼接方式实现背景边框与像素数据的合成的复杂度低。
144.3、在原图像基础上增加边框的操作不经过ddr,处理过程也不需要将数据再存入ddr中,不影响ddr带宽使用效率。
145.上述列举出的多子图分屏显示方法实施例与通过配置寄存器实现背景边框的生成,用硬件来实现背景边框与图像数据的拼接的方案相比,具有以下优势:
146.1、将数据拼接转换为像素数据和背景边框简单叠加的逻辑运算,既具有灵活性又避免图像数据与背景边框数据的复杂拼接组合,降低指令代码实现难度。
147.2、指令代码复杂度降低,避免复杂拼接的边界条件,导致测试验证难度降低,避免边界条件多在测试过程中难以测试全面,影响良品率。
148.3、同等规格下该方案配置ram需要的资源面积和实际功耗都低于配置寄存器所需的资源面积和实际功耗。
149.在一个实施例中,如图8所示,根据本发明的另一方面,本发明还提供一种多子图分屏显示系统,应用于配置有第一ram的硬件电路,包括接收模块10、发起模块20、获取模块30、读取模块40和合成模块50。
150.其中,接收模块10用于通过所述第一ram接收当前帧多子图分屏显示画面的边框配置指令。
151.具体地,预先根据多种背景边框生成格式设置对应的边框配置指令,边框配置指令中包括多子图分屏显示画面中背景边框的位置信息、尺寸信息和颜色信息,各条边框配置指令对应背景边框的位置信息、尺寸信息和颜色信息中任意一项与其它背景边框不同,在执行多子图分屏显示的过程中,根据背景边框生成格式的需求,用户选择对应的边框配置指令,并将该边框配置指令输入硬件电路中的第一ram中。
152.发起模块20用于发起读取ddr的突发指令。
153.具体地,ddr中存储多子图分屏显示画面中各个子图的像素数据,通过向ddr发起包括起始地址和突发长度的突发指令,根据突发指令中的起始地址和突发长度依次读取ddr中存储的像素数据。
154.获取模块30用于获取ddr返回的各个子图对应的像素数据。
155.读取模块40用于读取第一ram中的边框配置指令,并根据边框配置指令生成背景边框。
156.合成模块50用于同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面。
157.具体地,硬件电路采用逻辑合成的方式,通过将各个子图对应的像素数据和背景边框的数据信息叠加,实现将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面的操作。
158.本实施例提供的多子图分屏显示系统通过在硬件电路中配置第一ram,由第一ram接收边框配置指令,再从ddr接收各个子图对应的像素数据,最后同步将各个子图对应的像素数据和背景边框合成为多子图分屏显示画面,无需采用软件方式执行拼接操作,降低了ddr的带宽需求,同时通过逻辑运算的方式代替图像数据拼接,避免图像数据与间隙数据的复杂拼接组合,降低代码实现难度,无需cpu执行拼接处理,减少对cpu处理能力的占用,提高多子图分屏显示操作执行过程的灵活性和简便性。
159.在一个实施例中,根据本发明的另一方面,本发明还提供一种硬件电路,包括系统实施例中提供的多子图分屏显示系统,该硬件电路可以单独集成于功能独立的芯片之内,也可以作为功能芯片中硬件电路的一部分,与该功能芯片中其余硬件电路一同工作,根据功能芯片cpu的控制执行上述方法实施例中提供的多子图分屏显示方法。
160.在一个实施例中,本发明还提供一种存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现上述的多子图分屏显示方法实施例中所执行的操作。
161.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
162.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
163.在本技术所提供的实施例中,应该理解到,所揭露的一种多子图分屏显示方法、系统、硬件电路及存储介质,可以通过其他的方式实现。例如,以上所描述的一种多子图分屏显示方法、系统、硬件电路及存储介质实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的通讯连接可以是通过一些接口,装置或单元的通讯连接或集成电路,可以是电性、机械或其他的形式。
164.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
165.另外,在本技术各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
166.应当说明的是,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1