本技术涉及机器视觉通信,特别是涉及一种解码方法、编码方法、电子设备及存储介质。
背景技术:
1、目前万兆以太网遵循的ieee802.3ae标准(一种协议标准)是常用的64b/66b编码方法。常用的64b/66b编码方法中,对于64位有效数据全部为纯数据的情况,直接拼接同步头“01”组成66位编码后数据;对于有效数据中存在控制字符的情况,根据有效数据中控制字符的排列规则,先按照ieee802.3ae标准的64b/66b编码规则对应表进行数据转换,形成64位编码数据块,再拼接同步头“10”组成66位编码后数据。在对控制字符编码后的64位编码数据块中,第0位至第7位的低字节被设置为固定字符,下文将固定字符称为类型域,类型域用于表征编码数据块中的数据块或者控制块的格式,解码端仅能够根据类型域对编码后的数据进行解析,并在解码端生成有效数据块,因此,编码数据块中必须包括类型域,使得编码时数据转换逻辑设计更加复杂。并且由于在有效数据中控制字符所占位数为8位,常用的64b/66b编码方法规定控制字符在编码后形成的编码数据块中所占位数为7位,因此,在根据常用的64b/66b编码规则对有效数据进行数据转换时,需要将控制字符由8位转换为7位,更增加了编码时逻辑设计的复杂度。
技术实现思路
1、本技术实施例的目的在于提供一种解码方法、编码方法、电子设备及存储介质,以实现降低编码逻辑设计复杂度。具体技术方案如下:
2、本技术实施例提供了一种解码方法,应用于解码端,所述方法包括:
3、获取编码端发送的由第一字段、第二字段以及同步头组成的目标待解码数据,所述同步头为所述目标待解码数据的第64位至第65位,所述第一字段为所述目标待解码数据的第0位至第31位,所述第二字段为所述目标待解码数据的第32位至第63位;
4、检测所述第一字段的数据属性,作为第一数据属性;并检测所述第二字段的数据属性,作为第二数据属性;
5、若所述同步头为预设第一取值,且所述第二数据属性为预设对应关系中所述第一数据属性对应的数据属性,则生成由所述第一字段和所述第二字段组成的有效数据块,其中,所述预设对应关系中所述第一数据属性为纯数据字时对应的数据属性与所述第一数据属性为控制字时对应的数据属性不同,所述控制字为预先设置的固定字段;所述编码端在所述第一数据属性或第二数据属性为所述控制字时将所述目标待解码数据的同步头设置为所述预设第一取值。
6、在一种可能的实施例中,所述预设对应关系为:
7、若所述第一数据属性为纯数据字,则所述第一数据属性对应的数据属性为结束控制字;
8、若所述第一数据属性为空闲状态控制字,则所述第一数据属性对应的数据属性为空闲状态控制字;
9、若所述第一数据属性为起始控制字,则所述第一数据属性对应的数据属性为纯数据字;
10、若所述第一数据属性为结束控制字,则所述第一数据属性对应的数据属性为空闲状态控制字。
11、在一种可能的实施例中,所述方法还包括:
12、若所述第二数据属性不为所述预设对应关系中所述第一数据属性对应的数据属性,则确定所述目标待解码数据为错误数据。
13、在一种可能的实施例中,所述方法还包括:
14、若所述同步头为所述预设第一取值,则执行所述检测所述第一字段的数据属性,作为第一数据属性,并检测所述第二字段的数据属性,作为第二数据属性的步骤;
15、所述若所述同步头为预设第一取值,且所述第二数据属性为预设对应关系中所述第一数据属性对应的数据属性,则生成由所述第一字段和所述第二字段组成的有效数据块,包括:
16、若所述第二数据属性为预设对应关系中所述第一数据属性对应的数据属性,则生成由所述第一字段和所述第二字段组成的有效数据块。
17、在一种可能的实施例中,所述方法还包括:
18、若所述同步头为预设第二取值,则生成由所述第一字段和所述第二字段组成的有效数据块;所述编码端在所述第一数据属性和第二数据属性均为所述纯数据字时将所述目标待解码数据的同步头设置为所述预设第二取值。
19、在一种可能的实施例中,所述方法还包括:
20、获取原始待解码数据;
21、对所述原始待解码数据进行串行转并行处理,得到第一原始待解码数据;
22、将所述第一原始待解码数据输入解扰器,确定所述解扰器的输出结果为所述目标待解码数据。
23、本技术实施例还提供了一种编码方法,应用于编码端,所述方法包括:
24、将有效数据块与对应的同步头进行拼接,得到由第一字段、第二字段以及所述同步头组成的目标待解码数据;其中,所述同步头为所述目标待解码数据的第64位至第65位,所述第一字段为所述目标待解码数据的第0位至第31位,所述第二字段为所述目标待解码数据的第32位至第63位;
25、将所述目标待解码数据发送至解码端,以使所述解码端执行获取编码端发送的由第一字段、第二字段以及同步头组成的目标待解码数据,检测所述第一字段的数据属性,作为第一数据属性;并检测所述第二字段的数据属性,作为第二数据属性;若所述同步头为预设第一取值,且所述第二数据属性为预设对应关系中所述第一数据属性对应的数据属性,则生成由所述第一字段和所述第二字段组成的有效数据块的步骤。
26、本技术实施例还提供了一种解码装置,应用于解码端,所述装置包括:
27、获取模块,用于获取编码端发送的由第一字段、第二字段以及同步头组成的目标待解码数据,所述同步头为所述目标待解码数据的第64位至第65位,所述第一字段为所述目标待解码数据的第0位至第31位,所述第二字段为所述目标待解码数据的第32位至第63位;
28、检测模块,用于检测所述第一字段的数据属性,作为第一数据属性;并检测所述第二字段的数据属性,作为第二数据属性;
29、生成模块,用于若所述同步头为预设第一取值,且所述第二数据属性为预设对应关系中所述第一数据属性对应的数据属性,则生成由所述第一字段和所述第二字段组成的有效数据块,其中,所述预设对应关系中所述第一数据属性为纯数据字时对应的数据属性与所述第一数据属性为控制字时对应的数据属性不同,所述控制字为预先设置的固定字段;所述编码端在所述第一数据属性或第二数据属性为所述控制字时将所述目标待解码数据的同步头设置为所述预设第一取值。
30、在一种可能的实施例中,所述预设对应关系为:
31、若所述第一数据属性为纯数据字,则所述第一数据属性对应的数据属性为结束控制字;
32、若所述第一数据属性为空闲状态控制字,则所述第一数据属性对应的数据属性为空闲状态控制字;
33、若所述第一数据属性为起始控制字,则所述第一数据属性对应的数据属性为纯数据字;
34、若所述第一数据属性为结束控制字,则所述第一数据属性对应的数据属性为空闲状态控制字。
35、在一种可能的实施例中,所述装置还包括:
36、错误数据确定模块,用于若所述第二数据属性不为所述预设对应关系中所述第一数据属性对应的数据属性,则确定所述目标待解码数据为错误数据。
37、在一种可能的实施例中,所述装置还包括:
38、执行模块,用于若所述同步头为所述预设第一取值,则执行所述检测所述第一字段的数据属性,作为第一数据属性,并检测所述第二字段的数据属性,作为第二数据属性的步骤;
39、所述生成模块,具体用于若所述第二数据属性为预设对应关系中所述第一数据属性对应的数据属性,则生成由所述第一字段和所述第二字段组成的有效数据块。
40、在一种可能的实施例中,所述装置还包括:
41、有效数据块生成模块,用于若所述同步头为预设第二取值,则生成由所述第一字段和所述第二字段组成的有效数据块;所述编码端在所述第一数据属性和第二数据属性均为所述纯数据字时将所述目标待解码数据的同步头设置为所述预设第二取值。
42、在一种可能的实施例中,所述装置还包括:
43、原始待解码数据获取模块,用于获取原始待解码数据;
44、串并处理模块,用于对所述原始待解码数据进行串行转并行处理,得到第一原始待解码数据;
45、目标待解码数据确定模块,用于将所述第一原始待解码数据输入解扰器,确定所述解扰器的输出结果为所述目标待解码数据。
46、本技术实施例还提供了一种编码装置,应用于编码端,所述装置包括:
47、拼接模块,用于将有效数据块与对应的同步头进行拼接,得到由第一字段、第二字段以及所述同步头组成的目标待解码数据;其中,所述同步头为所述目标待解码数据的第64位至第65位,所述第一字段为所述目标待解码数据的第0位至第31位,所述第二字段为所述目标待解码数据的第32位至第63位;
48、发送模块,用于将所述目标待解码数据发送至解码端,以使所述解码端执行获取编码端发送的由第一字段、第二字段以及同步头组成的目标待解码数据,检测所述第一字段的数据属性,作为第一数据属性;并检测所述第二字段的数据属性,作为第二数据属性;若所述同步头为预设第一取值,且所述第二数据属性为预设对应关系中所述第一数据属性对应的数据属性,则生成由所述第一字段和所述第二字段组成的有效数据块的步骤。
49、本技术实施例还提供了一种电子设备,包括:
50、存储器,用于存放计算机程序;
51、处理器,用于执行存储器上所存放的程序时,实现上述任一所述的编码方法或解码方法。
52、本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的编码方法或解码方法。
53、本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的编码方法或解码方法。
54、本技术实施例有益效果:
55、本技术实施例提供的一种解码方法、编码方法、电子设备及存储介质,解码端可以获取编码端发送的由第一字段、第二字段以及同步头组成的目标待解码数据,通过对第一字段的数据属性以及第二字段的数据属性的检测,得到第一数据属性和第二数据属性,并在同步头为预设第一取值,且第二数据属性为预设对应关系中第一数据属性对应的数据属性时,生成由第一字段和第二字段组成的有效数据块。由于控制字为预先设置的固定字段,因此,当纯数据字与预先设置的固定字段相同时,纯数据字可能被误认为是控制字。在同步头为预设第一取值,即第一数据属性或第二数据属性为控制字时,假设第一数据属性实际为纯数据字,该纯数据字被误认为是控制字,那么,检测得到的第一数据属性为控制字,而第二数据属性依然为纯数据字对应的数据属性,由于预设对应关系中第一数据属性为纯数据字时对应的数据属性与第一数据属性为控制字时对应的数据属性不同,因此,此时的第二数据属性与第一数据属性对应的数据属性不相同,从而可以判断出当前的第一数据属性是错误的,并且可以确认第一数据属性实际上为纯数据字。因此,本技术实施例中解码端可以直接通过同步头为预设第一取值时,第一数据属性和第二数据属性是否符合预设对应关系确定出目标待解码数据中的有效数据块,从而在解码的时候无需通过类型域来确定有效数据块,进而使得编码端在进行编码时无需设置类型域,降低了编码时逻辑设计的复杂度。同时,相较于现有技术,编码时无需将控制字进行8位至7位的数据转换,从而降低了逻辑设计的复杂度。
56、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。