基于滑动窗二进制比对算法的导航数据增量信息提取方法

文档序号:9920831阅读:514来源:国知局
基于滑动窗二进制比对算法的导航数据增量信息提取方法
【技术领域】
[0001] 本发明涉及导航和电子地图技术领域,具体涉及一种基于滑动窗二进制比对算法 的导航数据增量信息提取方法。
【背景技术】
[0002] 电子导航地图的快速更新已经成为业界非常迫切的需求,尤其是因为数据没有能 够及时更新而导致导航错误的问题不断出现的情况下。同时,随着面向主动安全和无人驾 驶的下一代高精度车道级导航地图的逐步应用,地图数据从基础的导航、引导作用,逐步走 向车身控制和主动安全的高级功能,从而对数据的错误和陈旧导致的问题容忍度更低,因 此需要更为快速的、更为频繁的地图更新技术。
[0003] 在地图快速更新过程中,除了地图数据元素的差异感知、快速生产等问题外,如何 有效且尽量准确的提取新版本地图相对旧版本地图的更新信息,是地图以增量方式快速更 新的关键技术。电子导航地图由于数据表达紧凑性的要求,往往以二进制块为基础的组织 单位进行组织,因此基于二进制最大公共子序列算法进行差异信息的查找,是很自然的一 种增量信息提取方法。然而一般的最大公共子序列算法应用于导航地图数据的二进制比对 时,由于导航地图的基本二进制数据块都比较大(几 KB甚至几十MB),导致算法需要的空间 和时间往往都难以接受。因此,亟待提供一种能够提升算法性能,降低算法空间需求,且能 够有效提取新版本导航地图相对旧版本导航地图的增量信息包的的导航数据增量信息提 取方法。

【发明内容】

[0004] 有鉴于此,有必要提供一种在对导航数据具体组织格式依赖较低的情况下,能够 有效提取新版本导航地图相对旧版本导航地图的增量信息包的基于滑动窗二进制比对算 法的导航数据增量信息提取方法。
[0005] -种基于滑动窗二进制比对算法的导航数据增量信息提取方法,所述基于滑动窗 二进制比对算法的导航数据增量信息提取方法包括以下步骤:
[0006] S1、分别读取已有导航数据与更新导航数据中相同组织单位的二进制块数据,建 立已有二进制序列和更新二进制序列;
[0007] S2、分别对已有二进制序列和更新二进制序列设置滑动窗口,对滑动窗口的圈括 区域进行二进制比对,获取两个二进制序列中的连续公共子序列;
[0008] S3、同步移动滑动窗口,依次查找滑动窗口下一个圈括区域内的连续公共子序列, 直至两个二进制序列比对完毕;
[0009] S4、以已有二进制序列中相邻连续公共子序列之间的非公共子序列信息为基准, 比对更新二进制序列中位置相对的非公共子序列信息,提取增量信息类型,对已有二进制 序列进行更新替换。
[0010] 本发明所述基于滑动窗二进制比对算法的导航数据增量信息提取方法,对已有导 航数据与更新导航数据中相同组织单位的二进制序列设置滑动窗口,通过滑动窗口对二进 制序列进行比对,获取二进制序列中的连续公共子序列;并比对已有二进制序列中的非公 共子序列信息和更新二进制序列中的非公共子序列信息,提取增量信息类型,对已有二进 制序列进行更新替换。本发明所述基于滑动窗二进制比对算法的导航数据增量信息提取方 法,利用导航数据本身所具有的空间相关性特征,利用滑动窗口技术,将二进制序列连续公 共子序列算法的空间需求和时间需求都降低到线性级别,从而对超长(几 Μ甚至几十M)二进 制块也能够在可接受的空间需求和时间需求下完成计算,并得到准确的增量更新信息。
【附图说明】
[0011] 图1是本发明所述基于滑动窗二进制比对算法的导航数据增量信息提取方法的流 程框图;
[0012] 图2是图1中步骤S1的流程框图;
[0013]图3是图1中步骤S2的流程框图;
[0014] 图4是本发明所述基于滑动窗二进制比对算法的导航数据增量信息提取方法的另 一流程框图;
[0015] 图5是图4中步骤S2a的流程框图;
[0016] 图6是图1中步骤S3的流程框图;
[0017]图7是图1中步骤S4的流程框图;
[0018] 图8是本发明所述基于滑动窗二进制比对算法的导航数据增量信息提取方法中滑 动窗口的不意图;
[0019] 图9是本发明所述基于滑动窗二进制比对算法的导航数据增量信息提取方法中连 续公共子序列的示意图。
【具体实施方式】
[0020] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0021] 如图1所示,本发明实施例提供一种基于滑动窗二进制比对算法的导航数据增量 信息提取方法,所述基于滑动窗二进制比对算法的导航数据增量信息提取方法包括以下步 骤:
[0022] S1、分别读取已有导航数据与更新导航数据中相同组织单位的二进制块数据,建 立已有二进制序列和更新二进制序列;
[0023] S2、分别对已有二进制序列和更新二进制序列设置滑动窗口,对滑动窗口的圈括 区域进行二进制比对,获取两个二进制序列中的连续公共子序列;
[0024] S3、同步移动滑动窗口,依次查找滑动窗口下一个圈括区域内的连续公共子序列, 直至两个二进制序列比对完毕;
[0025] S4、以已有二进制序列中相邻连续公共子序列之间的非公共子序列信息为基准, 比对更新二进制序列中位置相对的非公共子序列信息,提取增量信息类型,对已有二进制 序列进行更新替换。
[0026] 其中,如图所示,所述步骤S1包括以下分步骤:
[0027] S11、以数据组织单位为基准单元,读取已有导航数据中单个基准单位的二进制块 数据,建立已有二进制序列;
[0028] S12、读入更新导航数据中与已有二进制序列相同的单个基准单位的二进制块数 据,建立更新二进制序列。
[0029]所述数据的读取,主要是将待比较的两个版本的地图数据,按照相同的组织单位 和相同的顺序,依次进行读入,以便后续比对算法进行比较。
[0030] 如图2所示,所述步骤S2包括以下分步骤:
[0031] S21、在已有二进制序列和更新二进制序列中设置滑动窗口,以滑动窗口的圈括区 域为基准,分别对已有二进制序列和更新二进制序列划分出已有单位子序列、更新单位子 序列作为当前的比较区域;
[0032] S22、自比较区域的首个字节开始,依次比较已有单位子序列、更新单位子序列中 的每个字节,如果已有单位子序列、更新单位子序列中具有相同的字节,则获取得到连续公 共子序列的起始字节;
[0033] S23、自所述连续公共子序列的起始字节开始,对应比较后续字节,直至相对应的 字节不相同,则获取到一个完整的连续公共子序列;
[0034] S24、以已获取的连续公共子序列的结束位置开始,对后续字节继续进行步骤S22 至S23的比较,不断查找出新的连续公共子序列,直至所述比较区域内所有字节均比较完 成。
[0035]具体的,设已有二进制序列为二进制序列A,设更新二进制序列为二进制序列B,并 设二进制序列A的起始位置为BEGIN_P0S_A,终止位置为END_P0S_A,二进制序列B的起始位 置为 BEGIN_P0S_B,终止位置为 END_P0S_B,在第一次比较时,BEGIN_P0S_A和BEGIN_P0S_B均 为0〇
[0036] 如图8所不,在二进制序列A和二进制序列B中设置滑动窗口,以滑动窗口的圈括区 域为基准,分别对二进制序列A、B划分出当前比较的单位子序列Ai和Bi。
[0037] 即:Ai为二进制序列A从BEGIN_P0S_A到END_P0S_A的子二进制序列。
[0038] Bi为二进制序列B从BEGIN_P0S_B到END_P0S_B的子二进制序列。
[0039] 分别以单位子序列Ai与单位子序列Bi为基础,自二进制序列A、二进制序列B的起 始位置BEGIN_P0S_A(分别记为PA、PB)开始,依次比较位于Pa和PB上的字节(分别记为:?和 如果尾馬V,则此为一个连续公共子序列的开始,并记为&〇为连续公共子序列的 编号,j = 〇,l,···)),如图9所示。
[0040]所述滑动窗口同时向后移动,对应比较后续字节,一直到^ #4?,则获取到一个 完整的连续公共子序列,记为&=I/5。λ , Ma,.,g i。
[0041 ]其中,所述滑动窗WIND0W_LEN的长度优选取较大的值,以便反应地图数
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1