图像处理方法、装置、电子设备及可读存储介质与流程

文档序号:31133187发布日期:2022-08-13 07:54阅读:68来源:国知局
图像处理方法、装置、电子设备及可读存储介质与流程

1.本发明涉及电子信息技术领域,尤指一种图像处理方法、装置、电子设备及可读存储介质。


背景技术:

2.现场可编程逻辑门阵列(field programmable gate array,fpga)器件属于专用集成电路中的一种半定制电路,被广泛应用于通信、图像处理、人工智能等领域。目前,主流的fpga芯片采用外置储存器的结构,fpga的代码存储于外置存储器中,每次fpga上电后会从外置存储器中加载代码进行工作。
3.技术秘密对产品的市场竞争具有重要的作用,因而如何保护产品中所涉及的技术秘密一直是电子信息技术领域的重点。对于电视、智能手机等影音设备而言,图像的画质处理算法是最为核心的技术秘密。由于fpga的工作特性,影音设备中图像处理通常由fpga实现。但是,对于外置存储器的fpga芯片而言,由于画质处理算法的代码存储于外置存储器中,破解者可以通过直接读取外置存储器中的代码进行复制以实现盗版使用。


技术实现要素:

4.本发明实施例提供一种图像处理方法、装置、电子设备及可读存储介质,用以保护fpga的工作原理不被盗用。
5.第一方面,本发明实施例提供了一种图像处理方法,应用于现场可编程逻辑门阵列fpga,包括:
6.与微控制单元mcu进行握手连接后,根据第一生成方式生成第一验证信息,以及接收所述mcu发送的第二验证信息;
7.判断所述第二验证信息是否与所述第一验证信息相同;
8.若所述判断结果为相同,且未满足更新条件,则持续接收系统级芯片soc发送的待处理的图像数据,并对所述待处理的图像数据采用第一处理方式进行处理;
9.在确定满足更新条件后,更新第一生成方式,返回根据第一生成方式生成第一验证信息的步骤;
10.其中与所述mcu握手连接后采用的第一个的第一生成方式是根据初始同步信息确定;所述初始同步信息为所述mcu与所述fpga两者中其中一个随机生成并在握手连接时发送给另一个的信息。
11.可选地,所述方法还包括:
12.向所述mcu发送判断结果;
13.响应于所述mcu发送的重置指令,重置工作状态,并重新与所述mcu握手连接;其中,所述重置指令是所述mcu是确定所述fpga工作状态异常,且连续确定所述fpga工作状态异常的次数小于阈值时发送的指令;
14.在确定无法采用第一处理方式进行图像处理,且连续确定无法采用第一处理方式
进行图像处理的次数等于阈值,则忽略soc发送的待处理的图像数据;或者持续接收所述soc发送的待处理的图像数据,并对所述待处理的图像数据采用第二处理方式进行处理;
15.其中,在出现下列情况中的一种后确定无法采用第一处理方式进行图像处理:
16.所述判断结果为不同;
17.在生成所述第一验证信息之后的第一设定时长内未接收到所述第二验证信息;
18.与所述mcu握手连接失败;
19.所述mcu在出现下列情况中的一种后确定所述fpga工作状态异常:
20.接收到的所述判断结果为不同;
21.在发送所述第二验证信息后的第二设定时长内未接收到所述判断结果;
22.与所述fpga握手连接失败。
23.可选地,所述方法还包括:
24.接收所述mcu在每间隔预设时间时发送的时钟同步信号;
25.根据所述时钟同步信号修正自身的时钟信号。
26.第二方面,基于同一发明构思,本发明实施例还提供了一种图像处理方法,应用于mcu,所述mcu包括存储器,所述mcu的存储器被设置为读保护状态,且所述mcu屏蔽调试功能;
27.所述方法包括:
28.与fpga进行握手连接后,根据第二生成方式生成第二验证信息并发送至所述fpga;以使所述fpga根据所述第二验证信息与自身生成的第一验证信息是否相同的判断结果确定是否采用第一处理方式对soc发送的待处理图像数据进行处理;其中与所述mcu握手连接后采用的第一个的第二生成方式根据初始同步信息确定;所述初始同步信息为所述mcu与所述fpga两者中其中一个随机生成并在握手连接时发送给另一个的信息;
29.满足更新条件时,更新第二生成方式,返回根据第二生成方式生成第二验证信息的步骤。
30.可选地,所述方法还包括:
31.确定所述fpga工作状态异常,且连续确定所述fpga工作状态异常的次数小于阈值,则重置所述mcu的工作状态,并向所述fpga发送重置指令,以使所述fpga重置工作状态;
32.重新与所述fpga握手连接;
33.其中,在出现下列情况中的一种后确定所述fpga工作状态异常:
34.接收到所述fpga发送的判断结果为不同;
35.在发送所述第二验证信息之后的第二设定时长内未接收到所述判断结果;
36.与所述fpga进行握手连接失败。
37.可选地,所述方法还包括:
38.每间隔预设时间,向所述fpga发送时钟同步信号,以使所述fpga根据所述时钟同步信号修正自身的时钟信号。
39.第三方面,基于同一发明构思,本发明实施例还提供了一种数据处理装置,包括:
40.接收单元,用于与mcu进行握手连接后,根据第一生成方式生成第一验证信息,以及接收所述mcu发送的第二验证信息;
41.验证单元,用于判断所述第二验证信息是否与所述第一验证信息相同;
42.第一处理单元,用于若所述判断结果为相同,且未满足更新条件,则持续接收soc发送的待处理的图像数据,并对所述待处理的图像数据采用第一处理方式进行处理;
43.更新单元,用于在确定满足更新条件后,更新第一生成方式,并返回根据第一生成方式生成第一验证信息的步骤;
44.其中与所述mcu握手连接后采用的第一个的第一生成方式是根据初始同步信息确定;所述初始同步信息为所述mcu与所述fpga两者中其中一个随机生成并在握手连接时发送给另一个的信息。
45.第四方面,基于同一发明构思,本发明实施例还提供了一种数据处理装置,所述图像处理装置的存储器被设置为读保护状态,且所述图像处理装置屏蔽调试功能;
46.所述装置包括:
47.验证单元,用于与fpga进行握手连接后,根据第二生成方式生成第二验证信息并发送至所述fpga;以使所述fpga根据所述第二验证信息与自身生成的第一验证信息是否相同的判断结果确定是否采用第一处理方式对soc发送的待处理图像数据进行处理;其中与所述mcu握手连接后采用的第一个的第二生成方式根据初始同步信息确定;所述初始同步信息为所述mcu与所述fpga两者中其中一个随机生成并在握手连接时发送给另一个的信息;
48.更新单元,用于满足更新条件时,更新第二生成方式,返回根据第二生成方式生成第二验证信息的步骤。
49.第五方面,基于同一发明构思,本发明实施例还提供了一种电子设备,所述电子设备包括:mcu、fpga、外置存储器、soc;
50.其中,所述mcu包括存储器;
51.所述mcu与所述fpga通过第一总线连接,所述fpga与所述外置存储器通过第二总线连接,所述soc与所述fpga连接;
52.所述soc被用于向所述fpga持续发送待处理的图像数据,所述fpga被用于实现如第一方面所述的数据处理方法,所述mcu被用于实现如第二方面所述的数据处理方法。
53.第六方面,基于同一发明构思,本发明实施例还提供了一种可读存储介质,所述可读存储介质存储有fpga代码,所述fpga代码被用于实现如第一方面所述的数据处理方法;
54.或者,所述可读存储介质存储有计算机程序,所述计算机程序被用于实现如第二方面所述的数据处理方法。
55.本发明有益效果如下:
56.本发明实施例提供的图像处理方法、装置、电子设备及可读存储介质,通过fpga与mcu进行按照相同的规则生成验证信息并进行比对,且在设备工作时mcu与fpga不断更新生成验证信息的生成方式,使得必须与合法的mcu协同工作才能采用正常工作。同时通过将mcu的存储器设置为读保护模式且屏蔽mcu的调试功能,避免了fpga与mcu之间生成验证信息的生成方式被公开,从而能够有效地保护了fpga代码中的技术秘密不被破解或盗用。
附图说明
57.图1为本发明实施例提供的电子设备的应用场景示意图;
58.图2为本发明实施例提供的电子设备的结构示意图之一;
59.图3为本发明实施例提供的电子设备的结构示意图之二;
60.图4为本发明实施例提供的电子设备的结构示意图之三;
61.图5为本发明实施例提供的电子设备的结构示意图之四;
62.图6为本发明实施例提供的电子设备所实现的图像处理方法的流程图之一;
63.图7为本发明实施例提供的电子设备所实现的图像处理方法的流程图之二;
64.图8为本发明实施例提供的电子设备所实现的图像处理方法的流程图之三;
65.图9为本发明实施例中fpga以第二处理方式对图像数据进行处理的效果示意图之一;
66.图10为本发明实施例中fpga以第二处理方式对图像数据进行处理的效果示意图之二;
67.图11为本发明实施例中fpga以第二处理方式对图像数据进行处理的效果示意图之三;
68.图12为本发明实施例中fpga以第二处理方式对图像数据进行处理的效果示意图之四;
69.图13为本发明实施例提供的应用于fpga的图像处理方法的流程图之一;
70.图14为本发明实施例提供的应用于fpga的图像处理方法的流程图之二;
71.图15为本发明实施例提供的应用于fpga的图像处理方法的流程图之三;
72.图16为本发明实施例提供的应用于mcu的图像处理方法的流程图之一;
73.图17为本发明实施例提供的应用于mcu的图像处理方法的流程图之二;
74.图18为本发明实施例提供的图像处理装置的结构示意图之一;
75.图19为本发明实施例提供的图像处理装置的结构示意图之二;
76.图20为本发明实施例提供的可读存储介质的结构示意图。
具体实施方式
77.为使本发明的上述目的、特征和优点能够更为明显易懂,下面将结合附图和实施例对本发明做进一步说明。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明更全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。本发明中所描述的表达位置与方向的词,均是以附图为例进行的说明,但根据需要也可以做出改变,所做改变均包含在本发明保护范围内。本发明的附图仅用于示意相对位置关系不代表真实比例。
78.需要说明的是,在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施方式的限制。说明书后续描述为实施本技术的较佳实施方式,然所述描述乃以说明本技术的一般原则为目的,并非用以限定本技术的范围。本技术的保护范围当视所附权利要求所界定者为准。
79.下面结合附图,对本发明实施例提供的图像处理方法、装置、电子设备及可读存储介质进行具体说明。
80.第一方面,本发明实施例提供了一种电子设备。所述电子设备可以为电视、电脑、
手机、影音播放器等。图1为根据本技术实施例的电子设备与控制装置之间操作场景的示意图,如图1所示,用户可通过移动终端300和控制装置100操作电子设备200。控制装置100可以是遥控器,遥控器和电子设备的通信包括红外协议通信、蓝牙协议通信,无线或其他有线方式来控制电子设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制电子设备200。在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制电子设备200。
81.如图2至图5所示,所述电子设备包括微控制单元(microcontroller unit,mcu)、fpga、外置存储器、系统级芯片(system on chip,soc);
82.其中,所述mcu包括存储器;
83.所述mcu与所述fpga通过第一总线连接,所述fpga与所述外置存储器通过第二总线连接,所述soc与所述fpga连接;
84.所述soc被用于向所述fpga持续发送待处理的图像数据,所述fpga和所述mcu被用于协同实现下文所述的图像处理方法。
85.在具体实施过程中,所述电子设备可因配置或性能不同而产生比较大的差异。例如,所述mcu的存储器中还可以包括一个或一个以上操作系统,例如windows、mac os、linux、ios、android、unix、freebsd等。所述电子设备还可以包括一个或一个以上电源(图中未示出);一个或一个以上网络接口(图中未示出),所述网络接口包括有线网络接口和/或无线网络接口;一个或一个以上输入/输出接口(图中未示出)。
86.作为一种可选的实施方式,如图2、图5所示,所述soc通过第三总线直接与所述fpga进行连接。
87.若所述电子设备具备倍频功能,则如图3、图4所示,作为另一种可选的实施方式,所述soc与帧率转换(frame rate conversion,frc)芯片通过第四总线连接,所述frc芯片通过第五总线与所述fpga连接;所述frc芯片用于对所述soc发送给所述fpga的待处理的图像数据进行倍频处理。
88.下面展开说明本发明实施例所提供的图像处理方法。若mcu与fpga均为合法器件,则所述mcu的存储器被设置为读保护状态,且所述mcu屏蔽调试功能(例如在mcu运行的计算机程序中设置禁止启用调试功能,或者将调试功能定制修改为无法读取存储器中保存的计算机程序)。如图6至图8所示,所述图像处理方法具体包括:
89.s1、mcu控制fpga上电。
90.s2、fpga从外置存储器中加载代码初始化。
91.s3、mcu与fpga进行握手连接,在握手连接的过程中mcu与fpga其中一个随机生成初始同步信息并发送给另一个。
92.s5-1、fpga根据初始同步信息确定第一生成方式。
93.s5-2、mcu根据初始同步信息确定第二生成方式。
94.s6-1、fpga根据第一生成方式生成第一验证信息。
95.s6-2、mcu根据第二生成方式生成第二验证信息。
96.s7、mcu将第二验证信息发送至fpga。
97.s9、fpga判断第二验证信息是否与第一验证信息相同。
98.若所述步骤s9的结果为相同,执行步骤s10。
99.在图6所示的情况中,以mcu与fpga均为合法器件的情况为例,故所述步骤s7的判断结果相同。
100.s10、fpga持续接收soc发送的待处理的图像数据,对所述待处理的图像数据采用第一处理方式进行处理。
101.fpga在完成对待处理的图像数据的处理后,将完成处理的图像数据发送给对应的结构。
102.若所述电子设备具有直接播放影音图像的功能,则如图4所示,可选地,所述电子设备还包括时序控制器(timing contoller,tcon)和显示器件;所述tcon与所述fpga通过第六总线连接,所述显示器件与所述tcon通过第七总线连接;
103.所述tcon用于接收fpga发送的完成处理的图像数据并转换为显示信号发送给所述显示器件;
104.所述显示器件用于根据所述tcon发送的显示信号显示图像。
105.在具体实施过程中,所述显示器件可以为包括但不限于有机发光半导体屏幕(organic electroluminescence display,oled)、液晶显示屏幕(liquid crystal display,lcd)等,在此不做限定。
106.若所述电子设备不具有直接播放影音图像的功能,则如图5所示,可选地,所述电子设备还包括图像数据输出接口,所述图像数据输出接口通过第八总线与所述fpga连接,用于向于所述图像输出接口连接的外接设备发送完成处理的图像数据,以使所述外接设备根据所述图像数据显示图像。
107.在具体实施过程中,所述第一总线至所述第八总线分别可以为通用异步收发传输器(universal asynchronous receiver/transmitter,uart)总线、串行外设接口(serial peripheral interface,spi)总线、两线式串行(inter-integrated circuit,i2c)总线等,在此不做限定。
108.s14-1、在满足更新条件后,fpga更新第一生成方式。返回所述步骤s6-1。
109.s14-2、在满足更新条件后,mcu更新第二生成方式。返回所述步骤s6-2。
110.在具体实施过程中,所述更新条件可以为到达预设更新时间间隔;对于fpga而言,也可以为再一次接收到mcu发送的第二验证信息;在此不作限定。
111.在具体实施过程中,如果mcu与fpga均为合法器件,那么mcu的计算机程序中与fpga的代码中会预先设置相同的一组生成方式,其中包括多个不同的生成方式。fpga与mcu根据相同的初始同步信息会确定相同的第一个生成方式,即上述步骤中的第一生成方式与第二生成方式为相同的生成方式。在满足更新条件后,fpga与mcu将同时根据相同的规则更新第一生成方式/第二生成方式,使得后续更新的第一生成方式与第二生成方式保持一致,进而生成的第一验证信息与第二验证信息相同,fpga每次都会根据最新的第一验证信息与最新的第二验证信息相同来对mcu发送的待处理的图像数据进行处理。例如,mcu的计算机程序中与fpga的代码中预先设置一组多项式队列,根据初始同步信息选择第一次采用队列中的多项式索引号,之后根据该初始同步信息按照特定规则递归得到的索引号对应的多项式进行验证信息的计算。例如,mcu的计算机程序中和fpga的代码中均预置了n个多项式,根据一开始的初始同步信息得到第一个多项式索引为n,则之后第m次选用的多项式可以是索引号为(m
×
n+1)%n的多项式。这样实现了初始索引号的随机和以后递归多项式索引号的
随机,不易被破解。
112.需要指出的是,本发明实施例中所涉及的第一处理方式是影音播放设备的核心技术机密,故本技术不做说明,本领域技术人员可以根据实际需要进行设置即可。
113.由于外置存储器中的fpga代码为二进制文件,破解者难以逆向推断出fpga代码的工作原理,从而在工作原理层面fpga代码中的第一处理方式难以被破解。
114.此外,破解者也有可能放弃破解第一处理方式的工作原理,转而直接复制外置存储器中的代码并移植至非法设备上使用。这样,通过上述图像处理方法,fpga必须与合法的mcu协同工作才能采用第一处理方式进行工作。如果外置存储器中的fpga代码被复制至非法设备上,那么如果非法的mcu不知道合法的mcu与fpga之间存在验证机制,对于由fpga生成初始同步信息的情况,非法mcu将无法提供第二验证信息;对于由mcu生成初始同步信息的情况,非法mcu将无法提供初始同步信息,从而fpga将无法进行验证信息的比对,故能够在无法比对时不采用第一处理方式对待处理图像进行处理。而即使非法的mcu知道合法的mcu与fpga之间存在验证机制,并获取了fpga生成的初始同步信息或者生成了初始同步信息提供给fpga,但由于合法的mcu的存储器被设置为读保护状态,且合法的mcu屏蔽调试功能,使得破解者无法通过获取mcu的计算机程序进而获知验证信息具体的验证方式,使得无法在后续验证过程中给出正确的第二验证信息,仍然能够保证fpga不采用第一处理方式对待处理图像进行处理。
115.此外,本方案中的mcu除了具有与fpga进行验证的功能外,mcu还负责一些对fpga的控制功能,从而mcu与fpga之间的通信信息除了验证机制所涉及的信息外,还有其它的信息(例如mcu对fpga的管脚控制指令等)。从而提高了破解者企图通过监听mcu与fpga之间的通信信息,令非法mcu使用监听得到的通信信息向fpga发送来欺骗验证机制的难度。
116.这样,通过本发明实施例所提供的方案能够有效地保护了fpga代码中的第一处理方式不被破解或盗用。
117.由于mcu与fpga进行验证过程中,除因破解者破解或盗用导致验证失败以外,还有一定可能会因mcu与fpga受到工作环境上的硬件干扰、时钟频率不同步等因素导致生成的验证信息错误。这种情况导致的验证信息错误是与被破解盗用的情况不同的可恢复性的故障,可以采用一些手段进行恢复,以避免影响设备的正常工作。可选地,如图7至图8所示,所述步骤s9之后,所述方法还包括:
118.s11、fpga向mcu发送第一验证信息与第二验证信息是否相同的判断结果。
119.所述方法还包括:
120.s12、mcu判断在发送所述第二验证信息后的第二设定时长内是否接收到所述判断结果。
121.若所述步骤s12的结果为是,执行步骤s13;若所述步骤s12的结果为否,执行步骤s15。
122.s13、mcu判断接收到的判断结果是否为第二验证信息与第一验证信息不同。
123.若所述步骤s13的结果为否,执行所述步骤s14-2;若所述步骤s13的结果为是,执行步骤s15。
124.s15、mcu确定所述fpga工作状态异常,判断连续确定fpga工作状态异常的次数是否小于阈值。
125.若所述步骤s15的结果为是,执行步骤s16。
126.s16、mcu重置工作状态。
127.s17、mcu向fpga发送重置指令。同时返回所述步骤s3。
128.s18、fpga响应于mcu的重置指令重置工作状态。返回所述步骤s3。
129.在具体实施过程中,mcu与fpga重置自身的工作状态可以为仅将与生成第一验证信息/第二验证信息相关的寄存器、程序函数等重置,也可以重新初始化mcu/fpga,在此不做限定。
130.所述步骤s3之后,所述方法还包括:
131.所述步骤s3之后,所述方法还包括:
132.s4-1、fpga判断是否与mcu握手连接成功。
133.若所述步骤s4-1的结果为是,执行所述步骤s5-1;若所述步骤s4-1的结果为否,执行步骤s20。
134.s4-2、mcu判断是否与fpga握手连接成功。
135.若所述步骤s4-2的结果为是,执行步骤s5-2;若所述步骤s4-2的结果为否,执行步骤s15。
136.这样,mcu可以在验证失败或验证超时未收到fpga的反馈后进行重置,以便消除意外造成的错误。
137.对应地,在所述步骤s9之前,所述方法还包括:
138.s8、fpga判断在生成所述第一验证信息之后的第一设定时长内是否接收到所述第二验证信息。
139.若所述步骤s8的结果为是,执行所述步骤s9;若所述步骤s8的结果为否,执行所述步骤s20。
140.所述方法还包括:
141.若所述步骤s9的结果为不同,执行步骤s20。
142.s20、fpga忽略收到的待处理的图像数据;或者持续接收soc发送的待处理的图像数据,并对所述待处理的图像数据采用第二处理方式进行处理。
143.在具体实施过程中,所述第二处理方式是与所述第一处理方式不同的图像处理方式,例如可以为对待处理的图像的画质进行劣化(如图9所示,对待处理的图像增加马赛克;或者如图10所示,降低待处理的图像的分辨率),在待处理的图像上增加图形(例如图11所示,在待处理的图像上覆盖图形并在其中显示文字“设备故障,请尽快联系官方售后维修!”),输出预设的图案(例如图12所示)等。如果fpga采用忽略收到的待处理的图像数据,那么mcu将无法接收到处理后的图像数据,从而无法向显示器件输出图像。
144.进一步地,为了避免偶发性的可恢复性错误影响电子设备的正常工作,可选地,如图8所示,在执行步骤s20之前,所述方法还包括:s19、fpga确定无法采用第一处理方式进行图像处理,判断连续确定无法进行图像处理的次数是否等于阈值。
145.若所述步骤s19的结果为是,执行步骤s20。
146.在fpga执行步骤s19的结果为是而执行步骤s20的几乎同时,mcu执行了步骤s15得到结果为否,从而使fpga之后一直忽略soc发送的图像数据或者对soc发送的图像数据以第二处理方式进行处理,以使得连续多次验证失败后fpga不能以第一处理方式对图像数据进
行处理,从而保护fpga中的第一处理方式不被盗用。
147.在设备工作较长时间时,有可能会出现mcu与fpga各自的时钟频率不同步的误差不断累积进而影响双方生成验证信息,导致验证失败。为了修正时钟频率的误差,可选地,所述方法还包括:
148.每间隔第三设定时长,mcu向fpga发送时钟同步信号。
149.fpga根据mcu发送的时钟同步信号修正自身的时钟信号。
150.在具体实施过程中,fpga还可以进一步地在修正后向mcu发送时钟同步反馈信号,以向mcu反馈时钟信号同步成功。
151.这样,通过定时的时钟心跳机制,可以不断修正mcu与fpga之间的时钟频率的误差,以避免由于时钟误差导致双方生成的验证信息的不一致。
152.进一步地,本发明实施例还提供了一种电压管理机制,以避免fpga因电压异常导致损坏。
153.在所述步骤s1之前,所述方法还包括(以下步骤图中未示出):
154.s1-1、mcu控制电压管理器件上电,所述电压管理器件用于控制向fpga输入电压。
155.s1-2、mcu判断电压管理器件的输入电压是否稳定,且电压管理器件的输入电压是否达到门限电压。
156.若所述步骤s1-2的结果为是,执行步骤s1-3;若所述步骤s1-2的结果为否,继续等待直至结果为是。
157.s1-3、mcu控制电压管理器件向fpga输出工作电压。
158.s1-4、mcu判断fpga接收的电压是否在正常范围之内。
159.在具体实施过程中,mcu可以利用模拟-数字转换(analog-to-digital converter,adc)采样的方式,或者使用一个电压传感器来监测fpga接收到额电压。
160.若所述步骤s1-4的结果为是,执行所述步骤s3;若所述步骤s1-4的结果为否,执行步骤s1-5。
161.s1-5、mcu控制电压管理器件停止向fpga输出电压。
162.基于同一发明构思,本发明实施例还分别提供了应用于fpga和mcu的图像处理方法。
163.第二方面,本发明实施例还提供了一种图像处理方法,应用于fpga,如图13-图15所示,包括:
164.s101、从外置存储器中加载代码初始化。
165.s102、与微控制单元mcu进行握手连接,在握手连接的过程中mcu与fpga其中一个随机生成初始同步信息并发送给另一个。
166.s104、根据第一生成方式生成第一验证信息,以及接收所述mcu发送的第二验证信息。
167.其中,与所述mcu握手连接后采用的第一个的第一生成方式是根据初始同步信息确定。
168.s105、判断在生成所述第一验证信息之后的第一设定时长内是否接收到所述第二验证信息。
169.若所述步骤s105的结果为是,执行步骤s106。
170.s106、判断所述第二验证信息是否与所述第一验证信息相同。
171.若所述步骤s106的判断结果为是,执行步骤s107。
172.s107、判断是否满足更新条件。
173.若所述步骤s107的结果为否,执行步骤s108;若是步骤s107的结果为是,执行步骤s109。
174.s108、持续接收soc发送的待处理的图像数据,并对所述待处理的图像数据采用第一处理方式进行处理。返回所述步骤s107。
175.s109、更新用于生成第一验证信息的第一生成方式。返回所述步骤s104。
176.可选地,如图14-图15所示,所述步骤s102之后,所述方法还包括:
177.s103、判断与mcu握手连接是否成功。
178.若所述步骤s103的结果为是,执行所述步骤s104;若所述步骤s103的结果为否,执行步骤s111。
179.若所述步骤s105的结果为否,执行步骤s111。
180.所述步骤s106还包括:向所述mcu发送判断结果。
181.若所述步骤s106的判断结果为不同,执行步骤s111。
182.s111、忽略收到的待处理的图像数据;或者持续接收soc发送的待处理的图像数据,并对所述待处理的图像数据采用第二处理方式进行处理。
183.s112响应于所述mcu发送的重置指令,重置工作状态。返回所述步骤s102。
184.其中,所述重置指令是所述mcu是确定所述fpga工作状态异常,且连续确定所述fpga工作状态异常的次数小于阈值时发送的指令。
185.所述mcu在出现下列情况中的一种后确定所述fpga工作状态异常:
186.接收到的所述判断结果为不同;
187.在发送所述第二验证信息后的第二设定时长内未接收到所述判断结果;
188.与所述fpga握手连接失败。
189.可选地,如图15所示,在所述步骤s111之前,所述方法还包括:
190.s110、确定无法采用第一处理方式进行图像处理,判断连续确定无法采用第一处理方式进行图像处理的次数是否等于阈值。
191.若所述步骤s110的结果为是,执行步骤s111;若所述步骤s110的结果为否,执行步骤s112。
192.可选地,所述方法还包括:
193.接收所述mcu在每间隔预设时间时发送的时钟同步信号;
194.根据所述时钟同步信号修正自身的时钟信号,并在修正后向所述mcu发送时钟同步反馈信号。
195.第三方面,本发明实施例还提供了一种图像处理方法,应用于mcu,所述mcu包括存储器,所述mcu的存储器被设置为读保护状态,且所述mcu屏蔽调试功能。如图16-图17所示,所述方法包括:
196.s201、控制fpga上电。
197.s202、与fpga进行握手连接,在握手连接的过程中mcu与fpga其中一个随机生成初始同步信息并发送给另一个。
198.s204、根据第二生成方式生成第二验证信息并发送至所述fpga。以使所述fpga根据所述第二验证信息与自身生成的第一验证信息是否相同的判断结果确定是否采用第一处理方式对soc发送的所述待处理图像数据进行处理。
199.s207、判断是否满足更新条件。
200.若所述步骤s207的结果为否,继续等待直至结果为是;若所述步骤s207的结果为是,执行步骤s208。
201.s208、更新用于生成第二验证信息的第二生成方式。返回所述步骤s204。
202.可选地,如图17所示,所述步骤s202之后,所述方法还包括:
203.s203、判断与fpga握手连接是否成功。
204.若所述步骤s203的结果为是,执行所述步骤s204;若所述步骤s203的结果为否,执行步骤s209。
205.所述步骤s204之后,所述方法还包括:
206.s205、判断在发送所述第二验证信息之后的第二设定时长内是否接收到所述判断结果。
207.若所述步骤s205的结果为是,执行步骤s206;若所述步骤s205的结果为否,执行步骤s209。
208.s206、判断接收到所述fpga发送的判断结果是否为不同。
209.若所述步骤s206的结果为否,执行步骤s207;若所述步骤s206的结果为是,执行步骤s209。
210.s209、确定所述fpga工作状态异常,判断连续确定所述fpga工作状态异常的次数是否小于阈值。
211.其中,在出现下列情况中的一种后确定所述fpga工作状态异常:
212.接收到所述fpga发送的判断结果为不同;
213.在发送所述第二验证信息之后的第二设定时长内未接收到所述判断结果;
214.与所述fpga进行握手连接失败。
215.若所述步骤s209的结果为是,执行步骤s210。
216.s210、重置所述mcu的工作状态。
217.s211、向所述fpga发送重置指令。以使所述fpga重置工作状态。返回所述步骤s202。
218.可选地,所述方法还包括:
219.每间隔预设时间,向所述fpga发送时钟同步信号,以使所述fpga根据所述时钟同步信号修正自身的时钟信号。
220.第四方面,基于同一发明构思,本发明实施例还提供了一种图像处理装置,如图18所示,包括:
221.接收单元m101,用于与mcu进行握手连接后,根据第一生成方式生成第一验证信息,以及接收所述mcu发送的第二验证信息;
222.验证单元m102,用于判断所述第二验证信息是否与所述第一验证信息相同;
223.第一处理单元m103,用于若所述判断结果为相同,且未满足更新条件,则持续接收soc发送的待处理的图像数据,并对所述待处理的图像数据采用第一处理方式进行处理;
224.更新单元m104,用于在确定满足更新条件后,更新用于生成第一验证信息的第一生成方式,并返回根据第一生成方式生成第一验证信息的步骤;
225.其中与所述mcu握手连接后采用的第一个的第一生成方式是根据初始同步信息确定;所述初始同步信息为所述mcu与所述fpga两者中其中一个随机生成并在握手连接时发送给另一个的信息。
226.可选地,所述图像处理装置还包括:
227.反馈单元m105,用于向所述mcu发送判断结果;
228.重置单元m106,用于响应于所述mcu发送的重置指令,重置工作状态,并重新与所述mcu握手连接;其中,所述重置指令是所述mcu是确定所述fpga工作状态异常,且连续确定所述fpga工作状态异常的次数小于阈值时发送的指令;
229.第二处理单元m107,用于在确定无法采用第一处理方式进行图像处理,且连续确定无法采用第一处理方式进行图像处理的次数等于阈值,则忽略soc发送的待处理的图像数据;或者持续接收soc发送的待处理的图像数据,并对所述待处理的图像数据采用第二处理方式进行处理;
230.其中,在出现下列情况中的一种后确定无法采用第一处理方式进行图像处理:
231.所述判断结果为不同;
232.在生成所述第一验证信息之后的第一设定时长内未接收到所述第二验证信息;
233.与所述mcu握手连接失败;
234.所述mcu在出现下列情况中的一种后确定所述fpga工作状态异常:
235.接收到的所述判断结果为不同;
236.在发送所述第二验证信息后的第二设定时长内未接收到所述判断结果;
237.与所述fpga握手连接失败。
238.可选地,所述图像处理装置还包括:
239.时钟同步单元m108,用于接收所述mcu在每间隔预设时间时发送的时钟同步信号;根据所述时钟同步信号修正自身的时钟信号。
240.第五方面,基于同一发明构思,本发明实施例还提供了一种图像处理装置,所述图像处理装置的存储器被设置为读保护状态,且所述图像处理装置屏蔽调试功能;
241.如图19所示,所述装置包括:
242.验证单元m201,用于与fpga进行握手连接后,根据第二生成方式生成第二验证信息并发送至所述fpga;以使所述fpga根据所述第二验证信息与自身生成的第一验证信息是否相同的判断结果确定是否采用第一处理方式对soc发送的待处理图像数据进行处理;其中与所述mcu握手连接后采用的第一个的第二生成方式根据初始同步信息确定;所述初始同步信息为所述mcu与所述fpga两者中其中一个随机生成并在握手连接时发送给另一个的信息;
243.更新单元m202,用于满足更新条件时,更新第二生成方式,返回根据第二生成方式生成第二验证信息的步骤。
244.可选地,所述图像处理装置还包括:
245.自纠单元m203,用于确定所述fpga工作状态异常,且连续确定所述fpga工作状态异常的次数小于阈值,则重置所述mcu的工作状态,并向所述fpga发送重置指令,以使所述
fpga重置工作状态;重新与所述fpga握手连接;
246.其中,在出现下列情况中的一种后确定所述fpga工作状态异常:
247.接收到所述fpga发送的判断结果为不同;
248.在发送所述第二验证信息之后的第二设定时长内未接收到所述判断结果;
249.与所述fpga进行握手连接失败。
250.可选地,所述图像处理装置还包括:
251.时钟同步单元m204,用于每间隔预设时间,向所述fpga发送时钟同步信号,以使所述fpga根据所述时钟同步信号修正自身的时钟信号。
252.在本技术所提供的几个实施例中,应该理解到以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
253.由于上述图像处理装置的工作原理与前文所述的图像处理方法的工作原理基本一致,故可以参见前文图像处理方法的对应实施方式,此处不再赘述。
254.第六方面,基于同一发明构思,本发明实施例还提供了一种可读存储介质,所述可读存储介质存储有fpga代码,所述fpga代码被用于实现如第二方面所述的数据处理方法。
255.或者,所述可读存储介质存储有计算机程序,所述计算机程序被用于实现如第三方面所述的数据处理方法。
256.在具体实施过程中,如图20所示,其可以采用便携式紧凑盘只读存储器(cd-rom)。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储计算机程序或fpga代码的有形介质。
257.可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码或fgpa代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读存储介质上包含的计算机程序或fpga代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言、汇编语言或类似的程序设计语言。可以以一种或多种硬件描述语言的任意组合来编写用于执行本发明操作的fpga代码,诸如verilog hdl、vhdl、system verilog等。
258.本发明实施例提供的图像处理方法、装置、电子设备及可读存储介质,通过fpga与mcu进行按照相同的规则生成验证信息并进行比对,且在设备工作时mcu与fpga不断更新生成验证信息的生成方式,使得必须与合法的mcu协同工作才能采用正常工作。同时通过将mcu的存储器设置为读保护模式且屏蔽mcu的调试功能,避免了fpga与mcu之间生成验证信息的生成方式被公开,从而能够有效地保护了fpga代码中的技术秘密不被破解或盗用。
259.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
260.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
261.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
262.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
263.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1