基于编码标记的编解码方法与流程

文档序号:15689037发布日期:2018-10-16 21:39阅读:295来源:国知局

本发明涉及信息处理技术领域,尤其涉及一种基于编码标记的编解码方法。



背景技术:

随着信息技术的飞速发展,人们日益普遍地使用计算机来生产、处理、交换和传播各种形式的信息。信息技术逐渐改变着人们传统的生活习惯。传统的利用纸张和笔进行书写的方式无法进行信息化处理,因此无法满足人们的需要。

现有技术中,使用编码图案把某种类型的信息嵌入诸如纸张页、写字板或等价物的无源基底中。利用编程的扫描仪、传真机、照相机或数字笔就可以读取、重建和使用本地嵌入到基底中的信息。例如,可以为基底上的人类可读的图形信息补充嵌入的用于扩展基底功能的机器可读信息。这种嵌入信息可以包括用于图形信息、命令、补充文本或图像、超链接、绝对位置等的全部或部分重建的文件数据。因此,如何对嵌入信息进行编码以及检测设备如何读取信息进行准确解码成为需要解决的问题。



技术实现要素:

本发明的目的是提供一种基于编码标记的编解码方法,能够实现对嵌入基底中的信息进行有效编解码。

为实现上述目的,第一方面,本发明提供了一种基于编码标记的编码方法,所述方法包括:

生成第一编码标记,利用多个所述第一编码标记偏离预设位置的位移方向对每个位置进行编码,得到位置码;

生成第二编码标记,利用多组所述第二编码标记偏离预设位置的位移量对内容信息进行编码,得到信息码;

每组所述第二编码标记包括第二数量个编码标记,所述第二数量大于所述第一数量;

将所述位置码和所述信息码进行叠加处理生成组合码,从而实现信息项的编码。

进一步的,所述方法还包括:

利用多组所述第二编码标记对同一个所述信息项进行重复编码。

进一步的,所述信息项包含多个元素,利用每组所述第二编码标记对至少两个所述元素进行编码。

进一步的,所述信息项包含多个元素,每个所述第二编码标记对一个所述元素进行编码。

进一步的,所述信息项包括地址信息、基底布局信息、加密信息、访问信息中的一项或多项。

第二方面,本发明提供了一种基于编码标记的解码方法,所述方法包括:

获取信息项的编码图形信息,所述编码图形信息中包含第一编码标记和第二编码标记;

对所述编码图形信息进行解析,提取第一编码标记和第二编码标记;

确定所述第一编码标记偏离预设位置的位移方向;

确定所述第二编码标记偏离预设位置的位移量;

根据所述第一编码标记和所述位移方向对所述信息项的位置进行解码;

根据所述第二编码标记和所述位移量对所述信息项的内容信息进行解码。

进一步的,所述信息项包含至少两个元素,所述方法还包括:识别所述第一编码标记对应的信息项的元素。

进一步的,所述方法还包括:

利用所述第一编码标记偏离预设位置的位移方向识别所述第一编码标记对应的信息项的元素。

进一步的,识别所述第一编码标记对应的信息项的元素具体包括:

利用多组第一编码标记中的连续组之间的第一编码标记的置换处理对所述第一编码标记对应的信息项的元素进行识别。

进一步的,所述方法还包括:根据基底上笔划的编码图形信息确定笔划的位置信息和内容信息。

本发明实施例提供的基于编码标记的编解码方法,利用编码标记与预设位置的位移对嵌入基底中的信息进行编解码,从而实现手写笔记的信息化处理。

附图说明

图1为本发明实施例提供的信息码的示意图;

图2为本发明实施例提供的编码标记的四个不同的位置示意图;

图3为本发明实施例提供的位置码的一部分的示意图;

图4为本发明实施例提供的组合码的编码标记的位移示意图;

图5为本发明提供的基于编码标记的编码方法的流程图;

图6为本发明提供的基于编码标记的解码方法的流程图。

具体实施方式

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

本发明技术方案中的执行主体为具有图像采集和处理功能的数字笔。

图1为本发明实施例提供的信息码的示意图,该信息码可覆盖在基底上的位置码上,与该位置码相结合或者被嵌入该位置码,以生成组合码。该信息码可包含贴铺在基底(例如纸张)1的表面上的多个单元6。该代码可相对于位置码(图1中未示出)具有固定位置,因此,假设单元的大小已知,则可从位置码确定在组合码上移动的数字笔检测到的当前单元的单元坐标。每个单元可在每个单元内利用多个编码标记对同一段信息编码。因此,每个单元对信息项进行编码。信息项可包含多个信息项元素。在图1所示的示例中,信息项可在单元6内包含编号为1-12的十二个元素。每个元素可被用一个或多个编码标记编码。信息项可包含二进制数据,在信息码中该二进制数据的每一位被用一个编码标记编码。每个信息项元素因此可代表一个或多个数据位。

利用位置码确定了笔的当前位置,就可使用单元大小确定笔看到的当前单元。

另外,可使用位置码、单元大小和关于如何使用编码标记对信息项编码的信息,确定笔看到的每个信息项编码标记的数量和相应的信息项元素。

用户可在文档1上做出一个或多个笔划7。笔划可被记录为在空间上且临时相关的位置的序列。笔可具有接触检测器,该接触检测器检测当笔放在基底上并随后从基底上抬起的时刻。在“笔放下”和下一个“笔抬起”之间记录的位置可被定义为笔划。

在做出笔划7的同时,数字笔通常移动越过多个单元6。但是,笔的视野可能不会大得足以使笔可在单个图象内记录一个完整的信息码单元。在图1的示例中,在笔划7期间笔捕获的每个图象8将仅包含一对信息元素。但是当笔移动时,将捕获包含不同单元内的不同信息元素的另外的图象8,并且最终将记录信息项的所有元素1-12。通过从不同单元生成的元素的信息对在信息码的单元内被重复编码的信息项解码。

在信息码的单元内编码的信息项可以是用单元内的可用信息空间编码的任何信息。其可以是非位置数据。其例如可以是地址指示,例如文档的创作者的电子邮件地址或文档将被发送到的url,或者可帮助从基底接收信息的应用程序正确处理信息的与基底的布局有关的信息,或者可被用于加密从基部记录的笔划的加密信息例如加密密钥,或者可被用于将基部的使用局限于特定笔的访问信息项。

信息码覆盖在其上的位置码可以是对表面上的绝对位置编码的任何类型的位置码。每个位置可用单个符号编码,根据被该位置码编码的位置的数量该单个符号可能相当复杂。可选择地,每个位置可用两个或多个较不复杂的编码。在其中每个符号仅对两个可能的值之一编码的位置码可使用最简单的符号。在此情况下,符号仅必须具有两个可辨别的状态。

另外,位置码可贴铺在基底上,从而每个位置通过仅用于对该位置编码的一个或多个编码标记编码。可选择地,位置码可“浮动”,从而位置码的预定大小的任何部分区域可定义一个位置。在此情况下,用于对一个位置编码的符号中的至少一部分还可用于另一位置的编码。

下文将示例性说明可用于组合码的特定位置码,该组合码对位置指示和一个或多个重现的信息段编码。

该位置码基于数序,该数序在下文被称为差数序列。该差数序列具有以下属性,即如果其呈现为具有预定长度的任意部分序列,例如具有五个差数的部分序列,则此部分序列在该差数序列内总是具有被明确确定的位置。换句话说,其在差数序列内仅出现一次,并且因此可被用于位置确定。具有此属性的序列称为debruijn序列。更准确地说,差数序列沿位置码的x轴以及y轴“运行”。

应用在基底上的实际位置码由编码标记22构成,根据该标记相对于预设位置23或光栅点的位置,该标记可具有四个不同的值0-3。如图2所示,每个符号为圆点形,并且在沿四个不同方向之一相对于预设位置23位移距离24。预设位置23位于可见或不可见或虚拟光栅或网格中的光栅线21之间的交点处。被符号编码的值由该位移方向确定。每个符号0-3可被转换成用于对x坐标编码的一个位和用于对y坐标编码的另一个位,即被转换成位偶(0,0),(0,1),(1,0)和(1,1)。因此,可沿x方向和y方向单独进行编码,但是可利用x位和y位相同的编码标记编码。

可选地,距离24不小于两条相邻的光栅线21之间的距离的大约1/8并且不大于大约1/4,优选地大约1/6。每个位置用6x6个编码标记编码,该编码标记可被转换成用于该位置的x坐标的6x6位矩阵和用于该位置的y坐标的6x6位矩阵。如果考虑x位矩阵,则该矩阵可被分成六列,每列六个位。每个按列的位序列构成63位长的循环主数序列中的一个部分序列,该主数序列具有以下属性,即如果选择长度为6个位的部分序列,则该部分序列在该主数序列内具有被明确确定的位置。因此,六个列被转换成六个位置数或序列值,其对应于主数序列内的六个位置。在这六个位置数之间,在相邻的对内形成五个差数,这些差数构成差数序列的部分序列,并且因此在该差数序列内具有被明确确定的位置,因此沿x轴线具有被明确确定的位置。对于特定x坐标,位置数将根据y坐标改变。另一方面,差数将相同而与y坐标无关,因为位置数总是根据主数序列改变,而该主数序列在整个位置编码模式中在列内循环重复。

因此,y位矩阵内的六个行定义了主数序列内的六个位置数。这六个位置数定义了五个差数,该差数构成差数序列的部分序列并且沿y轴具有被明确确定的位置。

信息码可通过被叠加在位置码上或者与位置码交错而覆盖在位置码上,在叠加在位置码上的情况中,信息段被还在位置码中用于对位置进行编码的编码标记编码,在与位置码交错的情况中,位置码和信息码使用不同的编码标记对位置和信息进行编码。还可想到交错和叠加的组合。在此情况下,在组合码中的一些编码标记用于位置编码以及信息编码,一些编码标记仅用于位置编码而一些编码标记仅用于信息编码。

信息码可在基底上的位置码的整个范围上或者仅在其一部分上覆盖在位置码上。信息码和位置码可在基底上被不同或相同地图形编码。如果为位置码和信息码使用不同的编码标记,例如当代码交错时,信息码的编码标记和位置码的编码标记的图形表示可相互独立。

这两个代码可使用相同的图形参数例如不同大小的点来对编码标记的不同值编码。或者,代码可使用不同的参数。信息码可使用被不同地旋转的斜线来对不同的值编码,而位置码可使用不同形状的点对不同值编码。

如果信息码和位置码共用一些编码标记,则编码标记的同一个参数可被用于对信息码的值和位置码的值编码。可选择地,可使用不同参数。在第一种情况下,位置码的值和信息码的值的不同组合可被用编码标记的不同大小或者符号沿不同方向的位移编码。在第二种情况下,位置码的值可被用点的位移方向编码,而信息码的值可被用点的不同颜色或颜色强度编码。

组合位置和信息码的符号可根据预定的规则被分成多个组。每个组可包括预定数量的属于位置码的符号和预定数量的属于信息码的符号。假设存在使关联符号位置即由位置码确定的基底上的位置与信息码的特定编码标记相关联的算法,该组可以任何可想到的方式形成。编码标记可被分成贴铺在组合码上的单元。单元可被定义为组合码中的相干区域,其中所有信息编码标记对信息项的同一个实例编码。单元的大小和形状可在不同基底之间并且根据将在该信息码内被编码的信息段改变。

作为使标记位置与信息码的特定编码标记相关联的算法的可选择方法,可在基底上用图形标记单元,例如用基底上的附加标记或属于位置码和/或信息码的标记的特定特征标记单元。

如上所述,每组编码标记可包括比笔在其视野内可看到的编码标记多的编码标记。所有组可对同一信息段编码,或者可对较少量的不同信息段编码。在后一种情况中,解码设备需要能够区分哪些组对第一信息段编码,哪些组对第二信息段编码等等。

下文将参照图4说明应用在基底例如纸张上的组合码的特定实现的一个示例,图4示意性地示出组合码的一小部分。图4内的所有符号22用于位置编码,并因此属于位置码。这些符号还沿四个方向中的任何一个方向偏离相应的预设位置23,该预设位置23被光栅线或网格线21的交点限定。

信息码叠加在位置码上,从而信息码可使用还被用于对位置编码的编码标记。在此示例中,位置码中的从左上角开始的每隔一个编码标记用于信息码。在图4中,点22i属于信息码和位置码,而点22p仅属于位置码。位置被用属于位置码的编码标记的位移方向的变化编码。位移24p的大小对于所有四个方向相同。信息项被用属于信息码的编码标记的位移程度的变化编码。在此示例中,每个信息编码标记或者从预设位置偏移正常距离24p以“0”编码,或者从预设位置偏移两倍的正常距离24i以对“1″编码。

下文,将参照上述数字笔和上述示例性组合码说明用于对组合码解码的一个示例性实施例。

当在具有组合码的基底上使用数字笔时,数字笔中的接触传感器检测笔尖被按在基底上的时间,并触发数字笔中的照相机系统以捕获在其视野内的组合码的部分区域的图象。照相机继续捕获图象,直到接触传感器206检测到笔从基底上抬起。照相机系统206捕获的一系列图象构成组合码的不同部分区域的一系列编码图形。

该一系列编码图形内的组合码的解码可在数字笔的解码模块内或在另一个电子装置的解码模块内执行,编码图形被从笔传递给该另一个电子装置。编码图形可如被捕获地或者以被或多或少处理的形式被传递。解码可选择地可在数字笔和另一个装置之间分配,从而数字笔执行解码的第一部分而另一个装置执行第二部分。

在解码模块的解码过程的第一步中,确定笔捕获的图象的位置。上述类型的位置码的解码可包括以下步骤,定位该图象内的编码标记,使光栅配合该编码标记,确定编码标记离开由光栅线交点定义的预设位置的位移方向,并且基于该编码标记的位移计算位置。

应注意,不必一定通过计算从位置码计算位置。该位置码还可用于通过使被捕获的图象的编码标记与预计该笔所处的特定区域内的位置码的表示匹配,或者通过使接收到的编码图形内的编码标记与以前接收到的编码图形匹配确定位置,以便设立相对位置。

当图象内的编码标记的位置被确定并且图象内的编码标记的x-y位置已经被解码时,在该图象内看到的信息码的部分可被解码。对于解码,使用与解码模块相关联的两个存储缓冲器。每个存储缓冲器的大小与在信息码内编码的信息段相同,即在此示例中为128位。下文,存储缓冲器被称为累加器缓冲器acc和贡献者缓冲器cono对于属于信息码的图象内的每个编码标记,执行以下步骤:

1)计算编码标记的中心与相关联的网格交点之间的距离offs。

2)以如上所述的相同方式,计算整数xi,整数yi和整数bit_number。

3)使用p,xi,yi和bit_number计算permuted_bit_number。

4)用offs更新累加器缓冲器acc:

acc[permuted_bit_number]+=offs。

5)用1更新贡献者缓冲器con:

con[permuted_bit_number]+=1。

然后,累加器缓冲器累加信息码的不同码元素的相应的位移,而贡献者缓冲器跟踪信息码的特定位被笔看到的次数。

当已经如上所述处理所有图象时,对于所有信息项元素计算得到的偏移量:offset[n]=acc[n]/con[n],其中n是在1和128之间的索引。如果任何信息项元素的con的值为0,则这意味着此笔划中没有此信息项元素。

作为替代方法,贡献者缓冲器可不用1更新,而是用反映信息码的相关编码标记的观察的可靠性的值更新。接近图象边缘的编码标记可例如被给定较小的权重,这是因为该编码通过受投射失真更大地影响。

如果当对组合码编码时使用纠错机构,则解码过程使用相同的纠错机构,以检测并校正误差和/或遗漏位。

编码图形的上述处理得到构成在一个或多个笔划期间、即在一个或多个电子笔划笔在基底上的移动的编码图形的一系列位置。还会得到被部分或完全解码的信息项。

在最后一步中,解码过程可使该信息项与电子笔划相关联。如上所述,由位置码获得的每个位置可被转换成页面指示和该页面上的局部位置。笔划通常被表示为页面指示和一系列局部位置。这样,笔能够知道在哪一页面上写下笔划。当信息项被解码时,解码过程可检查信息项是否已经被解码并且与当前页相关联。如果是,则解码过程可任意地检查与以前存储的信息项的逐位一致性。如果当前信息项的位数据与以前的信息项的位数据足够相似,则然后可聚集不同的笔划的位数据。这样,可增加信息项正确解码的可能性。相反,如果被解码的信息项的位数据完全不同,则这指示已经在两个不同的页面上写,并且解码过程可采取合适的操作。

如果解码过程可能确定在多页面文档的不同页面上的笔划属于在所有页面上具有相同信息码的同一个文档,则其会使用此事实来从不同页面上的所有笔划收集关于数据项的信息,从而增加信息项正确解码的可能性。解码过程可访问以下信息,即该信息指示页面的特定组绝不会代表不同的文档,而仅是出现在多页面文档内。解码过程还可或者可选择地比较如上所述被从不同页面的笔划解码的信息位数据,并且基于数据的相似性做出关于连接页面的假设。

因此,解码过程或者可访问关于用于特定页面上的信息代码的单元大小的信号。

可选地,解码过程可针对不同的单元大小平行地执行解码。当比较从不同笔划收集的信息位数据时,用于编码的单元大小将显而易见。

图5为本发明实施例提供的基于编码标记的编码方法的流程图。如图所示,本发明实施例的基于编码标记的编码方法包括:

步骤510,生成第一编码标记,利用多个所述第一编码标记偏离预设位置的位移方向对每个位置进行编码,得到位置码。

步骤520,生成第二编码标记,利用多组所述第二编码标记偏离预设位置的位移量对内容信息进行编码,得到信息码。

其中,每组所述第二编码标记包括第二数量个编码标记,所述第二数量大于所述第一数量。

步骤530,将所述位置码叠加在所述信息码上生成组合码;

步骤540,利用所述组合码对信息项进行编码。

另外,所述方法还包括:

利用多组所述第二编码标记对同一个所述信息项进行重复编码。

其中,信息项包含多个元素,所述方法还包括:利用每组第二编码标记对至少两个元素进行编码。每个第二编码标记对一个元素进行编码。

信息项还包括地址信息、基底布局信息、加密信息、访问信息中的一项或多项。

以上步骤中的具体实现过程已经在上文实施例中进行了详细介绍,此处不再赘述。

图6为本发明实施例提供的基于编码标记的解码方法的流程图。如图5所示,本发明实施例的基于编码标记的解码方法包括:

步骤610,获取信息项的编码图形信息,所述编码图形信息中包含第一编码标记和第二编码标记;

步骤620,对所述编码图形信息进行解析,提取第一编码标记和第二编码标记;

步骤630,确定所述第一编码标记偏离预设位置的位移方向;

步骤640,确定所述第二编码标记偏离预设位置的位移量;

步骤650,根据所述第一编码标记和所述位移方向对所述信息项的位置进行解码;

步骤660,根据所述第二编码标记和所述位移量对所述信息项的内容信息进行解码。

其中,信息项包含至少两个元素,所述方法还包括:识别第一编码标记对应的信息项的元素。具体的,利用第一编码标记偏离预设位置的位移方向识别第一编码标记对应的信息项的元素。

识别第一编码标记对应的信息项的元素具体包括:

利用多组第一编码标记中的连续组之间的第一编码标记的置换处理对第一编码标记对应的信息项的元素进行识别。

另外,所述方法还包括:根据基底上笔划的编码图形信息确定笔划的位置信息和内容信息。

以上步骤中的具体实现过程已经在上文实施例中进行了详细介绍,此处不再赘述。

本发明实施例提供的基于编码标记的编解码方法,利用不同的编码标记与预设位置的位移对嵌入基底中的信息进行编解码,从而实现手写笔记的信息化处理。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1