使用光学代码的数据传输的制作方法_3

文档序号:9872467阅读:来源:国知局
块而非 单独的正方形元素组成。
[0055]在图9的实施例的另一变体中,网格空间被彩色形状而不是彩色正方形占据。例 如,矩形、圆形、椭圆形、三角形、十字形、菱形、八卦形或其它的形状可以被使用。
[0056]图8A、8B和9的示例描述其中元素(例如,形状、图案填充的正方形、颜色填充的正 方形)以规定顺序通过网格重复的实施例。在其它实施例中,网格中的元素不以任何特定顺 序重复。例如,元素可以以随机顺序或以伪随机顺序布置在网格中。然而,在至少一些情况 下,如果元素以规定顺序重复,则用于图像的最小感测区域可以更小,因为这可以有助于确 保元素更平均地分布在整个光学代码中。
[0057]图8A、8B和9的示例还描述了其中规定的一组元素在网格中沿着行或沿着列重复 的实施例。例如,图9示出了沿着网格的每行重复的"红色正方形、绿色正方形、蓝色正方形" 的图案。在其它实施例中,两组或多组元素在网格中彼此正交地重复。在一个示例中,彩色 正方形的网格包括第一组元素,"红色正方形、绿色正方形、蓝色正方形",并且第二组元素, "黑色圆、黄色星、绿色正方形渐变色"。第一组和第二组在网格上重复,第一组和第二组彼 此正交地布置。
[0058] 图10示出用于生成光学代码的方法1000的示例性实施例。方法1000通过计算机被 执行并且可以通常被使用以生成本文中讨论的任一光学代码实施例。在方法操作1010中, 计算机接收数据以用于在光学代码中编码。数据包括例如,数字、字母、词或另一条信息。在 方法操作1020中,计算机生成具有多个编码区域的图像,每个区域都包括数据的相应表示。 换句话说,数据被编码在每个编码区域中,使得如上所述,数据可以使用区域中的任一个被 解码。在一些情况下,在方法操作1030中,光学代码被传送到用户。用户然后可以向代码读 取器展示代码。
[0059] 图11示出用于生成光学代码的另一方法1100的示例性实施例。类似方法1000,方 法1100通过计算机被执行并且可以被使用以生成本文中讨论的任一光学代码实施例。在方 法操作1110中,计算机接收数据以用于在光学代码中编码。数据包括例如,数字、字母、词或 另一条信息。
[0060] 在方法操作1120中,计算机从一组编码图像中选择图像。编码图像是可以用于表 示数据的图像。例如,图9的图像和参照图9的示例描述的其他图像可以形成一组编码图像, 图像可以从该组编码图像中被选择。来自图4A-4C的图像也可以形成一组。在一些情况下, 选择的图像包括至少两个元素,所述至少两个元素表示指示被编码数据的比率。例如,图4C 的光学代码450包括表示比率的小三角形和小圆形。作为另一示例,在图9中,红色正方形、 绿色正方形和蓝色正方形表示比率。在其它情况下,特定元素(例如,某个颜色或图案的元 素)的存在表示被编码数据。
[0061] 在一些实施例中,在方法操作1120中选择的图像形成光学代码。
[0062]在一些实施例中,在图像被选择之后,在方法操作1130中额外图像从一组编码图 像中被选择。选择的图像在方法操作1140中被组合以形成光学代码。图5和6的图像是其中 可以选择两个图像的多组图像的示例。图7示出从图5和6的图像产生的组合图像的示例。 [0063]光学代码是否基于组合图像或单个图像而生成取决于特定的实施例。在许多情况 下,可以使用单个图像或组合图像生成类似或相同的光学代码。例如,可以通过结合三个图 像以生成图9的图像,三个图像中的每个都包括用于相应颜色的多组正方形。作为另一示 例,图7的图像中的每个还可以被存储为单个图像,使得当使用时其不必从两个分离的图像 被生成。
[0064] 返回图11,在一些情况下,在方法操作1150中,光学代码被传送到用户。用户然后 可以向代码读取器展示代码。
[0065]图12示出用于解码光学代码的方法1200的示例性实施例。在方法操作1210中,光 学读取器使用图像传感器以获得图像。通常,图像至少是示出在便携式电子装置的显示器 上的图片的一部分。然而,在一些实施例中,图片是在一张纸或其它的非电子表面上。图片 包括本文中公开的任一光学代码的实施例。因此,所产生的图像包括至少一个编码区域并 且可能地包括多个编码区域。规定的编码区域可以由多个非邻近的更小的区域构成。在一 些实施例中,每个编码区域都包括至少第一元素和第二元素,元素之间的比率表示共用的 被编码数据值。在其它情况下,特定元素(例如,某个颜色或图案的元素)的存在表示被编码 数据。
[0066]在方法操作1220中,光学读取器识别图像中的第一元素和第二元素。这可以使用 任一计算机视觉算法被完成,例如来自诸如OpenCV的计算机视觉库的算法。
[0067] 在一些实施例中,读取器可以使用来自计算机视觉库的函数在图像中识别每个颜 色的最大区域或多个最大区域。该技术可以用于例如图9的多颜色网格。一旦每个颜色的区 域被确定,则每个颜色的区域的比率被确定。基于该比率,编码值(例如,使用查找表)被确 定。(使用颜色的)该实施例的伪代码的示例如下所示:
[0068] a = f ind_area (颜色=红色)
[0069] b = f ind_area (颜色=绿色)
[0070] c = f ind_area (颜色=蓝色)
[0071] r = evaluate_ratio(a,b,c)
[0072] encoded_value=decode(r)
[0073] (使用形状的)该实施例的伪代码的另一示例如下所示:
[0074] Num_shape_l = Count (findshape(十字形))
[0075] Num_shape_2 = Count (findshape(正方形))
[0076] r = evaluate_rat io(Num_shape_l,Num_shape_2)
[0077] encoded_value=decode(r)
[0078] 在其它实施例中,读取器在光学代码中识别特定图案或形状。基于哪个图案或形 状存在于代码中,读取器确定编码值。(使用图案的)该实施例的伪代码的示例如下所示:
[0079] a = find_pattern(点)
[0080] b = find_pattern(线)
[0081] 〇 = ;1^11(1_卩&1^61'11(阴影)
[0082] encoded_value = decode(为真(a),为真(b),为真(c))
[0083]在使用图像元素之间的比率的实施例中,在方法操作1230中,图像的第一元素和 第二元素的比率被确定。比率可以基于(1)第一元素和第二元素的相应数量,或比率可以基 于(2)由图像中的那些元素占据的相应表面面积的表面面积尺寸,或比率可以基于(1)和 (2)的混合。在不使用比率的实施例中,该方法操作被省略。
[0084]在方法操作1240中,光学读取器基于被确定的比率或被确定的元素来确定被编码 数据值。这可以使用例如数据结构被完成,数据结构表示哪些数据值对应哪些比率或哪些 对元素。这是上述表格1的示例。在一些实施例中,被确定数据值被传递到另一部件或系统, 诸如访问控制系统。
[0085]虽然方法1200的方法操作被描述为由光学读取器执行,但是至少一些方法操作可 以通过基于计算机的控制单元被替代地执行。
[0086]图13示出包括显示器1310的便携式电子装置1300的示例性实施例。在本实施例 中,光学代码1320被示出在由边框1330围绕的显示器1310上。边框1330有助于示出代码 1320的边界,使得光学读取器更不易于将代码1320外部的物体理解为代码的部分。在图13 中,边框1330是较厚的黑线,但是在各种实施例中,边框1330可以具有其它的形式和颜色。
[0087] 在具体的实施例中,光学读取器读取一系列多个光学代码。读取器可以观察例如 在智能手机或其它装置的显示器或非电子表面上的这些编码,非电子表面诸如为一张纸。 编码被示出为一个在另一个之后,类似于幻灯片或移动图片的形式。编码可以被循环地示 出以允许读取器具有多个机会以认识到编码。使用多个编码可以增加光学读取器从设备读 取的信息量。在一些实施例中,光学代码中的一个用作校验信息(例如,作为校验位或校验 图像)。在额外实施例中,编码中的一个表示一系列编码的启动。
[0088] 在一些情况下,当便携式电子装置显示一系列光学代码时,单独编码的可读性可 以通过显示在每个代码之间的"中性"边框而被改进。中性边框是主要用于表示在光学代码 之间的过渡的图像。例如,中性边框可以是单色边框,诸如黑色、灰色、白色或另一颜色的边 框。另外地,可以以比光学读取器的帧速度高的速度示出编码。例如,可以以约为光学读取 器的帧速度的两倍(例如,读取器具有约30fps的帧速度,并且图像以约60fps的帧速度被示 出)的速度示出编码。这可以避免当电子装置的显示器和光学读取器的图像传感器不同步 时出现的问题。
[0089] 便携式电子装置可以使用多个软件程序显示光学代码,例如:网络浏览器;(例如, 用于图形、用于电影或二者的)媒体浏览器;专用程序;或另一程序。
[0090] 在至少一些公开实施例中,光学代码的特征
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1