发明名称 一种基于距离比值调制的矢量地理数据密级标识方法
摘要 本发明提供了一种基于距离比值调制的矢量地理数据密级标识方法。首先,读取涉密矢量地理数据并生成密级标识信息;其次,基于距离比值调制方法,对数据逐要素循环嵌入密级标识信息;最后,当需检测数据密级时,可通过循环提取密级标识信息,并经统计判别得到嵌入的密级标识信息。本发明的方法以三个特征点为一组,计算相邻两点间的距离,通过调制两者的距离比值,来嵌入密级标识信息,其算法简洁,具有较好的隐蔽性和鲁棒性。
申请公布号 CN105550971A 申请公布日期 2016.05.04
申请号 CN201510934522.3 申请日期 2015.12.15
申请人 南京师范大学 发明人 李梦圆;李安波;姚蒙蒙;陈楹;蒋伟
分类号 G06T1/00(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 李媛媛
主权项 一种基于距离比值调制的矢量地理数据密级标识方法,其特征在于,该方法具体的处理步骤如下:(一)密级标识嵌入步骤11生成密级标识,密级标识包括密级和保密期限信息;步骤12加载shp格式的线图层数据,记线图层的线要素集合为L={l<sub>i</sub>|i=1,2,...,m},m为线要素的个数;步骤13针对任一线要素l<sub>i</sub>,将其所包含点坐标信息读入集合P<sub>i</sub>={p<sub>ij</sub>|j=1,2,...,n},n为点的个数;步骤14特征点提取:运用道格拉斯‑普克算法对点集合P<sub>i</sub>进行抽稀,返回特征点在原来的点集合P<sub>i</sub>中位置的下标集合S<sub>i</sub>={s<sub>ij</sub>|j=1,2,...,q},q为特征点的个数;再根据集合P<sub>i</sub>和集合S<sub>i</sub>得到特征点集F<sub>i</sub>={f<sub>i</sub>|j=1,2,...,q},q同样为特征点的个数;步骤15密级标识信息嵌入:对于特征点集F<sub>i</sub>,记点f<sub>j</sub>的坐标为f<sub>j</sub>(x<sub>j</sub>,y<sub>j</sub>),执行以下操作:a)首先取连续的三个点f<sub>j‑2</sub>(x<sub>j‑2</sub>,y<sub>j‑2</sub>)、f<sub>j‑1</sub>(x<sub>j‑1</sub>,y<sub>j‑1</sub>)、f<sub>j</sub>(x<sub>j</sub>,y<sub>j</sub>),其中j为循环变量,初值为3,根据公式(1),分别计算线段<img file="FDA0000878855320000011.GIF" wi="169" he="85" />和<img file="FDA0000878855320000012.GIF" wi="131" he="86" />的长度<img file="FDA0000878855320000013.GIF" wi="171" he="85" />和<img file="FDA0000878855320000014.GIF" wi="151" he="74" /><maths num="0001"><math><![CDATA[<mrow><msub><mi>d</mi><mrow><msub><mi>f</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><msub><mi>f</mi><mi>j</mi></msub></mrow></msub><mo>=</mo><msqrt><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo><mi>+</mi><mo>(</mo><msub><mi>y</mi><mi>j</mi></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo><mo>(</mo><msub><mi>y</mi><mi>j</mi></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878855320000015.GIF" wi="1441" he="133" /></maths>其中,<img file="FDA0000878855320000016.GIF" wi="153" he="82" />为点f<sub>j‑1</sub>(x<sub>j‑1</sub>,y<sub>j‑1</sub>)和点f<sub>j</sub>(x<sub>j</sub>,y<sub>j</sub>)之间的距离;b)根据公式(2),计算距离比值r;<maths num="0002"><math><![CDATA[<mrow><mi>r</mi><mo>=</mo><mfrac><msub><mi>d</mi><mrow><msub><mi>f</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><msub><mi>f</mi><mi>j</mi></msub></mrow></msub><msub><mi>d</mi><mrow><msub><mi>f</mi><mrow><mi>j</mi><mo>-</mo><mn>2</mn></mrow></msub><msub><mi>f</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878855320000017.GIF" wi="899" he="166" /></maths>c)比值调制:将距离比值r的第b位小数替换为w<sub>u</sub>,并记为r′;其中b的值由用户定义,w<sub>u</sub>为一位的密级标识信息,u为密级标识循环变量,初值为1;d)根据公式(3),计算嵌入密级信息的点f<sub>j</sub>′,并替换掉特征点集F<sub>i</sub>中的点f<sub>j</sub>;<maths num="0003"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msup><msub><mi>x</mi><mi>j</mi></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><mfrac><msup><mi>r</mi><mo>&prime;</mo></msup><mi>r</mi></mfrac><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msup><msub><mi>y</mi><mi>j</mi></msub><mo>&prime;</mo></msup><mo>=</mo><msub><mi>y</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><mfrac><msup><mi>r</mi><mo>&prime;</mo></msup><mi>r</mi></mfrac><mrow><mo>(</mo><msub><mi>y</mi><mi>j</mi></msub><mo>-</mo><msub><mi>y</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000878855320000021.GIF" wi="985" he="215" /></maths>其中,(x<sub>j</sub>′,y<sub>j</sub>′)为点f<sub>j</sub>′的坐标;e)得到嵌入密级标识信息后的特征点集F<sub>i</sub>′,循环变量j加1,循环变量u按公式(4)计算取值,其中,4为密级标识信息的长度;<img file="FDA0000878855320000022.GIF" wi="1314" he="168" />循环执行步骤a)‑d),直至特征点集F<sub>i</sub>中的特征点遍历完毕;步骤16更新原点集:根据步骤14中的下标集合S<sub>i</sub>,将集合F<sub>i</sub>′中的点替换掉在原来的点集合P<sub>i</sub>中同位置的点,形成嵌入密级标识后的要素点集合P<sub>i</sub>′;步骤17循环执行步骤13至步骤16,直至线要素集合L中所有的线要素嵌入更新完毕;步骤18生成新的线要素集合L′,保存嵌入密级标识后的线图层数据;(二)密级标识提取步骤21加载含密级标识信息的线要素集合L′={l<sub>i</sub>′|i=1,2,...,m},m为线要素的个数;步骤22针对每一线要素l<sub>i</sub>′,将其所包含点坐标信息读入集合P<sub>i</sub>′={p<sub>ij</sub>′|j=1,2,...,n},n为点的个数;步骤23特征点提取:运用道格拉斯‑普克算法对点集合P<sub>i</sub>′进行抽稀,返回特征点在原来的点集合P<sub>i</sub>′中位置的下标集合S<sub>i</sub>′={s<sub>ij</sub>′|j=1,2,...,q},q为特征点的个数;再根据集合P<sub>i</sub>′和集合S<sub>i</sub>′得到特征点集合F<sub>i</sub>′={f<sub>j</sub>′|j=1,2,...q};步骤24密级标识信息提取:对于集合F<sub>i</sub>′,记点f<sub>j</sub>′的坐标为f<sub>j</sub>′(x<sub>j</sub>′,y<sub>j</sub>′),执行以下操作:f)首先取连续的三个点f<sub>j‑2</sub>′(x<sub>j‑2</sub>′,y<sub>j‑2</sub>′)、f<sub>j‑1</sub>′(x<sub>j‑1</sub>′,y<sub>j‑1</sub>′)、f<sub>j</sub>′(x<sub>j</sub>′,y<sub>j</sub>′),其中j为循环变量,初值为3,根据公式(1),分别计算线段<img file="FDA0000878855320000031.GIF" wi="203" he="87" />和<img file="FDA0000878855320000032.GIF" wi="157" he="90" />的长度<img file="FDA0000878855320000033.GIF" wi="202" he="88" />和<img file="FDA0000878855320000034.GIF" wi="175" he="87" />g)根据公式(2),计算距离比值r′;h)循环变量j加1;按步骤f)至步骤g)循环执行,得到比值集合R′={r<sub>j</sub>′|j=1,2,...,v},v为比值的个数;i)对于集合R′,循环取距离比值r<sub>j</sub>′的第b位小数,添加到字符串h<sub>i</sub>中,遇到标志位,将字符串h<sub>i</sub>添加到字符串集H<sub>i</sub>中,并将字符串h<sub>i</sub>置为空;j)将字符串集H<sub>i</sub>所包含的字符串添加到总的字符串集H中;步骤25循环执行步骤22至步骤24,直至线要素集合L′中所有的线要素的密级标识提取完毕;步骤26统计字符串集H中不同字符串出现的频率,出现频率最高的字符串即是密级标识信息;步骤27转换密级标识信息:根据步骤11,将出现频率最高的字符串根据位数进行分割,再转换成相应的密级和保密年限。
地址 210097 江苏省南京市鼓楼区宁海路122号