CN105339950B - 使用差分图像的光学通信 - Google Patents

使用差分图像的光学通信 Download PDF

Info

Publication number
CN105339950B
CN105339950B CN201380078008.3A CN201380078008A CN105339950B CN 105339950 B CN105339950 B CN 105339950B CN 201380078008 A CN201380078008 A CN 201380078008A CN 105339950 B CN105339950 B CN 105339950B
Authority
CN
China
Prior art keywords
bar code
code image
image data
data
replacement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380078008.3A
Other languages
English (en)
Other versions
CN105339950A (zh
Inventor
Y.Q.姜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN105339950A publication Critical patent/CN105339950A/zh
Application granted granted Critical
Publication of CN105339950B publication Critical patent/CN105339950B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06112Constructional details the marking being simulated using a light source, e.g. a barcode shown on a display or a laser beam with time-varying intensity profile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/08Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1095Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices the scanner comprising adaptations for scanning a record carrier that is displayed on a display-screen or the like
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/12Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using a selected wavelength, e.g. to sense red marks and ignore blue marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1465Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Optics & Photonics (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

与光学通信相关的技术包括用于使用差分图像传送条形码的技术。

Description

使用差分图像的光学通信
背景技术
在一些示例中,光学通信可以包括提供条形码,诸如线性(例如,一维(ID))条形码或者矩阵(例如二维(2D))条形码,其可以利用信息进行编码并且使用读取器或图像捕捉装置等进行读取。在一些实例中,产生、捕捉和/或解码条形码由于过度曝光/曝光不足、周围环境光、阴影、或反射等所引起的噪声而可能是不稳定的。这样的不稳定性对于2D条形码和/或对于经由诸如例如液晶显示(LCD)显示器的显示屏幕呈现的条形码可能是特别成问题的。例如,在条形码经由显示屏幕呈现时,反射可能比在条形码经由纸张等呈现时更强,特别是在室外环境、明亮区域或黑暗区域等中。这样的显示屏幕可以包括用于移动装置或用于数字标牌等的显示屏幕。
此外,可以提供比黑和白条形码更大的数据容量的诸如彩色2D条形码的彩色条形码可能具有由于上述原因而导致的不稳定性以及由于在例如2D彩色图像的产生和捕捉期间的颜色偏移而导致的附加的不稳定性。
用来应付这样的问题的当前技术包括使用局部适应性阈值来帮助减小噪声。这样的技术在少量噪声的情况下可以有帮助,但是在例如中等或高水平噪声情况下并无帮助。此外,当前技术可以通过将所有可能的颜色呈现在条形码的保留区域来应付颜色偏移,这可能减小条形码的容量。
由于令人期望的是让条形码包含更多数据并且由于经由显示屏幕进行通信变得更加普遍,精确和可预测地产生、捕捉和解码条形码可以是有利的。
附图说明
本文中描述的材料作为示例并且不作为限制在所附图中图示。为了图示的简单和清楚,图中图示的元件不必按比例绘出。例如,为了清楚,一些元件的尺寸相对于其他元件放大。此外,在考虑合适的情况下,附图标记已经在图当中重复以指示对应或类似元件。在图中:
图1是示例条形码图像和示例替换图像的直观图;
图2是均具有示例反射的示例条形码图像和示例替换图像的直观图;
图3是用于对捕捉的条形码图像数据和相关联的捕捉的替换图像数据执行操作以生成比较的条形码图像数据的示例方法;
图4是用于编码和显示条形码图像和替换条形码图像以及用于捕捉和解码条形码图像和替换条形码图像的示例系统的直观图;
图5是图示示例过程的流程图;
图6是图示示例过程的流程图;
图7是图示示例过程的流程图;
图8是图示示例过程的流程图;
图9是用于使用差分图像来提供光学通信的示例系统和过程的直观图;
图10是用于使用差分图像的光学通信的示例系统的直观图;
图11是示例系统的直观图;以及
图12图示了全部根据本公开的至少一些实现而布置的示例装置。
具体实施方式
现参照附图描述一个或多个实施例或实现。虽然论述了具体配置和布置,但应理解,这仅为说明目的而完成。相关领域技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。对于相关领域技术人员来说明显的是,本文中描述的技术和/或布置也可以用在除了本文中描述的以外的各种其他系统和应用中。
虽然以下描述阐明了可以以诸如片上系统(SoC)体系结构的体系结构表现的各种实现,但是本文中描述的技术和/或布置的实现不限于特定体系结构和/或计算系统并且可以由用于类似目的的任何体系结构和/或计算系统来实现。例如,采用例如多个集成电路(IC)芯片和/或封装、和/或各种计算装置和/或诸如机顶盒、智能电话等的消费电子(CE)装置的各种体系结构可以实现本文中描述的技术和/或布置。此外,虽然以下描述可以阐明大量具体细节,诸如逻辑实现、系统部件的类型和相互关系、逻辑分区/集成选择等,但在没有这样的具体细节的情况下可以实践所要求保护的主题。在其他实例中,一些材料(诸如例如控制结构和全软件指令序列)可以不详细示出以免使本文中公开的材料晦涩难懂。
本文中公开的材料可以以硬件、固件、软件或任何其组合来实现。本文中公开的材料也可以作为存储在机器可读介质上的指令来实现,指令可以由一个或多个处理器来读取和执行。机器可读介质可以包括用于存储或传输以由机器(例如计算装置)可读形式的信息的任何介质和/或机构。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪存装置;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等。
在说明书中所提及的“一个实现”、“实现”、“示例实现”等指示所描述的实现可以包括特定特征、结构或特性,但每个实施例可以不必包括该特定特征、结构或特性。此外,这样的短语不必指代相同实现。此外,在结合实施例描述特定特征、结构或特性时,应认为的是,在本领域的技术人员的知识内,结合其他实现来实现这样的特征、结构或特性,无论是否在本文中明确描述所述其它实现。
以下相对于光学通信描述系统、设备、物品和方法,光学通信包括用于使用差分图像而传送条形码的技术。
如上所述,可以期望精确和可预测地产生、捕捉和解码条形码。如以下将更详细描述的,在一些示例中,输入数据可以进行编码以生成条形码图像数据。替换、互补或者差分条形码图像数据可以被生成并且与条形码图像数据相关联。在各种示例中,替换条形码图像数据可以表示条形码图像数据的负片(negative)、纯黑图像、条形码图像数据的转置等。条形码图像数据可以呈现为条形码图像而替换图像数据可以经由显示装置呈现为替换图像。在一些示例中,条形码图像和替换图像可以通过随着时间的过去而在图像之间切换或者随着时间的过去而使图像交替等来呈现在显示装置的相同区域中。
条形码图像和替换图像可以在诸如照相机等的捕捉装置处捕捉以生成捕捉的条形码图像数据和捕捉的替换图像数据。可以对捕捉的条形码图像数据和捕捉的替换图像数据执行操作以生成比较条形码图像数据。在各种示例中,操作可以包括绝对值差、相减、相加、相乘等。在一些示例中,条形码输出数据可以基于比较条形码图像数据来生成。
如所论述的,在一些示例中,由于显示器的环境(例如,室外、在眩光中、在阴影中等)或显示器本身等,捕捉的图像可以包括亮点、暗点、颜色偏移或其他类型的噪声等,这可以使条形码图像数据被不正确地解码。在这样的示例中,比较的条形码图像数据可以减少或去除这样的噪声以允许正确解码。这样的比较或差分技术可以改进随这样的噪声呈现的条形码被正确解码的速率。
图1是根据本公开的至少一些实现布置的示例条形码图像110和示例替换条形码图像120的直观图。如所示,条形码图像110可以包括多个条形码元素112和可选的边界114、此外,如所示,在一些示例中,条形码图像110可以包括黑和白矩阵(例如二维(2D))条形码图像。在一些示例中,条形码图像120可以包括线性(例如,一维(1D))条形码图像。在一些示例中,条形码图像120可以包括彩色条形码图像。此外,在一些示例中,条形码图像120可以包括测试区域、对准区域等,其为了清楚呈现起见而未示出。
在各种示例中,输入数据可以使用已知技术而编码为条形码图像120。在一些示例中,各个条形码元素112可以被编码以使得它们可以提供二进制编码(例如,黑色为一而白色为零,或反之亦然)。在一些示例中,各个条形码元素112可以至少部分基于它们的大小进行编码。如所论述的,在一些示例中,条形码元素112可以是彩色的并且可以基于它们的颜色和/或大小进行编码。在一些示例中,颜色编码可以提供与三个颜色通道相关联的3位。例如,在红绿蓝(RGB)颜色空间中,每个通道可以以0或255(对于每个通道最大和最小)来编码,以对三位数据编码。例如,111位模式可以编码为(255, 255, 255)=白色,100位模式可以编码为(255, 0, 0)=红色,010位模式可以编码为(0, 255, 0)=绿色,诸如此类。在其他示例中,其他颜色或其他颜色空间可以用于编码。虽然在本文中相对于黑色和白色编码和/或RGB编码进行论述,但是本文中论述的技术不限于此并且可以以其他编码技术和/或颜色空间来实现。
如图1所示,替换条形码图像120可以包括对于条形码图像110的互补图像。例如,图像120可以基于用于精确和可预测地传送条形码图像110的技术来选择或生成。如所示,在一些示例中,替换条形码图像120可以包括条形码元素122和边界124。在一些示例中,如所示,替换条形码图像120可以为条形码图像110的负片。在所示黑和白图像中,例如,条形码图像110的负片可以包括代替黑色元素112的白色元素122以及代替(一个或多个)白色元素112的(一个或多个)黑色元素122。在彩色条形码图像的示例中,条形码图像110的负片可以提供来自条形码图像110的颜色,其在替换条形码图像120中颠倒为它们各自的补色。在一些示例中,替换条形码图像120可以为单色或纯色,诸如例如纯黑。例如,使用本文中论述的解码技术,纯黑替换图像可以提供加亮并且减小眩光效果。在其他示例中,替换条形码图像120可以为纯色,诸如白色、红色、绿色或蓝色等。
如本文中进一步论述的,条形码图像110和替换条形码图像120可以由显示装置呈现并且经由图像捕捉装置捕捉并且进行解码。如论述的,在一些示例中,条形码图像110的呈现和捕捉中的噪声可以引起解码条形码图像110的困难。
图2是根据本公开的至少一些实现布置的均具有示例反射210的示例条形码图像110和示例替换条形码图像220的直观图。如所示,在图2中图示的示例中,替换条形码图像220可以为纯黑替换图像。在一些示例中,如图示的,纯黑替换条形码图像220可以包括黑色条形码元素222和黑色边界224。如所示的,反射210可以使条形码元素112和边界114的一部分发亮,使得例如意图为黑色的条形码元素112(包括条形码元素112a)和边界114的该部分可以呈现和捕捉为灰色或浅灰色等。如所示的,在这样的示例中,意图为白色的条形码元素112(包括条形码元素112b)的该部分可以基本上保持白色。类似地,反射210可以使替换条形码图像220的意图为黑色的部分呈现和捕捉为灰色。
虽然相对于黑和白条形码上的反射进行图示,但这样的缺陷或噪声可以包括宽范围的噪声,诸如例如阴影、眩光、颜色偏移、过度曝光/曝光不足、变色的周围环境光等等。
图3是根据本公开的至少一些实现布置的用于对捕捉的条形码图像数据和相关联的捕捉的替换条形码图像数据320执行操作330以生成比较的条形码图像数据的示例方法。如本文中进一步论述的,条形码图像(例如条形码图像110)和替换图像(例如,替换条形码图像120或220)可以由显示装置呈现并且由图像捕捉装置捕捉。图像捕捉装置可以生成与条形码图像相关联的捕捉的条形码图像数据310以及与替换图像相关联的捕捉的替换条形码图像数据320。同样如论述的,捕捉的图像和捕捉的图像数据可以具有由于图像的呈现和捕捉中的多种因素而导致的噪声。基于对捕捉的条形码图像数据310和捕捉的替换条形码图像数据320执行的操作330,在所生成的比较的条形码图像数据340中可以减小或去除这样的缺陷和噪声,使得捕捉的条形码图像数据340可以正确地解码。
在各种示例中,操作330可以包括将捕捉的条形码图像数据310与捕捉的替换条形码图像数据320相加、将捕捉的条形码图像数据310与捕捉的替换条形码图像数据320相乘、求取捕捉的条形码图像数据310与捕捉的替换条形码图像数据320之间的绝对值差、将捕捉的条形码图像数据310与捕捉的替换条形码图像数据320相减、确定来自从捕捉的替换条形码图像数据320减去捕捉的条形码图像数据310的正数,或者确定来自从捕捉的条形码图像数据310减去捕捉的替换条形码图像数据320的正数等。操作330可以使用捕捉的替换条形码图像数据320作为基线或作为比较数据集等而从捕捉的条形码图像数据310去除噪声。
使用图2中图示的示例,表示0的条形码元素112a可以在与条形码图像110相关联的条形码图像数据中在RGB颜色空间中编码为(0, 0, 0)=黑色。然而,如所论述的,在呈现、捕捉和解码之后,条形码元素在捕捉的条形码图像数据310中可以解码为例如(110, 120,90)=灰色。例如,仅基于条形码图像数据310使用先前的技术,这样的解码可以错误地解码为白色(例如,表示1;白色=(255, 255, 255))。如所论述的,这样的噪声可以由例如反射210引起。在一些示例中,使用纯黑替换条形码图像220,相关联的条形码元素222a在纯黑替换条形码图像220中可以表示为(0, 0, 0)=黑色,并且在呈现、捕捉和解码之后,纯黑条形码元素可以例如在捕捉的替换条形码图像数据320中解码为例如(105, 125, 90)。
在这样的示例中,操作330可以包括捕捉的条形码图像数据310与捕捉的替换条形码图像数据320之间的绝对值差。例如,对于条形码元素112a和相关联的条形码元素222a,绝对值差可以为,其可以指示条形码元素112a被编码为黑色。例如,所捕捉和解码的由反射210引起的条形码元素112a的灰度与也受反射210影响的相关联条形码元素222a的灰度之间的绝对值差可以基本上抵消(例如,基本上接近于零),以针对受影响的元素正确解码黑色。
相比之下,对于可以编码为白色=(255, 255, 255)的条形码元素112b,所捕捉和解码的值在捕捉的条形码图像数据310中可以是(255, 255, 255)。对于替换条形码图像220的相关联的条形码元素222b,所捕捉和解码的值在捕捉的替换条形码图像数据320中可以是(105, 125, 90)(例如,如上面的)。如果条形码图像数据与替换纯黑图像数据之间的绝对值差的操作330针对条形码元素112b和相关联的条形码元素222b而执行,则绝对值差可以是|(255, 255, 255)-(105, 125, 90)|=(140, 130, 165),其可以解码为白色。在一些示例中,可以应用阈值,使得阈值以上的值可以解码为白色而阈值以下的值可以解码为黑色。在一些示例中,对于RGB颜色空间的每个通道,阈值可以是大约15或25或35等。
在另一示例中(未图示),在黑色和白色条形码中,表示1的条形码元素可以在条形码图像数据中在RGB颜色空间中编码为(255, 255, 255)=白色。然而,在呈现、捕捉和解码之后,条形码元素在捕捉的条形码图像数据310中可以解码为例如(80, 90, 60)=灰色,其可能会被错误地解码为黑色(例如表示0;黑色=(0, 0, 0))。这样的噪声可能会例如由在呈现条形码图像时曝光不足以及图像捕捉装置的有限动态范围所导致。在一些示例中,使用负片替换图像,负片条形码元素可以在负片替换图像中表示为(0, 0, 0)=黑色。在呈现、捕捉和解码之后,负片条形码元素可能再次会由于在呈现和捕捉硬件等中的限制而在捕捉的替换条形码图像数据320中解码为例如(50, 55, 40)。
例如,操作330可以是条形码图像与替换图像之间的差,可以在这样的示例中执行,使得所论述的条形码图像元素与相关联的图像元素的差可以是(80, 90, 60)-(50,55, 40)=(30, 35, 20),其可以指示条形码元素是白色的。例如,(30, 35, 20)的差可以指示所呈现和捕捉的条形码图像元素(白色)与所呈现和捕捉的负片替换条形码图像元素(黑色)之间的相对强的差。在各种示例中,RGB颜色空间的每个通道的差阈值(诸如例如大约15或25或35的阈值)可以用于确定解码值。
此外,这样的技术可以减小由于颜色偏移导致的噪声。例如,在彩色条形码示例(未图示)中,以001的位模式表示的3位数据的条形码元素可以在RGB颜色空间中编码为0,0, 1以及(0, 0, 255)=蓝色。然而,在呈现、捕捉和解码之后,条形码元素可以在捕捉的条形码图像数据310中解码为例如(30, 120, 180)=浅绿蓝色,其可能错误地解码为例如绿色。在一些示例中,使用负片替换图像,负片条形码元素可以在负片替换图像中表示为(255, 255, 0)=黄色。在呈现、捕捉和解码之后,负片条形码元素可以再次由于在呈现和捕捉硬件或颜色偏移等中的限制而在捕捉的替换条形码图像数据320中解码为例如(220,255, 5)=绿黄色。
例如,操作330可以确定捕捉的条形码图像数据310与捕捉的替换条形码图像数据320之间的差的正值,可以被执行(并且将负值设定为零)。例如,用来确定差的正值的操作可以为,其可以指示条形码元素为蓝色并且如期望的正确地解码至位模式001。例如,确定捕捉的条形码图像数据310与捕捉的替换条形码图像数据320之间的差的正值可以提供用于任何颜色偏移的基线。
在图2的所示示例以及所论述的示例中,可以对表示两个图像(例如,条形码图像和替换图像)的图像数据进行操作,以使用绝对值差、差和操作来确定比较条形码图像数据,所述操作确定条形码图像数据与替换图像数据之间的差的正值(以及将负值设定为零)。在各种其他示例中,操作可以包括将图像数据相加、将图像数据相乘、确定替换图像数据与条形码图像数据之间的差的正值(以及将负值设定为零)的操作等。此外,在一些示例中,在操作330之前,可以对条形码图像数据或替换图像数据执行各种操作(诸如转置、旋转、应用阈值、数据平滑等)。
仍进一步地,在一些示例中,可以使用表示多于两个图像的图像数据。在一些示例中,可以提供多个不同的替换图像。在其他示例中,在执行操作之前,多个复制(duplicative)图像可以被捕捉和平均等。此外,可以对图像的不同部分执行多个操作。例如,图像的一些部分可以利用第一操作进行解码,而第一操作可能不适合于对图像的(一个或多个)另外部分解码,并且可以对(一个或多个)另外部分执行不同操作以对它们进行解码。而且,如果第一操作在解码条形码图像数据方面失败,则可以对条形码图像数据和替换图像数据执行第二或附加的不同操作以试图解码该条形码数据,或者可以对不同的条形码图像和替换图像组合尝试相同(例如第一)操作。如以下论述的,在一些示例中,条形码图像和替换图像可以被提供多次(例如在交替模式下)并且可以试图解码各种条形码图像和替换图像组合。
图4是根据本公开的至少一些实现布置的用于对条形码图像110和替换条形码图像120、220进行编码和显示以及用于对条形码图像110和替换条形码图像120、220进行捕捉和解码的示例系统400的直观图。如所示,系统400可以包括系统410(例如,编码和显示系统)以及系统440(例如捕捉和解码系统)。如本文中进一步论述的,系统410可以将输入数据415编码以生成条形码图像数据425并且可以生成替换条形码图像数据427。条形码图像数据425和/或替换条形码图像数据427可以是被格式化以经由显示装置430显示条形码图像110和/或替换条形码图像120、220的任何数据。此外,系统440可以经由图像捕捉装置450捕捉条形码图像110和/或替换条形码图像120、220以生成捕捉的条形码图像数据310和/或捕捉的替换条形码图像数据320,其可以例如经由图像缓冲器460存储。系统440可以对捕捉的条形码图像数据310和/或捕捉的替换条形码图像数据320进行解码以生成输出数据475,如本文中进一步论述的。
虽然图4将系统400图示为采用特定模块,但是为了清楚起见,也可以根据本公开使用图4中未描绘的各种其他模块或部件。此外,本公开不限于图4中所示的特定部件和/或以其布置系统400的各种部件的方式。本文中描述的系统的各种部件可以以软件、固件和/或硬件和/或任何其组合来实现。例如,系统400的各种部件可以至少部分由片上计算系统(SoC)的硬件来提供,诸如可以在诸如例如移动电话的计算系统中找到。
此外,可以认识到的是,系统410可以与内容供应者系统或内容显示系统相关联和/或由其提供。还可以认识到,系统440可以与内容接收者系统相关联。在各种示例中,系统410和/或系统440可以包括物理上彼此不同的计算装置(例如,台式计算机、膝上型计算机、平板计算机、可转换膝上型计算机、移动电话等)。例如,在一些实现中,系统410可以包括消费者的移动装置而系统440可以包括商人的装置,使得消费者可以显示指示店铺信用的条形码以供商人捕捉、解码和处理。在其他实现中,系统410可以包括广告商的显示器而系统440可以包括消费者的移动装置,使得消费者可以捕捉指示广告或用于广告的网站等的条形码。在各种示例中,系统410和系统440可以以宽范围的实现来配置以提供系统410和系统440之间的光学通信。
如图4所示,系统410可以经由条形码编码模块420将输入数据415编码。输入数据415可以包括任何数据,诸如广告数据、产品数据、文本数据、互联网链接数据(例如,(一个或多个)统一资源定位器)等。编码模块420可以使用已知技术来编码输入数据415以生成条形码图像数据425。如所论述的,条形码图像数据425可以是适合于经由系统410显示的任何数据。同样如所示的,条形码编码模块可以生成替换条形码图像数据427。在一些示例中,条形码编码模块220可以在每次生成条形码图像数据425时生成替换条形码图像数据427。在其他示例中,替换条形码图像数据427可以生成一次并且与多个条形码图像数据一起使用。在其他示例中,诸如例如,当纯色替换条形码图像数据427实现时,条形码编码模块可以不需要生成替换条形码图像数据427,并且替换条形码图像数据427可以从图像缓冲器(为了清楚呈现起见在系统410中未示出)等中找回。
如图4所示,与条形码图像数据425相关联的条形码图像110以及与替换条形码图像数据427相关联的替换条形码图像120、220可以经由显示装置430显示。条形码图像110和替换条形码图像120、220可以使用任何合适技术或多种技术来显示。在一些示例中,条形码图像110和替换条形码图像数据120、220可以显示在显示装置430的相同或类似部分上,使得任何噪声(所描述的技术可以减小或消除其)可以基本上在条形码图像110和替换条形码图像120、220两者上复制。在一些示例中,条形码图像110和替换条形码图像120、220可以交替地显示在显示装置230上,使得条形码图像210首先显示,然后替换条形码图像120、220显示,或者使得替换条形码图像120、220首先显示,然后条形码图像110显示。
在一些示例中,条形码图像110可以是静态条形码图像,使得数据的单帧(例如图像)将在系统410与系统440之间传送。在这样的示例中,条形码图像110和替换条形码图像120、220可以以诸如每秒10帧等的帧率交替显示。在一些示例中,条形码图像110和替换条形码图像120、220可以以经由图像捕捉装置450实现的捕捉速率的一半交替显示,如以下进一步论述的。在其他示例中,条形码图像110可以是静态动态条形码图像,使得数据的多帧(例如图像)将在系统410与系统440之间传送。在这样的示例中,条形码图像11和替换条形码图像120、220可以表示多帧中的一帧。在这样的示例中,条形码图像110(表示为I-1)和替换条形码图像120、220(表示为AI-1)可以是诸如出于示例性目的的三帧或图像(其中第二和第三分别表示为I-2和I-3并且在一些示例中具有替换图像AI-2和AI-2)的若干帧或图像中的一个。
在一些动态条形码示例中,动态条形码可以通过在显示装置430的相同区域上显示条形码图像110、显示替换条形码图像120、220以及随后显示多个图像的任何剩余图像来呈现。继续以上示例,动态条形码可以通过按次序地显示:I-1、AI-1、I-2、AI-2、I-3和AI-3以及如果有必要则重复所需要的这样的顺序来呈现。在一些其他动态条形码示例中,动态条形码可以通过以下来呈现:在显示装置430的相同区域上显示条形码图像110、显示与多个图像的任何剩余图像相关联的一个或多个图像,以及随后显示替换条形码图像120、220。再次继续以上示例,在这样的示例中,动态条形码可以通过按次序地显示:I-1、I-2、I-3、AI-1、AI-2和AI-3以及如果有必要则重复所需要的这样的顺序来呈现。
如所论述的,在各种示例中,条形码图像和替换条形码图像120可以交替地显示和/或使用各种顺序来显示。在一些示例中,这样的显示可以以针对系统210和/或系统240的操作可以提供的规格或其他标准来提供。
如所示,条形码图像110和替换条形码图像120、220可以在图像捕捉装置450处捕捉以生成捕捉的条形码图像数据310和捕捉的替换条形码图像数据320,如参照图3论述的。图像捕捉装置450可以包括任何能够捕捉条形码图像110和替换条形码图像120、220的装置,诸如例如照相机或扫描仪等。在一些示例中,捕捉的条形码图像数据310和捕捉的替换条形码图像数据320可以经由图像缓冲器460存储。图像缓冲器460可以包括任何存储器装置,诸如例如随机存取存储器装置或随机存取存储器装置的块或部分。图像缓冲器460可以配置为接收、存储和传输捕捉的条形码图像数据310和捕捉的替换条形码图像数据320。例如,图像缓冲器可以从图像捕捉装置250接收捕捉的条形码图像数据310和捕捉的替换条形码图像数据320、存储捕捉的条形码图像数据310和捕捉的替换条形码图像数据320,以及将捕捉的条形码图像数据310和捕捉的替换条形码图像数据320传输至条形码解码模块470(或者允许条形码解码模块存取捕捉的条形码图像数据310和捕捉的替换条形码图像数据320)。
如图4所示,条形码解码模块470可以接收条形码图像数据310和捕捉的替换条形码图像数据320并且生成输出数据475。例如,条形码解码模块470可以对条形码图像数据310和捕捉的替换条形码图像数据320执行操作330以生成比较条形码图像数据340并且条形码解码模块470可以基于比较条形码图像数据340生成输出数据475。在一些示例中,在如本文中论述的成功编码、显示、图像捕捉和解码时,输出数据475可以匹配或基本上匹配输入数据415。
在一些示例中,基于比较条形码图像数据340来解码输出数据475可以包括一个或多个操作,诸如:对比较条形码图像数据340施加降噪操作、在定位比较条形码图像数据340中的码区域的一个或多个通道(例如,通道可以包括黑色和白色通道或者多个通道,诸如红色通道、绿色通道和蓝色通道等)上对比较条形码图像数据340二进制化、和/或对比较条形码图像数据340进行解码以生成输出数据475或解码的条形码数据。例如,解码的条形码数据可以生效,并且如果生效,匹配解码的条形码数据的输出数据475可以通过条形码解码模块470传输。如果解码的条形码数据不是有效的,可以执行随后的处理以致力于解码所接收的条形码图像数据310和捕捉的替换条形码图像数据320,如本文中进一步论述的。
如参照图4论述并且将在以下更详细论述的,系统,诸如计算机实现系统可以用于执行本文中关于图1-3论述以及本文中其他地方论述的各种操作中的一些或全部。
图5是图示根据本公开的至少一些实现布置的示例过程500的流程图。在一些示例中,过程500可以提供用于生成条形码图像的计算机实现方法。在所示实现中,过程500可以包括如由操作502、504和/或506中的一个或多个图示的一个或多个操作、功能或动作。作为非限制性示例,过程500在本文中将参照以上关于图1-3论述的操作以及如本文中论述的示例系统400来描述。
过程500可以用作用于提供生成条形码图像的计算机实现方法。过程500可以开始于操作502,“将输入数据编码以生成条形码图像数据”,其中输入数据可以被编码以生成条形码图像数据。例如,输入数据415可以由条形码编码模块420编码以生成条形码图像数据。输入数据415可以包括任何适合于在条形码图像中编码的数据,诸如文本数据等。
处理可以从操作502继续到操作504,“生成与条形码图像数据相关联的替换条形码图像数据”,其中可以生成与条形码图像数据相关联的替换条形码图像数据。例如,替换条形码图像数据可以不同于条形码图像数据并且与其互补。例如,条形码编码模块420可以生成替换条形码图像数据427。
处理可以从操作504继续到操作506,“交替地显示与条形码图像数据相关联的条形码图像以及与替换条形码图像数据相关联的替换条形码图像”,其中可以经由显示装置交替地显示与条形码图像数据相关联的条形码图像以及与替换条形码图像数据相关联的替换条形码图像。例如,如本文中论述的,条形码图像110和替换条形码图像120、220可以经由显示装置430交替地显示。
如图5所示,在一些示例中,操作902-906可以连续地执行。然而,如本文中论述的,图5的操作可以以另一次序执行,并且一些操作可以完全跳过。此外,如所描述的,图5的操作可以用于对输入数据进行编码并且显示条形码图像和替换条形码图像。在一些示例中,可以执行另外的操作以对输入数据进行编码并且显示条形码图像和替换条形码图像。
图6是图示根据本公开的至少一些实现布置的示例过程600的流程图。在一些示例中,过程600可以提供用于对条形码图像进行解码的计算机实现方法。在所示实现中,过程600可以包括如由操作602、604、606和/或608中的一个或多个图示的一个或多个操作、功能或动作。作为非限制性示例,过程600在本文中将参照以上关于图1-3论述的操作以及如本文中论述的示例系统400来描述。
过程600可以用作用于对条形码图像进行解码的计算机实现方法。过程600可以开始于操作602,“捕捉条形码图像以生成捕捉的条形码图像数据”,其中可以捕捉条形码图像以生成条形码图像数据。例如,条形码图像110可以由图像捕捉装置450捕捉以生成捕捉的条形码图像数据310。
处理可以从操作602继续到操作604,“捕捉替换条形码图像以生成捕捉的替换条形码图像数据”,其中可以捕捉替换条形码图像以生成替换条形码图像数据。例如,替换条形码图像数据可以与条形码图像数据相关联并且替换条形码图像数据不同于条形码图像数据。例如,替换条形码图像120、220可以由图像捕捉装置450捕捉以生成捕捉的替换条形码图像数据320。在一些示例中,捕捉的替换条形码图像数据320可以表示条形码图像110的负片图像,或者捕捉的替换条形码图像数据320可以表示纯黑图像等。
处理可以从操作604继续到操作606,“对捕捉的条形码图像数据以及捕捉的替换条形码图像数据执行操作以生成比较条形码图像数据”,其中可以对条形码图像数据以及替换条形码图像数据执行操作以生成比较条形码图像数据。例如,条形码解码模块470可以对捕捉的条形码图像数据310和捕捉的替换条形码图像数据320执行操作330以生成比较条形码图像数据340。
处理可以从操作606继续到操作608,“基于解码比较条形码图像数据来生成条形码输出数据”,其中条形码输出数据可以至少部分基于解码比较条形码图像数据来生成。例如,条形码解码模块470可以基于解码比较条形码图像数据340来生成输出数据475。
如图6所示,在一些示例中,操作602-608可以连续地执行。然而,如本文中论述的,图6的操作可以以另一次序执行(例如,操作602和604可以以相反次序执行),并且一些操作可以完全跳过。此外,如所描述的,图6的操作可以用于对条形码图像进行解码。在一些示例中,可以执行另外的操作以对条形码图像进行解码,如以下关于图7和8任意一个所示的。
例如,图7描述了关于解码条形码图像执行的操作。图7是图示根据本公开的至少一些实现布置的示例过程的流程图。在一些示例中,过程700可以提供用于对条形码图像进行解码的计算机实现方法。在所示实现中,过程700可以包括如由操作701、702、703、704、705、706、707和/或708中的一个或多个图示的一个或多个操作、功能或动作。作为非限制性示例,过程700在本文中将参照关于图1-4和6论述的操作以及如本文中论述的示例系统400来描述。
过程700可以用作用于对条形码图像进行解码的计算机实现方法。例如,过程700可以用作在替换条形码图像为纯黑替换图像时用于对条形码图像进行解码的计算机实现方法。在这样的示例中,条形码图像可以是黑和白条形码或彩色条形码,如本文中论述的。过程700可以开始于操作701,“获得条形码图像数据(I1)以及纯黑替换条形码图像数据(I2)”,其中可以获得条形码图像数据以及纯黑替换条形码图像数据。例如,条形码图像110和替换条形码图像220可以经由图像捕捉装置450捕捉以生成捕捉的条形码图像数据310和捕捉的替换条形码图像数据320。虽然描述为“纯黑”,但纯黑条形码图像数据可以包括由于如本文中论述的眩光或反射等而导致的噪声。
处理可以从操作701继续到操作702,“将比较条形码图像数据确定为绝对值差IDIFF=ABSDIFF(I1-I2)”,其中可以确定比较条形码图像数据。例如,条形码解码模块470可以对捕捉的条形码图像数据310和捕捉的替换条形码图像数据320执行操作330以生成比较条形码图像数据340,使得操作330包括给定为IDIFF=ABSDIFF(I1-I2)的绝对值差,其中IDIFF可以是比较条形码图像数据而ABSDIFF可以是求取条形码图像数据(I1)与替换条形码图像数据(I2)之间的绝对值差的操作。
如以上论述的,在一些示例中,诸如例如IDIFF的比较条形码图像数据可以被解码以生成条形码输出数据。在其他示例中,比较条形码图像数据可以通过提供如在操作703-705处所示的另外的操作来解码。虽然关于比较条形码图像数据IDIFF论述,但在解码之前,如本文中论述的,可以对任何比较条形码图像数据执行操作704-705。
如所示,处理可以在操作703处继续,“对比较条形码图像数据IDIFF降噪”,其中诸如例如IDIFF或者比较条形码图像数据340等的比较条形码图像数据可以被降噪。处理可以从操作703继续到操作704,“对比较条形码图像数据IDIFF进行二进制化”,其中诸如例如IDIFF或者比较条形码图像数据340等的比较条形码图像数据可以被二进制化。处理可以从操作704继续到操作705,“在比较条形码图像数据IDIFF中定位码区域”,其中诸如例如IDIFF或者比较条形码图像数据340等的比较条形码图像数据中的码区域可以被定位。处理可以从操作705继续到操作706,“对比较条形码图像数据IDIFF进行解码以生成解码的条形码数据”,其中诸如例如IDIFF或者比较条形码图像数据340等的比较条形码图像数据可以被解码以生成解码的条形码数据。
处理可以从操作706继续到决定操作707,“解码的条形码数据有效?”,其中可以确定解码的条形码数据是否有效。如果确定了解码的条形码数据是有效的,则过程700可以在操作708处继续,“输出解码的条形码数据”,其中解码的条形码数据可以被提供为输出数据。例如,解码的条形码数据可以提供为输出数据475等。如果确定解码的条形码数据无效,则过程700可以在操作701处继续,其中操作701-707可以使用不同的条形码图像数据、不同的纯黑替换条形码图像数据或者不同的条形码图像数据和不同的纯黑替换条形码图像数据两者而基本上重复。例如,如本文中论述的,图像捕捉装置450可以捕捉任何数量的条形码图像和/或替换条形码图像用于如本文中论述的解码。
如所示,过程700可以包括环路,使得各种条形码图像和/或替换条形码图像可以按需要解码以按照所论述的获得有效输出数据。在一些示例中,如果失败的阈值数量已经出现,则用户可以(例如,经由系统440的显示装置(未示出))被通知该失败。
在另一示例中,图8描述了关于解码条形码图像执行的操作。图8是图示根据本公开的至少一些实现布置的示例过程的流程图。在一些示例中,过程800可以提供用于对条形码图像进行解码的计算机实现方法。在所示实现中,过程800可以包括如由操作801、802、803、804、805、806、807、808和/或809中的一个或多个图示的一个或多个操作、功能或动作。作为非限制性示例,过程800在本文中将参照关于图1-4和6论述的操作以及本文中论述的示例系统400来描述。
过程800可以用作用于对条形码图像进行解码的计算机实现方法。例如,过程800可以用作在替换条形码图像为负片替换图像(例如,条形码图像的负片)时用于对条形码图像进行解码的计算机实现方法。在这样的示例中,条形码图像可以是黑和白条形码或彩色条形码,如本文中论述的。过程800可以开始于操作701,“获得条形码图像数据(I1)以及负片替换条形码图像数据(I2)”,其中可以获得条形码图像数据以及负片替换条形码图像数据。例如,条形码图像110和替换条形码图像120可以经由图像捕捉装置450捕捉以生成捕捉的条形码图像数据310和捕捉的替换条形码图像数据320。如所论述的,在各种示例中,条形码图像数据310和捕捉的替换条形码图像数据320可以包括由于如本文中论述的多种因素导致的噪声。
处理可以从操作801继续到操作802,“将比较条形码图像数据确定为绝对值差IDIFF=ABSDIFF(I1-I2)”,其中可以确定比较条形码图像数据。例如,条形码解码模块470可以对捕捉的条形码图像数据310和捕捉的替换条形码图像数据320执行操作330以生成比较条形码图像数据340,使得操作330包括给定为IDIFF=ABSDIFF(I1-I2)的绝对值差,其中IDIFF可以是比较条形码图像数据而ABSDIFF可以是求取条形码图像数据(I1)与替换条形码图像数据(I2)之间的绝对值差的操作。
如以上论述的,在一些示例中,诸如例如IDIFF的比较条形码图像数据可以被解码以生成条形码输出数据。在其他示例中,比较条形码图像数据可以通过提供在操作803处所示的以及以上关于操作703-705所论述的另外操作来解码。如所示,处理可以在操作803处继续,“对比较条形码图像数据IDIFF降噪、二进制化以及在其中定位码区域”,其中诸如例如IDIFF或者比较条形码图像数据340等的比较条形码图像数据可以被降噪和二进制化,并且其中比较条形码图像数据中的码区域可以被定位。
处理可以从操作803继续到操作804,“从比较条形码图像数据确定正值IDIFFCode=PositiveNumbers(IDIFF(I1-I2))”,其中可以确定比较条形码图像数据。例如,条形码解码模块470可以对捕捉的条形码图像数据310和捕捉的替换条形码图像数据320,或者对已处理的比较条形码图像数据IDIFF执行操作330以生成比较条形码图像数据340,使得操作330包括确定来自从条形码图像数据减去替换条形码图像数据的正值,其被给定为IDIFFCode=PositiveNumbers(IDIFF(I1-I2)),其中IDIFFCode可以是比较条形码图像数据而PositiveNumbers可以是从相减操作(以及在一些示例中可以将负值设定为零)确定正值的操作。
处理可以从操作804继续到操作805,“对比较条形码图像数据IDIFFCode进行解码以生成解码的条形码数据”,其中诸如例如IDIFFCode或者比较条形码图像数据340等的比较条形码图像数据可以被解码以生成解码的条形码数据。
处理可以从操作805继续到操作806,“解码的条形码数据有效?”,其中可以确定解码的条形码数据是否有效。如果确定解码的条形码数据是有效的,则过程800可以在操作810处继续,“输出解码的条形码数据”,其中解码的条形码数据可以被提供为输出数据。例如,解码的条形码数据可以被提供为输出数据475等。
如果确定解码的条形码数据无效,则过程800可以在操作807处继续,“从比较条形码图像数据确定负值IDIFFCode2 = IDIFF-IDIFFCode”,其中可以确定比较条形码图像数据。例如,条形码解码模块470可以对捕捉的条形码图像数据310和捕捉的替换条形码图像数据320,或者对已处理的比较条形码图像数据IDIFF和IDIFFCode执行操作330以生成比较条形码图像数据340,使得操作330包括确定来自从条形码图像数据减去替换条形码图像数据的负值,其被给定为IDIFFCode2= IDIFF-IDIFFCode,其中IDIFFcode2可以是比较条形码图像数据。在其他示例中,在操作807处,从条形码图像数据减去替换条形码图像数据的负数(例如分量)可以表示为正值(例如,负分量可以被确定并且用作幅度值)。在一些示例中,在操作807处,来自从替换条形码图像数据减去条形码图像数据的正数可以用于确定负分量的幅度。
处理可以从操作807继续到操作808,“对比较条形码图像数据IDIFFCode2进行解码以生成解码的条形码数据”,其中诸如例如IDIFFCode或者比较条形码图像数据340等的比较条形码图像数据可以被解码以生成解码的条形码数据。处理可以从操作808继续到决定操作809,“解码的条形码数据有效?”,其中可以确定解码的条形码数据是否有效。如果确定解码的条形码数据是有效的,则过程800可以在操作810处继续,“输出解码的条形码数据”,其中如论述的,解码的条形码数据可以被提供为输出数据。
如果确定解码的条形码数据无效,则过程800可以在操作701处继续,其中操作801-809可以使用不同的条形码图像数据、不同的负片替换条形码图像数据或者不同的条形码图像数据和不同的负片替换条形码图像数据两者而基本上重复。例如,如本文中论述的,图像捕捉装置450可以捕捉任何数量的条形码图像和/或替换条形码图像用于本文中论述的解码。
如所示,过程800可以包括环路,使得各种条形码图像和/或替换条形码图像可以按需要解码以按照所论述的获得有效输出数据。在一些示例中,如果失败的阈值数量已经出现,则用户可以(例如,经由系统440的显示装置(未示出))被通知该失败。
在一些示例中,过程500、600、700和/或800可以提供呈现和解码条形码图像,如本文中论述的。按照需要,过程500、600、700和/或800可以串行地或并行地重复任何次数。此外,过程500、600、700和/或800可以经由硬件、软件、固件或其组合来实现,如本文中进一步论述的。
本文中论述的技术可以针对传送条形码图像提供改进的精度以及解码成功率。例如,在具有强反射的测试中,精确解码率从不使用替换图像的大约17%改进到在使用替换图像和所描述的技术时的大约97%。在具有强反射和颜色偏移的测试中,精确解码率从不使用替换图像的大约0%改进到在使用替换图像和所描述的技术时的大约71%。
此外,本文中描述的技术可以与其他技术结合以改进解码。在一些示例中,条形码图像与替换条形码图像之间的移动可以被使用诸如例如描述符匹配技术的各种技术来检测和校正。此外,在一些示例中,本文中论述的技术可以与仅使用条形码图像来提供解码的标准技术结合使用。例如,在仅使用条形码图像的解码失败时,可以执行本文中论述的技术,或者条形码图像的失败区域可以使用所论述的技术等成功地解码。
与过程500、600、700和/或800和或系统400有关的一些附加和/或替换的细节可以在以下更详细地论述的实现的一个或多个示例中图示。
图9是根据本公开的至少一些实现布置的用于解码和显示条形码图像和替换条形码图像以及用于捕捉和解码条形码图像和替换条形码图像的示例系统400和过程900的直观图。在所示实现中,过程900可以包括如由操作901、902、903、904、905、906、907、908、909、910和/或911中的一个或多个图示的一个或多个操作、功能或动作。作为非限制性示例,过程900在本文中将参照本文中论述的示例系统400来描述。
在所示实现中,系统400可以包括逻辑模块910等和/或其组合。例如,逻辑模块910可以包括系统410,其可以包括条形码编码模块420和/或显示装置430;以及系统440,其可以包括图像捕捉装置450、图像缓冲器460和/或条形码解码模块470等,和/或其组合。在各种示例中,系统410和系统440可以如本文中所论述的分开实现。
条形码编码模块420例如可以配置为对输入数据进行编码以生成条形码图像数据和/或生成与条形码图像数据相关联的替换条形码图像数据。显示装置430例如可以配置为交替地显示与条形码图像数据相关联的条形码图像以及与替换条形码图像数据相关联的替换条形码图像。
图像捕捉装置450例如可以配置为捕捉条形码图像以生成条形码图像数据和/或捕捉不同于条形码图像的替换条形码图像以生成替换条形码图像数据。图像缓冲器460例如可以配置为。条形码解码模块470例如可以配置为对条形码图像数据和替换条形码图像数据执行操作以生成比较条形码图像数据、至少部分基于比较条形码图像数据的解码来生成条形码输出数据、和/或传输条形码输出数据。
过程900可以用作用于提供条形码通信的计算机实现方法。过程900可以开始于操作901,“将输入数据编码以生成条形码图像数据”,其中输入数据可以被编码以生成条形码图像数据。例如,输入数据415可以由条形码编码模块420编码以生成条形码图像数据。输入数据415可以包括任何适合于在条形码图像中编码的数据,诸如文本数据等。
处理可以从操作901继续到操作902,“生成替换条形码图像数据”,其中可以生成与条形码图像数据相关联的替换条形码图像数据。例如,替换条形码图像数据可以不同于条形码图像数据并且与其互补。例如,条形码编码模块420可以生成替换条形码图像数据427。
处理可以从操作902继续到操作903,“传递图像数据”,其中条形码图像数据和/或替换条形码图像数据可以从条形码编码模块420传递至显示装置430。在一些示例中,条形码图像数据和/或替换条形码图像数据可以经由图像缓冲器等传递。
处理可以从操作903继续到操作904,“交替地显示条形码以及替换条形码图像”,其中可以经由显示装置交替地显示与条形码图像数据相关联的条形码图像以及与替换条形码图像数据相关联的替换条形码图像。例如,如本文中论述的,条形码图像110和替换条形码图像120、220可以经由显示装置430交替地显示。
在一些示例中,操作901、902、903和/或904可以提供生成条形码图像。例如,条形码图像和替换条形码图像可以经由系统410生成和显示。
处理可以从操作904继续到操作905,“捕捉条形码和替换条形码图像”,其中可以捕捉条形码图像和替换条形码图像以分别生成条形码图像数据和替换条形码图像数据。例如,条形码图像110和替换条形码图像120、220可以由图像捕捉装置450捕捉以生成捕捉的条形码图像数据310和捕捉的替换条形码图像数据320。
处理可以从操作905继续到操作906,“接收、存储和传递条形码和替换条形码图像数据”,其中可以接收、存储和传递条形码图像数据和替换条形码图像数据。例如,图像缓冲器460可以从图像捕捉装置450接收捕捉的条形码图像数据310和捕捉的替换条形码图像数据320,存储捕捉的条形码图像数据310和捕捉的替换条形码图像数据320,以及将捕捉的条形码图像数据310和捕捉的替换条形码图像数据320传递至条形码解码模块470。
处理可以从操作906继续到操作907,“执行操作”,其中可以对条形码图像数据以及替换条形码图像数据执行操作。例如,如本文中论述的,条形码解码模块470可以对捕捉的条形码图像数据310和捕捉的替换条形码图像数据320执行操作330以生成比较条形码图像数据340。
处理可以从操作907继续到操作908,“降噪、二进制化以及定位码区域”,其中比较条形码图像数据可以被降噪和二进制化,并且其中码区域可以在比较条形码图像数据中被定位。
处理可以从操作908继续到操作909,“解码”,其中比较条形码图像数据可以被解码。例如,条形码解码模块470可以对比较条形码图像数据340进行解码。
处理可以从操作909继续到操作910,“如果无效数据,则重复”,其中可以确定解码的条形码数据是否有效。如果解码的条形码数据是有效的,则过程900可以在操作911处继续,“输出条形码数据”,其中数据可以作为例如输出数据475被提供或传输。如果解码的条形码数据有效,则操作907、908和/或909中的任何操作可以以对不同的条形码图像数据和/或替换条形码图像数据的相同或不同而重复,或者以对相同条形码图像数据和/或替换条形码图像数据的相同操作而重复。
在一些示例中,操作905、906、907、908、909、910和/或911可以提供解码条形码图像。这样的解码可以在例如消费者的移动装置处执行。
按照需要,过程900可以串行地或并行地重复任何次数。此外,一般而言,条形码编码模块420和/或条形码解码模块470可以经由硬件、软件和/或固件来实现。在各种示例中,条形码编码模块420和/或条形码解码模块470可以经由处理单元,诸如例如图形处理单元或中央处理单元等来实现。
虽然示例过程500、600、700、800、900和本文中论述的其他过程的实现可以包括按图示的次序示出的全部操作的履行,但是本公开不限于这方面,并且在各种示例中,本文中论述的过程的实现可以包括按不同于图示的次序和/或所示出的操作的仅子集的履行。
另外,本文中论述的操作中的任何一个或多个可以响应于由一个或多个计算机程序产品提供的指令而进行。这样的程序产品可以包括提供指令的信号承载介质,指令在由例如处理器执行时可以提供本文中描述的功能性。计算机程序产品可以以任何形式的计算机可读介质来提供。因此,例如,包括(一个或多个)处理器核心的处理器可以履行本文中论述的操作或多个操作的一个或多个。
如本文中描述的任意实现中使用的,术语“模块”指的是配置为提供本文中描述的功能性的软件、固件和/或硬件的任何组合。软件可以体现为软件包、代码和/或指令集或指令,以及如本文中描述的任何实现中使用的“硬件”可以单个地或以任何组合地包括例如硬接线电路、可编程电路、状态机电路和/或存储由可编程电路执行的指令的固件。模块可以全体或单个地体现为形成较大系统(例如集成电路(IC)、片上系统(SoC)等)的部分的电路。
图10是根据本公开的至少一些实现布置的用于对条形码图像和替换条形码图像进行编码和显示以及用于对条形码图像和替换条形码图像进行捕捉和解码的示例系统的直观图。在所示实现中,系统400可以包括系统410,其可以包括一个或多个处理单元1006、一个或多个存储器存储装置1020、图像缓冲器1030和/或显示装置430;以及系统440,其可以包括一个或多个处理单元1008、一个或多个存储器存储装置1022、图像缓冲器420和/或图像捕捉装置450。
如上所述,在一些示例中,系统410和系统440可以分开实现。中央处理单元1006、存储器存储装置1020、和/或显示装置430可以能够经由例如总线或其他接入彼此通信。在各种实现中,显示装置430可以集成在系统410中或者与系统410分开实现。类似地,中央处理单元1008、存储器存储装置1022和/或图像捕捉装置450可以能够经由例如总线或其他接入彼此通信。在各种实现中,图像捕捉装置450可以集成在系统440中或者与系统440分开实现。
如图10所示并且如上所述,条形码编码模块420可以经由(一个或多个)处理单元1006实现。在各种示例中,(一个或多个)处理单元1006可以包括一个或多个中央处理单元或者一个或多个图形处理单元。如所示,(一个或多个)处理单元1006可以通信地耦合至存储器存储装置1020。同样如所示,图像缓冲器1030可以经由存储器存储装置1020实现。(一个或多个)处理单元1006也可以通信地耦合至显示装置430。条形码编码模块420可以配置为将输入数据编码以生成条形码图像数据和/或生成与条形码图像数据相关联的替换条形码图像数据,如本文中论述的。显示装置430可以配置为交替地显示与条形码图像数据相关联的条形码图像以及与替换条形码图像数据相关联的替换条形码图像,如本文中论述的。
同样如图10所示并且如上所述,条形码解码模块470可以经由(一个或多个)处理单元1008实现。在各种示例中,(一个或多个)处理单元1008可以包括一个或多个中央处理单元或一个或多个图形处理单元。如所示,(一个或多个)处理单元1008可以通信地耦合至存储器存储装置1022。同样如所示,图像缓冲器460可以经由存储器存储装置1022实现。(一个或多个)处理单元1008也可以通信地耦合至图像捕捉装置450。图像捕捉装置450可以配置为捕捉条形码图像以生成条形码图像数据和/或捕捉不同于条形码图像的替换条形码图像以生成替换条形码图像数据,如本文中论述的。条形码解码模块470可以配置为对条形码图像数据以及替换条形码图像数据执行操作以生成比较条形码图像数据、至少部分基于比较条形码图像数据的解码而生成条形码输出数据、和/或传输条形码输出数据,如本文中论述的。
如将理解的,图10中图示的模块可以包括多种软件和/或硬件模块和/或可以经由软件和/或硬件实现的模块。例如,模块可以经由(一个或多个)处理单元1006和/或1008实现为软件。此外,所示出的存储器存储装置1020、1022可以是例如分别用于处理单元1006、1008的共享存储器。而且,系统410或系统440可以以多种方式实现。例如,系统410(排除显示装置430)可以实现为具有图形处理器、四核中央处理单元、板上高速缓存和存储器控制器输入/输出(I/O)模块(未示出)的单个芯片或装置。在其他示例中,系统410(再次排除显示装置430)可以实现为芯片组。在另一示例中,系统440(排除图像捕捉装置450)可以实现为具有图形处理器、四核中央处理单元、板上高速缓存和存储器控制器输入/输出(I/O)模块(未示出)的单个芯片或装置。在其他示例中,系统440(再次排除图像捕捉装置450)可以实现为芯片组。
处理单元1006或1008可以包括任何合适的实现,包括例如(一个或多个)微处理器、多核处理器、专用集成电路、(一个或多个)芯片、芯片组、图形处理器等。另外,存储器存储装置1020或1022和/或图像缓冲器1030或460 1340可以是任何类型的存储器,诸如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如闪速存储器等)等等。在非限制示例中,存储器存储装置1020或1022和/或图像缓冲器1030或460 1340可以经由高速缓存存储器实现。在各种示例中,系统410或系统440可以实现为芯片组或片上系统。
图11图示根据本公开的示例系统1100。在各种实现中,系统1100可以是介质系统,虽然系统1100不限于该上下文。例如,系统1100可以并入个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式算计机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能装置(例如智能电话、智能平板计算机或智能电视)、移动互联网装置(MID)、消息收发装置、数据通信装置等。
在各种实现中,系统1100包括耦合至显示器1120的平台1102。平台1102可以接收来自诸如(一个或多个)内容服务装置1130或(一个或多个)内容递送装置1140或其他类似内容源的内容装置的内容。包括一个或多个导航特征的导航控制器1150可以用于与例如平台1102和/或显示器1120交互。以下更详细地描述这些部件中的每一个。
在各种实现中,平台1102可以包括芯片组1105、处理器1110、存储器1112、存储装置1114、图形子系统1115、应用1116和/或无线电1118的任何组合。芯片组1105可以提供处理器1110、存储器1112、存储装置1114、图形子系统1115、应用1116和/或无线电1118之间的互相通信。例如,芯片组1105可以包括能够提供与存储装置1114互相通信的存储装置适配器(未描绘)。
处理器1110可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器;x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)。在各种实现中,处理器1110可以为(一个或多个)双核处理器、(一个或多个)双核移动处理器等。
存储器1112可以实现为易失性存储器装置,诸如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储装置1114可以实现为非易失性存储装置,诸如但不限于磁盘驱动、光盘驱动、磁带驱动、内部存储装置、附接存储装置、闪速存储器、电池备份SDRAM(同步DRAM)和/或可网络访问存储装置。在各种实现中,存储装置1114可以包括在包括例如多个硬盘驱动时用来增加对于有价值的数字媒体的存储性能增强的保护的技术。
图形子系统1115可以执行诸如静止或视频的图像处理以用于显示。图形子系统1115可以为例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于通信地耦合图形子系统1115和显示器1120。例如,接口可以是高清多媒体接口、显示端口、无线HDMI和/或无线HD顺从(compliant)技术中的任何一个。图形子系统1115可以集成到处理器1110或芯片组1105中。在一些实现中,图形子系统1115可以是通信地耦合至芯片组1105的独立卡。
本文中描述的图形和/或视频处理技术可以以各种硬件体系结构来实现。例如,图形和/或视频功能可以集成在芯片组内。可替换地,可以使用分立的图形和/或视频处理器。作为又另一个实现,图形和/或视频功能可以由包括多核处理器的通用处理器来提供。在其他实现中,功能可以在消费者电子装置中实现。
无线电1118可以包括能够使用各种合适的无线通信技术来发射和接收信号的一个或多个无线电。这样的技术可以涉及跨越一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨越这样的网络的通信中,无线电1118可以根据任何版本中的一个或多个可应用标准来操作。
在各种实现中,显示器1120可以包括任何电视机类型的监视器或显示器。显示器1120可以包括例如计算机显示屏幕、触摸屏显示器、视频监视器、类电视机装置和/或电视机。显示器1120可以是数字和/或模拟的。在各种实现中,显示器1120可以为全息显示器。而且,显示器1120可以为可以接收视像投影的透明表面。这样的投影可以输送各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增加现实(MAR)应用的视觉叠加。在一个或多个软件应用1116的控制下,平台1102可以在显示器1120上显示用户界面1122。
在各种实现中,(一个或多个)内容服务装置1130可以由任何全国性的、国际性的和/或独立服务主控并且因此经由例如互联网可由平台1102访问。(一个或多个)内容服务装置1130可以耦合至平台1102和/或显示器1120。平台1102和/或(一个或多个)内容服务装置1130可以耦合至网络1160以传输(例如发送和/或接收)媒体信息至网络1160和从网络传输媒体信息。(一个或多个)内容递送装置1140也可以耦合至平台1102和/或显示器1120。
在各种实现中,(一个或多个)内容服务装置1130可以包括有线电视盒、个人计算机、网络、电话、互联网启用装置或能够递送数字信息和/或内容的家用电器,以及任何能够经由网络1160或直接地单向或双向地在内容供应者与平台1102和/显示器1120之间传送内容的其他类似装置。将意识到的是,内容可以单向和/或双向地经由网络1160在系统1100中的任何一个部件与内容供应者之间往返传送。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗以及游戏信息等。
(一个或多个)内容服务装置1130可以接收诸如有线电视节目的内容,包括媒体信息、数字信息和/或其他内容。内容供应者的示例可以包括任何有线或卫星电视或无线电或互联网内容供应者。所提供的示例并非意味着以任何方式限制根据本公开的实现。
在各种实现中,平台1102可以从具有一个或多个导航特征的导航控制器1150接收控制信号。控制器1150的导航特征可以用于与例如用户界面1122交互。在实施例中,导航控制器1150可以是指向装置,其可以是允许用户将空间(例如,连续和多维)数据输入到计算机中的计算机硬件部件(具体地,人机接口装置)。许多系统,诸如图形用户界面(GUI)以及电视机和监视器的许多系统允许用户使用身体姿势来控制计算机或电视机并将数据提供给计算机或电视机。
控制器1150的导航特征的运动可以通过指针、光标、聚焦环或其他显示在显示器上的视觉指示器的运动在显示器(例如显示器1120)上复制。例如,在软件应用1116的控制下,位于导航控制器1150上的导航特征可以映射到例如用户界面1122上显示的虚拟导航特征。在实施例中,控制器1150可以不是分开的部件,而可以集成到平台1102和/或显示器1120中。然而,本公开不限于本文中所示或描述的上下文中或元件。
在各种实现中,例如,驱动器(未示出)可以包括在启用时,使得用户能够在初始开机之后利用按钮的触摸像电视机一样即时开启和关闭平台1102的技术。程序逻辑可以允许平台1102将内容流送至媒体适配器或(一个或多个)其他内容服务装置1130或(一个或多个)内容递送装置1140,即使在平台“关闭”时也是如此。另外,芯片组1105可以包括支持例如7.1环绕立体声音频和/或高保真(7.1)环绕立体声音频的硬件和/或软件。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括外围部件互连(PCI)快速图形卡。
在各种实现中,可以集成系统1100中示出的部件中的任何一个或多个。例如,平台1102和(一个或多个)内容服务装置1130可以集成,或者平台1102和(一个或多个)内容递送装置1140可以集成,或者平台1102,(一个或多个)内容服务装置1130和(一个或多个)内容递送装置1140可以例如集成。在各种实施例中,平台1102和显示器1120可以是集成单元。例如,显示器1120和(一个或多个)内容服务装置1130可以集成,或者显示器1120和(一个或多个)内容递送装置1140可以集成。这些示例并不意味着限制本公开。
在各种实施例中,系统1100可以实现为无线系统、有线系统或两者的组合。在实现为无线系统时,系统1100可以包括适合于在无线共享媒介上通信的部件和接口,诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等。无线共享媒介的示例可以包括无线频谱的部分,诸如RF频谱等。在实现为有线系统时,系统1100可以包括适合于在有线通信媒介上通信的部件和接口,诸如输入/输出(I/O)适配器、将I/O适配器与对应的有线通信媒介连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信媒介的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、底板、交换机构造、半导体材料、双绞线、同轴电缆、光纤等。
平台1102可以建立一个或多个逻辑或物理通道以传送信息。信息可以包括媒体信息和控制信息。媒体信息可以指代任何表示打算用于用户的内容的数据。内容的示例可以包括例如来自语音会话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、文字数字符号、图形、图像、视频、文本等的数据。来自语音会话的数据可以是例如讲话信息、沉默时间段、背景噪声、舒适噪声、声调等。控制信息可以指代任何表示打算用于自动系统的命令、指令或控制字的数据。例如,控制信息可以用于通过系统路由媒体信息,或者指示节点去以预先确定方式处理媒体信息。然而,实施例不限于在图11中示出或描述的上下文中或元件。
如上所述,系统1100可以以变化的物理式样或形状因数来体现。图12图示其中可以体现系统1200的小形状因数装置1200的实现。在实施例中,例如,装置1200可以实现为具有无线能力的移动计算装置。例如,移动计算装置可以指代任何具有处理系统和诸如一个或多个电池的移动电源或电力供应的装置。
如上所述,移动计算装置的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能装置(例如智能电话、智能平板计算机或智能电视机)、移动互联网装置(MID)、消息收发装置、数据通信装置等。
移动计算装置的示例还可以包括布置为由人穿戴的计算机,诸如腕式计算机、指上型计算机、戒指型计算机、眼镜型计算机、皮带夹型计算机、臂带式计算机、鞋型计算机、衣服型计算机以及其他可穿戴计算机。在各种实施例中,例如,移动计算装置可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然一些实施例作为示例可以以实现为智能电话的移动计算装置进行描述,但可以意识到的是,也可以使用其他无线移动计算装置来实现其他实施例。实施例不限于该上下文中。
如图12所示,装置1200可以包括外壳1202、显示器1204、输入/输出(I/O)装置1206以及天线1208。装置1200还可以包括导航特征1212。显示器1204可以包括任何用于显示适合于移动计算装置的信息的合适的显示单元。I/O装置1206可以包括任何用于将信息输入到移动计算装置中的合适的I/O装置。I/O装置1206的示例可以包括文字数字键盘、数字键盘、触摸板、输入键、按钮、开关、摇杆开关、麦克风、扬声器、语音识别装置和软件等。信息还可以通过麦克风(未示出)的方式输入到装置1200中。这样的信息可以通过语音识别装置(未示出)来数字化。实施例不限于该上下文中。
各种实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或任何其组合。确定实施例是否使用硬件元件和/或软件元件来实现可以根据任何数量的因素而变化,诸如所期望的计算速率、功率水平、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
至少一个实施例的一个或多个方面可以通过存储在表示处理器内的各种逻辑的机器可读介质上的代表性指令来实现,所述指令在由机器读取时使机器制造逻辑以执行本文中描述的技术。这样的表示(被称为“IP内核”)可以存储在有形的机器可读介质上并且供应给各种消费者或者制造设施以加载到实际制成逻辑或处理器的制造机器中。
虽然已经参照各种实现描述了本文中阐明的特定特征,但本描述并非意在以限制意义进行解释。因此,本文中描述的实现以及对本公开所属技术领域的技术人员而言显而易见的其他实现的各种修改被认为落入本公开的精神和范围内。
以下示例属于附加实施例。
在一个示例中,一种用于对条形码图像进行解码的计算机实现方法可以包括:捕捉条形码图像以生成条形码图像数据;捕捉不同于所述条形码图像的替换条形码图像以生成替换条形码图像数据,使得所述替换条形码图像数据与所述条形码图像数据相关联;对所述条形码图像数据和所述替换条形码图像数据执行操作以生成比较条形码图像数据;以及至少部分基于解码所述比较条形码图像数据来生成条形码输出数据。
在用于对条形码图像进行解码的计算机实现方法的进一步示例中,该方法可以包括对所述比较条形码图像数据应用降噪操作;对所述比较条形码图像数据的一个或多个通道上的所述比较条形码图像数据进行二进制化,使得所述一个或多个通道包括黑色和白色通道、红色通道、绿色通道或者蓝色通道中的至少一个;在所述比较条形码图像数据中定位码区域;对所述比较条形码图像数据进行解码以生成解码的条形码数据;确定所述解码的条形码数据是否有效;在确定所述解码的条形码数据为有效时,提供所述条形码输出数据;以及在确定所述解码的条形码数据无效时:对所述条形码图像数据和所述替换条形码图像数据执行第二操作,以生成第二比较条形码图像数据;以及至少部分基于所述第二比较条形码图像数据,生成替换条形码输出数据。对所述条形码图像数据和所述替换条形码图像数据执行所述操作以生成所述比较条形码图像数据可以包括将所述条形码图像数据与所述替换条形码图像数据相加、将所述条形码图像数据与所述替换条形码图像数据相乘、求取所述条形码图像数据与所述替换条形码图像数据之间的绝对值差、从所述替换条形码图像数据减去所述条形码图像数据、确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数或者确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数中的至少一个。所述条形码图像包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个。所述条形码图像数据和所述替换条形码图像数据可以为互补的条形码图像数据。所述替换条形码图像可以包括所述条形码图像的纯黑图像或负片中的至少一个。所述替换条形码图像可以包括所述纯黑图像,并且对所述条形码图像数据和所述替换条形码图像数据执行所述操作包括求取所述条形码图像数据与所述替换条形码图像数据之间的绝对值差。所述替换条形码图像可以包括所述条形码图像的所述负片并且对所述条形码图像数据和所述替换条形码图像数据执行所述操作可以包括确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数,并且对所述条形码图像数据和所述替换条形码图像数据执行所述第二操作可以包括确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数。捕捉所述条形码图像和捕捉所述替换条形码图像可以包括以捕捉频率捕捉,使得所述捕捉频率可以包括每秒20帧、每秒25帧或两倍显示频率中的至少一个。捕捉所述条形码图像和捕捉所述替换条形码图像包括从显示装置的相同区域捕捉所述条形码图像和所述替换条形码图像。
在另一示例中,一种用于生成条形码图像的计算机实现方法可以包括:对输入数据进行编码以生成条形码图像数据;生成与所述条形码图像数据相关联的替换条形码图像数据,使得所述替换条形码图像数据不同于所述条形码图像数据并且与其互补;以及经由显示装置交替地显示与所述条形码图像数据相关联的条形码图像以及与所述替换条形码图像数据相关联的替换条形码图像。
在用于生成条形码图像的计算机实现方法的进一步示例中,所述条形码图像和所述替换条形码图像可以包括静态条形码图像,并且交替地显示所述条形码图像和所述替换条形码图像可以包括所述条形码图像和所述替换条形码图像在所述显示装置的相同区域上的交替显示。条形码图像和所述替换条形码图像可以包括具有多个图像的动态条形码的动态条形码图像,使得交替地显示所述条形码图像和所述替换条形码图像可以包括显示所述条形码图像、显示所述替换条形码图像以及随后在所述显示装置的所述相同区域上显示所述多个图像中的剩余图像,或者显示所述条形码图像、显示与所述多个图像中的剩余图像相关联的一个或多个图像、以及随后在所述显示装置的所述相同区域上显示所述替换条形码图像中的至少一个。交替地显示所述条形码图像和所述替换条形码图像可以包括以显示频率显示,使得所述显示频率包括每秒10帧或者捕捉频率的一半中的至少一个。所述条形码图像可以包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个。所述替换条形码图像包括所述条形码图像的纯黑图像或负片中的至少一个。
在另一示例中,一种用于在计算机上提供条形码通信的系统可以包括:图像捕捉装置,配置为:捕捉条形码图像以生成条形码图像数据;以及捕捉不同于所述条形码图像的替换条形码图像以生成替换条形码图像数据,使得所述替换条形码图像数据与所述条形码图像相关联;以及具有条形码解码模块的处理单元,使得所述处理单元通信地耦合至所述图像捕捉装置,并且所述条形码解码模块配置为:对所述条形码图像数据和所述替换条形码图像数据执行操作以生成比较条形码图像数据; 至少部分基于所述比较条形码图像数据的解码来生成条形码输出数据;以及传输所述条形码输出数据。
在用于在计算机上提供条形码通信的系统的其他示例中,系统可以包括图像缓冲器,使得所述处理单元通信地耦合至所述图像缓冲器,所述处理单元经由所述图像缓冲器通信地耦合至所述图像捕捉装置,并且所述图像缓冲器配置为:从所述图像捕捉装置接收所述条形码图像数据和所述替换条形码图像数据;存储所述条形码图像数据和所述替换条形码图像数据;以及将所述条形码图像数据和所述替换条形码图像数据传输至所述处理单元;包括条形码编码模块的第二处理单元,条形码编码模块配置为:对输入数据进行编码以生成所述条形码图像数据;并且生成与所述条形码图像数据相关联的所述替换条形码图像数据,使得所述替换条形码图像数据不同于所述条形码图像数据并且与其互补;以及通信地耦合至所述第二处理单元的显示装置,使得所述显示装置配置为:对所述比较条形码图像数据应用降噪操作;对所述条形码图像数据的一个或多个通道上的所述比较条形码图像数据进行二进制化,使得所述一个或多个通道包括黑色和白色通道、红色通道、绿色通道或者蓝色通道中的至少一个;在所述比较条形码图像数据中定位码区域;对所述比较条形码图像数据进行解码以生成解码的条形码数据;确定所述解码的条形码数据是否有效;在确定所述解码的条形码数据为有效时,提供所述条形码输出数据;以及在确定所述解码的条形码数据无效时:对所述条形码图像数据和所述替换条形码图像数据执行第二操作,以生成第二比较条形码图像数据;以及至少部分基于所述第二比较条形码图像数据生成条形码输出数据。用来生成比较条形码图像数据的对所述条形码图像数据和所述替换条形码图像数据的所述操作可以包括所述条形码图像数据与所述替换条形码图像数据的相加、所述条形码图像数据与所述替换条形码图像数据的相乘、所述条形码图像数据与所述替换条形码图像数据之间的绝对值差、从所述替换条形码图像数据减去所述条形码图像数据、确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数或者确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数中的至少一个。所述条形码图像可以包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个。所述条形码图像数据和所述替换条形码图像数据可以为互补的条形码图像数据。所述替换条形码图像可以包括所述条形码图像的纯黑图像或负片中的至少一个。所述替换条形码图像包括所述纯黑图像,并且对所述条形码图像数据和所述替换条形码图像数据执行所述操作可以包括求取所述条形码图像数据与所述替换条形码图像数据之间的绝对值差。所述替换条形码图像可以包括所述条形码图像的所述负片,并且对所述条形码图像数据和所述替换条形码图像数据执行所述操作可以包括确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数,并且对所述条形码图像数据和所述替换条形码图像数据执行所述第二操作包括确定来自从所述替换条形码图像数据中减去所述条形码图像数据的正数。捕捉所述条形码图像和捕捉所述替换条形码图像可以包括以捕捉频率捕捉,使得所述捕捉频率可以包括每秒20帧、每秒25帧或两倍显示频率中的至少一个。捕捉所述条形码图像和捕捉所述替换条形码图像可以包括从显示装置的相同区域捕捉所述条形码图像和所述替换条形码图像。
在另一示例中,至少一个机器可读介质可以包括响应于在计算装置上执行而使计算装置执行根据以上示例中的任一个所述的方法的多个指令。
在又另一示例中,一种设备可以包括用于执行根据以上示例中的任一个所述的方法的装置。
以上示例可以包括特征的特定组合。然而,这样以上示例不限于该方面,并且在各种实现中,以上示例可以包括仅履行这样的特征的子集、履行不同次序的这样的特征、履行这样的特征的不同组合和/或履行与明确列出的那些特征相比的附加特征。例如,相对于示例方法描述的全部特征可以相对于示例设备、示例系统和/或示例物品实现,反之亦然。

Claims (25)

1.一种用于对条形码图像进行解码的计算机实现方法,包括:
捕捉条形码图像以生成条形码图像数据;
捕捉不同于所述条形码图像的替换条形码图像以生成替换条形码图像数据,其中所述替换条形码图像数据与所述条形码图像数据相关联;
对所述条形码图像数据和所述替换条形码图像数据执行操作以生成比较条形码图像数据;以及
至少部分基于解码所述比较条形码图像数据来生成条形码输出数据。
2.根据权利要求1所述的方法,其中,所述条形码图像包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个。
3.根据权利要求1所述的方法,其中,所述替换条形码图像包括所述条形码图像的纯黑图像或负片中的至少一个。
4.根据权利要求1所述的方法,其中,所述替换条形码图像包括纯黑图像,并且其中对所述条形码图像数据和所述替换条形码图像数据执行所述操作包括求取所述条形码图像数据与所述替换条形码图像数据之间的绝对值差。
5.根据权利要求1所述的方法,其中,所述替换条形码图像包括所述条形码图像的负片,并且其中对所述条形码图像数据和所述替换条形码图像数据执行所述操作包括确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数。
6.根据权利要求1所述的方法,其中,对所述条形码图像数据和所述替换条形码图像数据执行所述操作以生成所述比较条形码图像数据包括将所述条形码图像数据与所述替换条形码图像数据相加、将所述条形码图像数据与所述替换条形码图像数据相乘、求取所述条形码图像数据与所述替换条形码图像数据之间的绝对值差、从所述替换条形码图像数据减去所述条形码图像数据、确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数或者确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数中的至少一个。
7.根据权利要求1所述的方法,其中生成所述条形码输出数据包括:
对所述比较条形码图像数据应用降噪操作;
对所述比较条形码图像数据的一个或多个通道上的所述比较条形码图像数据进行二进制化,其中所述一个或多个通道包括黑色和白色通道、红色通道、绿色通道或者蓝色通道中的至少一个;
在所述比较条形码图像数据中定位码区域;
对所述比较条形码图像数据进行解码以生成解码的条形码数据;
确定所述解码的条形码数据是否有效;
在确定所述解码的条形码数据为有效时,提供所述条形码输出数据;以及
在确定所述解码的条形码数据无效时:
对所述条形码图像数据和所述替换条形码图像数据执行第二操作,以生成第二比较条形码图像数据;以及
至少部分基于所述第二比较条形码图像数据,生成替换条形码输出数据。
8.根据权利要求1所述的方法,其中,生成所述条形码输出数据包括:
对所述比较条形码图像数据应用降噪操作;
对所述比较条形码图像数据的一个或多个通道上的所述比较条形码图像数据进行二进制化,其中所述一个或多个通道包括黑色和白色通道、红色通道、绿色通道或者蓝色通道中的至少一个;
在所述比较条形码图像数据中定位码区域;
对所述比较条形码图像数据进行解码以生成解码的条形码数据;
确定所述解码的条形码数据是否有效;
在确定所述解码的条形码数据为有效时,提供所述条形码输出数据;以及
在确定所述解码的条形码数据无效时:
对所述条形码图像数据和所述替换条形码图像数据执行第二操作,以生成第二比较条形码图像数据;以及
至少部分基于所述第二比较条形码图像数据,生成替换条形码输出数据,
其中对所述条形码图像数据和所述替换条形码图像数据执行所述操作以生成所述比较条形码图像数据包括将所述条形码图像数据与所述替换条形码图像数据相加、将所述条形码图像数据与所述替换条形码图像数据相乘、求取所述条形码图像数据与所述替换条形码图像数据之间的绝对值差、从所述替换条形码图像数据减去所述条形码图像数据、确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数或者确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数中的至少一个,
其中所述条形码图像包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个,
其中所述条形码图像数据和所述替换条形码图像数据为互补的条形码图像数据,
其中所述替换条形码图像包括所述条形码图像的纯黑图像或负片中的至少一个,
其中所述替换条形码图像包括所述纯黑图像,并且其中对所述条形码图像数据和所述替换条形码图像数据执行所述操作包括求取所述条形码图像数据与所述替换条形码图像数据之间的绝对值差,
其中所述替换条形码图像包括所述条形码图像的所述负片,并且其中对所述条形码图像数据和所述替换条形码图像数据执行所述操作包括确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数,并且其中对所述条形码图像数据和所述替换条形码图像数据执行所述第二操作包括确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数,
其中捕捉所述条形码图像和捕捉所述替换条形码图像包括以捕捉频率捕捉,其中所述捕捉频率包括每秒20帧、每秒25帧或两倍显示频率中的至少一个,以及
其中捕捉所述条形码图像和捕捉所述替换条形码图像包括从显示装置的相同区域捕捉所述条形码图像和所述替换条形码图像。
9.一种用于生成条形码图像的计算机实现方法,包括:
对输入数据进行编码以生成条形码图像数据;
生成与所述条形码图像数据相关联的替换条形码图像数据,其中所述替换条形码图像数据不同于所述条形码图像数据并且与其互补;以及
经由显示装置交替地显示与所述条形码图像数据相关联的条形码图像以及与所述替换条形码图像数据相关联的替换条形码图像。
10.根据权利要求9所述的方法,其中,所述条形码图像和所述替换条形码图像包括静态条形码图像,并且其中交替地显示所述条形码图像和所述替换条形码图像包括所述条形码图像和所述替换条形码图像在所述显示装置的相同区域上的交替显示。
11.根据权利要求9所述的方法,其中,所述条形码图像和所述替换条形码图像包括具有多个图像的动态条形码的动态条形码图像,并且其中交替地显示所述条形码图像和所述替换条形码图像包括显示所述条形码图像、显示所述替换条形码图像以及随后在所述显示装置的相同区域上显示所述多个图像中的剩余图像,或者显示所述条形码图像、显示与所述多个图像中的剩余图像相关联的一个或多个图像、以及随后在所述显示装置的相同区域上显示所述替换条形码图像中的至少一个。
12.根据权利要求9所述的方法,其中,所述条形码图像包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个。
13.根据权利要求9所述的方法,其中,所述替换条形码图像包括所述条形码图像的纯黑图像或负片中的至少一个。
14.根据权利要求9所述的方法,其中,所述条形码图像和所述替换条形码图像包括静态条形码图像,并且其中交替地显示所述条形码图像和所述替换条形码图像包括所述条形码图像和所述替换条形码图像在所述显示装置的相同区域上的交替显示,
其中所述条形码图像和所述替换条形码图像包括具有多个图像的动态条形码的动态条形码图像,并且其中交替地显示所述条形码图像和所述替换条形码图像包括显示所述条形码图像、显示所述替换条形码图像以及随后在所述显示装置的所述相同区域上显示所述多个图像中的剩余图像,或者显示所述条形码图像、显示与所述多个图像中的剩余图像相关联的一个或多个图像、以及随后在所述显示装置的所述相同区域上显示所述替换条形码图像中的至少一个,
其中交替地显示所述条形码图像和所述替换条形码图像包括以显示频率显示,并且其中所述显示频率包括每秒10帧或者捕捉频率的一半中的至少一个,
其中所述条形码图像包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个,以及
其中,所述替换条形码图像包括所述条形码图像的纯黑图像或负片中的至少一个。
15.一种用于在计算机上提供条形码通信的系统,包括:
图像捕捉装置,配置为:
捕捉条形码图像以生成条形码图像数据;以及
捕捉不同于所述条形码图像的替换条形码图像以生成替换条形码图像数据,其中所述替换条形码图像数据与所述条形码图像相关联;
包括条形码解码模块的处理单元,其中所述处理单元通信地耦合至所述图像捕捉装置,并且其中所述条形码解码模块配置为:
对所述条形码图像数据和所述替换条形码图像数据执行操作以生成比较条形码图像数据;
至少部分基于所述比较条形码图像数据的解码来生成条形码输出数据;以及
传输所述条形码输出数据。
16.根据权利要求15所述的系统,其中,所述条形码图像包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个。
17.根据权利要求15所述的系统,其中,所述替换条形码图像包括所述条形码图像的纯黑图像或负片中的至少一个。
18.根据权利要求15所述的系统,其中,所述替换条形码图像包括纯黑图像,并且其中对所述条形码图像数据和所述替换条形码图像数据执行所述操作包括所述条形码图像数据与所述替换条形码图像数据之间的绝对值差。
19.根据权利要求15所述的系统,其中,所述替换条形码图像包括所述条形码图像的负片,并且其中对所述条形码图像数据和所述替换条形码图像数据的所述操作包括确定来自从所述条形码图像数据中减去所述替换条形码图像数据的正数。
20.根据权利要求15所述的系统,还包括:
包括条形码编码模块的第二处理单元,其中所述条形码编码模块配置为:
对输入数据进行编码以生成所述条形码图像数据;以及
生成与所述条形码图像数据相关联的所述替换条形码图像数据,其中所述替换条形码图像数据不同于所述条形码图像数据并且与其互补;以及
通信地耦合至所述第二处理单元的显示装置,其中所述显示装置配置为:
交替地显示与所述条形码图像数据相关联的所述条形码图像以及与所述替换条形码图像数据相关联的所述替换条形码图像。
21.根据权利要求15所述的系统,其中,用来生成比较条形码图像数据的对所述条形码图像数据和所述替换条形码图像数据的所述操作包括所述条形码图像数据与所述替换条形码图像数据的相加、所述条形码图像数据与所述替换条形码图像数据的相乘、所述条形码图像数据与所述替换条形码图像数据之间的绝对值差、从所述替换条形码图像数据减去所述条形码图像数据、确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数或者确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数中的至少一个。
22.根据权利要求15所述的系统,其中,配置为生成所述条形码输出数据的所述条形码解码模块包括所述条形码解码模块配置为:
对所述比较条形码图像数据应用降噪操作;
对所述条形码图像数据的一个或多个通道上的所述比较条形码图像数据进行二进制化,其中所述一个或多个通道包括黑色和白色通道、红色通道、绿色通道或者蓝色通道中的至少一个;
在所述比较条形码图像数据中定位码区域;
对所述比较条形码图像数据进行解码以生成解码的条形码数据;
确定所述解码的条形码数据是否有效;
在确定所述解码的条形码数据为有效时,提供所述条形码输出数据;以及
在确定所述解码的条形码数据无效时:
对所述条形码图像数据和所述替换条形码图像数据执行第二操作,以生成第二比较条形码图像数据;以及
至少部分基于所述第二比较条形码图像数据,生成条形码输出数据。
23.根据权利要求15所述的系统,还包括:
图像缓冲器,其中所述处理单元通信地耦合至所述图像缓冲器,其中所述处理单元经由所述图像缓冲器通信地耦合至所述图像捕捉装置,并且其中所述图像缓冲器配置为:
从所述图像捕捉装置接收所述条形码图像数据和所述替换条形码图像数据;
存储所述条形码图像数据和所述替换条形码图像数据;以及
将所述条形码图像数据和所述替换条形码图像数据传输至所述处理单元;
包括条形码编码模块的第二处理单元,其中所述条形码编码模块配置为:
对输入数据进行编码以生成所述条形码图像数据;以及
生成与所述条形码图像数据相关联的所述替换条形码图像数据,其中所述替换条形码图像数据不同于所述条形码图像数据并且与其互补;以及
通信地耦合至所述第二处理单元的显示装置,其中所述显示装置配置为:
交替地显示与所述条形码图像数据相关联的所述条形码图像以及与所述替换条形码图像数据相关联的所述替换条形码图像,其中配置为生成所述条形码输出数据的所述条形码解码模块包括所述条形码解码模块,其配置为:
对所述比较条形码图像数据应用降噪操作;
对所述条形码图像数据的一个或多个通道上的所述比较条形码图像数据进行二进制化,其中所述一个或多个通道包括黑色和白色通道、红色通道、绿色通道或者蓝色通道中的至少一个;
在所述比较条形码图像数据中定位码区域;
对所述比较条形码图像数据进行解码以生成解码的条形码数据;
确定所述解码的条形码数据是否有效;
在确定所述解码的条形码数据为有效时,提供所述条形码输出数据;以及
在确定所述解码的条形码数据无效时:
对所述条形码图像数据和所述替换条形码图像数据执行第二操作,以生成第二比较条形码图像数据;以及
至少部分基于所述第二比较条形码图像数据,生成条形码输出数据,
其中用来生成比较条形码图像数据的对所述条形码图像数据和所述替换条形码图像数据的所述操作包括所述条形码图像数据与所述替换条形码图像数据的相加、所述条形码图像数据与所述替换条形码图像数据的相乘、所述条形码图像数据与所述替换条形码图像数据之间的绝对值差、从所述替换条形码图像数据中减去所述条形码图像数据、确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数或者确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数中的至少一个,
其中所述条形码图像包括一维条形码图像、二维条形码图像、动态条形码图像、黑和白条形码图像或彩色条形码图像中的至少一个,
其中所述条形码图像数据和所述替换条形码图像数据为互补的条形码图像数据,
其中所述替换条形码图像包括所述条形码图像的纯黑图像或负片中的至少一个,
其中所述替换条形码图像包括所述纯黑图像,并且其中对所述条形码图像数据和所述替换条形码图像数据的所述操作包括所述条形码图像数据与所述替换条形码图像数据之间的绝对值差,
其中所述替换条形码图像包括所述条形码图像的所述负片,并且其中对所述条形码图像数据和所述替换条形码图像数据的所述操作包括确定来自从所述条形码图像数据减去所述替换条形码图像数据的正数,并且其中对所述条形码图像数据和所述替换条形码图像数据执行所述第二操作包括确定来自从所述替换条形码图像数据减去所述条形码图像数据的正数,
其中捕捉所述条形码图像和捕捉所述替换条形码图像包括以捕捉频率捕捉,其中所述捕捉频率包括每秒20帧、每秒25帧或两倍显示频率中的至少一个,以及
其中捕捉所述条形码图像和捕捉所述替换条形码图像包括从显示装置的相同区域捕捉所述条形码图像和所述替换条形码图像,
其中所述条形码图像和所述替换条形码图像包括静态条形码图像,并且其中交替地显示所述条形码图像和所述替换条形码图像包括所述条形码图像和所述替换条形码图像在所述显示装置的相同区域上的交替显示,
其中,所述条形码图像和所述替换条形码图像包括具有多个图像的动态条形码的动态条形码图像,并且其中交替地显示所述条形码图像和所述替换条形码图像包括显示所述条形码图像、显示所述替换条形码图像以及随后在所述显示装置的所述相同区域上显示所述多个图像中的剩余图像,或者显示所述条形码图像、显示与所述多个图像中的剩余图像相关联的一个或多个图像、以及随后在所述显示装置的所述相同区域上显示所述替换条形码图像中的至少一个,
其中交替地显示所述条形码图像和所述替换条形码图像包括以显示频率显示,并且其中所述显示频率包括每秒10帧或者捕捉频率的一半中的至少一个,
其中所述处理单元包括中央处理单元或图形处理单元中的至少一个,
其中所述第二处理单元包括第二中央处理单元或者第二图形处理单元中的至少一个,
其中所述显示装置包括液晶显示器或等离子体显示器中的至少一个,
其中所述图像捕捉装置包括照相机或扫描仪中的至少一个,并且
其中所述图像缓冲器包括随机存取存储器。
24.至少一个机器可读介质,包括:
响应于在计算装置上执行而使所述计算装置执行根据权利要求1-14中的任一项所述的方法的多个指令。
25.一种用于对条形码图像进行解码的设备,包括:
用于执行根据权利要求1-14中的任一项所述的方法的装置。
CN201380078008.3A 2013-08-06 2013-08-06 使用差分图像的光学通信 Active CN105339950B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/080861 WO2015017970A1 (en) 2013-08-06 2013-08-06 Optical communication using differential images

Publications (2)

Publication Number Publication Date
CN105339950A CN105339950A (zh) 2016-02-17
CN105339950B true CN105339950B (zh) 2017-12-26

Family

ID=52460477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380078008.3A Active CN105339950B (zh) 2013-08-06 2013-08-06 使用差分图像的光学通信

Country Status (4)

Country Link
US (2) US9361498B2 (zh)
EP (1) EP3031008A4 (zh)
CN (1) CN105339950B (zh)
WO (1) WO2015017970A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8710953B2 (en) * 2009-06-12 2014-04-29 Microsoft Corporation Automatic portable electronic device configuration
EP3031008A4 (en) * 2013-08-06 2017-03-29 Intel Corporation Optical communication using differential images
JP6362608B2 (ja) * 2013-09-30 2018-07-25 パナソニック株式会社 表示方法および表示装置
US10275624B2 (en) * 2013-10-29 2019-04-30 Hand Held Products, Inc. Hybrid system and method for reading indicia
EP3103061B1 (en) * 2014-02-04 2024-04-03 Thymaris Ltd. Method and apparatus for generating and storing an individual imperfection profile related to an original item and method and apparatus for determining an authentication status of a suspect item
CN105933625B (zh) * 2016-04-14 2019-06-04 苏州万硅电子有限公司 动态图像码的生成方法及装置
US9886826B1 (en) * 2016-07-28 2018-02-06 Datalogic Usa, Inc. Automatic barcode verifier
US10114999B1 (en) * 2016-12-02 2018-10-30 Koupon Media, Inc. Using dynamic occlusion to protect against capturing barcodes for fraudulent use on mobile devices
CN114676799A (zh) 2016-12-08 2022-06-28 创新先进技术有限公司 一种业务处理方法及装置
US10423868B2 (en) 2017-01-26 2019-09-24 International Business Machines Corporation Embedding a removable barcode into an image
JP2020204957A (ja) * 2019-06-18 2020-12-24 東芝テック株式会社 バーコード生成装置、バーコード生成方法およびバーコード生成プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040012569A1 (en) * 2002-07-19 2004-01-22 Masahiro Hara Method for displaying and reading information code for commercial transaction
CN1254761C (zh) * 2001-11-30 2006-05-03 三洋电机株式会社 正身识别系统及其方法
CN101859364A (zh) * 2009-04-08 2010-10-13 捷讯研究有限公司 用于在计算设备上显示条形码的系统、设备和方法
US8186572B2 (en) * 2009-07-02 2012-05-29 Barcode Graphics Inc. Systems and methods for animating barcodes

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1079116C (zh) * 1999-07-06 2002-02-13 周春林 顶燃式热风炉燃烧器的通冷风冷却装置及其控制方法
US7114657B2 (en) * 2003-12-16 2006-10-03 Pitney Bowes Inc. Fragile water mark printed with two component inks and process
KR100653886B1 (ko) * 2004-11-05 2006-12-05 주식회사 칼라짚미디어 혼합코드 및 혼합코드 인코딩 방법과 장치
JP4442624B2 (ja) * 2006-06-22 2010-03-31 株式会社デンソーウェーブ 光学情報読取装置
US20090134227A1 (en) * 2007-11-26 2009-05-28 Roth Joseph D Spatial Security Features
KR101169554B1 (ko) * 2009-02-27 2012-07-27 에이.티 코뮤니케이션즈 가부시끼가이샤 2차원 코드 표시장치, 2차원 코드 표시방법 및 프로그램
US8537184B2 (en) * 2010-02-25 2013-09-17 Ncr Corporation Linerless labels
US8807435B2 (en) * 2011-04-06 2014-08-19 Eastman Kodak Company Decoding multi-resolution optical codes
EP2661719B1 (en) * 2011-04-27 2017-09-20 Hewlett-Packard Development Company, L.P. Dual deterrent incremental information object
US8348149B1 (en) * 2011-07-28 2013-01-08 Wesley Boudville Using dynamic barcodes to send data to a cellphone
JP2013045293A (ja) * 2011-08-24 2013-03-04 Fujitsu Mobile Communications Ltd データ伝送方法及び端末装置及びプログラム
GB2497580A (en) * 2011-12-16 2013-06-19 Intercede Ltd Data transmission using a plurality of barcodes displayed in a loop
SG2013031042A (en) * 2013-04-24 2014-11-27 Rohde & Schwarz Asia Pte Ltd Measurement system and measurement method for measuring video processing quality
EP3031008A4 (en) * 2013-08-06 2017-03-29 Intel Corporation Optical communication using differential images
US20160132760A1 (en) * 2014-11-06 2016-05-12 Kuei-Sheng Tsou Dynamic recognizable two-dimensional code for interaction between electronic devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1254761C (zh) * 2001-11-30 2006-05-03 三洋电机株式会社 正身识别系统及其方法
US20040012569A1 (en) * 2002-07-19 2004-01-22 Masahiro Hara Method for displaying and reading information code for commercial transaction
CN101859364A (zh) * 2009-04-08 2010-10-13 捷讯研究有限公司 用于在计算设备上显示条形码的系统、设备和方法
US8186572B2 (en) * 2009-07-02 2012-05-29 Barcode Graphics Inc. Systems and methods for animating barcodes

Also Published As

Publication number Publication date
US9704083B2 (en) 2017-07-11
WO2015017970A1 (en) 2015-02-12
EP3031008A4 (en) 2017-03-29
EP3031008A1 (en) 2016-06-15
US20150205984A1 (en) 2015-07-23
US9361498B2 (en) 2016-06-07
CN105339950A (zh) 2016-02-17
US20160283836A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
CN105339950B (zh) 使用差分图像的光学通信
CN105794196B (zh) 用于修改图像的照度的方法和装置
CN105409211B (zh) 用于图像处理的带皮肤色调校正的自动白平衡
US9727775B2 (en) Method and system of curved object recognition using image matching for image processing
CN105051792B (zh) 用于使用深度映射和光源合成增强3d图像的设备
US10152778B2 (en) Real-time face beautification features for video images
CN107851307A (zh) 对用于图像处理的拜耳类型图像数据去马赛克的方法和系统
CN108352059A (zh) 用于将高动态范围(hdr)内容转换成标准动态范围(sdr)内容的视频色调映射
CN109472270A (zh) 图像风格转换方法、装置及设备
CN106663314A (zh) 实时皮肤平滑图像增强滤波器
CN104584552B (zh) Svc中重复使用层间sao参数的方法、设备、系统及机器可读存储介质
CN104782124B (zh) 利用编码器硬件对视频内容进行预处理
CN105279730B (zh) 对于动态生成的图形资源的压缩技术
CN106663308A (zh) 用于在计算设备之间传输信息的不可见光学标签
WO2017041289A1 (en) Scalable real-time face beautification of video images
CN103797805B (zh) 使用变更区域的媒体编码
CN104915916B (zh) 使用选择性色彩变换的色彩压缩
CN104053005B (zh) 使用分级相平面相关性和块匹配的运动估计
CN106664437A (zh) 用于无线视频的自适应比特率流传输
CN108885785A (zh) 用于时间噪声减少的运动自适应流处理
TW201539333A (zh) 使用方向性濾波之物件檢測技術
CN104012072B (zh) 使用运动估计的目标检测
CN103533286A (zh) 用于带静态区域排除的时间帧内插的方法和系统
CN104052942B (zh) 改进的图像传感器像素校正技术
CN106664409A (zh) 视频编码中的黄金帧选择

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant