一种数据格式的转换系统及方法与流程

文档序号:32389932发布日期:2022-11-30 07:49阅读:239来源:国知局
一种数据格式的转换系统及方法与流程

1.本技术涉及电子数字数据处理技术领域,尤其涉及一种数据格式的转换系统及方法。


背景技术:

2.通常向用户交付镜头模组时,厂家会将镜头模组数据一并交付给用户。传统交付镜头模组数据的方法,是把镜头模组数据以原始格式烧录到摄像头镜头模组自带的otp空间或eeprom空间,随镜头模组一起交付给用户。
3.随着物联网的不断发展,很多非传统手机的用户也加入使用镜头模组的行列。这些用户不需要将镜头模组数据烧录到镜头模组内部,而是要求厂家将镜头模组数据以数据文件的形式记录后提交。用户对镜头模组数据的存储格式具有多样化的需求。现有格式转换方法繁琐,且无法满足存储格式多样化的需求。


技术实现要素:

4.为了将镜头模组数据的原始格式通过简便方式转换为多种存储格式,以满足客户对存储格式多样化的需求,
5.第一方面,本技术提供了一种数据格式的转换系统,所述系统包括
6.用于获取目标格式编码的前端组件,及与所述前端组件连接的格式转换装置;
7.所述格式转换装置匹配所述目标格式编码对应的目标转换规则;基于所述目标转换规则,转码所述原始格式数据,输出目标格式数据。
8.进一步,所述格式转换装置内设有转换规则模块,所述转换规则模块解码接收到的目标格式编码,获得所述目标格式编码的类型;基于所述目标格式编码的类型,确定对应的目标转换规则。
9.进一步,所述转换规则模块解码接收到的目标格式编码,包括将所述目标格式编码的文字编码解码为对应的机器码。
10.进一步,所述转换规则模块内存储有多种转换规则,所述转换规则包括数值数据算术运算描述语言、循环转换描述语言、可变数据标记语言、可变文字与不可变文字说明语言;
11.所述基于所述目标格式编码的类型,确定对应的目标转换规则包括,
12.判断所述目标格式类型属于数值型数据,集合类数据,可变数据,不变数据中的一种或多种;
13.当目标格式类型为所述数值型数据,匹配所述数值数据算术运算描述语言;
14.当目标格式类型为所述集合类数据,匹配所述循环转换描述语言;
15.当目标格式类型为所述可变数据,匹配所述可变数据标记语言;
16.当目标格式类型为所述不变文字数据,匹配所述可变文字与不可变文字说明语言。
17.进一步,所述转换规则模块内还存储有获取原始格式语言,用于调用所述原始格式数据。
18.第二方面,本技术提供一种数据格式的转换方法,包括:
19.a、获取目标格式编码;
20.b、匹配所述目标格式编码对应的目标转换规则;
21.c、基于所述目标转换规则,转码所述原始格式数据,输出目标格式数据。
22.进一步,所述步骤a与所述步骤b之间进一步包括,
23.解码接收到的目标格式编码,获得所述目标格式编码的类型;
24.基于所述目标格式编码的类型,确定对应的目标转换规则。
25.进一步,所述转换规则模块内存储有多种转换规则,所述转换规则包括数值数据算术运算描述语言、循环转换描述语言、可变数据标记语言、可变文字与不可变文字说明语言;
26.所述基于所述目标格式编码的类型,确定对应的目标转换规则包括,
27.判断所述目标格式类型属于数值型数据,集合类数据,可变数据,不变数据中的一种或多种;
28.当目标格式类型为所述数值型数据,匹配所述数值数据算术运算描述语言;
29.当目标格式类型为所述集合类数据,匹配所述循环转换描述语言;
30.当目标格式类型为所述可变数据,匹配所述可变数据标记语言;
31.当目标格式类型为所述不变文字数据,匹配所述可变文字与不可变文字说明语言。
32.第三方面,本技术提供一种电子系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面任一所述的方法步骤。
33.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第二方面中任一所述的方法步骤。
34.有益效果:
35.本技术通过前端组件获取用户需要的目标格式编码,通过与所述前端组件连接的格式转换装置匹配所述目标格式编码对应的目标转换规则;基于所述目标转换规则,转码所述原始格式数据,从而获得目标格式数据。由于本技术内置的转换规则可以匹配任意目标格式编码,因而通过本技术提供的装置,可以将镜头模组数据的原始格式转换为客户需要的任意存储格式,从而满足客户对存储格式多样化的需求;同时由于本技术提供的方法,仅需通过获取目标格式编码,再匹配所述目标格式编码对应的目标转换规则,最后基于所述目标转换规则,转码所述原始格式数据,输出目标格式数据,步骤简洁,在满足客户对存储格式多样化需求的同时方便易行。
附图说明
36.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1是本技术实施例1提供的一种数据格式的转换系统的结构示意图;
38.图2是本技术实施例1提供的原始格式数据存储方式示意图;
39.图3是本技术实施例2提供的一种数据格式的转换方法的流程示意图;
40.图4是本技术实施例3提供的电子系统结构示意图。
具体实施方式
41.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
42.实施例1
43.对于不同客户,甚至对于相同客户的不同项目,都会有不同的数据内容及不同的数据格式需求。例如客制化的json格式,xml格式,ini格式等格式需求,定焦机种的af格式需求,对于有相位对焦功能项目的pdaf格式需求;
44.为了满足用户多样化的格式需求,结合附图1,实施例1提供一种数据格式的转换系统,所述系统包括
45.用于获取目标格式编码的前端组件100,及与前端组件100连接的格式转换装置200;
46.格式转换装置200内设有转换规则模块201,和与转换规则模块201相互连接的数据转换模块202;数据转换模块202通过电缆或网络连接数据服务器300;
47.转换规则模块201内设有多种转换规则,所述转换规则包括数值数据算术运算描述语言、循环转换描述语言、可变数据标记语言、可变文字与不可变文字说明语言;
48.转换规则模块201解码接收到的目标格式编码,将所述目标格式编码的文字编码解码为对应的机器码;
49.转换规则模块201解码目标格式编码的机器码,获得目标格式编码的类型;所述目标格式编码的类型包括数值型数据,集合类数据,可变数据,不变数据;
50.转换规则模块201判断所述目标格式类型属于数值型数据,集合类数据,可变数据,不变数据中的一种或多种;
51.当目标格式类型为所述数值型数据,匹配的所述目标转换规则为数值数据算术运算描述语言;
52.当目标格式类型为所述集合类数据,匹配的所述目标转换规则为循环转换描述语言;
53.当目标格式类型为所述可变数据,匹配的所述目标转换规则为可变数据标记语言;
54.当目标格式类型为所述不变文字数据,匹配的所述目标转换规则为可变文字与不可变文字说明语言;
55.镜头模组完成校正后,会产生相应的原始格式数据;
56.这些原始数据不区分用户,按照统一的原始格式存储在数据存储器上。数据存储器一般内置有数据库服务器,在数据库服务器上仅需通过关键字检索到数据内容;
57.结合附图2,原始数据存储格式包括,
58.1)其中关键字1,是镜头模组唯一识别码。为了生产简便,一般为能够自动从镜头
模组中读取的sensor id作为唯一识别码;特殊情况下,也可以用镜头模组的二维码作为唯一识别码;
59.2)其中关键字2,是多数据序号。主要是为了在多摄镜头模组中,区分出模组数据对应的镜头模组。例如双摄镜头模组,将其中一颗定义为1,另外一颗定义为 2,有利于更方便地进行区分;
60.3)其中关键字3,是校正模块的名称。这样的优点是,数据来源非常直观,在数据使用和问题排查时,可以轻易定位数据的来源;
61.4)其中关键字4,是数据项名称。如果一个校正模块,会产生多个数据项,可以用该关键字进行区分;
62.5)数据内容部分,是根据不同的数据,组织成不同的格式。但是在形式上,数据内容以关键字对应值的形式来进行存储;
63.例如关键字有“r通道值”、“b通道值”,这样具体的一个数据;也可以是“lsc 全部校正数据”这样包含很多数据;
64.对应的值的类型,有单个整数数字、单个小数数字、字符串文字、相同类型多个值集合四种方式;
65.基础类型包括单个整数数字、单个小数数字、字符串文字三种方式;相同类型多个值集合,用于把多个相同基础类型的数据排列在一起;
66.用“[]”这样的特征符号来表明是集合数据,多个数据之间用“,”来做区分。例如[456,256,11,57],就是4个整数数字的集合;
[0067]
6)上述这些关键字用于在内部数据存储器中,快捷定位某一颗镜头模组的对应数据。例如某颗镜头模组的awb数据,就可以通过:
[0068]“[唯一识别码]+[1]+[高通awb模块]+[awb数据]+[r通道值]”,
[0069]
直接识别到对应的数据。
[0070]
7)这些存储方式,能够更好地设计和使用格式转换规则;
[0071]
转换规则模块201内设有获取原始格式语言,数据转换模块202调用获取原始格式语言,获取存储于数据服务器300内的原始格式数据;
[0072]
转换规则模块201基于确定的目标转换规则,转码原始格式数据,输出目标格式数据。
[0073]
本技术通过前端组件获取用户需要的目标格式编码,通过与所述前端组件连接的格式转换装置匹配所述目标格式编码对应的目标转换规则;基于所述目标转换规则,转码所述原始格式数据,从而获得目标格式数据。由于本技术内置的转换规则可以匹配任意目标格式编码,因而通过本技术提供的装置,可以将镜头模组数据的原始格式转换为客户需要的任意存储格式,从而满足客户对存储格式多样化的需求。
[0074]
实施例2
[0075]
基于相同的发明构思,结合附图3,实施例2提供一种数据格式的转换方法,包括
[0076]
s1、获取目标格式编码;
[0077]
s2、匹配所述目标格式编码对应的目标转换规则;
[0078]
s3、基于所述目标转换规则,转码所述原始格式数据,输出目标格式数据。
[0079]
具体实施方式如下:
[0080]
执行步骤s1、获取目标格式编码;
[0081]
用户通过前端系统输入需要获得的目标格式编码对应的文字编码;
[0082]
与前端系统连接的转换规则模块解码接收到的目标格式编码,将所述目标格式编码的文字编码解码为对应的机器码;
[0083]
执行步骤s2、匹配所述目标格式编码对应的目标转换规则;
[0084]
转换规则模块解码目标格式编码的机器码,确定目标格式编码的类型属于数值型数据,集合类数据,可变数据,不变数据中的一种或多种;
[0085]
转换规则模块内存储有多种转换规则,所述转换规则包括数值数据算术运算描述语言、循环转换描述语言、可变数据标记语言、可变文字与不可变文字说明语言;
[0086]
(1)当目标格式类型为所述数值型数据,匹配所述数值数据算术运算描述语言;数值数据算术运算描述语言
[0087]
a)对于数值型数据,包括集合中单个数据是数值数据的情况。可以使用算术运算描述语言,进行数据的转换。例如有的客户的af code,需要乘以64。那么可以在不变更厂内原始数据的情况下,通过在转换描述规则中,添加乘法运算转换就可以满足。
[0088]
b)可以使用+-*/和%总共5种运算规则,分别是加、减、乘、除、取余数。
[0089]
c)另外还可以使用(),括号作为优先计算符号。
[0090]
d)具体运算规则与传统数学四则运算方式相同,从左到右运算,乘除和取余的优先级高于加减。
[0091]
e)举例说明:
[0092]
1.自动对焦模块.近焦数据.马达code数据*64
[0093]
1.mtk lsc模块.lsc数据.全部数据[]

16,代表集合中每个数据都减去16;
[0094]
(2)当目标格式类型为所述集合类数据,匹配所述循环转换描述语言;
[0095]
循环转换描述语言
[0096]
a)对于集合类数据,还设计了一种特殊的循环转换描述语言,用于循环遍历整个集合的数据。满足客户特殊的要求。
[0097]
b)例如lsc数据,是221*4个通道的数据,总共884个。有的客户要求按照原始数据顺序排列即可,有的客户会要求按通道重新排列。那么就需要有一个转换描述语言,能够满足客户的要求。
[0098]
c)描述语言格式为:
[0099]
$循环转换(开始数字,结束数字,一次循环数字增加量){具体内部内容}
[0100]
在具体内部内容中,%循环数字%,这个标识符用于表示当前循环数字,可以用于获取集合中某个具体数据。
[0101]
d)举例来说,lsc的数据,在集合中原本的顺序是r[1]r[2]
…ꢀ
r[221]gr[1]gr[2]

gr[221]gb[1]gb[2]

gb[221]b[0]

b[221]
[0102]
客户要求如下的数据格式:
[0103][0104]
其中每循环一次,就在该语言描述的位置,添加上该次循环转换后的文字内容。
[0105]
转换处理逻辑是,第一步构筑循环,第二步查找具体内部内容中,把%循环数字%替换成具体的值,第三步检查有没有可变数据,进行查找转换,第四步把一次循环得到的文字结果增加到循环描述语言位置,第五步进行下一次循环直到结束。
[0106]
(3)当目标格式类型为所述可变数据,匹配所述可变数据标记语言;
[0107]
可变数据标记语言
[0108]
a)在格式转换规则中,为了知道哪些地方是可变的数据,需要实际读取本地数据存储器,进行数值转换,定义了可变数据标记语言。
[0109]
b)语言格式是:$可变数据{具体可变内容}
[0110]
c)其中大括号内的“具体可变内容”,可以放入上述的厂内数据描述语言,以及数值数据算术运算描述语言。
[0111]
d)在进行格式转换时,整个标记可变数据,会被替换对应的数据。
[0112]
e)举例:$可变数据{自动对焦模块.近焦数据.马达code数据*64},在转换某颗模组时,数据转换模块自动带入模组唯一识别码,通过对应关键字查询本地数据存储库,知道“自动对焦模块.近焦数据.马达code数据”是81,然后进行四则运算,81*64得到5184。然后就使用这个数值数据5184,替换整个标记可变数据内容。
[0113]
$可变数据{自动对焦模块.近焦数据.马达code数据*64}被替换成了5184。 (4)当目标格式类型为所述不变文字数据,匹配所述可变文字与不可变文字说明语言;
[0114]
可变文字与不可变文字说明语言
[0115]
a)在目标数据格式中,有些文字内容,对于每一颗模组来说,都是不会变化的,称为不可变文字
[0116]
b)而有一些是会随着模组的不同,拥有不同的实际值,这些称为可变文字。
[0117]
c)举例来说,对于
[0118][0119]
其中模组awb数据;r通道值,gr通道值,gb通道值,b通道值,高通lsc 数据,1,2,3,221就是不可变文字;
[0120]
154,211,202,166;
[0121]
156,178,165,153;
[0122]
152,175,167,157;
[0123]
154,171,161,154;
[0124]
148,168,160,143就是可变文字。
[0125]
d)凡是可变文字,都需要使用“可变数据标记语言”来进行替换。
[0126]
e)而不可变文字部分,可以直接编辑;另外如果存在循环逻辑,也可以在循环具体内部内容中,用%循环数字%来进行表示。
[0127]
f)实际举例,上面的情况,
[0128][0129]
执行步骤s3、基于所述目标转换规则,转码所述原始格式数据,输出目标格式数据;
[0130]
转换规则模块内设有获取原始格式语言,数据转换模块调用获取原始格式语言,
获取存储于数据服务器内的原始格式数据;
[0131]
获取原始格式语言
[0132]
a)原始格式数据,以特定固定格式存储在内部数据存储器上;
[0133]
b)格式转换规则中,不需要考虑第一个关键字:模组唯一识别码。原因是格式转换规则是可以应用于所有摄像头模组的,不专属用于某一颗摄像头。第一个关键字的来源,是数据转换模块在实际转换中,自动带入的参数。
[0134]
c)以符号“.”,来作为关键字连接符号。把几种相关的关键字进行连接。单个数据获取格式:多数据序号.校正模块名称.数据项名称.数据名称1
[0135]
d)集合数据获取格式:多数据序号.校正模块名称.数据项名称.数据名称 1[]
[0136]
e)其中[]表明这是一个集合数据。并且可以增加相应的参数,用于描述如何从集合中获取数据。
[0137]
f)集合数据如果没有任何附加参数,只有[]符号,那么标识获取全部的集合数据。并且按照原本的顺序。转换后的文字内容为“第一个数据,第二个数据,

,最后一个数据]”。
[0138]
g)[]中加入具体数据,如[1]、[13],表示从集合中,获取固定位置的单个数据。如果标识的数据位置,超过实际数据数量,在数据转换模块运行时,会报错告知具体原因。
[0139]
h)在[]后面,可以可选加上(),作为格式控制符号,内部可以填写的参数格式如下:
[0140]
[](数据之间分割符号,数据前附加文字,数据后附加文字)。
[0141]
数据之间分割符号,指的是每个数据间,用什么符号来进行分割,一般可以用“,”、“@换行”,
“”
等方式都可以,其中@换行,是转义符号表示文字会换行。
[0142]
i)举例说明:
[0143]
1.高通awb模块.awb数据.r通道数据
[0144]
1.高通awb模块.awb数据.b通道数据
[0145]
1.mtk lsc模块.lsc数据.全部数据[]
[0146]
2.mtk lsc模块.lsc数据.全部数据[14]
[0147]
1.mtk lsc模块.lsc数据.全部数据[](@换行,,)
[0148]
由于本技术提供的方法,仅需通过获取目标格式编码,再匹配所述目标格式编码对应的目标转换规则,最后基于所述目标转换规则,转码所述原始格式数据,输出目标格式数据,步骤简洁,在满足客户对存储格式多样化需求的同时方便易行。
[0149]
实施例3
[0150]
基于相同的发明构思,本技术实施例3提供一种电子系统,如附图4所示,包括存储器304、处理器302及存储在存储器304上并可在处理器302上运行的计算机程序,所述处理器302执行所述程序时实现上述数据转换方法的步骤。
[0151]
其中,在图4中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围系统、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器
303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器302 负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
[0152]
实施例4
[0153]
基于相同的发明构思,本发明实施例4提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述数据转换方法的步骤。
[0154]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它系统固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0155]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0156]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0157]
本领域那些技术人员可以理解,可以对实施例中的系统中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个系统中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者系统的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0158]
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0159]
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的电子系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的系统或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号
可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0160]
以上所述的仅是本技术的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本技术给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本技术的障碍。应当指出,对于本领域的技术人员来说,在不脱离本技术结构的前提下,还可以作出若干变形和改进,这些也应该视为本技术的保护范围,这些都不会影响本技术实施的效果和专利的实用性。本技术要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1