Generation of Measurement Data Using Image Data

A QR code-based measurement system addresses the need for cost-effective, infrastructure-independent measurement devices by using a fixed background pattern with overlaid masks to capture environmental data, enabling efficient integration with enterprise systems for proactive actions.

JP7710814B2Active Publication Date: 2025-07-22INTERNATIONAL BUSINESS MACHINE CORPORATION
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
JP2023514724
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-09-17
Filing Date
2021-09-15
Publication Date
2025-07-22
Estimated Expiration
2041-09-15

AI Technical Summary

Technical Problem

Existing measurement systems in field environments, such as hydrology, construction, and leisure activities, require devices that can accurately measure environmental parameters like temperature, wind speed, and water levels without relying on power or communication infrastructure, and are cost-effective and easy to read.

Method used

A QR code-based measurement system using a fixed background pattern with overlaid foreground masks, where the relative position of the masks indicates measurement values, allowing for passive data collection and interpretation using mobile devices.

Benefits of technology

Enables accurate, energy-efficient, and cost-effective measurement of environmental parameters, facilitating integration with enterprise systems for proactive actions based on collected data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007710814000001
    Figure 0007710814000001
  • Figure 0007710814000002
    Figure 0007710814000002
  • Figure 0007710814000003
    Figure 0007710814000003
Patent Text Reader

Abstract

Aspects of the present invention disclose methods, computer program products, and systems for determining information based on received images. The method includes one or more processors receiving image data from a computing device. The method further includes one or more processors identifying objects included in the received image data. The method further includes one or more processors determining values ​​corresponding to the identified objects included in the received image data. The method further includes one or more processors determining whether the determined values ​​correspond to a predetermined action. Another aspect of the present invention discloses an apparatus including a foreground label overlying a background label and a measurement device coupled to the foreground label. The measurement device can move in response to observing measurement data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention generally relates to the field of data collection, and more specifically to generating measurement data based on analyzing image data.

Background Art

[0002] A barcode (or bar-code) is a way to represent data in a visible machine-readable format. Initially, barcodes represented data by varying the widths and spacings of parallel lines. These barcodes are now generally referred to as linear or one-dimensional (1D) and can be scanned by a dedicated optical scanner called a barcode reader. Subsequently, two-dimensional (2D) variants using rectangular, dot, hexagonal, and other geometric patterns, called matrix codes or 2D barcodes, were developed, which do not use anything like bars. 2D barcodes can be read or decoded using application software on mobile devices having a built-in camera such as a smartphone.

[0003] A QR (Quick Response) code is a type of matrix barcode (or two-dimensional barcode). A barcode is a machine-readable optical label that can contain information about the item to which the QR code is attached. In practice, QR codes often contain a locator, identifier, or tracker indicating a website or application. QR codes use four standardized encoding modes (numeric, alphanumeric, byte / binary, and kanji) for efficient data storage, but extended functions can also be used.

[0004] A QR code consists of black squares arranged within a square grid on a white background and can be read by an imaging device such as a camera. The QR code is processed using Reed-Solomon error correction until the image can be appropriately interpreted. Next, the necessary data is extracted from the patterns present within both the horizontal and vertical components of the image.

Summary of the Invention

[0005] Aspects of the present invention disclose a method, a computer program product, and a system for determining information based on a received image. The method includes one or more processors that receive image data from a computing device. The method further includes one or more processors that identify an object included in the received image data. The method further includes one or more processors that determine a value corresponding to the identified object included in the received image data. The method further includes one or more processors that determine whether the determined value corresponds to a defined action.

[0006] Another aspect of the present invention discloses a measuring device. The measuring device includes a background label. The background label indicates a first set of objects and is anchored in a fixed position. The device further includes a foreground label that overlays the background label. The foreground label indicates a second set of objects that coincides with the first set of objects. Further, the spacing between each object of the second set of objects is shifted relative to the spacing between each object of the first set of objects corresponding to a defined measurement value associated with the foreground label and the background label. The device further includes a measuring device coupled to the background label. This measuring device can move in a first direction corresponding to observing measurement data.

Brief Description of the Drawings

[0007]

Figure 1

Figure 2

Figure 3

Figure 4A

Figure 4B

Figure 4C

Figure 4D

Figure 4E

Figure 5A

Figure 5B

Figure 5C

Figure 5D

Figure 5E

Figure 6

Mode for Carrying Out the Invention

[0008] Embodiments of the present invention enable a method and system for generating measurement data using an environment-dependent label at a measurement point. For example, embodiments of the present invention receive image data and determine a measurement value corresponding to the image data. In an exemplary aspect, the image data can be a QR (Quick Response) code, or can include a QR code, or both. Yet another embodiment of the present invention can determine whether an action corresponds to a determined measurement value. Next, in response to determining that the determined measurement value corresponds to an action, embodiments of the present invention can execute the identified action, or facilitate the action, or both.

[0009] Some embodiments of the present invention recognize the need for improvement to passive measurement systems, particularly for field environments. For several field operations (e.g., hydrology, construction and utilities, infrastructure maintenance, agronomy, etc.) and several field leisure activities (e.g., trekking, mountain climbing, paragliding, cross-country skiing, etc.), embodiments of the present invention recognize the importance of accurately knowing several environmental parameters for properly managing business needs for safety. Typical parameters (e.g., environmental parameters) are directly or indirectly related to meteorology, such as, for example, temperature, wind speed / direction, level of a water reservoir (artificial or natural), river flow, plant growth, etc.

[0010] Furthermore, embodiments of the present invention recognize that an individual can benefit from dedicated devices for providing such information, such as fixed or mobile thermometers, flow meters, rulers, etc. Embodiments of the present invention further recognize that such devices often need to be powered, need to be interconnected with the infrastructure backbone, can be expensive, provide a wide range of user interfaces, and require a diverse set of readers. Thus, when environmental information is needed in an area with limited (even if non-zero) communication and power infrastructure, embodiments of the present invention recognize the need for meters that measure environmental parameters and require little energy, are inexpensive, passive, and easy to read.

[0011] In an exemplary aspect, embodiments of the present invention include labels with different QR codes. The label includes a fixed background pattern with printed QR codes, and on this pattern, a foreground transparent sliding mask with printed QR codes shifted in the same way is overlaid. The relative position of the sliding mask on the fixed pattern is governed by a longitudinal variation associated with the measurement data. For example, the relative position of the sliding mask on the fixed pattern can be changed by the expansion of a rod fastened on the sliding mask. The positioning of the QR codes on both the fixed pattern and the sliding mask is done such that the pattern / mask overlay indicates one valid QR code for a given movement associated with a given value of the measurement data. By encoding the corresponding value complemented by the fixed data, the valid QR code provides a self-sufficient record containing accurate live information. In an exemplary embodiment, the label can operate as a passive outdoor environment monitor. In an alternative aspect (shown in the figures and described in more detail later), the QR codes can be arranged in columns parallel or perpendicular to the direction of movement. In other embodiments, the meter can include QR codes in any possible different arrangement, such as on a rotation axis, etc.

[0012] Another exemplary aspect of the present invention is an application (e.g., an application on a mobile device that communicates with a server computer system) that can first read a valid QR code and obtain fixed and variable data. Further, reading the data can operate to initiate one or more business processes through integration with applications (singular or plural) such as enterprise resource planning (ERP), enterprise asset management (EAM), building information modeling (BIM), etc. Alternatively, a conventional QR reader available on a mobile device can read a valid QR code and display the recorded data to the user.

[0013] The implementation of the embodiments of the present invention can take various forms, and next, the details of the exemplary implementation will be discussed with reference to the drawings.

[0014] Hereinafter, the present invention will be discussed in detail with reference to the drawings. FIG. 1 is a functional block diagram showing a distributed data processing environment generally designated 100 in accordance with one embodiment of the present invention. FIG. 1 is only an illustration of one embodiment and does not imply any limitation on the environment in which various embodiments can be implemented. Those skilled in the art will be able to make many modifications to the illustrated environment without departing from the scope of the present invention as detailed by the claims.

[0015] One embodiment of a data processing environment 100 includes computing devices 110 and a server 120 that are all interconnected over a network 105. Further, the data processing environment 100 includes a meter 130 that is not connected to the network 105. However, in alternative embodiments according to various embodiments of the present invention, the meter 130 can communicate with the computing device 110 and optionally connect to the network 105. In an exemplary embodiment, the server 120 represents a computing device (e.g., one or more management servers) that can receive data from the computing device 110 and respond based on the content of the received data according to an embodiment of the present invention. In other embodiments, according to various embodiments of the present invention, the data processing environment 100 can include additional instances of meters and computing devices (not shown) that can interface with the server 120.

[0016] The network 105 can be, for example, a local area network (LAN), a communication network, a wide area network (WAN) such as the Internet, or any combination including these three wired, wireless, or fiber optic connections. Generally, the network 105 can be any combination of connections and protocols that support communication between the computing device 110 and the server 120 according to an embodiment of the present invention. In various embodiments, the network 105 facilitates communication between a plurality of network-connected computing devices (e.g., computing device 110, server 120, and other devices not shown), corresponding users (e.g., users of the computing device 110 and server 120), and corresponding management services (e.g., server 120).

[0017] In various embodiments of the present invention, computing device 110 can be a workstation, a personal computer, a personal digital assistant, a mobile phone, or any other device capable of executing computer-readable program instructions according to embodiments of the present invention. Generally, computing device 110 represents any electronic device or combination of electronic devices capable of executing computer-readable program instructions. Computing device 110 can include components shown in FIG. 6 and described in further detail with respect to FIG. 6 according to embodiments of the present invention. In one exemplary embodiment, computing device 110 is a mobile device associated with (e.g., registered to) a user that interacts with a meter 130 (e.g., captures a QR code) according to embodiments of the present invention.

[0018] Computing device 110 includes a user interface 112 and an application 114. The user interface 112 is a program that provides an interface between a user of the computing device 110 and a plurality of applications (e.g., application 114) resident on the device. A user interface such as user interface 112 controls a program with reference to information (such as graphics, text, and audio) presented to the user by the program and control sequences used by the user. There are various types of user interfaces. In one embodiment, the user interface 112 is a graphical user interface. A graphical user interface (GUI) enables a user to interact with an electronic device such as a computer keyboard and mouse through graphical icons and visual indicators such as secondary displays, and is contrasted with text-based interfaces, typed command labels, or text navigation. In computing, the GUI was introduced in response to the recognition that the learning curve of a command-line interface, which requires commands typed on a keyboard, is steep. Actions in a GUI are often performed through direct manipulation of graphical elements. In another embodiment, the user interface 112 is a script or an application programming interface (API).

[0019] Application 114 can represent one or more applications (e.g., an application suite) operating on computing device 110. In various exemplary embodiments, application 114 can be an application used by a user of computing device 110 to capture an image of meter 130 and send the captured image to server 120, according to an embodiment of the present invention. In other embodiments, application 114 can be another mobile device application (e.g., a web browser, an enterprise-specific messaging application, a social media application, a QR reader, etc.). For example, application 114 can be a client-side application associated with server 120 (e.g., a client-side application associated with measurement program 200) that includes a camera function and a function to capture one or more QR codes of meter 130, according to various embodiments of the present invention.

[0020] In an additional embodiment, application 114 can be operative to perform processing steps of measurement program 200 according to various embodiments of the present invention (i.e., application 114 can represent measurement program 200 operating on computing device 110). For example, a user of computing device 110 can capture a QR code (e.g., on meter 130), analyze the captured QR code using application 114 (and data stored on computing device 110), and view the result of the analysis on computing device 110 (e.g., via a user interface). In another embodiment, computing device 110 can communicate intermittently with server 120. For example, computing device 110 can capture a QR code (e.g., while not connected to a network), and then communicate data of the captured QR code to server 120 later (e.g., when it can connect to network 105).

[0021] In an exemplary embodiment, server 120 can be a desktop computer, a computer server, or any other computer system known in the art. In a particular embodiment, server 120 represents a computer system that uses clustered computers and components (e.g., database server computers, application server computers, etc.) that operate as a single pool of seamless resources when accessed by elements of data processing environment 100 (e.g., computing device 110, other devices not shown). Generally, server 120 represents any electronic device or combination of electronic devices capable of executing computer-readable program instructions. Server 120 can include components shown in FIG. 6 and described in further detail with respect to FIG. 6 according to embodiments of the present invention.

[0022] Server 120 includes a measurement program 200 and a storage device 122 that includes measurement data 124 and action data 126. In various embodiments of the present invention, server 120 operates as a computing system that hosts or manages or both hosts and manages data related to executing measurement program 200 with respect to data from a plurality of meters such as meter 130. In one embodiment, server 120 is associated with an enterprise or service provider (e.g., an e-commerce platform, a weather service, a measurement database system, a customer support platform, etc.) that interacts with a user (e.g., the user of computing device 110 or another user / device not shown), sends or requests information, or both.

[0023] In an exemplary embodiment, measurement program 200 determines information based on an image received according to an embodiment of the present invention. For example, measurement program 200 receives image data (e.g., a captured QR code from computing device 110) and determines a measurement value corresponding to the image data. Further, measurement program 200 determines whether an action corresponds to the determined measurement value. In response to determining that the determined measurement value corresponds to an action, measurement program 200 can execute or facilitate or both execute and facilitate the identified action.

[0024] In an additional embodiment, the server 120 uses the storage device 122 to store information related to the measurement data of the meter 130 (e.g., measurement data 124) and the actions (e.g., action data 126) associated with the determined measurement values. The storage device 122 can be implemented by a persistent storage 605 that can store data accessible and usable by the server 120 and the computing device 110, such as any type of storage device, e.g., a database server, a hard disk drive, or a flash memory. In other embodiments, the storage device 122 can represent a collection of multiple storage devices and data within the server 120.

[0025] In an additional embodiment, the storage device 122 can further store other data related to various embodiments of the present invention. For example, the storage device 122 can store historical measurement data (e.g., previously received images and corresponding measurement values) associated with the meter 130. In another example, the storage device 122 can include user preference information (defined by the user of the computing device 110). In yet another example, the storage device 122 can store various data associated with the meter (e.g., meter 130), such as, for example, the location of the meter (e.g., coordinates), maximum and minimum values, the lifespan of the meter, the user associated with the meter, etc.

[0026] In various embodiments of the present invention, a user of computing device 110 can register with server 120 (e.g., via a corresponding application such as application 114). For example, the user completes the registration process, provides information, and permits (i.e., opts in) the collection and analysis of related data by server 120 (e.g., via measurement program 200 or other authorized applications) on the identified computing device (e.g., computing device 110). In various embodiments, the user can opt in or out of certain categories of data collection. For example, the user can opt in to providing all of the requested information, a subset of the requested information, or no information. In one exemplary scenario, the user opts in to providing time-based information but opts out of providing location-based information (for all or a subset of the computing devices associated with the user). In another embodiment, the user can define the format of the data that server 120 can use when executing aspects of measurement program 200.

[0027] In an exemplary embodiment, measurement data 124 represents an organized collection of information (e.g., a data set, a database, etc.) that includes data describing the relationship between image data and corresponding measurement data according to an embodiment of the present invention. For example, measurement data 124 stores the mapping relationship of a corresponding temperature of a QR code (e.g., a corresponding data entry). Various examples for mapping a QR code to corresponding measurement values are discussed in further detail in relation to FIGS. 3, 4A-4E, and 5A-5E.

[0028] In another embodiment, action data 126 includes an action or process or both that the server 120 can request or initiate or both in response to determining a corresponding measurement value. In an exemplary embodiment, action data 126 represents an organized collection (e.g., a data set, a database, etc.) of information that includes data describing the relationship between a determined measurement and a corresponding action / process. For example, in response to reading / determining measurement data, measurement program 200 can operate to initiate one or more business processes through integration with applications (singular or plural) such as enterprise resource planning (ERP), enterprise asset management (EAM), building information modeling (BIM), etc. In an exemplary scenario where the measurement data is temperature data, action data 126 includes data indicating which action / process to initiate in response to a particular temperature reading. In various embodiments, the actions within action data 126 can include, but are not limited to, initiating a positive action (e.g., ending a process / application, shutting down a computer, turning an air conditioner on / off, turning a heater on / off, etc.), sending a warning to one or more users, recording the determined measurement / value, etc.

[0029] In various embodiments, meter 130 is a measurement device according to various embodiments of the present invention. In an exemplary aspect, meter 130 includes a label consisting of different QR codes. The label includes a fixed background pattern having a printed QR code and a foreground transparent sliding mask having a shifted and similar printed QR code overlaid thereon. The relative position of the sliding mask on the fixed pattern is governed by a longitudinal variation associated with the measured data. For example, the relative position of the sliding mask on the fixed pattern can be changed by the expansion of a rod attached to the sliding mask. In other aspects, the rod can be any movable device that can move / slide in correspondence with the observer's measurement data. The positioning of the QR codes on both the fixed pattern and the sliding mask is such that the pattern / mask overlay shows a single valid QR code for a given movement associated with a given value of the measured data. By encoding the corresponding values complemented by the fixed data, the valid QR code provides a self-sufficient record containing accurate live information from meter 130. In an exemplary embodiment, the label of meter 130 can operate as a passive field environment monitor. In an alternative aspect (shown in the drawings and described in more detail later), the QR codes can be arranged in columns parallel or perpendicular to the direction of movement. In other embodiments, the meter can include QR codes in any possible different arrangement, such as on a rotation axis.

[0030] In various embodiments, the meter 130 can be operative to effect a lengthwise variation in response to a change in a measured parameter (e.g., temperature or other environmental parameter). In an exemplary embodiment, the meter 130 consists of the QR code 300 shown in FIG. 3. FIG. 3 shows a background pattern 302, a foreground mask 304, and a fixed anchor 306. In connection with the example shown in FIG. 3, the meter 130 includes a foreground mask 304 that overlays the background pattern 302. The foreground mask 304 can be connected to the free end of a rod whose other end is connected to the fixed anchor 306. In one example, when the temperature changes, the length of the rod changes, and thus the foreground mask 304 is slid on top of the background pattern 302. In this example, the rod is a rod having a high coefficient of expansion. In the example shown in FIG. 3, each QR code is arranged using the corresponding intervals of no gap between QR codes, gap 1, gap 2, gap 3, and gap 4. The specific intervals and directions of the gaps enable the QR code of the foreground mask 304 to overlap the background pattern 302 when the meter 130 measures the corresponding temperature.

[0031] In yet another aspect, each of FIGS. 4A, 4B, 4C, 4D, and 4E shows a visual representation of meter 130 at a temperature corresponding to a measurement using the overlap of the QR code of foreground mask 304 on background pattern 302 arranged parallel to the movement (i.e., capable of horizontal movement) according to various embodiments of the present invention. For example, FIG. 4A shows meter direction 400 including QR code 405 (i.e., the overlay / coincidence of the leftmost QR code in the figure). In this example, computing device 110 can capture an image of meter 130 including QR code 405. Thus, through processing, measurement program 200 (described in more detail in relation to FIG. 2) can determine that meter 130 is measuring a temperature of 20°C. In another aspect, meter 130 can optionally include a collimator shown as collimator row 402 in FIG. 4A for additional factors in determining or monitoring or both the alignment of the QR code of meter 130.

[0032] In another embodiment, each of FIGS. 5A, 5B, 5C, 5D, and 5E shows a visual representation of meter 130 at a temperature corresponding to a measurement using the overlap of the QR code of foreground mask 304 on background pattern 302 arranged perpendicular to the movement (i.e., capable of vertical movement) according to various embodiments of the present invention. In other embodiments, meter 130 (or another meter) can include QR codes in any possible different arrangement, such as on a rotation axis and the like. In another aspect, meter 130 can optionally include a collimator (e.g., similar to collimator row 402 in FIG. 4A) for additional factors in determining or monitoring or both the alignment of the QR code of meter 130.

[0033] In an additional embodiment, the meter 130 can be coupled to the computing device 110 to facilitate an instance of the meter 130 (e.g., an Internet of Things (IoT) device) that can communicate via the network 105. For example, the computing device 110 can be operably coupled to the meter 130 and can further capture an image of the meter 130. In an exemplary scenario, the computing device 110 can automatically track the measurements of the meter 130 (e.g., capture images at defined intervals) for transmission to the server 120 according to an embodiment of the present invention.

[0034] Various embodiments of the present invention can deploy meters based on the overlapping implementation of QR codes of the meter 130 for various use cases. Examples of use cases include, but are not limited to, hydrology (e.g., water storage level, flow meter, turbidity meter, etc.), meteorology for the grid (e.g., temperature, wind speed, wind direction, air pressure, humidity, etc.), construction (e.g., crack gauge, shear gauge, etc.), vegetation management (e.g., tree height meter, tree trunk meter, etc.), sports (e.g., temperature, wind speed, wind direction, air pressure, etc.), and the like.

[0035] FIG. 2 is a flowchart showing the operational steps of a measurement program 200, i.e., a program for determining information based on received images, according to an embodiment of the present invention. In one embodiment, the measurement program 200 starts in response to receiving a request and / or data from a computing device (e.g., the computing device 110). For example, the measurement program 200 starts in response to receiving a request to analyze a QR code. In another embodiment, the measurement program 200 can operate to wait to receive data (e.g., images, QR code readings, etc.) as a background process on the server 120.

[0036] In step 202, the measurement program 200 receives image data. In one embodiment, the measurement program 200 receives image data including one or more QR codes from the meter 130 from the computing device 110. The measurement program 200 can receive any other form of image or input data that can include information or objects shown within the measurement data 124 according to various embodiments of the present invention. In one example, the measurement program 200 receives an image of a QR code from the computing device 110. In another example, the measurement program 200 receives data from a QR code reader application of the computing device 110. In this example, the computing device 110 can capture the QR code of the meter 130 and use a QR code reader application (e.g., application 114) to analyze the QR code to determine the data corresponding to the captured QR code of the meter. Next, the computing device 110 can send the data parsed and determined from the QR code to the server 120 for receipt and processing by the measurement program 200.

[0037] In an exemplary scenario, computing device 110 captures an image of meter 130 (e.g., a thermometer) corresponding to meter direction 420 (shown in FIG. 4B). In this exemplary scenario, foreground mask 304 overlays on background pattern 302 as shown by QR code 425 (i.e., the image of meter 130 includes a single QR code (QR code 425) with a clearly defined sharp pixel resolution). For example, QR code 425 corresponds to the overlay of foreground mask 304 that shows QR code 425 as a valid QR code on background pattern 302. Next, computing device 110 sends the image of meter direction 420 including QR code 425 to measurement program 200. In various embodiments, measurement program 200 analyzes the received image data to identify one or more features of the image data. In this exemplary scenario, measurement program 200 analyzes the image data received from computing device 110 to identify QR code 425 (i.e., the QR code that is a clear image of the QR code of foreground mask 304 that properly overlays on background pattern 302).

[0038] In an alternative exemplary scenario, the measurement program 200 can receive image data including content from meter directions 400, 420, 440, 460, 480, 500, 520, 540, 560, and 580 (i.e., FIGS. 4A-4E and FIGS. 5A-5E) according to various embodiments of the present invention. In an additional embodiment, the measurement program 200 can use the collimator array of the meter 130 (e.g., the collimator array 422 in FIG. 4B) as an additional factor when identifying the correct QR code from a plurality of QR codes within the received image data. In other embodiments, the measurement program 200 can receive an image including one or more identifiable objects that the measurement program 200 can identify and use according to various embodiments of the present invention.

[0039] In another embodiment, the computing device 110 can communicate intermittently with the server 120. For example, the computing device 110 can capture a QR code (e.g., while not connected to the network 105), and then communicate the data of the captured QR code to the server 120 later (e.g., when it can connect to the network 105).

[0040] In step 204, the measurement program 200 determines a value corresponding to the received image data. In one embodiment, the measurement program 200 compares the content of the received image (from step 202) (e.g., the identified QR code) with the information in the measurement data 124. In an exemplary embodiment, the measurement data 124 represents an organized collection of information (e.g., a data set, a database, etc.) that includes data describing the relationship between the image data and the corresponding measurement data according to an embodiment of the present invention. For example, the measurement data 124 stores the mapping relationship of the QR code to the corresponding temperature. In various embodiments, the measurement program 200 collates the received image data against the measurement data 124 to determine the encoded data corresponding to the reading value indicated in the received image data (e.g., the QR code).

[0041] In an exemplary embodiment, each QR code of the meter 130 is included in the measurement data 124 and corresponds to a specific data point such as the corresponding temperature. For example, with respect to FIGS. 4A-4E, the QR code 405 corresponds to a temperature of 20° C., the QR code 425 corresponds to a temperature of 21° C., the QR code 445 corresponds to a temperature of 22° C., the QR code 465 corresponds to a temperature of 23° C., and the QR code 485 corresponds to a temperature of 24° C. In another example, with respect to FIGS. 5A-5E, the QR code 505 corresponds to a temperature of 20° C., the QR code 525 corresponds to a temperature of 21° C., the QR code 545 corresponds to a temperature of 22° C., the QR code 565 corresponds to a temperature of 23° C., and the QR code 585 corresponds to a temperature of 24° C.

[0042] In another aspect, depending on the measured parameters and the associated mechanical settings, the lengthwise variation may or may not be proportional to the measured parameters. Embodiments of the present invention enable the lengthwise variation of a meter (e.g., meter 130) to directly correspond to the measured parameters through a linear function, or indirectly correspond through a conversion table having the lengthwise variation as an index (e.g., within measurement data 124). Thus, embodiments of the present invention enable recalibration by updating the conversion table based on input data from a mobile device (e.g., computing device 110).

[0043] In the exemplary scenario discussed previously, computing device 110 sent an image of meter 130 including meter direction 420 and QR code 425 to server 120 (and measurement program 200). In this exemplary scenario, measurement program 200 analyzes the received image data to identify QR code 425. Measurement program 200 then compares QR code 425 with measurement data 124 to determine the temperature value corresponding to QR code 425. In this exemplary scenario, measurement program 200 determines that the temperature value is 21 °C.

[0044] In another embodiment, measurement program 200 can identify additional information associated with the received image data. In an exemplary embodiment, measurement program 200 can determine a position associated with the content of the received image data based on analyzing the content of the image data. For example, measurement program 200 can identify that the received image data corresponds to meter 130 (e.g., based on identifying specific characteristics or other distinguishable factors within the image data, such as a QR code, based on information included in the image data from computing device 110). In this example, measurement program 200 can determine the position coordinates corresponding to the received image data (and meter 130).

[0045] In determination step 206, measurement program 200 determines whether the action corresponds to a determined value. In one embodiment, measurement program 200 determines whether the received image data (from step 202) or the determined value (from step 204) or both correspond to data within action data 126. In an additional embodiment, measurement program 200 further searches for an action within action data 126 that corresponds to meter 130 (i.e., the source / location of the image data). In various embodiments, action data 126 includes actions or processes or both that can perform a request or start or both in response to the server 120 determining a corresponding measured value. In an exemplary embodiment, action data 126 represents an organized collection of information (e.g., a data set, a database, etc.) that includes data describing the relationship between a determined measurement and a corresponding action / process.

[0046] In another embodiment, measurement program 200 determines whether there is a match between the content of action data 126 and one or more of the content of the received image data (e.g., the QR code received in step 202) and the determined value corresponding to the received image data (e.g., the value from measurement data 124 determined in step 204). In response to determining that the action does not correspond to the determined value (determination step, no branch), measurement program 200 ends. In an optional embodiment, in response to determining that the action does not correspond to the determined value (determination step, no branch), measurement program 200 can record or track one or more of the content of the received image data (e.g., the QR code received in step 202) and the determined value corresponding to the received image data (e.g., the value from measurement data 124 determined in step 204) in storage device 122.

[0047] In the exemplary scenario discussed previously, measurement program 200 compared QR code 425 with measurement data 124 to determine a temperature value of 21°C. In this example, measurement program 200 can search action data 126 for actions corresponding to one or more of QR code 425 and 21°C. Further, measurement program 200 searches for an action corresponding to the source of the image data for an action corresponding to meter 130, or a location associated with meter 130. In this exemplary scenario, measurement program 200 determines that action data 126 includes the display of QR code 425 and that action data 126 indicates changing the temperature of a heating, ventilation, and air conditioning (HVAC) system at a location corresponding to meter 130.

[0048] In another example, measurement program 200 can determine that action data 126 includes an action to power on one or more computing systems at a location associated with meter 130 (corresponding to the determined value in step 204). In an additional exemplary scenario, measurement program 200 can determine that action data 126 includes an action to send a warning to one or more users (corresponding to the determined value in step 204). In this exemplary scenario, one or more users are registered (e.g., user preference data is provided to server 120) to receive a warning when the temperature at the location of meter 130 reaches a certain temperature. Thus, action data 126 can include an instruction to send a warning to one or more users in response to measurement program 200 determining the corresponding temperature reading value of meter 130.

[0049] In step 208, measurement program 200 performs the identified action. More specifically, in response to determining that the action corresponds to the determined value (judgment step 206, yes branch), measurement program 200 executes the action. In one embodiment, measurement program 200 executes the identified (from judgment step 206) action within action data 126. In various embodiments, the actions within action data 126 can include, but are not limited to, initiating a proactive action (e.g., ending a process / application, shutting down the computer, turning on / off the HVAC system, turning on / off the heating, etc.), sending a warning to one or more users, recording the determined measurement / value, and the like.

[0050] In the exemplary scenario discussed previously, measurement program 200 determines (in judgment step 206) that action data 126 includes the display of QR code 425 and that action data 126 indicates changing the temperature of the HVAC system at the location corresponding to meter 130. Accordingly, measurement program 200 sends (via network 105) an instruction to change the temperature of the HVAC system at the location corresponding to meter 130.

[0051] In another example, measurement program 200 can send a warning to one or more users (based on user preference data within storage device 122) in response to measurement program 200 determining a particular temperature reading of meter 130. In other embodiments, measurement program 200 can, in accordance with various embodiments of the present invention, perform the action and / or send an instruction (on network 105) to execute any other action identified within action data 126.

[0052] Figure 3 shows a QR code 300 including a background pattern 302, a foreground mask 304, and a fixed anchor 306 according to various embodiments of the present invention. In an exemplary embodiment, the meter 130 includes the QR code 300 shown in FIG. 3. Referring to the example shown in FIG. 3, the meter 130 includes a foreground mask 304 that overlays the background pattern 302. The foreground mask 304 can be coupled to the free end of a rod whose other end is coupled to the fixed anchor 306. In one example, when the temperature changes, the length of the rod changes, and thus the foreground mask 304 is slid over the background pattern 302. In this example, the rod is a rod having a high expansion rate. In the example shown in FIG. 3, each QR code is arranged using the corresponding intervals of no gap between the QR codes, gap 1, gap 2, gap 3, and gap 4. The particular intervals and directions of the gaps allow the QR codes of the foreground mask 304 to overlap the background pattern 302 when the meter 130 measures the corresponding temperature.

[0053] Each of FIGS. 4A, 4B, 4C, 4D, and 4E shows a visual representation of the meter 130 at a temperature corresponding to a measurement using the overlap of a QR code on the foreground mask 304 over the background pattern 302 arranged parallel to the movement (i.e., capable of horizontal movement) in accordance with various embodiments of the present invention. FIG. 4A shows the meter direction 400 including the QR code 405 (i.e., the overlap / coincidence of the leftmost QR code in the figure) and the collimator row 402 in an exemplary embodiment of the present invention. FIG. 4B shows the meter direction 420 including the QR code 425 and the collimator row 422 in an exemplary embodiment of the present invention. FIG. 4C shows the meter direction 440 including the QR code 445 and the collimator row 442 in an exemplary embodiment of the present invention. FIG. 4D shows the meter direction 460 including the QR code 465 and the collimator row 462 in an exemplary embodiment of the present invention. FIG. 4E shows the meter direction 480 including the QR code 485 and the collimator row 482 in an exemplary embodiment of the present invention.

[0054] Each of FIGS. 5A, 5B, 5C, 5D, and 5E shows a visual representation of the meter 130 at a temperature corresponding to a measurement using the overlap of the QR code of the foreground mask 304 on the background pattern 302 arranged perpendicular to the movement (i.e., capable of vertical movement) according to various embodiments of the present invention. FIG. 5A shows a meter direction 500 including a QR code 505 (i.e., the overlap / coincidence of the QR code at the left end in the figure) in an exemplary embodiment of the present invention. FIG. 5B shows a meter direction 520 including a QR code 525 in an exemplary embodiment of the present invention. FIG. 5C shows a meter direction 540 including a QR code 545 in an exemplary embodiment of the present invention. FIG. 5D shows a meter direction 560 including a QR code 565 in an exemplary embodiment of the present invention. FIG. 5E shows a meter direction 580 including a QR code 585 in an exemplary embodiment of the present invention. In another aspect, the meter 130 can optionally include a collimator (e.g., similar to the collimator array 402 in FIG. 4A) for additional factors in determining or monitoring or both the alignment of the QR code of the meter 130.

[0055] FIG. 6 illustrates a computer system 600 representing a computing device 110 and a server 120 according to an exemplary embodiment of the present invention. It should be recognized that FIG. 6 provides only one example of implementation and does not imply any limitation regarding the environment in which different embodiments can be implemented. Many modifications can be made to the shown environment. The computer system 600 includes a processor(s) 601, a cache 603, a memory 602, a persistent storage 605, a communication unit 607, an input / output (I / O) interface(s) 606, and a communication fabric 604. The communication fabric 604 provides communication between the cache 603, the memory 602, the persistent storage 605, the communication unit 607, and the input / output (I / O) interface(s) 606. The communication fabric 604 can be implemented by any architecture configured to convey data or control information or both between a processor (e.g., a microprocessor, a communication and network processor, etc.), the system memory, peripheral devices, and any other hardware component within the system. For example, the communication fabric 604 can be implemented using one or more buses or a crossbar switch.

[0056] The memory 602 and the persistent storage 605 are computer-readable storage media. In this embodiment, the memory 602 includes random access memory (RAM). In general, the memory 602 can include any suitable volatile or non-volatile computer-readable storage media. The cache 603 is a high-speed memory that improves the performance of the processor(s) 601 by holding data most recently accessed from the memory 602 and data near the most recently accessed data.

[0057] The program instructions and data (e.g., software and data 610) used to implement embodiments of the present invention can be stored in the persistent storage 605 and the memory 602 for execution by one or more respective processors 601 via the cache 603. In one embodiment, the persistent storage 605 includes a magnetic hard disk drive. Alternatively, or in addition to the magnetic hard disk drive, the persistent storage 605 can include a solid state hard drive, a semiconductor storage device, a read only memory (ROM), an erasable programmable read only memory (EPROM), a flash memory, or any other computer-readable storage medium capable of storing program instructions or digital information.

[0058] The medium used by the persistent storage 605 can also be removable. For example, a removable hard drive can be used for the persistent storage 605. Other examples include optical and magnetic disks, thumb drives, and smart cards that are inserted into a drive for transfer to another computer-readable storage medium that is also part of the persistent storage 605. The software and data 610 can be stored in the persistent storage 605 for access or execution or both via the cache by one or more of the respective processors 601. With respect to the computing device 110, the software and data 610 include the user interface 112 and the application 114. With respect to the server 120, the software and data 610 include the measurement program 200, the storage device 122, the measurement data 124, and the action data 126.

[0059] In these embodiments, the communication unit 607 provides communication with other data processing systems or devices. In these embodiments, the communication unit 607 includes one or more network interface cards. The communication unit 607 can provide communication by using either or both of a physical link and a wireless communication link. The program instructions and data (e.g., software and data 610) used to implement embodiments of the present invention can be downloaded through the communication unit 607 to the persistent storage 605.

[0060] The I / O interface(s) 606 enables the input and output of data with other devices that can be connected to each computer system. For example, the I / O interface(s) 606 can provide a connection to external device(s) 608 such as a keyboard, keypad, touch screen, or any other suitable input device or a combination thereof. The external device(s) 608 can further include a portable computer-readable storage medium such as a thumb drive, portable optical or magnetic disk, and memory card. The program instructions and data (e.g., software and data 610) used to implement embodiments of the present invention can be stored in those portable computer-readable storage media and loaded into the persistent storage 605 via the I / O interface(s) 606. The I / O interface(s) 606 is further connected to the display 609.

[0061] The display 609 provides a mechanism for displaying data to the user and can be, for example, a computer monitor.

[0062] The programs described herein are identified based on applications implemented in particular embodiments of the present invention. However, any particular program system herein is used merely for convenience, and accordingly, it should be recognized that the present invention should not be limited to use only in any particular application identified by or implied by such a system or both.

[0063] The present invention can be integrated as a system, method, computer program product, or combination thereof at any possible technical detail level. The computer program product can include computer-readable storage media (s) having computer-readable program instructions for causing a processor to execute aspects of the present invention.

[0064] A computer-readable storage medium can be a tangible device that holds and stores instructions for use by an instruction execution device. The computer-readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following, namely, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), a memory stick, a floppy disk, a punch card, or a mechanically encoded device such as a raised structure in a groove in which instructions are recorded, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not construed as a transient signal per se, such as a radio wave, or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., an optical pulse through an optical fiber cable), or an electrical signal transmitted through a wire.

[0065] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to respective computing / processing devices, or to an external computer or external storage device via a network, such as, for example, the Internet, a local area network, a wide area network, or a wireless network, or combinations thereof. The network can include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers or edge servers, or combinations thereof. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within each respective computing / processing device.

[0066] The computer-readable program instructions for carrying out the operations of the present invention may be source code or object code described in any combination of one or more programming languages, including assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, or object-oriented programming languages such as Smalltalk, C++, and conventional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may sometimes be executed entirely on the user's computer, sometimes partly on the user's computer and executed as a stand-alone software package, sometimes partly on the user's computer and partly on a remote computer, or sometimes entirely on a remote computer or server. In the last scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or there may be a connection to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA) can execute the computer-readable program instructions by utilizing the state information of the computer-readable program instructions to implement aspects of the present invention and individualize the electronic circuit.

[0067] Aspects of the present invention are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0068] These computer-readable program instructions can be provided to a processor of a computer or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed by the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / operations specified in one or more blocks of a flowchart, a block diagram, or both. These computer program instructions can also be stored in a computer-readable medium, such that the instructions stored in the computer-readable medium include instructions for a product comprising means for implementing the aspects of the functions / operations specified in one or more blocks of a flowchart, a block diagram, or both, thereby enabling the computer-readable medium to store a product that includes instructions for implementing the functions / operations specified in one or more blocks of a flowchart, a block diagram, or both.

[0069] The computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, such that the instructions, which are executed on the computer or other programmable apparatus, provide a process for implementing the functions / operations specified in one or more blocks of a flowchart, a block diagram, or both.

[0070] The flowcharts and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart may represent a module, segment, or portion of code that includes one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently depending on the functionality involved, or these blocks may sometimes be executed in the reverse order. It should also be noted that each block of the block diagrams or flowchart diagrams, or combinations of blocks in the block diagrams or flowchart diagrams or both, can be implemented by a dedicated hardware-based system that performs the specified function or operation, or a combination of dedicated hardware and computer instructions.

[0071] The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or to limit the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments, the practical application, or a technical improvement over technologies found in the marketplace, or to enable those of ordinary skill in the art to understand the embodiments disclosed herein.

Claims

1. Receiving image data from a computing device by one or more processors; Identifying an object included in the received image data by one or more processors; Determining a value corresponding to the identified object included in the received image data by one or more processors; Determining, by one or more processors, whether the determined value corresponds to an action defined; and the identified object is a first image that overlaps a second image in an overlapping state, the first and second images are the same image, a method.

2. The method according to claim 1, further comprising, in response to determining that the determined value corresponds to the defined action, executing, by one or more processors, the defined action.

3. The method according to claim 1 or 2, wherein the identified object is a Quick Response (QR) code.

4. The method according to any one of claims 1 to 3, wherein the identified object is a first QR code that overlaps a second QR code in an overlapping state.

5. The method according to claim 4, wherein the first and second QR codes are the same QR code.

6. The method according to any one of claims 1 to 5, wherein the received image data from the computing device includes encoded data from a QR code reader application.

7. The method according to any one of claims 1 to 6, wherein determining a value corresponding to the identified object included in the received image data further includes determining, by one or more processors, a mapping relationship between the identified object and a corresponding data entry.

8. The method according to any one of claims 1 to 7, wherein determining a value corresponding to the identified object included in the received image data further includes determining, by one or more processors, environmental parameters corresponding to the identified object included in the received image data. **Claim 9** A method comprising: receiving, by one or more processors, image data from a computing device; identifying, by one or more processors, an object included in the received image data; determining, by one or more processors, a value corresponding to the identified object included in the received image data; judging, by one or more processors, whether the determined value corresponds to an action defined; wherein the identified object is a first image that overlaps a second image in an overlapping state, and a relative position between the two images is governed by a longitudinal variation associated with environmental parameters. **Claim 10** A computer system comprising: one or more computer processors; one or more computer-readable storage media; program instructions for execution by at least one of the one or more processors, stored on the computer-readable storage media, wherein the program instructions include program instructions for receiving image data from a computing device, program instructions for identifying an object included in the received image data, program instructions for determining a value corresponding to the identified object included in the received image data, program instructions for judging whether the determined value corresponds to an action defined; wherein the identified object is a first image that overlaps a second image in an overlapping state, and the first and second images are the same image. **Claim 11** The computer system according to claim 10, further comprising program instructions for execution by at least one of the one or more processors, stored on the computer-readable storage media, for executing the defined action in response to judging that the determined value corresponds to the defined action. **Claim 12** The computer system according to claim 10 or claim 11, wherein the identified object is a first image that overlaps a second image in an overlapping state. **Claim 13** ​ ​ The computer system according to any one of claims 10 to 12, wherein the identified object is a first QR code that overlaps on a second QR code in an overlapping state.

14. The computer system according to any one of claims 10 to 13, wherein the received image data from the computing device includes encoded data from a QR code reader application.

15. The computer system according to any one of claims 10 to 14, wherein the program instructions for determining a value corresponding to the identified object included in the received image data further include program instructions for determining a mapping relationship between the identified object and a corresponding data entry.

16. A background label anchored at a fixed position indicating a first set of objects, A foreground label overlapping on the background label indicating a second set of objects, wherein the second set of objects coincides with the first set of objects, and the interval between each object of the second set of objects is shifted with respect to the interval between each object of the first set of objects corresponding to a defined measurement value associated with the foreground label and the background label, a foreground label, A measurement device coupled to the foreground label, the measurement device being movable in a first direction corresponding to an observation of measurement data And a device comprising.

17. The device according to claim 16, wherein the first set of objects and the second set of objects are quick response (QR) codes.

18. The device according to claim 16 or claim 17, wherein the interval between each object of the second set of objects and the first set of objects is such that when the foreground label is slid on the background label corresponding to measuring a first defined measurement value, the first object of the first set of objects and the first object of the second set of objects overlap.

19. The distance between each object of said second set of objects and said first set of objects is such that when the foreground label is slid over the background label corresponding to measuring a second defined measurement value, the second object of said first set of objects and the second object of said second set of objects overlap, the apparatus according to any one of claims 16 to 18.

20. The method according to any one of claims 1 to 9, wherein the image data includes an image of at least a part of the apparatus according to any one of claims 16 to 19.

Citation Information

Patent Citations

  • Two-dimensional barcode processing server

    JP2005190231A

  • Information providing system and information providing method

    JP2005327184A

  • Method for providing two-dimensional code

    JP2005332112A

  • Absence communication slip for delivered parcel, creation unit therefor, and redelivery information processing system

    JP2006305950A

  • Card by which code composition is possible, card reader and game play device using the card

    JP2007334798A