Method for processing a plurality of decryptable seals

The mobile computer apparatus efficiently processes and decodes multiple decodable seals in a single image, enabling selective output of decoded messages, thus addressing the limitations of existing systems in data collection applications.

JP7697092B2Active Publication Date: 2025-06-23HAND HELD PRODS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024045112
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2013-01-24
Filing Date
2024-03-21
Publication Date
2025-06-23
Estimated Expiration
2033-11-14

AI Technical Summary

Technical Problem

Existing mobile computers lack efficient systems for processing and decoding multiple decodable seals in a single image, particularly in scenarios where multiple seals need to be identified and their messages selectively output.

Method used

A mobile computer apparatus equipped with a processor, memory, imaging subsystem, display, and communication interface, capable of locating, decoding, and visually marking decodable seals within an image, and transmitting decoded messages to an external computer upon user input.

Benefits of technology

Enables efficient processing and decoding of multiple decodable seals in a single image, allowing for selective output of decoded messages, improved data collection efficiency, and enhanced user interaction in applications such as retail, transportation, and warehouses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007697092000001
    Figure 0007697092000001
  • Figure 0007697092000002
    Figure 0007697092000002
  • Figure 0007697092000003
    Figure 0007697092000003
Patent Text Reader

Abstract

To acquire one or more indicia, display the successfully decoded decodable indicia on a display, and allow a user to select therefrom.SOLUTION: A device comprises a processor, a memory, an imaging subsystem configured to acquire an image of decodable indicia, a display, and a communication interface. The device is configured to locate within the image and decode one or more decodable indicia. The device is further configured to display the image on the display and visually mark the successfully decoded decodable indicia. The device is further configured, in response to accepting user input selecting at least one decodable indicia of the displayed one or more decodable indicia, to transmit to an external computer at least one decoded message corresponding to the at least one decodable indicia.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a division of U.S. Patent Application Serial No. 13 / 748,926, filed January 24, 2013, and related application Ser. This application claims priority to related U.S. provisional application Ser. No. 61 / 726,747, filed Nov. 15, 2012, each entitled "Mobile Computer Configured to Read Multiple Decodable Indicia." This application further claims priority to related U.S. provisional application Ser. No. 13 / 743,477, filed Jan. 17, 2013, and related U.S. provisional application Ser. No. 61 / 737,552, filed Dec. 14, 2012, each entitled "Selective Output of Decoded Message Data." These patent applications are incorporated herein by reference in their entireties.

[0002] Technical Field

[0002] The present invention relates generally to digital devices, and more particularly to mobile computers configured to read decodable indicia. The present invention relates generally to optical systems, and more particularly to optical systems having selective output of decoded message data. [Background technology]

[0003]

[0003] A decodable indicium is a pattern, mark, or message designed to be scanned and interpreted by a computer and / or other mechanized and / or automated methods. Many known types of decodable indicia fall into the category of barcodes. Barcodes are graphical representations of data, the most common of which are referred to as one-dimensional (1D) barcodes and two-dimensional (2D) barcodes. 1D barcodes are graphics that represent data by varying the width and spacing of parallel lines. 2D barcodes are graphics that represent data by varying the width and spacing of parallel lines. A code is also a graphic entity that represents data. In addition to parallel lines or bars, 2D barcodes can include two-dimensional rectangles, dots, hexagons, and other geometric patterns. The data encoded in a barcode is interpreted by an optical scanner and / or software. Barcodes can be scanned by a special optical scanner called a barcode reader, or by a multi-purpose device such as a smartphone. Other types of decodable indicia include optical character recognition (OCR), glyphs, or other visible marks. Also, non-visual technologies such as magnetic strips, radio frequency identification (RFID), and other non-visual technologies are also within the definition of decodable indicia.

[0004]

[0004] The above discussion is for the sole purpose of providing general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.

[0005] Image sensor integrated circuits having a large number of pixel image sensor arrays are commercially available. Imaging devices having an image sensor array are available in various forms, including digital cameras, mobile phones, surveillance devices, medical diagnostic equipment, and indicia decoding devices. Imaging devices are available in forms with and without indicia decoding capabilities. An imaging device having a permanently or selectively actuated indicia decoding capability can be considered an indicia reading device.

[0005]

[0006] There are many types of indicia reading devices available for reading decodable indicia. For example, an indicia reading device with a minimal configuration lacking a keyboard and display is common in point-of-sale applications. An indicia reading device lacking a keyboard and display can be recognized as having a gun-style form factor with a trigger button (trigger) and a handle that can be actuated by a human index finger and is available It is possible. A seal reader with a keyboard and a display is also available, and in many cases, for example, in the case of a mobile phone, a form in which the keyboard and the display are arranged at a common position by providing a touch screen type display is available. A seal reader equipped with a keyboard and a display is generally used in applications in retail, transportation, and warehouses. In a seal reader equipped with a keyboard and a display, a trigger button for activating the output of the decrypted message is typically provided at a position where it can be activated by the operator's thumb. A seal reader in a form lacking a keyboard and a display, or a form equipped with a keyboard and a display, is generally used in various data collection applications including applications in retail POS, retail inventory, shipping, warehouse, security checkpoint, patient care, and personal applications. In personal applications, a seal reader equipped with a keyboard and a display is generally provided by a personal mobile phone having a seal reading function. Fixed-mounted seal readers are also generally available and are mounted, for example, under or near a point-of-sale counter. Some seal readers are adapted to read one or more of one-dimensional (1D) barcodes, stacked 1D barcodes, and two-dimensional (2D) barcodes. Other seal readers are applied to read OCR characters, and still other seals are equipped to read both of them. Summary of the Invention Means for Solving the Problems

[0006]

[0007] Disclosed are systems in various embodiments including an apparatus, method, and / or software for processing a plurality of decodable seals. In one exemplary embodiment, provided is an apparatus having a processor, a memory, an imaging subsystem configured to obtain an image of the decodable seal, a display, and a communication interface. The apparatus is configured to locate and decode one or more decodable seals in the image in response to obtaining an image of one or more objects within the field of view of the imaging subsystem. The apparatus is further configured to display the image on the display and visually mark one or more successfully decoded decodable seals. The apparatus is further configured to transmit at least one decoded message corresponding to at least one of the displayed one or more decodable seals to an external computer in response to receiving a user input selecting at least one of the displayed one or more decodable seals.

[0007]

[0008] In one embodiment, the apparatus is provided by a smartphone, a tablet computer, or a personal digital assistant.

[0009] In one embodiment, the imaging subsystem includes a two-dimensional image sensor configured to output an analog signal representation representing light reflected by an object located within the field of view of the imaging subsystem, an amplifier configured to output an amplified analog signal by amplifying the analog signal read from the image sensor, and an analog-to-digital (A / D) converter configured to convert the amplified analog signal into a digital signal representing the acquired image.

[0008]

[0010] In some embodiments, the apparatus is further configured to receive a user input indicating an order in which decoded messages corresponding to two or more decodable seals should be sent to the external computer.

[0009]

[0011] In some embodiments, the apparatus is further configured to receive user input to select at least one decodable seal in the displayed image that is not marked as having been successfully decoded, and to decode the at least one decodable seal.

[0010]

[0012] In some embodiments, in response to receiving user input to select at least one decodable seal among one or more displayed decodable seals, the apparatus is further configured to send at least one image including the at least one decodable seal to an external computer.

[0011]

[0013] In other exemplary embodiments, a method for processing a plurality of decodable seals, executed using one or more processors, is provided, the method comprising: obtaining an image of one or more objects having one or more decodable seals; locating the positions of the one or more decodable seals within the image; decoding the one or more decodable seals; displaying the image; visually marking the successfully decoded decodable seals within the displayed image; receiving user input to select at least one decodable seal among the one or more displayed decodable seals; sending at least one decoded message corresponding to the at least one decodable seal to an external computer; and

[0012]

[0014] In one embodiment, the step of receiving user input includes receiving user input indicating the order in which the decoded messages corresponding to the two or more decodable seals are to be sent to the external computer.

[0013]

[0015] In some embodiments, the method further comprises receiving user input to select at least one decodable seal that is not marked as having been successfully decoded within the displayed image, and decoding the at least one decodable seal.

[0014]

[0016] In certain embodiments, the method can be performed by visually marking one or more successfully decoded decodable seals within the displayed image, such as by highlighting the successfully decoded decodable seals, or by drawing a bounding box around the one or more successfully decoded decodable seals, or by drawing a visual marker around the center of the one or more successfully decoded decodable seals.

[0015]

[0017] In some embodiments, the method can further comprise sending at least one image including the at least one decodable seal selected by the user to an external computer.

[0016]

[0018] In certain embodiments, the method is performed by one or more processors of one or more mobile computers.

[0019] In other exemplary embodiments, a computer-readable storage medium is provided that includes executable instructions that can configure one or more processors, the instructions comprising: obtaining an image of one or more objects having one or more decodable seals; locating the positions of the one or more decodable seals within the image; decoding the one or more decodable seals; displaying the image; visually marking one or more successfully decoded decodable seals within the displayed image; receiving user input to select at least one decodable seal from among the one or more displayed decodable seals; Sending at least one decrypted message corresponding to the at least one decryptable token to an external computer; including instructions to cause execution.

[0017]

[0020] In certain embodiments, the executable instructions can further configure one or more processors such that the step of receiving the user input includes receiving a user input indicating an order in which decrypted messages corresponding to the two or more decryptable tokens are to be sent to the external computer.

[0018]

[0021] In certain embodiments, the executable instructions can further configure one or more processors to further perform the steps of selecting at least one decryptable token not marked as having been successfully decrypted within the displayed image and decrypting the at least one decryptable token.

[0019]

[0022] In certain embodiments, the executable instructions can further configure one or more processors such that the step of visually marking the one or more successfully decrypted decryptable tokens within the displayed image is performed by highlighting the one or more successfully decrypted decryptable tokens, or by drawing a bounding box around the one or more successfully decrypted decryptable tokens, or by drawing a visual marker around the center of the one or more successfully decrypted decryptable tokens.

[0020]

[0023] In certain embodiments, the executable instructions can further configure one or more processors to perform the step of sending at least one image including the at least one decryptable token to an external computer in response to receiving a user input selecting at least one decryptable token of the one or more displayed decryptable tokens.

[0021]

[0024] The imaging device can be operated to capture a frame of image data representing a scene having one or more decodable indicia and to display the image data corresponding to the one or more decodable indicia. The imaging device can be operated to selectively output the decoded message data of a selected decodable indicium in response to user-entered control. One or more processor-executable programs can be provided to facilitate the selective output of decoded message data.

[0022]

[0025] This summary is provided to introduce in a simplified form a selected one of the concepts that will be further described in detail below. This summary of the invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to embodiments that solve any or all of the problems recited in the background art.

[0023]

[0026] The features described in this specification can be better understood with reference to the drawings described below. The drawings are not necessarily to scale and in general emphasis is placed on illustrating the principles of the invention. It is to be understood that the invention is not limited to the exact arrangements and instrumentalities shown in the drawings.

Brief Description of the Drawings

[0024]

Fig. 1a

[0027] FIG. 1a schematically shows one embodiment of a mobile computer described in this specification.

Fig. 1b

Fig. 2

[0028] FIG. 2 represents a component-level view of an exemplary embodiment of a mobile computer described in this specification.

Fig. 3

[0029] Figure 3 schematically shows a network diagram of one exemplary embodiment of a data collection system using the mobile computer disclosed in the present specification.

Fig. 4

[0030] Figure 4 schematically shows one embodiment of a method for processing a plurality of decodable seals by a mobile computer disclosed in the present specification.

Fig. 5

[0031] Figure 5 is a perspective view of the physical form of an imaging device (having supplementary side views) that displays representations of a plurality of barcodes.

Fig. 6

[0032] Figure 6 is a block diagram of the imaging device.

Fig. 7

[0033] Figure 7 is a computer-readable storage medium that stores one or more programs.

Fig. 8

[0034] Figure 8 is a flowchart illustrating the functions of one or more programs that can be stored on a computer-readable medium.

Fig. 9

[0035] Figure 9 is an example of a screenshot (which can be displayed, for example, by the display of a portable handheld device or a wearable imaging device) that displays image data corresponding to a decodable seal.

Fig. 10

Fig. 11

DETAILED DESCRIPTION OF THE INVENTION

[0025]

[0036] Capturing a decodable indicia can be performed using a variety of techniques. Laser scanning or linear imaging can be used to capture 1D barcodes. Some 2D barcodes known as stacked codes such as PDF417 can also be read using these techniques, but for 2D barcodes known as matrix codes, a device capable of capturing the two-dimensional (2D ) image is required. These 2D images are also useful in decoding 1D, 2D, stacked codes, and OCR or other visual decodable indicia. With respect to RFID tags, magnetic strips, or other non-visual decodable indicia, the technology can include the use of RF, magnetic read heads, or other non-visual means for capture. For the purposes of this disclosure, capturing any decodable indicia is generally referred to as "imaging", and the representation of the decodable indicia captured by a device may be referred to as an "image".

[0026]

[0037] Mobile computers such as smartphones, tablet personal computers (PCs), personal digital assistants (PDAs ), and other similar devices equipped with imaging devices can be used to read and / or decode decodable indicia. As used herein, "computer" refers to a programmable device for data processing and control, including a central processing unit (CPU), memory, and at least one communication interface.

[0027]

[0038] In situations where two or more decodable indicia are present in a captured image, additional processing may be required to determine which indicia, and in what order, need to be decoded and / or used for a particular application (e.g., for information retrieval from an external computer).

[0028]

[0039] ​​In some embodiments, the mobile computer can determine and decrypt the positions of two or more decryptable seals within the captured image, and then display the image and mark the decrypted seals within the image (e.g., highlighting the successfully decrypted decryptable seals, drawing a bounding box around the successfully decrypted decryptable seals, placing circular dots or other visual markers within or near the successfully decrypted decryptable seals, etc.). The mobile computer can accept user input indicating which seals need to be used in one or more applications and in what order. In an exemplary embodiment, in response to accepting user input to select one or more decryptable seals, the mobile computer can send the decrypted message corresponding to the selected seals to an external computer. In other exemplary embodiments, in response to accepting user input to select two or more decryptable seals, the mobile computer can send the decrypted messages corresponding to the selected seals to the external computer in the order indicated by the user.

[0029]

[0040] In a further aspect, selecting one or more decryptable seals can be performed by the user tapping on the screen area containing the images of the one or more decryptable seals via a touch screen. In an exemplary embodiment, by repeatedly tapping on the screen area containing the image of the decryptable seal by the user, the seal and / or or the decrypted message corresponding to the seal can be toggled on or off to be included in the sequence of messages sent to an external computer.

[0030]

[0041] As previously described in this specification, a mobile computer can determine and decrypt the positions of two or more decryptable seals within the captured image, and then display the image. Within the image, the decrypted seals can be visually marked (e.g., by highlighting the successfully decrypted decryptable seals, drawing a bounding box around the successfully decrypted decryptable seals, placing circular dots or other visual markers in or around the center of the successfully decrypted decryptable seals, etc.). The mobile computer can accept user input to select at least one decryptable seal that has been marked as successfully decrypted but not marked within the displayed image, and decrypt the selected decryptable seal.

[0031]

[0042] In some embodiments, the mobile computer graphically displays one or more successfully decrypted non-visual decryptable seals (e.g., overlaid on an image obtained by the imaging device of the mobile computer), and accepts user input indicating which non-visual decryptable seals, and in what order, need to be decrypted and / or used for a particular application (e.g., for retrieving information from an external computer). input can be accepted.

[0032]

[0043] Exemplary embodiments of the mobile computer described in this specification are shown in FIGS. 1a (front panel view) and 1b (side panel view). The mobile computer 100 can include a housing 52 in which other components of the mobile computer 100 can be arranged. The display 54 can be arranged on the front panel 56. Also, a keyboard 64 including function keys 68, navigation keys 72, and / or numeric keys can be arranged on the front panel 56. At least a wired communication interface At least one connector can be disposed on the lower panel or side panel of the housing 52 (e.g., a USB, PCMCIA, Ethernet (registered trademark), or MiniUSB connector). Those skilled in the art will understand that other form factors of the mobile computer 100 are within the scope of this disclosure. the fact that there is.

[0033]

[0044] Here, a component-level diagram of an exemplary embodiment of a mobile computer will be described with reference to FIG. 2. The mobile computer 100 can include one or more processors 1060 communicatively coupled to a system bus 1500. For example, one or more processors 1060 can be, by way of example, a central processing unit (CPU), a complex programmable logic device (CPLD), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or any type of circuit capable of processing logical operations, or including the same, according to various embodiments. Further, for example, various interface circuits for coupling peripheral devices can be coupled to the system bus 1500, including an interface circuit 1302 for coupling a display 1304 to the system bus 1500 and an interface circuit 1402 for coupling a keyboard 1404 and a pointing device 1405. In some embodiments, the pointing device can be provided by a touch screen overlay associated with the display 1304.

[0034]

[0034]

[0045] The mobile computer 100 can include one for providing communication with external devices.

[0035]

[0046] The mobile computer 100 can include one for providing communication with external devices. The communication interfaces 1604, 1608 may further include one or more wired interfaces (e.g., Ethernet (IEEE 802.3), USB, RS / 485, etc.) and one or more wireless interfaces (e.g., at least one protocol in the IEEE 802.11 / 802.15 / 802.16 protocol family, at least one protocol in the HSPA / GSM / GPRS / EDGE protocol family, a TDMA protocol, a UMTS protocol, an LTE protocol, etc.). The present invention may include an interface configured to support at least one protocol in the CDMA / 1xEV-DO protocol family, and / or a protocol in the CDMA / 1xEV-DO protocol family.

[0036]

[0047] Also, the memory 10 provided by the random access memory (RAM) 1080 85 may be coupled to the system bus 1500. In some embodiments, the memory 1085 may further include non-volatile memory, such as an EPROM 1082, and / or a storage memory device 1084. In some embodiments, the storage memory device 1084 may be provided by a magnetic disk storage device. Alternatively, the storage memory device 1084 may be provided by a semiconductor storage device, such as a ROM, an EPROM, a flash memory, and / or any other computer-readable tangible storage device capable of storing computer programs and digital information.

[0037]

[0048] In some embodiments, the mobile computer 100 includes a system bus 1500. providing direct communication between the RAM 1050 and one or more devices communicatively coupled to the It can further include a direct memory access unit (DMA) 1070. Alternatively, the mobile computer 100 can use a system bus that provides a bus arbitration mechanism (e.g., PCI bus), thereby eliminating the need for a central DMA controller. A system bus architecture and / or direct memory · Other embodiments of the access components can be provided.

[0038]

[0049] In a further aspect, the mobile computer 100 can include a built-in imaging device 1040 configured to obtain two-dimensional monochrome and / or color images. The imaging device 1040 can include an image sensor 1032 having a plurality of pixel image sensor arrays 1033 with pixels arranged in rows and columns, and associated column circuits 1034 and row circuits 1035. In certain embodiments, the image sensor 1033 can be provided by a charge-coupled device (CCD) image sensor. In another embodiment the image sensor can be provided by a complementary metal oxide semiconductor (CMOS) image sensor. Those skilled in the art will understand the fact that other types of image sensors are within the scope of the present invention. An amplifier circuit 1036 and an A / D converter 1037 that converts image information in the form of an analog signal read from the image sensor 1033 into image information in the form of a digital signal are associated with the image sensor 1032. In certain embodiments, the A / D converter 1037 can be provided by an A / D array.

[0039]

[0050] ​The image sensor 1032 can also have associated timing and control circuitry 1038, for example, used for controlling the exposure period of the image sensor 1032 and the gain applied to the amplifier circuit 1036. As previously described herein, the circuit components 1032, 1036, 1037, and 1038 can be packaged in a common imaging device 1040.

[0040]

[0051] The mobile computer 100 can include an interface circuit 1026 for coupling the timing and control circuit 1038 of the image sensor to the system bus 1500. The mobile computer 100 can be configured to read out an analog signal representing light incident on one or more pixels. The read analog signal can be amplified by an analog signal amplifier 1036. The analog signal can then be supplied to the input of the ADC 1037. The resulting digital value representing the analog signal can be stored in a system memory such as the RAM 1080. The image frame data stored in the RAM 1080 can be in the form of multi-bit pixel values, each multi-bit pixel value representing light incident on a pixel of the image sensor 1033. The DMA unit 1070 can send the image information read from the image sensor 1032 to the RAM 1080. In another aspect, the processor 1060 can be programmed to read the image data stored in the memory 1080 and apply various image processing algorithms to the image data. In some embodiments, the mobile computer 100 can be used to align an image of a decodable indicia located within the field of view 140 on the substrate 50 onto the image sensor 1033.

[0041]

[0052] In some embodiments, the mobile computer 100 can be used to align an image of a decodable indicia located within the field of view 140 on the substrate 50 onto the image sensor 1033. When aligning an image of a decodable indicia located within the field of view 140 on the substrate 50 onto the image sensor 1033. For use, it can include a variable focus imaging lens 1110. The imaging light rays can be sent centered on the imaging axis 25. The variable focus imaging lens 1110 can be adapted to allow for a number of optimal focus distances and a number of focal lengths. The variable focus imaging lens 1110 is operable to provide a new optimal focus distance and / or focal length within a portion of the frame time in response to an applied input control signal being applied to the variable focus imaging lens 1110. In certain embodiments, the variable focus imaging lens 1110 can be provided by a deformable imaging lens such as, for example, a deformable fluid lens or a gel lens. In another embodiment, the variable focus imaging lens 1110 is provided by an electrowetting liquid lens in which the surface tension of one or more volumes of lens liquid changes in response to a signal applied to the lens, or a liquid crystal type lens in which the refractive index of one or more volumes of lens fluid changes in response to a signal applied to the lens.

[0042]

[0053] The mobile computer 100 can further include a battery 356. The mobile computer 100 can further include a GPS receiver 380 communicatively coupled to the system bus 1500 via an interface 382. The mobile computer 100 can further include at least one connector 390 configured to receive a subscriber identity module (SIM) card, which is also communicatively coupled to the system bus 1500. Those skilled in the art will understand the fact that the mobile computer 100 can include various other components, circuits, and interfaces. and can also be communicatively coupled to the system bus 1500. Those skilled in the art will understand the fact that the mobile computer 100 can include various other components, circuits, and interfaces. and that is also communicatively coupled to the system bus 1500. Those skilled in the art will understand the fact that the mobile computer 100 can include various other components, circuits, and interfaces. and that is also communicatively coupled to the system bus 1500. Those skilled in the art will understand the fact that the mobile computer 100 can include various other components, circuits, and interfaces.

[0043]

[0054] In some embodiments, the mobile computer 100 may further include an embedded encoded information reading (EIR) device 333 coupled to the system bus 1500 via an interface 335. For example, the EIR device 333 can be provided by a laser scanning device , an RFID reader, an NFC reader, or a magnetic card reader. The EIR device can be configured to output encoded raw message data and / or decoded message data corresponding to the encoded message. As used herein, "message" is intended to mean a byte sequence or string that includes alphanumeric and / or non-alphanumeric characters. The encoded message can be used, for example, to carry information such as identification of the source and model of an item in an EPC code.

[0044]

[0055] In one exemplary embodiment, the RFID reader complies with "EPC TM Class-1 Generation-2 UHF RFID Protocol for Communications at 860 MHz - 960 MHz by EPCglobal", which is commonly known as the "Gen 2" standard and defines the physical and logical requirements for a passive backscatter Interrogator-talks-first (ITF) RFID system operating in the frequency range of 860 MHz to 960 MHz.

[0045]

[0056] In one exemplary embodiment, the NFC reader of the EIR terminal complies with the "NFC Digital Protocol Technical Specification DIGITAL 1.0 NFCForum-TS-DigitalProtocol-1.0" of November 17, 2010 by the NFC Forum (registered trademark).

[0046]

[0057] As previously described in this specification, one or more images of decryptable seals and / or one or more messages corresponding to successfully decrypted decryptable seals can be sent to an external computer via a wired or wireless communication interface and one or more communication networks. As schematically shown in FIG. 3, the mobile computers 100a-100z can access the external computer 171 through one or more local and / or wide area networks 110a-110z. The mobile computers 100a-100z can be connected to one or more networks 110a-110z via, for example, a wireless access point 135. In one embodiment, at least one of the networks 110a-110z can be provided by a wireless network compliant with IEEE 802.11x-. In another embodiment, at least one of the networks 110a-110z can be provided by an Ethernet network. In another embodiment, at least one of the networks 110a-110z can be provided by a local area network (LAN). In another embodiment, at least one of the networks 110a-110z can be provided by a wide area network (WAN). Although various networks are shown in this specification, the networks of the OSI model In another embodiment, at least one of the networks 110a-110z can be provided by an Ethernet network. In another embodiment, at least one of the networks 110a-110z can be provided by a local area network (LAN). In another embodiment, at least one of the networks 110a-110z can be provided by a wide area network (WAN). Although various networks are shown in this specification, the networks of the OSI model In another embodiment, at least one of the networks 110a-110z can be provided by a local area network (LAN). In another embodiment, at least one of the networks 110a-110z can be provided by a wide area network (WAN). Although various networks are shown in this specification, the networks of the OSI model (LAN). In another embodiment, at least one of the networks 110a-110z can be provided by a wide area network (WAN). Although various networks are shown in this specification, the networks of the OSI model and can be provided. Although various networks are shown in this specification, the networks of the OSI model It can be recognized that a single network as viewed from the overlay network layer can have a plurality of underlying network layers, that is, what can be regarded as a single Internet Protocol (IP) network can include a plurality of different physical networks.

[0047]

[0058] In a further aspect, the communication between the mobile computer 100 and the external computer 171 includes a series of requests and responses sent through one or more TCP connections. Although it can be done, those skilled in the art will understand the fact that using other transport and application level protocols is within the scope of the present disclosure. Depending on the embodiment, at least one data frame transmitted from the mobile computer 100 to the external computer 171 can include one or more images of the decryptable seal and / or one or more messages corresponding to the decryptable seal successfully decrypted by the mobile computer 100. In response to receiving an image of the decryptable seal or a decrypted message from the mobile computer 100, the external computer 171 In some embodiments, it can retrieve information corresponding to the decrypted message from a database and transmit at least a part of the retrieved information to the mobile computer 100. In an exemplary embodiment, the decrypted message can include a retail item identifier, and the information retrieved from the database and sent to the mobile computer 100 can include the retail item price and / or other features. In another exemplary embodiment, the decrypted message can include a medical patient identifier, and the information retrieved from the database and sent to the mobile computer 100 can include the patient's treatment information. can include. Upon receiving an image of the decryptable seal or a decrypted message from the mobile computer 100, the external computer 171 In some embodiments, it can retrieve information corresponding to the decrypted message from a database and transmit at least a part of the retrieved information to the mobile computer 100. In an exemplary embodiment, the decrypted message can include a retail item identifier, and the information retrieved from the database and sent to the mobile computer 100 can include the retail item price and / or other features. In another exemplary embodiment, the decrypted message can include a medical patient identifier, and the information retrieved from the database and sent to the mobile computer 100 can include the patient's treatment information. can include.

[0048]

[0059] One embodiment of a method for processing a plurality of decodable indicia by a mobile computer is schematically illustrated by the block diagram of FIG. 4. The method can be implemented using one or more processors of one or more computers. In one exemplary embodiment, the method can be implemented using one or more processors of mobile computer 100. Alternatively, the method can be implemented using one or more processors of two or more computers. In step 4010, mobile computer 100 can obtain an image of one or more objects carrying one or more decodable indicia that are within the field of view of the imaging device of the mobile computer. In step 4020, mobile computer 100 can determine the location of one or more decodable indicia within the acquired image.

[0049]

[0060] In step 4030, mobile computer 100 can decode at least one of the decodable indicia whose location has been determined within the acquired image. In step 4040, mobile computer 100 can display the acquired image on display 1304.

[0050]

[0061] In step 4050, mobile computer 100 can visually mark one or more successfully decoded decodable indicia within the displayed image. In one exemplary embodiment, mobile computer 100 can highlight the successfully decoded decodable indicia. Alternatively, mobile computer 100 can successfully decode In step 4050, mobile computer 100 can visually mark one or more successfully decoded decodable indicia within the displayed image. In one exemplary embodiment, mobile computer 100 can highlight the successfully decoded decodable indicia. Alternatively, mobile computer 100 can successfully decode

[0062] In step 4030, mobile computer 100 can decode at least one of the decodable indicia whose location has been determined within the acquired image. In step 4030, mobile computer 100 can decode at least one of the decodable indicia whose location has been determined within the acquired image.

[0051]

[0063] In step 4040, mobile computer 100 can display the acquired image on display 1304. In step 4040, mobile computer 100 can display the acquired image on display 1304.

[0064] In step 4050, mobile computer 100 can visually mark one or more successfully decoded decodable indicia within the displayed image. In one exemplary embodiment, mobile computer 100 can highlight the successfully decoded decodable indicia. Alternatively, mobile computer 100 can successfully decode In step 4050, mobile computer 100 can visually mark one or more successfully decoded decodable indicia within the displayed image. In one exemplary embodiment, mobile computer 100 can highlight the successfully decoded decodable indicia. Alternatively, mobile computer 100 can successfully decode In step 4050, mobile computer 100 can visually mark one or more successfully decoded decodable indicia within the displayed image. In one exemplary embodiment, mobile computer 100 can highlight the successfully decoded decodable indicia. Alternatively, mobile computer 100 can successfully decode A bounding box can be drawn around the decoded decipherable seal. In one exemplary embodiment, circular dots or other visual markers can be placed within or around the center of a successfully decoded decipherable seal.

[0052]

[0065] In step 4060, the mobile computer 100 can accept user input to select at least one of the displayed one or more decodable seals. In one exemplary embodiment, selecting one or more decodable seals can be performed by the user tapping on a screen area that includes an image of one or more decodable seals via a touch screen. In another exemplary embodiment, by repeatedly tapping on a screen area that includes an image of a decodable seal, the seal and / or the decoded message corresponding to the seal can be toggled on or off to be included in a sequence of messages sent to an external computer.

[0053]

[0066] In step 4070, the mobile computer 100 can send at least one decoded message corresponding to at least one decodable seal to an external computer and can end the method.

[0054]

[0067] In one exemplary embodiment, the mobile computer 100 can accept user input indicating which seals need to be used in one or more applications and in what order. In response to receiving user input to select two or more decodable seals, the mobile computer can send the decoded messages corresponding to the selected seals to an external computer in the order indicated by the user and can end the method.

[0055]

[0068] In another aspect, there is provided a computer-readable storage medium including executable instructions that can configure one or more processors to implement the above method.

[0056]

[0069] Referring to FIG. 5, the imaging device 1000 can be operated to capture a frame of image data representing a scene having a plurality of decodable indicia and display the image data corresponding to the decodable indicia. The imaging device 1000 can be operated to selectively output the decoded message data of the selected decodable indicia in response to user-entered control. The selective output can be, for example, to different functional blocks of the current program that performs the display and / or to different programs, imaging devices, and / or devices equipped with one or more external processors for use within one or more programs.

[0057]

[0070] In the embodiment of FIG. 5, the imaging device 1000 can include an imaging assembly 400 used to capture a frame of image data representing a scene within the field of view 600 of the imaging assembly 400. Since the device 1000 includes the imaging ·assembly 400, the field of view 600 can also be considered the field of view of the device 1000. The scene within the field of view 600 shown in the example of FIG. 5 can include a plurality of decodable indicia, such as barcodes 202, 204, 206. The decodable indicia can also include text containing OCR characters and the like. In the development of the devices and methods herein, it has been found that without the devices described herein, undesired decoded message data can be output to a specified output destination. For example, referring to the scene of FIG. 5, the operator can Although it may be desirable to output the decoded message decoded by the processing, however, if the apparatus 1000 is programmed to decode and output the most centrally located decodable indicia, the decoded message of the barcode 204 may be erroneously output instead. The imaging apparatus 100 can be operated to selectively output the decoded message / data of the selected decodable indicia, for example, one or more of the decodable indicia provided by the barcode 202, the barcode 204, and the barcode 206, in response to the control input by the user. In a further aspect, the imaging apparatus 1000 can be operated to be restricted from outputting the decoded message / data of a particular indicia unless the operator inputs a control to the apparatus 1000 to output the decoded message / data of the particular decodable indicia.

[0058]

[0071] A typical hardware platform for the apparatus 1000 is described in FIG. 2. The imaging apparatus 1000 can include an image sensor 1032 including a plurality of pixel image sensor arrays 1033 having pixels arranged in rows and columns of pixels, and associated column circuits 1034 and row circuits 1035. An amplifier circuit 1036 and an analog-to-digital converter 1037 that converts image information in the form of an analog signal read from the image sensor array 1033 into image information in the form of a digital signal are associated with the image sensor 1032. The image sensor 1032 can also have associated timing and control circuits 1038 used, for example, in controlling the exposure period of the image sensor 1032 and the gain applied to the amplifier 1036. The described circuit components 1032, 1036, 1037, and 1038 can be packaged in an imaging device 1040 (e.g., a common image sensor integrated circuit). In one embodiment, the imaging device 1040 is available from Micron Technology. can be provided by a capable MT9V022 image sensor integrated circuit. In other examples, The imaging device 1040 can incorporate a Bayer pattern filter. In such an embodiment, the CPU 1060 can insert an intermediate pixel value of the green pixel values to generate a monochrome frame of the image data before applying further processing to the frame.

[0059]

[0072] In the operation of the device 1000, an image signal can be read from the image sensor 1032, converted, and stored in a system memory such as the RAM 1080. The memory 1085 can include the RAM 1080, non-volatile memories such as the EPROM 1082, and storage memory devices 1084 such as those that can be provided by a cache memory and a hard drive memory. In one embodiment, the device 1000 can include a CPU 1060 adapted to read the image data stored in the memory 1080 and to apply various image processing algorithms to the image data. The device 1000 can include a direct memory access unit (DMA) 1070 for sending the image information read from and converted by the image sensor 1032 to the RAM 1080. In another embodiment, the device 1000 can use a system bus that provides a bus arbitration mechanism (e.g., a PCI bus), thereby eliminating the need for a central DMA controller. Those skilled in the art will understand that other embodiments of system bus architectures and / or direct memory access components that provide efficient data transfer between the image sensor 1032 and the RAM 1080 are within the scope and spirit of the present invention. For example, a PCI bus) and thereby eliminate the need for a central DMA controller. Those skilled in the art will understand that other embodiments of system bus architectures and / or direct memory access components that provide efficient data transfer between the image sensor 1032 and the RAM 1080 are within the scope and spirit of the present invention. between the image sensor 1032 and the RAM 1080 will understand that other embodiments of system bus architectures and / or direct memory access components that provide efficient data transfer between the image sensor 1032 and the RAM 1080 are within the scope and spirit of the present invention.

[0060]

[0073] Referring to a further aspect of apparatus 1000, lens assembly 200 can be adapted to focus an image of a decodable indicia 15 located within field of view 1240 on substrate 1250 onto image sensor array 1033. Imaging light rays can be sent centered about imaging axis 25. In an embodiment, lens assembly 200 can be adapted to allow for a number of focal lengths and a number of best focus distances. Imaging assembly 400 of apparatus 1000 can include lens assembly 200 and image sensor array 1033.

[0061]

[0074] Apparatus 1000 can also include an illumination pattern light source bank 1204 and associated light shaping optics 1205 for generating an illumination pattern 1260 that substantially corresponds to field of view 1240 of apparatus 1000. The combination of bank 1204 and optics 1205 can be considered an illumination pattern generator 1206. Apparatus 1000 can also include a aiming pattern light source bank 1208 and associated light shaping optics 1209 for generating an aiming pattern 1270 on substrate 1250. The combination of bank 1208 and optics 1209 can be regarded as an aiming pattern generator 1210. In use, apparatus 1000 can be oriented by an operator with respect to substrate 1250 having decodable indicia 15 such that aiming pattern 1270 is projected onto decodable indicia 15. In the example of FIG. 6, decodable indicia 15 is provided by a 1D barcode symbol. Decodable indicia 15 can also be provided, for example, by a 2D barcode symbol, or by decodable text such as, for example, optical character recognition (OCR) characters. In the example of FIG. 5, decodable indicia 202 is provided by a UPC barcode symbol and is decoded The possible seal 204 is provided by a QR code (registered trademark) symbol, and the decodable seal 206 is provided by a Code 128 symbol. The illumination pattern light source bank 1204 and the aiming pattern light source bank 1208 can each include one or more light sources. The lens assembly 200 can be controlled using a power input device 1055 that provides energy to change the plane of the optimal focus of the lens device 200 In one embodiment, the power input device 1055 can operate as a controlled current source and in another embodiment, it can operate as a controlled voltage source. The illumination pattern light source bank 1204 can be controlled using an illumination pattern light source control circuit 1220. The aiming pattern light source bank 1208 can be controlled using an aiming pattern light source bank control circuit 1222. The power input device 1055 can apply a signal to change the optical characteristics of the lens assembly 200, for example, to change the focal length and / or the best focus distance of the lens assembly 200 (the plane of its optimal use point). The illumination pattern light source bank control circuit 1220 can send a signal to the illumination pattern light source bank 1204, for example, to change the level of illumination output by the illumination pattern light source bank 1204. The pattern light source bank control circuit 1222 can send a signal to the aiming pattern light source bank 1208, for example, to change the lumens of illumination output by the aiming pattern light source bank 1208. In one embodiment, the imaging device 1000 can lack an element for projecting an illumination pattern.

[0062]

[0075] The device 1000 can also include many peripheral devices, including a trigger R1408 that can be used to activate a trigger signal for starting frame reading and capture and / or a specific decoding process and / or other processes. The device 1000 can activate the trigger signal by manually operating the trigger R1406 It can be adapted so that an attempt at decoding is started. In the embodiment of FIG. 5, the trigger R1408 is provided by a virtual trigger displayed on the display 1420. For example, it is also possible to configure the hardware actuator of the keyboard 1406 as a trigger. In response to the activation of the trigger signal, the device 1000 can be operated to read out and capture successive frames by reading image information from the image sensor array 1033 (typically in the form of an analog signal), and then store the image information in the memory 1080 (which can buffer one or more successive frames at a given time) after converting the image information. The CPU 1060 can operate to target one or multiple of the successive frames for an attempt at decoding. To attempt to decode a barcode symbol, the CPU 1060 determines the spatial pattern of dark cells and light cells. A number of them can be targeted for an attempt at decoding. To attempt to decode a barcode symbol, the CPU 1060 determines the spatial pattern of dark cells and light cells. To process the image data of a frame corresponding to a line of pixel positions (e.g., a set of row, column, or diagonal pixel positions) to determine and convert each light and dark cell pattern into a character or string via table look-up. When the representation of the decodable seal is a 2D barcode symbol system, the attempt to decode may include steps of determining the position of the finder pattern using a feature detection algorithm, determining the position of the matrix lines intersecting the finder pattern according to a predefined relationship with the finder pattern, determining the pattern of light and dark cells along the matrix lines, and converting each line pattern into a character or string via table look-up. In one embodiment, the CPU 1060 can execute one or more of the programs 1800 described herein when decoding a decodable seal. In some embodiments, as described herein, by entering a selective decoding message data output mode, a trigger signal can be activated, and in that mode, the apparatus 1000 can selectively output candidate decoding message data in response to operator input control for selection to output the decoding message data of a specific decodable seal. In one embodiment, in this type of operating mode, the apparatus 1000 continuously attempts to decode frames in successive frames and, in response to operator input control, can output a subset of the frames successfully decoded during operation in this mode, e.g., the decoding message data of one of them.

[0063]

[0076] The apparatus 1000 can also include various interface circuits for coupling various peripheral devices to the system address / data bus (system bus) 1500 to communicate with the CPU 1060 coupled to the system bus 1500. The apparatus 1000 can include an interface circuit 1028 that couples an image sensor timing and control circuit 1038 to a system bus 1500, an interface circuit 1118 that couples a power input device 1055 to the system bus 1500, an interface circuit 1218 that couples an illumination optical source bank control circuit 1220 to the system bus 1500, an interface circuit 1224 that couples a targeting light source bank control circuit 1222 to the system bus 1500, and an interface circuit 1404 that couples a keyboard 1406 to the system bus 1500. Device 1000 can also include a display 1420 that communicates with a CPU 1060 and is coupled to the system bus 1500 via an interface 1418. In another aspect, device 1000 can include a network communication interface 1426 that couples to the system bus 1500. The network communication interface 1426 can be, for example, one or more of an IEEE 802.11 interface, a Bluetooth® interface, or a cellular wireless interface. In certain embodiments, servers 2000, 3000 can include components of a CPU 1060, a memory 1085, a bus 1500, and a communication interface 1426 corresponding to those described in relation to device 1000. In certain embodiments, for example, devices 1000, 2000, and 3000 can communicate with each other via, for example, a TCP / UDP or TCP / IP network communication protocol suite. In certain embodiments, display 1420 can be a touch screen display having a touch panel associated with the display device.

[0064]

[0077] The captured image data of consecutive frames that can be the subject of the described processing can be a full frame (including pixel values corresponding to the maximum number of pixels to be read out during the operation of device 1000). In one embodiment, the maximum number of pixels is each pixel of image sensor array 1033. The consecutive frames of image data that are captured and made the subject of the described processing can also be "windowed frames" consisting of pixel values corresponding to less than the maximum number of pixels to be read out during the operation of device 1000. The captured image data of consecutive frames that are made the subject of the described processing can also consist of a combination of a full frame and windowed frames. The full frame can be captured by selectively addressing the pixels of image sensor 1032 corresponding to the full frame. The windowed frame can be captured by selectively addressing the pixels of image sensor 1032 corresponding to the windowed frame.

[0065]

[0078] In another aspect, device 1000 can include a second imaging device 2040 (e.g., a second image sensor integrated circuit) arranged in combination with a second imaging lens assembly 2200 for capturing image data as described with respect to imaging device 1040. The second imaging device 2040 can include an image sensor array 2033 and the remaining elements described with reference to imager 1040. The second imaging assembly 2400 of device 1000 can include image sensor assembly 2033 and lens assembly 2200. The second imager 2040 can communicate with system bus 1500 via interface 2028. The second imager 2040 can be an aperture used when capturing a frame of image data in the manner of imaging device 1040. Received by imaging assembly 400 The received light rays can be received around the imaging axis 25. The light rays received by the imaging assembly 2400 can be received by the imaging axis 2025. The imaging axis 25 can extend downward from the apparatus 1000. The imaging axis 2025 can extend upward from the apparatus 1000. As shown in the side reference view of FIG. 5 the imaging axis 25 can extend vertically downward and can be perpendicular to the display surface P420 on which the display 1420 extends. The imaging axis 2025 can extend vertically downward and can be perpendicular to the display surface P1420 on which the display 1420 extends The apparatus 1000 can capture frames of image data at a rate known as the frame rate. A typical frame rate is 60 frames per second (FPS), which converts to a frame time (frame period) of 16.6 ms. Another typical frame rate is 30 FPS (frames per second), which converts to a frame time (frame period) of 33.3 ms per frame.

[0066]

[0079] Regarding the apparatus 1000, the input of power applied by the power input device 1055 to establish a desired lens setting of the lens assembly 200 can be, for example, in response to a sensed condition or an operator input command.

[0067]

[0080] ​​The physical form of the apparatus 1000 of an embodiment is shown in FIG. 5. The display 1420 and the keyboard 1406 can be arranged on a common side of the hand-held housing 1014 as shown in FIG. 5. The display 1420 and the keyboard 1406 can together be considered as the user interface of the apparatus 1000. The display 1420 can be a touch screen display in one embodiment. The user interface of the apparatus 1000 can also be provided by configuring the apparatus 1000 to operate so as to be reprogrammed by decoding programming bar code symbols. The apparatus 1000 can include a hand-held housing 1014 that supports the imaging assembly 400 and an imaging assembly 2400 (e.g., in whole or in part) that can be disposed within the hand-held housing 1014.

[0068]

[0081] As described with reference to FIG. 7, a computer program product 1700 can be provided that includes a computer-readable storage medium 1702 storing one or more programs 1800 including program code logic for facilitating selective decoded message data. The one or more programs 1800 can include computer-executable instructions executable by a processor, e.g., its CPU 1060.

[0069]

[0082] In one embodiment, the CPU 1060 of the apparatus 1000 operates to execute one or more computer-executable programs 1800 having the functions shown in the flowchart of FIG. 8. It is possible. In block 1802, one or more programs 1800 can display image data corresponding to a plurality of decodable indicia within the field of view of the apparatus 1000, e.g., within the field of view 600 described in FIG. 5. In block 1804, one or more programs 1800 can output the decoded message data to an output destination in response to operator input control for outputting the decoded message data of the selected decodable indicia.

[0070]

[0083] In the execution of block 1802 of one embodiment, in the execution of block 1802 (displaying image data corresponding to one or more decodable indicia), one or more programs 1800 can transmit the image data of a frame of the image data captured by the imaging apparatus 1000 for display on the display 1420. In the specific example of FIG. 5, the display image data displayed on the display 1420 can include the representations R202, R204, R206 of the decodable indicia, e.g., the decodable indicia 202, 204, 206 shown as being provided by bar code symbols within the field of view 600. The frame of the image data can be a frame captured simultaneously using the apparatus 1000. In certain embodiments, the image data to be displayed can be formatted by highlighting the representations of the decodable indicia that can be decoded using currently captured image data. One or more programs 1800 for determining whether a decodable indicia can be decoded using currently captured image data use, for example, currently captured image data, e.g., image data stored for processing, e.g., buffered image data, e.g., such as would be buffered in the RAM 1080, to decode the decodable indicia. The frame of the image data can be a frame captured simultaneously using the apparatus 1000. In certain embodiments, the image data to be displayed can be formatted by highlighting the representations of the decodable indicia that can be decoded using currently captured image data. One or more programs 1800 for determining whether a decodable indicia can be decoded using currently captured image data use, for example, currently captured image data, e.g., image data stored for processing, e.g., buffered image data, e.g., such as would be buffered in the RAM 1080, to decode the decodable indicia. It can be attempted. One or more programs 1800 can determine that a decodable seal is decodable by successfully decoding the seal. In another embodiment, one or more programs 1800 can determine that a decodable seal is decodable by finding the position of the decodable seal in the frame of the currently captured image data. In an embodiment, a displayed highlighting that emphasizes the representation of the decodable seal can be a border, for example, borders R302, R304, R306. In another embodiment of the highlighting, the display representation of the decodable seal determined to be decodable using the currently captured image data is displayed using a selectively blinking display (the image data representing the scene can be displayed such that only the area representing the decodable seal is displayed in a blinking manner). In other examples, the highlighting can include the decoded messages R402, R404, R406 of the decodable seal represented by the displayed image data. Although various highlightings are possible, it will also be understood that highlighting may not be necessary. In an embodiment, one or more programs 1800 prepare the apparatus 1000 such that an operator can select a particular decodable seal so that the decodable seal is not highlighted (e.g., display of the representation of the decodable seal without mere highlighting). For a further aspect, a method is described herein, the method including using a processor to display image data corresponding to one or more decodable seals within the field of view of an imaging device, and using the processor to output the decoded message data of a selected decodable seal among the one or more decodable seals in response to an operator input control for outputting the decoded message data of the selected decodable seal, wherein the operator input control for outputting the decoded message data of the selected decodable seal includes touching one position on a display, and the position displays the representation of the selected decodable seal selected by the touch. Other selection methods described herein can be used in addition to, or in place of, the touch.In accordance with one or more programs 1800, the decrypted message data of the selected decryptable seal can be determined, for example, before or after the selection of the selected decryptable seal.

[0071]

[0084] For certain embodiments, a method is described herein, the method including using a processor to display image data corresponding to one or more decryptable seals within the field of view of an imaging device, the one or more decryptable seals being subject to a decryption process at the time of display, the method also including using a processor to output the decrypted message data of a selected decryptable seal among the one or more decryptable seals in response to operator input control for outputting the decrypted message data of the selected decryptable seal. In certain embodiments, the decryption process includes attempting to decrypt. In certain embodiments, the decryption process includes completing the decryption by determining the decrypted message. In certain embodiments, the decryption process includes determining the position of the decryptable seal (generally, the first step of the decryption attempt). By determining the position of the decryptable seal without further decryption processing steps before displaying the frame of image data on the display 1420, the one or more programs 1800 can monitor the output of the display interface 1418 of the display 1420 (provided by a touch screen display) to determine whether a region of the display corresponding to the position of the representation of the displayed decryptable seal has been touched.

[0072]

[0085] Upon execution at block 1804, the one or more programs 1800 may selectively output the decrypted message data in response to a user input control to selectively output the decrypted message data. The selective output may be to an output destination. In some embodiments, the output destination may be a different functional block of the one or more programs 1800 running on the CPU 1060. In some embodiments, the output destination may be a program running on the CPU 1060 other than the one or more programs 1800. In some embodiments, the output destination may be a device with an external processor, such as a server 2000 or The server 3000 may be used by one or more programs running thereon. In the execution of block 1804, if the output destination is a device with an external processor, the CPU 1060 may communicate with the network communication interface 1426. The communication between the server 2000 and the server 3000 is performed at the TCP / UDP transport layer. Protocols such as HTTP and XML can be used.

[0073]

[0086] In executing block 1804 to provide the functionality of determining whether an operator selection has been made, one or more programs 1800 may include a program for decoding the selected decodable indicium. The program 1800 may monitor the occurrence of an operator input control to transmit encoded message data. As further described herein, monitoring that any one or more of the programs 1800 may detect may include tactile monitoring (e.g., touching the display 1420 if a touch screen is provided), acoustic monitoring (e.g., when the operator inputs a voice command), and image-based monitoring (e.g., one or more of the programs 1800 may determine the operator's looking position based on processing of image data captured using an imaging assembly).

[0074]

[0087] In an embodiment of block 1802, one or more programs 1800 process one frame of image data to, for example, display the image data of that frame on display 1420, attempt to decrypt the frame of image data, determine whether the frame of image data can be decrypted using the currently captured image data, and highlight the representation of the decryptable seal determined to be decryptable using the currently captured image data. In this type of embodiment, one or more programs 1800 can display a still frame when executed at block 1802.

[0075]

[0088] In one embodiment, at block 1802, one or more programs 1800 process a plurality of frames of image data to, for example, display the image data of consecutive frames of the image data on display 1420 (rendering of a video), attempt to decrypt the frames of consecutive frames of the image data, determine whether the frames of consecutive frames of the image data are decryptable using the currently captured image data, and highlight the representation of the decryptable seal of the frames of consecutive frames determined to be decryptable using the currently captured image data.

[0076]

[0089] In an embodiment of one or more programs 1800 in block 1802 that processes multiple frames of image data, one or more programs 1800 can obtain a frame of a series of frames output by a camera library running on CPU 1060. As described in this specification, in one embodiment, one of the one or more programs can control imaging device 1040 to capture an image. One or more programs 1800 attempt to decode each incoming frame, with a timeout (stopping decoding if it cannot be completed within the specified time). If one or more programs 1800 successfully decode a decryptable seal (or if it determines that it is decryptable using the currently captured image data), one or more programs 1800 can highlight the representation of the decryptable seal in the frame's image data. When one or more programs 1800 decode a decryptable seal, it can determine the coordinates of the representation of the decryptable seal and associate that coordinate data with the decoding message. One or more programs 1800 can perform highlighting by appropriately changing the pixel values at locations near the representation of the decryptable seal for the representation of the decryptable seal. If one or more programs 1800 do not succeed in decoding the frames of the image data of consecutive frames, they can still send the frame's image data to display 1420. The continuously displayed frames have a representation of a decryptable seal highlighted for an appropriate proportion of the frames. If so, it will appear to have highlighting that tracks the position of the representation of the decryptable seal over consecutive frames. Also, in some cases, one or more programs 1800 can display the previous frame on display 1420, along with the highlighted representation of the decryptable seal, after the subsequent frame has been displayed and after decoding has been performed. However, such "out-of-sequence" displays are rarely perceptible to the operator if decoding and highlighting are performed quickly enough.

[0077]

[0090] In one embodiment, the functions described in this specification in connection with the flowchart of FIG. 8 can be activated by activating a selectively decodable message / data output mode. In one embodiment, in such an operating mode, the apparatus 1000 continuously attempts to decode frames of consecutive frames and, in response to operator input control, outputs decoded message / data of a subset (e.g., one, some selected) of the frames representing decodable seals that were successfully decoded during operation of this mode. The selectively decodable message / data output mode allows the operator to select (filter) which of the decoded message / data of a plurality of candidate decoded message / data should be output to the output destination.

[0078]

[0091] In one embodiment, the selectively decodable message / data output mode can be activated by actuating the virtual mode button R1407 or the virtual trigger button R1406 (in one particular embodiment, the selectively decodable message / data output mode is provided as a special configuration and this mode is activated when the trigger button R1406 is activated instead of standard decoding). In one embodiment of the selectively decodable message / data output mode, activation of the mode causes one or more programs 1800 in block 1802 to display on the display 1420 the image data of the frames of the consecutive frames (video) with highlighting of the decodable seal representation of the decodable seal that can be decoded using the currently captured image data. In response to operator input control for selecting a decodable seal, one or more programs can selectively output the decoded message / data of the decodable seal. The virtual actuator R1406 and Although the virtual actuators R1406 and R1407 are shown by dashed lines in FIG. 5, this is because one or more programs 1800 can be operated so that the virtual actuators R1406 and R1407 are not displayed simultaneously with the remaining ones shown as display elements in FIG. 5.

[0079]

[0092] In the case of a specific use illustrated with reference to FIG. 5, the plurality of decodable seals 202 , 204, 206 each have corresponding display representations R202, R204, R206, indicating that the apparatus 1000 can be used, for example, to facilitate the selection of the decodable message data of one of its plurality of decodable seals. However, as an important aspect, the apparatus 1000 according to the function of the one or more programs 1800 described in FIG. 8 need not be used to enable the selection of one or more of the plurality of decodable seals, but rather can be used to select (or not select) the decodable message data of a single decodable seal for selection output. As described herein, one or more programs 1800 can operate such that the apparatus 1000 is restricted from outputting the decodable message data to a specified output destination unless the decodable message data is selected by a predetermined operator input control and is selected by an operator-selected decodable seal. In one aspect, the apparatus 1000 can be used to enable an operator to make a selection between a first decodable seal and a second decodable seal. The apparatus 1000 can display the first decodable seal and the second decodable seal simultaneously (when both are within the field of view 600 at the same time) or sequentially (when the apparatus 1000 moves between positions and the first decodable seal and the second decodable seal sequentially enter the field of view 600). When the apparatus 1000 moves between positions, it can decode the plurality of decodable seals in sequence, so that a plurality of decoded messages · data, for example, the first decoded message · data, the second decoded message · data is a candidate for output. The decoded message data of the candidates that can be used for the selected output can be the decoded message data determined by decoding spatially separated decodable seals (from a common frame) or sequentially separated decodable seals (represented in frames captured at different times).

[0080]

[0093] For example, as shown in FIG. 9, the display 1420 is shown as displaying a representation R208 corresponding to a single decodable seal. In blocks 1802 and 1804, one or more programs 1800 can prepare the apparatus 1000 so that an operator can select or not select the displayed representation R208 of a single decodable seal, thus enabling "filtering" (non-selection) of unnecessary decoded message data. The operator may wish to ignore a particular decodable seal, for example, if it does not encode data for which output to a specified destination is desired.

[0081]

[0094] In block 1802, one or more programs 1800 can display an emphasis on the decodable seal. This type of emphasis is useful in all cases of use, including when the apparatus 1000 is used to enable an operator to select or not select (ignore) the representation of a single decodable seal. For example, if the emphasis is the display of a decoded message, the display enables the operator to identify whether the data is the data for which output is desired by the operator.

[0082]

[0095] In one aspect, one or more programs 1800 can send a message to a resource when providing highlighting for a display on display 1420. The resource can be, for example, one or more databases stored locally on device 1000 or externally, such as a local server (e.g., a store server in the case of a retail environment) or remote server 3000. In certain embodiments, the database is a price lookup table. In another embodiment, the database is a lookup table that associates product images with decryption messages. One example is the GOOGLE SHOPPER API, which can return a product image when sending a message with a decryption message. In block 1802, one or more programs 1800 can send a message to a resource, and in one embodiment, can send a message to an external resource, such as the database of server 2000 or server 3000. Referring again to FIG. 9, FIG. 9 illustrates the returned product image displayed as highlighting R608 One or more programs 1800 also display highlighting in the form of the displayed price R708. In block 1802, one or more programs 1800 can determine price data by sending a message to a price lookup table stored locally on device 1000 or externally, such as server 2000 or server 3000.

[0083]

[0096] One or more programs 1800 can store the data items (prices, images) in the cache memory locations of the RAM 1080 after determining the data items by sending a message to an external resource for the first time during the execution of the one or more programs 1800, thereby enabling the one or more programs 1800 to avoid sending messages to the external resource each time a message is decoded during execution in block 1802, and thus increasing the display time for displaying the highlighting. Also, the price lookup table and the image database can be stored locally in the device 1000. It is stated that the displayed highlighting can include the decoded message. When the decodable seal is decoded, data other than the decoded message can also be provided. Such other information can include the time used for decoding, the position coordinates of the decodable seal, the number of characters, the type of decodable seal, e.g., the type of barcode symbol, and other metadata, e.g., metadata describing the purpose of the data, internal tracking codes, and encoded addresses. In one embodiment, in block 1802, one or more programs 1800 wherein one or more items of such other data are for use as highlighting to assist the operator in determining whether to select a particular decodable seal.

[0084]

[0097] In the example of FIG. 9, the product image highlighting R608 can be displayed in a window that is spatially separated from the representation of the decodable seal at a specified location on the display 1420.

[0085]

[0098] In the example of FIG. 10, in block 1802, one or more programs 1800 are the product i Display the message at the position of the representation of the decodable seal associated with each product image. The product image highlight R610 is displayed at the position of the representation R210 of the decodable seal, and the product image highlight R612 is displayed at the position of the representation R212 of the decodable seal. The product image highlight R614 is displayed at the position of the representation R214 of the decodable seal. In block 1802, one or more programs 1800 can display the product image that was displayed as a highlight in the example of FIG. 10 in a translucent form, so that the representations of the decodable seals R210, R212, R214 can be seen "through" the product image. For the display of the translucent product image, in block 1802 one or more programs 1800 can display a low-resolution image. The display of the product image as a highlight of the decodable seal can assist the operator in determining whether the displayed seal corresponds to the decodable seal the operator wishes to select.

[0086]

[0099] In block 1802, one or more programs 1800 can display the image data corresponding to the decodable seal. In one example, the image data corresponding to the decodable seal can include the representation of the decodable seal. In one example, the image data corresponding to the decodable seal can include the representation of the decodable seal and one or more related highlights. In one example, the image data corresponding to the decodable seal can include the highlight of the decodable seal but may lack the representation of the decodable seal. Referring to the exemplary embodiment described in FIG. 10, the representation of the barcode (which acts as a decodable seal) can be removed and replaced with the display of one or more highlights of each decodable seal.

[0087]

[0100] In block 1804, one or more programs 1800 can output the decrypted message data. In one example, the decrypted message data can include (a) the decrypted message. The decrypted message data can also include, for example, (b) the decodable seal Other data that can be determined when the seal is decoded (e.g., time elapsed for decoding, number of characters, type of code, coordinate information) can be included. For example, as shown in FIG. 11, the highlighting can include text indicating some characters, e.g., R820, and / or the type of the decodable seal R916 (type of barcode symbol system in the specific example of FIG. 11). The decoded message data can also include, for example, (c) the decoded message, e.g., data determined by sending a message to a resource using, for example, the product price or product image. The decoded message data output at block 1804 can include any combination of data of types (a), (b), and (c) , e.g., all types of data of (a), (b), and (c), or only one or two types of data, e.g., only data of type (a), only data of type (b), only data of type (c).

[0088]

[0101] As described in the present specification, in block 1804, one or more programs 1800 can monitor the operator's selection of the decodable seal. The monitoring by one or more programs 1800 can include, for example, tactile monitoring (e.g., contact with the display 1420 having a touch screen), acoustic monitoring (when the operator inputs a voice command), image-based monitoring (e.g., one or more programs 1800 determine where the operator is looking based on the processing of image data captured using an imaging assembly).

[0089]

[0102] In one embodiment of the monitoring executed at block 1804, the display ​​​​The display 1420 is provided by a touch screen display, and in block 1804, one or more programs 1800 can cause the CPU 1060 to communicate with the display interface 1418 to monitor the input to the display 1420. In certain embodiments, in the execution at block 1804, one or more programs 1800 display the representation of the decodable seal The device 1000 can be arranged so that a touch by an operator at a position on the display 1420 that displays the representation of the decodable seal is determined to be control for selectively outputting the decryption message data of the displayed decodable seal.

[0090]

[0103] Thus, referring to FIG. 5, in one embodiment, a touch on the representation R202 will cause the decryption message data of the decodable seal 202 to be output. A touch on the representation R204 will, in certain embodiments, cause the decryption message of the decodable seal 204 to be output A touch on the representation R206 will, in certain embodiments, cause the decryption message of the decodable seal 206 to be output It will output ji. One or more programs 1800 can be operated so that the operator can select a decodable seal by touching the displayed highlighting (when they are displayed spatially separated) instead of the displayed expression of the decodable seal. For example, referring to FIG. 9, the operator can touch the highlighting R608 to output the decryption message data of the decodable seal corresponding to the expression R208 of the decodable seal. One or more programs 1800 can prepare the apparatus 1000 so that the operator can select the decodable seal by touching the displayed highlighting of the decodable seal in addition to or instead of the expression of the decodable seal. One or more programs 1800 are configured to provide an appropriately configured active period for the touch sensitivity of the display 1420, whereby, for example, an operator who touches within the range of the displayed highlighting within the timeout period can specify the selection of the decodable seal even after the display is terminated, and the apparatus 1000 can be prepared.

[0091]

[0104] In other embodiments of the monitoring executed in block 1804, in block 1804 one or more programs 1800 can communicate with the CPU 1060 to a voice recognition module that processes voice data received by the voice input interface 1434. The voice recognition module can identify various voice messages. In one embodiment, this type of voice recognition module can be provided by DRAGON DICTATION for iOS available from NUANCE COMMUNICATIONS, INC. In one example of block 1804 one or more programs 1800 can display an index together with the displayed expression of the decodable seal. The displayed index can be, for example, the digital indexes "1", "2", "3" indicated by the expressions R502, R504, R506 displayed in FIG. 5 and can be and the processed voice message can be a message corresponding to one or more of the displayed indexes, for example, a voice message corresponding to "ONE", "TWO", or "THREE" in voice. In the example for reference, one or more programs 1800 cause the decrypted message data of the decryptable seal of expression R202 to be output in response to the operator pronouncing the word "ONE", and cause the decrypted message data of the decryptable seal of expression R204 to be output in response to the operator pronouncing the word "TWO", and cause the decrypted message data of the decryptable seal of display R206 to be output in response to the operator pronouncing the word "THREE". It can be operated to output in response.

[0092]

[0105] In another embodiment of the monitoring executed in block 1804, one or more programs can cause the CPU1060 to determine when a specific decryptable seal is selected based on the processed image data captured using the imaging assembly. In one embodiment, one or more programs 1800 in block 1804 can cause the CPU1060 to determine that a specific decryptable seal has been selected based on the processed image data captured by the imaging assembly 2400 having an imaging axis 2025 extending upward. The imaging assembly 2400 can include the field of view including the operator. In one embodiment, the frame captured using the imaging assembly 2400 can be processed for eye tracking information, for example, to determine the retinal axis in one embodiment. Software modules that can be used to determine eye tracking information are VISIONL AB.NET available from XENTRIX, and ISCAN eye tracking software available from ISCAN It includes. When the relative positions of the display positions of the expressions R202, R204, and R206 and the relative position of the imaging axis 2025 are known, the eye tracking and display position information can be processed to determine which decodable seal expression, for example, R202, R204, R206, the operator is currently viewing. The decodable seal corresponding to the expression being viewed by the operator can be determined to be the selected decodable seal.

[0093]

[0106] In another embodiment of the monitoring that can be performed in block 1804, one or more Program 1800 can be executed on device 1000 provided by a device equipped with an eyewear processor. The display 1420 of this type of imaging device can be provided by a translucent display mounted on an eyewear frame. In this type of embodiment, device 1000 can include an accelerometer and a gyroscope and can be appropriately configured to control the movement of a pointer to the position of the image data corresponding to the decodable seal for the operator to select the decodable seal. In this type of embodiment, the operator can control the movement of the pointer via head movement, or, for example, via voice, or via a mechanical pointer controller (such as a control pad). The program incorporated in the eyewear. An example of a device equipped with a sensor is a device equipped with a processor based on the eyewear of the GOOGLE GLASS project.

[0094]

[0107] In one aspect, for outputting the decrypted message data of the decodable seal to the output destination, one or more programs 1800 output the decrypted message data of the selected decodable seal that can be selected by the operator according to the method described herein, for example, the decodable seals 202, 204, 206 of the expressions R202, R204, R206. ​ Unless an operator control input is provided to device 1000 for the purpose, prepare device 1000 to be restrictive. In one embodiment, one or more programs 1800 configure device 1000 to restrict the device 1000 from outputting decryption message data other than the decryption message data of the selected decryptable seal between each possible operating mode of the device 1000. In one embodiment, one or more programs 1800 configure device 1000 to restrict the device 1000 from outputting decryption message data other than the decryption message data of the selected decryptable seal only during a selected operating mode of the device 1000 (not each possible operating mode).

[0095]

[0108] Regarding the highlighting described in the various figures, highlight R3XX is the displayed boundary, highlight R4XX is the displayed decryption message, highlight R5XX is the displayed index, highlight R6XX is the displayed product image, highlight R7XX is the displayed price, highlight R8XX is the displayed character count (number of characters), and highlight R9XX is the displayed type of decryptable seal. The described types of highlighting can be displayed in any possible combination, for example, displaying only one of these in association with the decryptable seal, or displaying all of these in association with the decryptable seal ​It is possible. In certain embodiments, one or more highlights displayed in relation to a decodable seal can be displayed in a specific color, for example, a predefined color. In one embodiment, to enhance the attention-grabbing effect, the specific color is a vivid color, for example, red. With respect to FIG. 5, highlights R302, R304, and R306 are border highlights, highlights R404, R406, and R408 are decrypted message highlights, and highlights R502, R504, and R506 are index highlights. With respect to FIG. 9, highlight R608 is a product image highlight, and highlight R708 is a price highlight. With respect to FIG. 10, highlights R310, R312, and R314 are border highlights, highlights R410, R412, and R414 are decrypted message highlights, and highlights R510, R512, and R514 are index highlights. With respect to FIG. 11, R216, R218, R220, R222, and R224 are seal expressions, highlights R316, R318, R320, R322, and R324 are border highlights, highlights R416, R418, R420, R422, and R424 are decrypted message highlights, highlights R516, R518, R520, R522, and R524 are index highlights, highlights R816, R818, R820, R822, and R824 are character count highlights, and highlights R916, R918, R920, R922, and R924 are decodable seal type highlights.

[0096]

[0109] One or more programs 1800 can be stored in a non-transitory computer-readable storage medium, such as, for example, memory 1082 or 1084. The one or more programs 1800 can include program code logic, for example, instructions to cause a processor to perform the methods described herein, such as those described in connection with FIG. 8. A computer-readable medium can be, for example, a semiconductor integrated circuit-based memory device, a compact disc, a floppy disc, a thumb drive, a flash memory device can be a hard disk. One or more programs 1800 can be stored in a computer-readable storage medium provided by one or more memory devices of a memory of a device with an external CPU (e.g., a server, an external device configured in the manner of device 1000) and can be downloaded to device 1000. One or more programs 1800 can be stored in a computer-readable storage medium provided by one or more memory devices of memory 1085 of device 1000. In certain embodiments, one or more programs 1800 can be stored in a physically movable computer-readable storage medium, such as a compact disk, a floppy disk, a thumb drive.

[0097]

[0110] Here, a computer program product is described for facilitating selective output of decrypted message data. The computer program product includes a computer-readable storage medium readable by a processing circuit and storing instructions executable by the processing circuit to implement a method. The method includes using a processor to display image data corresponding to a decryptable seal within the field of view of an imaging device, and using the processor to output decrypted message data of a selected decryptable seal in response to operator input control for outputting the decrypted message data of the selected decryptable seal.

[0098]

[0111] Small samples of the systems, methods, and apparatuses described in this specification are as follows.

[0112] ​A1. The apparatus has a processor, a memory, an imaging subsystem configured to obtain an image of a decipherable seal, a display, and a communication interface. The apparatus is configured to locate and decrypt one or more decipherable seals in the image in response to obtaining an image of one or more objects within the field of view of the imaging subsystem. The apparatus is further configured to display the image on the display and visually mark the one or more decipherable seals that are successfully decrypted. The apparatus is further configured to transmit at least one decryption message corresponding to at least one of the one or more displayed decipherable seals to an external computer in response to receiving a user input that selects at least one of the one or more displayed decipherable seals and is configured to transmit it. A2. The apparatus of (A1), wherein the apparatus is provided by one of a smartphone, a tablet computer, and a personal digital assistant. A3. In the apparatus of (A1), the imaging subsystem includes a two-dimensional image sensor configured to output an analog signal representing light reflected by an object located within the field of view of the imaging subsystem, an amplifier configured to output an amplified analog signal by amplifying the analog signal read from the image sensor, and an analog-to-digital (A / D) converter configured to convert the amplified analog signal into a digital signal representing the obtained image. A4. The apparatus of (A1) is further configured to receive a user input indicating an order in which to send decryption messages corresponding to two or more decipherable seals to the external computer. A5. The apparatus of (A1) is further configured to visually mark at least one decipherable seal that has not been marked as successfully decrypted configured to receive user input to select a decodable seal within the image that has been displayed, and the apparatus is further configured to decode the at least one decodable seal. The apparatus of A6.(A1) is further configured to, in response to receiving user input to select at least one of the one or more decodable seals that have been displayed, send at least one image including the at least one decodable seal to an external computer.

[0099]

[0113] A method executed using one or more processors includes: using at least one of the one or more processors to obtain an image of one or more objects having one or more decodable seals; using at least one of the one or more processors to locate the positions of the one or more decodable seals within the image; using at least one of the one or more processors to decode the one or more decodable seals; using at least one of the one or more processors to display the image; using at least one of the one or more processors to visually mark the successfully decoded decodable seals within the displayed image; using at least one of the one or more processors to receive user input to select at least one of the one or more decodable seals that have been displayed; using at least one of the one or more processors to send at least one decoded message corresponding to the at least one decodable seal to an external computer. and includes. In the method of B2.(B1), the at least one of the one or more decodable seals that have been displayed One decodable seal is provided by two or more decodable seals, The step of receiving the user input includes receiving a user input indicating an order of sending decryption messages corresponding to the two or more decodable seals to the external computer. The method of B3.(B1) is receiving a user input for selecting at least one decodable seal not marked as successfully decrypted within the displayed image, decrypting the at least one decodable seal, and further includes. In the method of B4.(B1), the step of visually marking the one or more decodable seals successfully decrypted within the displayed image is performed by highlighting the one or more decodable seals successfully decrypted. In the method of B5.(B1), the step of visually marking the one or more decodable seals successfully decrypted within the displayed image is performed by drawing a bounding box around the one or more decodable seals successfully decrypted. In the method of B6.(B1), the step of visually marking the one or more decodable seals successfully decrypted within the displayed image is performed by drawing a visual marker around the center of the one or more decodable seals successfully decrypted. The method of B7.(B1) further includes sending at least one image including the at least one decodable seal to an external computer in response to the step of receiving a user input for selecting at least one decodable seal of the one or more displayed decodable seals. The method of B8.(B1) is executed by one or more processors of one or more mobile computers.

[0100]

[0114] A computer-readable storage medium comprising executable instructions capable of configuring a processor of C1.1 or higher, the instructions being Using at least one of the one or more processors to obtain an image of one or more objects having one or more decodable seals; Using at least one of the one or more processors to locate the positions of one or more decodable seals within the image; and using at least one of the one or more processors to decode the one or more decodable seals; Using at least one of the one or more processors to display the image; Using at least one of the one or more processors to visually mark the one or more successfully decoded decodable seals within the displayed image; Using at least one of the one or more processors to receive user input to select at least one of the one or more displayed decodable seals; Using at least one of the one or more processors to send at least one decoded message corresponding to the at least one decodable seal to an external computer; Configure one or more processors to perform. C2. In the computer-readable storage medium of (C1), the executable instructions further include a user One or more processors can be configured such that the step of receiving the input includes receiving user input indicating an order in which decoded messages corresponding to two or more of the decodable seals are sent to the external computer. C3. In the computer-readable storage medium of (C1), the executable instructions further include well Selecting at least one undecoded decodable seal that has not been marked as successfully decoded within the displayed image; the step of decrypting the at least one decryptable seal One or more processors can be configured to perform the above steps. In the computer-readable storage medium of C4. (C1), the executable instructions further include the step of visually marking one or more decryptable seals successfully decrypted within the displayed image, such that one or more processors can be configured to perform the step by highlighting the one or more successfully decrypted decryptable seals. In the computer-readable storage medium of C5. (C1), the executable instructions further include the step of visually marking one or more decryptable seals successfully decrypted within the displayed image, such that one or more processors can be configured to perform the step by drawing a bounding box around the one or more successfully decrypted decryptable seals. One or more processors can be configured to perform the above steps. In the computer-readable storage medium of C6. (C1), the executable instructions further include the step of visually marking one or more decryptable seals successfully decrypted within the displayed image, such that one or more processors can be configured to perform the step by drawing a visual marker around the center of the one or more successfully decrypted decryptable seals.

[0101]

[0115] A computer program product including a computer-readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit to perform a method, the method including using a processor to display image data corresponding to one or more decryptable seals within the field of view of an imaging device, wherein the one or more decryptable seals are to be the subject of a decryption process during display, and Using a processor, outputting decrypted message data of a selected decryptable seal among the one or more decryptable seals in response to operator input control for outputting the decrypted message data of the selected decryptable seal including.

[0102]

[0116] A2. In the computer program product of A1, the method further includes preparing an imaging device so as to limit the imaging device from outputting decrypted message data of decryptable seals not designated for the decryptable seal selected by the operator.

[0103]

[0117] A3. In the computer program product of A2, the method further includes preparing an imaging device so as to limit the imaging device from outputting decrypted message data of decryptable seals not designated by the operator as the selected decryptable seal during one or more selected operation modes of the device, and not limiting the imaging device from outputting decrypted messages of decrypted messages of decryptable seals not designated by the operator as the selected decryptable seal during another one or more operation modes of the device.

[0104]

[0118] A4. In the computer program product of A1, the method further includes using a processor to monitor to determine whether the operator has touched an area of the display to designate a specific decryptable seal as the selected decryptable seal.

[0105]

[0119] A5. In the computer program product of A1, the method further includes using a processor to monitor to determine whether the operator has output a message as voice to designate a specific decryptable seal as the selected decryptable seal.

[0106]

[0120] In the computer program product of A1, the method includes a step of using an eye-tracking information to monitor, by using a processor, whether an operator is accurately looking at any of the displayed decodable seal representations.

[0107]

[0121] In the computer program product of A7, the step of displaying includes a step of displaying a representation of a decodable seal that is determined to be decodable using currently captured image data having one or more highlights.

[0108]

[0122] In the computer program product of A8, the one or more highlights include a boundary displayed for the representation of the decodable seal.

[0109]

[0123] In the computer program product of A9, the one or more highlights include a display of the text of the decryption message of the decodable seal.

[0110]

[0124] In the computer program product of A10, the one or more highlights are of a specific color.

[0111]

[0125] In the computer program product of A11, the one or more highlights include price lookup information determined by sending a message to an external database.

[0112]

[0126] In the computer program product of A12, the one or more highlights include a product image obtained by sending a message to an external database.

[0113]

[0127] In the computer program product of A13, one or more decodable seals The corresponding image data lacks the image representation of the one or more decodable seals and includes only the one or more highlighted displays of the decodable seals.

[0114]

[0128] A14. In the computer program product of A1, the decrypted message... The data includes a decrypted message.

[0115]

[0129] A15. In the computer program product of A1, the one or more decodable seals... are a plurality of decodable seals.

[0116]

[0130] A16. In the computer program product of A1, the one or more decodable seals... are one decodable seal.

[0117]

[0131] B1. The imaging device is... a handheld housing, an imaging assembly having a field of view, and a display and includes The imaging device operates to display on the display image data representing one or more decodable seals within the field of view of the imaging assembly, and the one or more decodable seals are subject to a decryption process upon display. The imaging device operates to output decrypted message data of a selected decrypted seal in response to operator input control for outputting decrypted message data of the selected decodable seal.

[0118]

[0132] B2. The imaging device of B1, wherein the imaging device is restricted from outputting decrypted message data of a decodable seal not specified by the operator as the selected decodable seal.

[0119]

[0133] B3. The imaging device of B2, wherein the imaging device restricts the output of decryption message data of a decryptable seal not specified by the operator as the selected decryptable seal during one or more selected operation modes of the device, and does not restrict the output of the decryption message of the decryption message not specified by the operator as the selected decryptable seal during one or more other operation modes of the device. during one or more selected operation modes of the device, and does not restrict the output of the decryption message of the decryption message not specified by the operator as the selected decryptable seal during one or more other operation modes of the device. The decryption message of the decryption message is not restricted from being output.

[0120]

[0134] B4. The imaging device of B1, wherein the imaging device operates to determine whether the operator has touched a region of the display to specify a particular decryptable seal as the selected decryptable seal.

[0121]

[0135] B5. The imaging device of B1, wherein the imaging device operates to determine whether the operator has output a message as voice to specify a particular decryptable seal as the selected decryptable seal.

[0122]

[0136] B6. In the imaging device of B1, having a second imaging assembly, the second imaging assembly has a field of view defined about an imaging axis extending upward from the handheld housing, and the imaging device operates to determine whether the operator is looking at a particular region of the display to select a particular decryptable seal by processing image data output using the second imaging assembly.

[0123]

[0137] B7. The imaging device of B1, wherein the imaging device operates to display the representation of the decryptable seal determined to be decryptable using currently captured image data having one or more highlights.

[0124]

[0138] In the imaging device of B8. B7, the highlighting includes a boundary displayed for the appearance of the decipherable seal. It includes the boundary displayed for the appearance of the decipherable seal.

[0125]

[0139] In the imaging device of B9. B7, the highlighting includes the display of the text of the decryption message of the decipherable seal. It includes the display of the text of the decryption message of the decipherable seal.

[0126]

[0140] In the imaging device of B10. B1, the display is attached to an eyewear frame.

[0127]

[0141] A computer program product including a computer-readable storage medium that is readable by a processing circuit and stores instructions executed by the processing circuit to perform a method, the method including: Using a processor, displaying image data corresponding to one or more decipherable seals within the field of view of an imaging device; Using a processor, in response to control input by an operator to output decryption message data of a selected decipherable seal among the one or more decipherable seals, outputting decryption message data of the selected decrypted seal; including The control input by the operator to output the decryption message data of the selected decipherable seal includes touching one position on the display, and the position is a position where the representation of the selected decipherable seal is displayed and is selected by the touch.

[0128]

[0142] Although the present invention has been described with reference to many specific embodiments, the true spirit of the present invention It will be understood that the ranges and bounds are to be determined only with respect to the claims supported in the present specification. Further, in many cases herein, systems, devices, and methods are described as having a particular number of elements, but it will be understood that those systems, devices, and methods can be implemented with fewer or more elements than the particular number of elements described. Also, although many specific embodiments are described, it will be understood that the features and aspects described with respect to each particular embodiment can be used in each of the remaining particular embodiments described. Although many specific embodiments are described, it will be understood that the features and aspects described with respect to each particular embodiment can be used in each of the remaining particular embodiments described.

Claims

1. An indicia reading device (100, 1000), One or more processors (1060); Memory (1085); an imaging subsystem (1040) configured to acquire one or more images of one or more objects within a field of view (140); A display (54), and A communication interface (1604, 1608), the indicia reading device is configured to, in response to acquiring the one or more images of the one or more objects, attempt to locate and decode one or more decodable indicia (15, 202, 204, 206); the indicia reading device is further configured to display the one or more images on the display and overlay a first highlighting on at least one representation of the one or more decodable indicia that have been successfully decoded; and the indicia reading device is further configured, in response to receiving a user action indicating a selection of at least one successfully decoded decodable indicium of the at least one representation of the one or more successfully decoded decodable indicia, to overlay a second highlighting associated with the selected representation of the at least one successfully decoded decodable indicium, the second highlighting being different from the first highlighting.

2. A method performed in an indicia reading device (100, 1000), comprising: in response to acquiring one or more images of one or more objects within a field of view (140) of the indicia reading device, locating one or more decodable indicia within the one or more images and attempting to decode the one or more decodable indicia within the one or more images; The method further includes displaying the one or more images on a display and overlaying a first highlighting on at least one representation of the one or more decodable indicia that were successfully decoded; overlaying a second highlighting associated with a representation of the one or more selected successfully decoded decodable indicia, the second highlighting being different from the first highlighting; A method comprising:

Citation Information

Patent Citations

  • Information terminal and image display method

    JP2007279155A

  • Commodity sales registration data processor

    JP2008257462A

  • Optical information reading device

    JP2009151446A

  • Bar code reader

    JP2012181705A