Beverage capsule system with coded and codeless regions
By using multiple independently arranged code repetition and electrical circuit systems for error correction in beverage preparation machines, the problem of code reading errors in the prior art is solved, achieving higher accuracy and convenience.
Patent Information
- Application Number
- CN202480018025.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-03-17
- Filing Date
- 2024-03-18
- Publication Date
- 2025-11-14
AI Technical Summary
Existing beverage preparation machines are prone to reading errors when reading codes on capsules, and require precise code location to ensure correct beverage preparation, resulting in insufficient convenience and reliability.
Multiple independently arranged code repetitions are used, each code repetition encodes a binary sequence, and error correction and decoding are performed in conjunction with the electrical circuit system. The orientation of the code is determined by Gray coding and color model, so as to achieve reliable reading of the code.
This improves the accuracy and reliability of beverage preparation machines when reading codes, reduces reading errors, and ensures the reliability and convenience of the beverage preparation process.
Smart Images

Figure CN120957640A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to an electrically operated beverage or food preparation system, which is used to prepare beverages or food from pre-formulated capsules containing codes that encode preparation information. Background Technology
[0002] A system for preparing beverages includes a beverage preparation machine and capsules. The capsules comprise a single serving of beverage, such as ground coffee or tea, forming a precursor material. The beverage preparation machine is arranged to typically perform the beverage preparation process on the capsules by exposing pressurized, heated water to the precursor material. Processing the capsules in this manner causes at least a partial extraction of the precursor material from the capsules as the beverage.
[0003] This configuration of beverage preparation machines is becoming increasingly popular due to: 1) enhanced user convenience compared to conventional beverage preparation machines (e.g., compared to manually operated stovetop espresso machines), and 2) enhanced beverage preparation process, wherein: preparation information encoded by codes on the capsule is read by the machine, and; the preparation information is used by the machine to optimize the preparation process in a capsule-specific manner. Specifically, the encoded preparation information may include operating parameters selected during the beverage preparation process, including: fluid temperature; fluid pressure; preparation duration; and fluid volume.
[0004] Several codes have been developed, with examples provided in EP 2594171 A1, where the periphery of the capsule's flange includes codes arranged thereon. A drawback of this type of code is that it needs to be precisely positioned on the capsule so that it can be read while the capsule rotates relative to the code reader. Another exemplary code is provided in WO2017144575A1, but its disadvantage is that, to determine the code's orientation, the code needs to be arranged at a specific reference cell at the center and / or outer periphery of the circular coding line, where the center point of the reference cell is used to define a baseline for identifying the code's orientation. Another drawback is that reading errors can occur when reading these codes.
[0005] Therefore, despite the efforts already invested in developing the system, further improvements are still needed. Summary of the Invention
[0006] This disclosure provides a system comprising a container for containing a precursor material and a machine for preparing a beverage and / or food or a precursor of a beverage and / or food from the precursor material.
[0007] In one embodiment, the container includes a code arrangement comprising multiple code repetitions. In another embodiment, each code (e.g., each code repetition) encodes a binary sequence to at least partially encode preparation information. In yet another embodiment, the machine includes a code reading system for reading the code repetitions (e.g., by acquiring digital images and / or reading along the code to provide signals); a processing unit for processing the precursor material of the container; and an electrical circuit system for controlling the processing unit based on the preparation information.
[0008] In the implementation, the electrical circuit system (e.g., the electrical circuit system of a machine or the electrical circuit system distributed in the system) is configured to: read code repetitions to obtain a binary sequence of each code repetition (e.g., the absence or presence of a decoding unit at discrete locations); determine (e.g., using a code decoder) the number of bit errors associated with the binary sequence; and determine a recipe based on the number of binary sequences and / or bit errors.
[0009] By implementing an electrical circuit system (e.g., a computer program and / or an electrical circuit system, such as an ASIC, executed by one or more processors of the machine) to determine the recipe associated with the binary sequence and the number of errors associated with the recipe determination (e.g., the binary sequence needs to be corrected for 0-3 errors to be associated with the recipe), imperfect code reading (which often occurs in beverage machines and may be caused by container damage or brewing conditions, etc.) can be corrected to a certain extent so that the correct recipe can be identified, wherein the number of errors corrected is used to determine the level of accuracy of the recipe determination; for example, no errors may be a high confidence level, and 3 errors may be a low confidence level.
[0010] As used in this article, the term “multiple code repetitions” can refer to more than one code, which can be identical and can be arranged independently of each other, such as geometrically separated codes.
[0011] As used in this article, the term "binary sequence" can refer to a sequence of bits that can be directly encoded by code.
[0012] As used herein, the term "based on preparation information" can refer to using preparation information in some way to control the processing unit, for example, as a control parameter or for calculating control parameters.
[0013] As used herein, the term "code decoder" can refer to an algorithm configured to process code, for example, for decoding and / or error correction. It can include linear error-correcting code decoders, such as the Gray decoder.
[0014] As used in this article, the term "bit error" can refer to a numerical error in a single bit.
[0015] As used in this article, the term "based on the number of binary sequences and / or bit errors" can refer to the binary sequence used to "find" a recipe.
[0016] As used herein, the term "recipe" can refer to a set of parameters used to control a processing unit.
[0017] In the implementation, the electrical circuit system is implemented as one or more processors configured to perform the disclosed steps (e.g., including determining the validity conditions) executed by the code reading system and / or by the processing unit for processing the precursor material of the container. The processor may execute program code stored in electronic memory and / or execute programmable logic, such as a logic array, gate array, structured array, etc.
[0018] As used herein, the term "at least partially encoded" may mean that the preparation information on the code directly encodes the value of a parameter of the preparation information (e.g., the value may be any numerical quantity between a maximum and a minimum value), and / or the term "at least partially encoded" may mean that the preparation information on the code is encoded via an identifier associated with one or more parameters, which is looked up in the machine's electronic memory to obtain the value of the parameter.
[0019] In the implementation, the electrical circuitry is configured to implement a code decoder to identify invalid binary sequences (e.g., duplicate invalid code reads) when the binary sequence is not associated with a recipe. Default conditions, such as a default recipe, can be implemented by not returning a valid recipe or returning an invalid recipe indicator when a binary sequence (including uncorrected or corrected binary sequences) cannot be mapped to a recipe.
[0020] In one implementation, the electrical circuitry is configured to determine multiple recipes associated with a binary sequence, each recipe having an associated number of bit errors. By returning more than one recipe (e.g., repeatedly returning one or more recipes for each code), each recipe having an associated number of bit errors, the most appropriate recipe can be selected, for example, based on the recipe with the lowest number of bit errors. In another implementation, the electrical circuitry is configured to determine a recipe (e.g., for controlling a processing unit) from the multiple recipes based on the number of bit errors associated therewith.
[0021] In the implementation, the electrical circuit system is configured to determine a recipe from multiple recipes based on the frequency of a specific recipe among multiple recipes (e.g., for controlling the processing unit). By selecting the recipe used by the processing unit based on the frequency of the recipe in each code, for example, the recipe that appears most frequently (or in combination with the fewest number of errors) can be selected, the recipe can be accurately determined.
[0022] In the implementation, one or more code repetitions are arranged along the code line. By arranging the code repetitions to repeat continuously along the code line, the binary sequence can be read at any position on the code line.
[0023] In the implementation, multiple coding lines extend along the longitudinal direction. By setting multiple longitudinal coding lines in the extension direction, multiple codes can exist without interference. In the implementation, each coding line is offset by a predetermined amount in the lateral direction and is parallel to each other. In the implementation, the codes on adjacent coding lines are repeated and longitudinally offset from each other. Such an arrangement may be more reliable because a damaged lateral extension may not render all codes unreadable. In the implementation, the longitudinal offset is a predetermined amount, or the electrical circuitry is configured to determine the longitudinal offset. A predetermined offset simplifies searching for the same binary sequence in adjacent codes, or a variable offset can remove constraints on the code arrangement.
[0024] In one implementation, the electrical circuitry is arranged to determine the orientation of code repetition based on the coding lines. Examples may include summing tones across coding lines or through other image processing techniques.
[0025] In one embodiment, the container includes code that encodes a binary sequence to at least partially encode preparation information. In another embodiment, the machine includes: a code reading system for reading the code; a processing unit for processing the precursor material of the container; and an electrical circuit system for controlling the processing unit based on the preparation information.
[0026] In the implementation, the electrical circuit system (e.g., the electrical circuit system of a machine or the electrical circuit system distributed in the system) is configured to: read code to obtain a binary sequence; implement an error correction code decoder having the function of error correction of the binary sequence for correcting unit errors in the sequence and identifying the recipe associated with the binary sequence (e.g., the corrected binary sequence).
[0027] Read errors in binary sequences can be fixed by implementing a code decoder to correct unit errors (e.g., through redundancy in the code, including parity bits, and / or comparisons with other libraries that repeat or allow binary sequences). This makes the binary sequence usable for retrieving recipes, for example, by making it match the identifier of the recipe.
[0028] As used in this article, the term "unit error" can refer to a numerical error in a bit, such as an incorrect binary value in a sequence.
[0029] In one implementation, the electrical circuit system is configured with an error-correcting code decoder for decoding binary sequences in a first forward order and a second reverse order (e.g., using error correction and / or determining whether they are associated with a recipe) to account for unknown rotational positions of the code.
[0030] By reversing the order in which the code is processed, compensation can be obtained regardless of whether the code is at 0 degrees or 180 degrees, so the container does not need to be read in a specific orientation in the machine.
[0031] In this implementation, the error-correcting code decoder is configured to use redundancy to correct bit errors. In this implementation, redundancy includes one or more of the following: redundant bits in the code; other repetitions in the code; and stored binary sequences (e.g., each associated binary sequence is associated with a recipe, including via a recipe identifier).
[0032] In the implementation, the electrical circuit system is configured with an error-correcting code decoder to correct a predetermined amount of bit errors (e.g., up to 3). If the predetermined amount of bit errors is exceeded, the code / binary sequence is determined to be erroneous and no recipe is identified. By allowing only the correction of a predetermined amount of bit errors, recipes can be retrieved without using severely erroneous binary sequences.
[0033] In one implementation, one or more codes are arranged on encoding lines. In another implementation, multiple encoding lines extend longitudinally. In yet another implementation, each encoding line is offset laterally by a defined amount and is parallel to each other. In yet another implementation, codes on adjacent encoding lines are longitudinally offset from each other. In yet another implementation, the offset is a predetermined amount, or the electrical circuitry is configured to determine the longitudinal offset. In yet another implementation, the electrical circuitry is arranged to determine the orientation of the codes based on the encoding lines.
[0034] In one implementation, the container includes: code for at least partially encoding preparation information; the machine includes: a code reading system for reading the code; a processing unit for processing the precursor material of the container; and an electrical circuit system for controlling the processing unit based on the preparation information.
[0035] In the implementation, the electrical circuit system is configured to read codes to obtain code reading results (e.g., as digital images and / or signals); determine the characteristics of adjacent non-code portions near the code portion of the code reading results; and correct the associated characteristics of the code portion based on the determined characteristics of the adjacent non-code portions to account for variations in the characteristics of the non-code portions.
[0036] By utilizing the characteristics of adjacent non-code portions (e.g., characteristics identical to those determined) to correct the characteristics of a portion of a neighboring non-code portion (referred to as a code portion) (e.g., the optical properties of a digital image or the intensity of a signal), the local variations of the characteristics (which may be referred to as a baseline) extending across both portions can be taken into account to ensure more representative code reading results.
[0037] As used herein, the term "adjacent non-code portion" can refer to a portion along the code that has the same (or similar) longitudinal position as a code portion. The lateral dimension of an adjacent non-code portion can be smaller than the width of the code, for example, 0.5 or less than the width of the code, or less than 2 or 4 times the width of the code. A non-code portion may not contain any unit or object forming the code, but it may include other objects that can be interpreted as part of the code, such as advertising or manufacturing-related objects.
[0038] As used herein, the term "code portion" can refer to any location / region of the code reading result that has the same (or similar) longitudinal position along the code as the adjacent non-code portion.
[0039] As used herein, the term “characteristic” can refer to one or more of the following characteristics: optical characteristics of a digital image, such as intensity; color; the amount of specular / diffuse reflection; and characteristics of a signal, such as intensity / amplitude.
[0040] In the implementation, the code is arranged on an encoding line, and: reading the code includes reading along the encoding line to obtain a code reading result; determining the characteristics of adjacent non-code portions includes reading along adjacent (e.g., directly without gaps or with small gaps) non-code lines to obtain non-code line reading results; and correcting the associated characteristics of the code portions includes correcting the code reading results based on the reading of adjacent non-code lines.
[0041] By reading along the lines, a signal for the code reading results can be generated, which can be continuously corrected using signals from non-coded lines, for example, at multiple code sections. In this way, the signal of the code reading results can be corrected based on the baseline value.
[0042] In one implementation, reading along adjacent non-coded lines includes reading along adjacent first and second non-coded lines, with the coded line interposed between the first and second non-coded lines. Improved correction can be achieved by reading the non-coded lines on either side of the coded line and correcting using both (e.g., their average).
[0043] In this implementation, non-coded lines do not contain objects that form codes (e.g., units or coded lines, or other objects with the same (or similar) formation as said units / coded lines, such as advertisements). This arrangement allows non-coded lines to be clearly distinguished from coded lines.
[0044] In the implementation, reading along the coded line and reading along the adjacent non-coded line includes generating coded line signals and non-coded line signals, and the coded line signals are compensated by the non-coded line signals. Because there are two signals, the coded line signals can be conveniently adjusted to account for baseline variations, for example, by subtracting the coded line signals from the non-coded line signals.
[0045] In the implementation, the encoded line signal and / or non-encoded line signal are filtered and / or smoothed, including filtering and / or smoothing before correction. Processing the signal in this way removes unrepresentative noise and improves accuracy.
[0046] In this implementation, the code is formed by discrete locations, which may or may not contain units for encoding binary information, and the absence of a unit results in the same formation as the adjacent non-code portion. Using this arrangement, correction can be effective.
[0047] In the implementation, the characteristics determined and corrected are based on the intensity of the code reading results (e.g., the amplitude of the signal, which can be obtained from the grayscale image of the code, where the scale represents the degree of specular and diffuse reflection).
[0048] In one implementation, multiple coding lines extend longitudinally, and each coding line is corrected based on adjacent non-coding lines. In another implementation, each coding line is offset laterally by a defined amount and is parallel to each other. In yet another implementation, the electrical circuitry is arranged to determine the orientation of the codes based on the coding lines.
[0049] In one embodiment, the container includes machine-readable code that stores preparation information. In another embodiment, the container contains the precursor material.
[0050] In the implementation, the code extends along the encoding line and includes a series of discrete locations, which may or may not include units for at least partially encoding the preparation information.
[0051] In one embodiment, the machine includes: a code reading system for acquiring a digital image of the code (including code lines) and fitting a color model to the digital image; a processing unit for processing the precursor material of the container; and an electrical circuit system for controlling the processing unit based on the preparation information read from the code and the code reading system.
[0052] In one implementation, the electrical circuitry is configured to: sum the values of the color model along the encoding line, including the units for the code and the encoding line; determine the orientation of the code based on the sum; and read these discrete locations based on the determined orientation of the code in the image.
[0053] By implementing an electrical circuit system to determine the positional arrangement of the encoding lines (e.g., the angular / rotational orientation of the encoding lines in the digital image) by summing the values (e.g., numerical values) of the color model configured with the encoding lines along the encoding lines and also for the units forming the code, the encoding lines can be precisely positioned using the summation, compared to parallel non-encoded lines that may have different sums.
[0054] Because the code units (when present at discrete locations) are arranged on the encoding lines, these units also contribute to the sum of values and thus indicate the orientation of the code. Therefore, the code is highly efficient compared to using separate units only for positioning. When units are not present at discrete locations, the encoding lines intersect with those locations, so even in the absence of units, the encoding lines also contribute to the sum of values and thus indicate the orientation of the code.
[0055] Compared to prior art arrangements including those disclosed in WO2017144575A1, the implementation code is more convenient because only the values of the color model need to be summed and compared with conditions, whereas referring to the prior art requires locating individual cells of the reference portion forming the code, finding the center point of the cell, and fitting a virtual baseline to that center point.
[0056] In the implementation, discrete locations are encoded using Gray coding to encode the preparation information. With this coding, in order to read the code, the electrical circuit system only needs the orientation of the coded lines, because Gray coding does not require locators or reference sections as reserved bit sequences to identify where the repetition of the code, including the data portion, begins and ends.
[0057] As used herein, the term "Gray" or "Gray coding" may refer to a type of binary code that may have a linear arrangement and error correction. Gray code may encode a predefined number of unique values. Gray code may not include a locator or reference portion for locating data sections, but may instead arrange the unique values as repetitions. Electrical circuit systems may determine preparation information based on a key-value database paradigm (e.g., as a storage relation for electrical memory), where unique values are used as keys to look up preparation information.
[0058] As used herein, the term "color model" or "color system" can refer to a mathematical model that describes how colors (including grayscale and hues with wavelengths in the infrared and ultraviolet regions) can be represented as values. Values can be numerical. Examples of color models include: grayscale; RGB, RYG, CMY color models; and other models with values assigned to hues with wavelengths in the infrared and / or ultraviolet regions. The set of values can be called a color space or space.
[0059] As used herein, the term "sum-based" can refer to a directional calculation of codes and / or coding lines, including the step of summing values (e.g., by numerical addition). For example, the term "sum-based" can include determining that a sum or a value derived from that sum (e.g., mean or variance or other similarity measure) satisfies one or more of the following conditions: it has crossed a threshold; it is the highest in the dataset; it is the lowest in the dataset.
[0060] As used herein, the term "along a coding line" for a color model value can refer to a coding line or a region comprising a line segment of the coding line being decomposed into areas extending longitudinally along the coding line, including the entirety of the line (e.g., from the beginning to the end of the coding line in the image) or a substantial portion (e.g., at least 80% or 90%). These regions may have summed values of the color model.
[0061] As used in this article, the term "based on the determined position" may refer to the code being read using a calculated position based on a baseline.
[0062] As used herein, the term "digital image" can refer to a digital representation of a real-life image (e.g., code arranged on a container). A digital image can consist of pixels, each pixel having a finite size and a position identified as coordinates (e.g., as the center point of the pixel), as well as values for a color model and optional intensity. Digital images can be of fixed or vector or raster type.
[0063] In one implementation, the electrical circuitry is configured to assign these values of the color model to regions, wherein the regions comprise: a single pixel of the digital image, or; a grouping of multiple pixels in the digital image. The regions may have coordinates assigned to them to specify the spatial location of those regions. Computational efficiency can be improved by implementing regions comprising a set of pixels (e.g., through reduction). Alternatively, the pixel size may be desired to provide the resolution.
[0064] In the implementation, the electrical circuitry is configured to sum the values of the color model for line segments, these values including: the lateral dimensions of one or more regions, and the longitudinal dimensions of one or more regions, the longitudinal dimensions corresponding to the longitudinal length of the encoding area including the code arranged therein. By arranging line segments to extend the overall longitudinal dimension of the encoding area, the encoding area can be decomposed into multiple laterally adjacent line segments, each with a summed value, the summed value including the sum of the values of the regions containing the line segments. In this way, the digital image can be conveniently idealized by an array of summed values for each line segment.
[0065] As used herein, the term "coded area" can refer to a region of a digital image that includes codes. For example, codes (including code repetitions) may be arranged in a region that includes... The coding area is located on the circular region of the circular closure member of the classic capsule. The circular region may not include the outer periphery where the closure member connects to the flange portion.
[0066] In one implementation, the lateral dimension of the encoding line is smaller than the lateral dimension of the line segment. By arranging the lateral dimension of the encoding line (e.g., when the encoding line is aligned with the longitudinal direction of the line segment) to be smaller than the lateral dimension of the line segment, the encoding line can fit perfectly within the line segment, allowing it to substantially influence the values of the region and thus the sum of those values. In the example, the lateral dimension of the encoding line is less than 20% or 10% of the lateral dimension of the line segment.
[0067] In the implementation, the electrical circuit system is configured to determine the sum of each of a plurality of line segments that are adjacent to each other in the lateral direction. By implementing the sum as a calculation for adjacent line segments, the entire digital image or coded area can be processed and idealized by an array of values summed for each line segment.
[0068] In one implementation, the electrical circuit system is configured to: determine the sum using the encoding lines arranged at multiple different angles relative to a reference axis, and; determine the alignment orientation of the encoding lines with the reference axis based on the sum.
[0069] By implementing an electrical circuit system to determine (e.g., the sum of the line segments) from digital images arranged at multiple different angles (e.g., by increasing the angle of the digital image relative to the longitudinal direction of the line segments in increments of 3 or 5 degrees, including a range such as 0–180 degrees), the digital image can be conveniently rotated until a condition based on the sum of these values is identified, wherein the coded line is identified as aligned (including substantially aligned) with the longitudinal direction (on which the coded line is aligned with the line segment).
[0070] In the implementation, the orientation of the code is determined based on the variance of the sum of the values. By implementing the electrical circuit system to determine the orientation of the coded line with the code based on the variance of the sum of the values (e.g., line segments), the code and coded line can be conveniently distinguished from other non-coded lines of the digital image (e.g., line segments that do not include the code or coded line).
[0071] For example, by using coding lines aligned with the vertical direction, when the code and coding line are within a line segment, the coding line has a significant effect on the sum, which can therefore be identified from the sum of parallel line segments including non-coding lines. In this way, the variance of the sum is large and can be used to distinguish between codes and coding lines that are not aligned with the vertical direction.
[0072] As used in this article, the term "variance-based" may refer to the variance that is directly realized or a value related to the variance, such as the standard deviation.
[0073] In one implementation, the lateral dimension of the encoding line is chosen to be 20% or 10% smaller than the lateral dimension of the code cell. By implementing the encoding line as thinner compared to the code cell, the presence of the encoding line passing through the discrete location is not interpreted as the presence of a cell during the step of reading the discrete location, but the presence of the encoding line ensures the best effect on the value when summing the value. Alternatively, when the cell is not present, the encoding line cannot be formed through the discrete location.
[0074] In the implementation, the code is arranged such that the sum of the values of the color models along the coding line is within a first value range, and the sum of the values of the color models included by adjacent non-coding lines parallel to the coding line is within a second value range.
[0075] By implementing the sum of the values of line segments including the coded lines within a first range, and implementing the sum of the values of parallel line segments excluding the coded lines within a second different range, it is convenient to distinguish between coded lines and non-coded lines.
[0076] This can be achieved by minimizing the printing or forming of line segments that do not include the coding lines, which would produce values comparable to the codes and coding lines. For example, the distribution of advertisements or other information within the coding area can be controlled to ensure that the codes are distinguishable.
[0077] In an implementation, the code and coding line are arranged to be either diffuse or specular, with the surround formed to be either diffuse or specular. As used herein, the term "surround" can refer to a non-coding line, including a region of cells excluding coding lines and codes, and may include regions of discrete locations of codes excluding cells.
[0078] In this implementation, the electrical circuit system is configured to identify diffuse and specular reflection areas with hue values. For example, a grayscale color model can be used to assign low values to diffuse reflection areas and high values to specular reflection areas. This arrangement is advantageous because the codes are less visible compared to forming codes and coding lines by color printing.
[0079] In one implementation, the code is disposed on the outer surface of the container. The outer surface on which the code is disposed is formed by a first color range (e.g., the outer surface presents a surface including the first color range).
[0080] In one embodiment, the code extends across the outer surface along a linear coding line and includes a series of discrete locations, which may or may not include units for at least partially encoding the preparation information, the units and the coding line being formed by a second color range.
[0081] In one embodiment, the sum of the hues along the linear coded line is identifiable compared to the sum of adjacent parallel linear non-coded lines (or any other lines) extending across the outer surface. In another embodiment, the machine includes: a code reading system for reading the code of the container; a processing unit for processing the precursor material of the container; and an electrical circuit system for controlling the processing unit based on the preparation information read from the code, and the code reading system is configured to determine the location of the code from an image of the outer surface based on the sum of the hues.
[0082] By implementing codes on encoded lines that have a specific color range compared to other parts of the image on the outer surface (e.g., non-coded lines), the location of the codes can be conveniently determined based on the sum of the hue values, for example with low processing burden and / or high accuracy.
[0083] As used herein, the term "external surface" can refer to any surface of the container that can render an image for reading by a code reading system, which may include the external surface of a closure member, a storage portion, or a flange portion that interconnects the closure member and the storage portion. Examples of suitable closure members and substrates can be obtained from the teachings disclosed herein and examples relating to containers and / or closure members. Suitable construction and / or operational details are disclosed, for example, in EP2569230.
[0084] As used herein, the term "first color range" can refer to a specific range of hues, such as including: darker colors, including black, dark blue, dark green, and dark purple; or lighter colors, including white, light red, and yellow. The range can also be defined by grayscale (the actual gray hue or the grayscale conversion of the range), for example, for 8- or 16-bit grayscale, the first 0–100 bits can include the first color range (i.e., black–dark gray). Similarly, bit colors including 8 or 16 bits can be implemented.
[0085] The term "second color range" is defined as such as the first color range, but is different from it. For example, if the first color range includes darker colors, then the second color range includes lighter colors; if the first color range includes bits 150–255 (i.e., 8-bit grayscale from white to light gray), then the second color range includes bits 0–100 (i.e., black to dark gray).
[0086] As used herein, the term "discrete position" may refer to a reserved and distinct position in a sequence of discrete positions, which may or may not include units as components for encoding information, typically as a single bit.
[0087] As used herein, the term "sum of hues along a linear coding line" can refer to a coding line (or a representative segment of a coding line) analyzed as a series of elements, such as pixels or combinations of pixels defining elements, where a representative value for the hue of each element is determined. The representative value can be the sum of the values of each hue, or it can be an average value, i.e., the sum of the values of each hue divided by the number of elements sampled. In an example where the coding line is formed by a second color range comprising 8-bit grayscale levels in the range of 0–100: values of 0–100 are assigned to each element, summed across all elements, and optionally divided by the number of elements.
[0088] As used herein, the term "non-coded line" can refer to any line that extends parallel to a coded line but does not include the coded line or the unit that forms the code. A non-coded line is typically one or more lines that are directly adjacent to the code.
[0089] As used herein, the term "identifiable compared to adjacent parallel linear non-coded lines" means that when compared to the summed value of a non-coded line, the summed value of the coded line, as previously described, is substantially different; for example, in an 8-bit grayscale example, there may be a difference of at least 50. The summed value can also be identified in the same way from any other parallel line in the image (e.g., non-coded or otherwise).
[0090] As used in this article, the term "to determine the location of code from an image" may refer to the positional or angular relationship of the coding lines on which the code is placed relative to the image of the code being processed.
[0091] In the implementation, the first color range includes one of the lighter colors, and the second color range includes the other of a lighter color or a darker color. By implementing these ranges, it is convenient to identify portions that form codes from those areas that do not form codes.
[0092] In the implementation, the determined position includes determining the rotational orientation of the code by the angle of the encoding line relative to a reference axis associated with the image. For example, any 2D axis can be assigned to the image of the code, and the encoding line can be determined to be at a specific angle relative to the X-axis.
[0093] In one implementation, the code reading system is configured to incrementally rotate the image within a predetermined range and select rotations from said range, wherein the encoding lines are aligned with a reference axis to update the rotational orientation of the image. For example, the reference X-axis may be kept in a fixed position, and the image of the outer surface may be gradually rotated about the center in increments of 2 to 5 degrees until it is determined that the encoding lines are adequately aligned with the X-axis.
[0094] In this implementation, the code is read along the encoding line in a first direction using the rotational orientation, and if an error is determined, the code is read along the encoding line in a second, opposite direction. This arrangement allows the directional code to be conveniently read in the correct direction.
[0095] In an implementation, lines along coded lines have a greater variance in both the first and second color ranges due to the absence or presence of code cells compared to lines along adjacent non-coded lines, and the code reading system is configured to determine the location of the code from the image by identifying coded lines based on their formation as having this greater variance. For example, a region including both coded and non-coded lines can be idealized as a segment (the segment's thickness increases from the thickness of the coded line to the width of the cell including the code). The segment can be decomposed into elements. In an 8-bit grayscale example, the variance of the element hue values of the segment is determined. Lines with a higher variance identify coded lines because they include a large number of cells encompassing the second color range of the code or lack cells including an outer surface and therefore the first color range (non-coded lines may only include the first color range in some examples).
[0096] As used in this article, the term "variance-based" may refer to a numerical quantity that is variance or related to that variance, including standard deviation.
[0097] In the implementation scheme, the location of the code determined by the variance includes a lateral offset from the reference axis.
[0098] In one implementation, the lateral thickness of the encoding line is selected to be relatively narrow (e.g., less than 20% or 10%) compared to the lateral thickness of the code unit. In another implementation, the code reading system is configured to determine the variance of the encoding line at a lower resolution compared to when the hue is determined. By determining the variance at a lower resolution mode where the relatively thin encoding line is selected so that it does not affect the determination of the variance, the presence of the encoding line may not prevent high variance in the code determined for the positioning code.
[0099] In this implementation, the code is arranged as repeating units that repeat themselves along the encoding line. For example, the encoding line may include 2–4 repetitions of the code, and any one of these repetitions can be read to extract preparation information. This arrangement is more reliable because the repetitions can be compared and checked against each other, or if one repetition is damaged, another can be used.
[0100] In the implementation scheme, there are multiple coding lines that are offset from each other and parallel to each other. By implementing multiple coding lines, if one coding line is damaged, another coding line can be used.
[0101] In the implementation, the determined location includes locating the code line with the longest length based on the variance. By identifying the longest code line, the chance of successfully reading the code can be maximized because the longest code line contains the largest number of code repetitions.
[0102] In the implementation, these discrete locations are arranged to be directly adjacent to each other. In the implementation, the end regions of units not adjacent to another unit are curved. It has been found that bending the outer regions of the units provides an aesthetically more pleasing object that looks less like code.
[0103] In one embodiment, the container includes: a storage portion; and a closing member, including an outer surface of codes and encoding lines disposed on the closing member. The container may include a rotational symmetry axis extending through the center of the closing member. In one embodiment, the encoding lines extend between the edges of the closing member to equally bisect the closing member, and the image is the entire closing member. The obtained image of the closing member may be circular, and the closing member may be circular.
[0104] In this implementation, the non-coded lines (which may be directly adjacent to the coded lines or arranged separately from them) comprise only the first color range. This arrangement allows for convenient differentiation between the coded and non-coded lines.
[0105] In an implementation, the non-coded line (which may be directly adjacent to the coded line or arranged separately from it) comprises a portion of a first color range and a second color range, which may be formed by one or more objects unrelated to the code. However, the proportion of the second color range may be chosen to be less identifiable (e.g., in terms of variance or tonal sum) compared to the proportion provided by the code and / or the coded line. With this arrangement, the coded line can be conveniently distinguished from the non-coded line during processing, and the non-coded line may include other objects, including signs; trademarks; text; images that provide one or more of the following or other effects: information to the user about the container, e.g., the blend of coffee; an aesthetically more pleasing exterior surface compared to an exterior surface with only a code on it; and alternative objects so that the user does not focus on the code.
[0106] In the implementation, the code reading system is configured to read the code based on a determined location and to decode the read code using an algorithm (e.g., Gray's algorithm).
[0107] This disclosure provides a machine for preparing beverages and / or food or precursors of beverages and / or food from a container including precursor materials and codes, the machine including the features of the system as described in any of the foregoing embodiments or another embodiment disclosed herein.
[0108] In one embodiment, the processing unit includes a container processing unit and a fluid processing system, and the electrical circuitry is arranged to control the container processing unit and the fluid processing system based on the preparation information read from the code. In another embodiment, the processing unit is arranged as a loose material processing unit, and the electrical circuitry is arranged to control the loose material processing unit to process loose precursor materials dispensed from or disposed in the container based on the preparation information read from the code.
[0109] This disclosure provides a container for containing precursor materials for use with a machine for preparing beverages or food, or precursors for beverages and / or food. The machine may be configured according to any of the foregoing embodiments or another embodiment disclosed herein.
[0110] In one embodiment, the container includes machine-readable code that stores preparation information for processing the precursor material. This code may include any features of the foregoing embodiments or another embodiment disclosed herein.
[0111] In the implementation, the code extends along the encoding line and includes a series of discrete locations, which may or may not include units for at least partially encoding the preparation information.
[0112] In one implementation, the sum of color model values of a digital image fitted to the code along the coding line is identifiable compared to the sum of adjacent parallel non-coding lines, in order to determine the orientation of the code based on the sum.
[0113] In one embodiment, the container includes an outer surface that includes machine-readable code, which includes any features of the foregoing embodiments or another embodiment disclosed herein. The code stores preparation information for use with a preparation process performed by the machine, based on which the machine controls the preparation of beverages and / or food or precursors to beverages and / or food.
[0114] This disclosure provides a substrate for attachment to a container for containing precursor material, the container being used with a machine for preparing beverages and / or food or precursors of beverages and / or food, the substrate including an outer surface containing machine-readable code including any features of the foregoing embodiments or another embodiment disclosed herein.
[0115] As used herein, the term “substrate” can refer to any suitable carrier that can be used to attach code to a container, examples of which include: stickers; cardboard components for receiving adhesive tape; closure components; and other suitable arrangements.
[0116] This disclosure provides the use of the container for any of the foregoing embodiments or another embodiment of the machine / system disclosed herein.
[0117] This disclosure provides a method for reading / determining preparation information for processing precursor materials. The preparation information may be encoded, at least in part, by code on a container including the precursor material, including code repetition. The method may be implemented to read this code from any of the foregoing embodiments or another embodiment disclosed herein. The method may be implemented by a machine for preparing beverages and / or food or precursors of beverages and / or food. The method may be implemented by a processor (e.g., its electrical circuitry system), including as a machine-executable step.
[0118] In one implementation, the method includes: reading code duplicates (e.g., using a code reading system) / acquiring a read of a code duplicate (e.g., as information acquired by a processor), each code duplicate in the code duplicate encoding a binary sequence; determining the number of bit errors associated with the binary sequence; and determining a recipe based on the binary sequence and the number of bit errors.
[0119] In one implementation, the method includes: reading code repeatedly (e.g., using a code reading system) / acquiring the reading of code (e.g., as information acquired by a processor), the code encoding a binary sequence; correcting unit errors in the sequence; and identifying recipes associated with the binary sequence.
[0120] In an implementation, the method includes: reading code (e.g., using a code reading system) / acquiring the reading of code (e.g., as information acquired by a processor) to obtain a code reading result; determining the characteristics of adjacent non-code portions near the code portion of the code reading result; and correcting the associated characteristics of the code portion based on the determined characteristics of the adjacent non-code portions to take into account changes in the characteristics of the non-code portions.
[0121] In one implementation, the method includes: fitting a color model to a digital image of the code; summing the values of the color model along an encoding line, including the values of the units of the code and the encoding line; determining the orientation of the code based on the sum; and reading discrete locations of the code based on the determined orientation of the code in the image, the discrete locations including or excluding units for at least partially encoding the preparation information.
[0122] This disclosure provides a method for reading code on the outer surface of a capsule, the method comprising: generating an image of the outer surface of the capsule, the image including the code; and reading the code.
[0123] In one implementation, the method includes: obtaining a sum of hues for a line (e.g., a segment) extending across the image, and locating the code based on the sum of hues.
[0124] In an implementation, the method includes obtaining the variance (including values associated with the variance) of the first color range and the second color range for a line (e.g., a segment) extending across the image, and locating the code based on the variance of the hue.
[0125] This method can be implemented as part of a method for preparing beverages or food or precursors of beverages and / or food, wherein the processing unit controls the execution of the preparation process on the precursor material based on the preparation information.
[0126] This disclosure provides an electrical circuit system for implementing the foregoing embodiments or another embodiment disclosed herein.
[0127] This disclosure provides a computer-readable medium including program code that can be executed on one or more processors of a machine to implement the methods of the foregoing embodiments or another embodiment disclosed herein.
[0128] To provide a basic understanding of the various aspects of the subject matter described herein, the above-described invention summary is provided to outline some embodiments. Therefore, the features described above are merely examples and should not be construed as limiting the scope or substance of the subject matter described herein in any way. Furthermore, the above and / or foregoing embodiments can be combined in any suitable manner to provide other embodiments. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following detailed description, description of the drawings, and claims. Attached Figure Description
[0129] Various aspects, features, and advantages of the embodiments of this disclosure will become apparent from the following detailed description of embodiments with reference to the accompanying drawings, in which similar numerals denote similar elements.
[0130] Figure 1 This is a system block diagram illustrating an embodiment system for preparing beverages or food, or precursors of beverages and / or food.
[0131] Figure 2 It is shown Figure 1 The system implementation plan of the machine is shown in the system block diagram.
[0132] Figure 3 It is shown Figure 2 A schematic diagram of the fluid conditioning system of the machine implementation plan.
[0133] Figure 4A and Figure 4B It is shown Figure 2 A schematic diagram of the implementation scheme of the container processing system of the machine.
[0134] Figure 5 It is shown Figure 2 A schematic diagram of an implementation machine including a loose material processing unit.
[0135] Figure 6 It is shown Figure 2 The block diagram of the control electrical circuit system of the machine implementation plan.
[0136] Figure 7 and Figure 8 It is shown Figure 1 A schematic diagram of the system implementation container.
[0137] Figure 9 It is shown by Figure 1 The flowchart shows the process of preparing the implementation plan for the system execution.
[0138] Figure 10 It is shown Figure 7 The image shows a view of the closed component of a container, which includes an outer surface as well as code and coding lines.
[0139] Figure 11 It is shown Figure 10 The image includes a close-up view of the code portion.
[0140] Figure 12 It is shown Figure 10 and Figure 11 The image includes a close-up view of the code portion.
[0141] Figure 13 This shows the positions at two different rotational locations. Figure 10 A view of the top and bottom images.
[0142] Figure 14 It is a contour plot of the average hue of a segment of the image at its rotational position relative to the lateral position of the segment.
[0143] Figure 15 It is shown Figure 13 A graphical representation of the horizontal position of the segment in the bottom image against the standard deviation.
[0144] Figure 16 and Figure 17 This shows the methods used for positioning and reading. Figure 10 The flowchart of the implementation process of the code, which is composed of Figure 1 The system execution.
[0145] Figure 18 and Figure 19 It shows the use of from Figure 10 The flowchart of the process for determining the implementation scheme of the formula, which is carried out by... Figure 1 The system execution.
[0146] Figure 20 This shows the method for reading. Figure 10 The flowchart of the implementation process of the code, which is composed of Figure 1 The system execution.
[0147] Figure 21 It is shown Figure 20 The image shows the code during the reading process.
[0148] Figures 22 to 23 Is Figure 20 A graphical illustration of the code signals obtained during the reading process. Detailed Implementation
[0149] Before describing several embodiments of the system, it should be understood that the system is not limited to the details of the construction or process steps mentioned in the following specific embodiments. It will be apparent to those skilled in the art that the system can be implemented in other ways and practiced or carried out in a variety of manners.
[0150] This disclosure can be better understood from the following explanation:
[0151] As used herein, the term "machine" can refer to an electrically operated device that can: prepare beverages and / or food from precursor materials, or; prepare precursor materials from pre-precursor materials, which can then be prepared into beverages and / or food. The machine can perform the preparation through one or more of the following processes: dilution; heating; cooling; mixing; beating; dissolving; soaking; macerating; extraction; conditioning; brewing; grinding; and other similar processes. The dimensions of the machine can be set for use on a workbench; for example, the length, width, and height of the machine can be less than 70 cm. As used herein, the term "preparation" for beverages and / or food can refer to the preparation of at least a portion of the beverage and / or food (e.g., the beverage is entirely or partially prepared by the machine, or additional fluids, including milk and / or water, can be manually added to the beverage by the end user before consumption).
[0152] As used herein, the term "container" can refer to any configuration that contains precursor material (e.g., as a single, pre-quantified portion). A container may have a maximum capacity such that it can only hold a single portion of precursor material. A container may be single-use, for example, physically altered after a preparation process that may include one or more of the following: perforation to supply fluid to the precursor material; perforation to supply beverage / food from the container; or opening by a user to extract the precursor material. A container may be configured to operate with a container handling unit of a machine; for example, the container may include flanges for aligning and guiding the container through said unit or arranged on said unit. A container may include a rupture portion arranged to rupture upon exposure to a specific pressure to deliver the beverage / food. A container may have a membrane for closing the container. A container may have various forms, including one or more of the following: truncated conical; cylindrical; disc-shaped; hemispherical; sac-like; and other similar forms. A container may be formed from various materials, such as metal or plastic or combinations thereof. The material may be selected such that it is: food-safe; and able to withstand the pressure and / or temperature of the preparation process. The container may be defined as a capsule, wherein the capsule may have an internal volume of 20 ml to 100 ml. Capsules include coffee capsules, for example, Capsules (including Classic, Professional, Vertuo, Dolce Gusto, or other capsules). Containers may be defined as serving dishes, wherein the serving dish may have an internal volume of 150 ml to 350 ml. Serving dishes are generally intended for consumption by an end user and include pots for consumption via a utensil including a spoon and cups for drinking from them. Containers may be defined as sacs, wherein the sac is formed of a flexible material (including plastic or foil). Sacs may have an internal volume of 150 ml to 350 ml, 200 ml to 300 ml, or 50 ml to 150 ml.
[0153] As used herein, the terms "external device," "external electronic device," or "peripheral device" can include electronic components external to a machine (e.g., those located in the same location as the machine or those located away from the machine, which communicate with the machine via a computer network). External devices can include communication interfaces for communicating with the machine and / or server systems. External devices can include devices such as smartphones; PDAs; video game controllers; tablets; laptops; or other similar devices.
[0154] As used herein, the term "server system" can refer to electronic components external to a machine, such as those located remotely from the machine, that communicate with the machine via a computer network. A server system may include communication interfaces for communicating with the machine and / or external devices. Server systems may include: network-based computers (e.g., remote servers); cloud-based computers; and any other server system.
[0155] As used herein, the term "system" or "beverage or food preparation system" may refer to a combination of two or more of the following: beverage or food preparation machinery; containers; server systems; and peripheral devices.
[0156] As used herein, the term "beverage" can refer to any substance that can be processed into a form suitable for drinking, which may be iced or hot. A beverage can be one or more of the following: solid; liquid; gel; paste. Beverages may include one or a combination of the following: tea; coffee; hot chocolate; milk; liqueur; vitamin compositions; herbal teas / brews; brewed / flavored water; and other substances. As used herein, the term "food" can refer to any substance that can be processed into a nutritious substance for consumption, which may be iced or hot. Food can be one or more of the following: solid; liquid; gel; paste. Food may include: yogurt; mousse; frozen dessert; soup; ice cream; sorbet; custard; smoothie; and other substances. It should be understood that there is some overlap between the definitions of beverage and food; for example, a beverage can also be a food, and therefore, the machine described for preparing a beverage or food does not preclude the preparation of both.
[0157] As used herein, the term "precursor material" can refer to any material that can be processed to form part or all of a beverage or food. Precursor materials can be one or more of the following: powder; crystal; liquid; gel; solid; and others. Examples of precursor materials for forming beverages include: ground coffee; milk powder; tea leaves; cocoa powder; vitamin compositions; herbs, such as those used to form herbal / infused teas; flavorings; and other similar materials. Examples of precursor materials for forming food include: dried vegetables or broth as anhydrous soup powder; powdered milk; flour-based powders, including custard; powdered yogurt or ice cream; and other similar materials. Precursor material can also refer to any pre-precursor material that can be processed into a precursor material as defined above, i.e., any precursor material that can be subsequently processed into a beverage and / or food. In examples, pre-precursor materials include coffee beans that can be ground and / or heated (e.g., roasted) into precursor materials.
[0158] As used herein, the term "fluid" (for fluids supplied by a fluid conditioning system) may include one or more of the following: water; milk; others. As used herein, the term "conditioning" for a fluid may refer to altering the physical properties of that fluid and may include one or more of the following: heating or cooling; agitation (including foaming by whipping to introduce air bubbles and mixing to introduce turbulence); portioning to a single serving size suitable for use with a single-serving container; pressurizing to, for example, brewing pressure; carbonation; skimming / purification; and other conditioning processes.
[0159] As used herein, the term "processing unit" can refer to an arrangement in which precursor materials can be processed into beverages or food. The term "processing unit" can also refer to an arrangement in which pre-precursor materials can be processed into precursor materials. A processing unit can have any suitable specific implementation, including container processing units or loose material processing units.
[0160] As used herein, the term "container processing unit" can refer to an arrangement capable of processing containers to obtain an associated beverage or food from precursor materials. A container processing unit can be arranged to process precursor materials by one or more of the following steps: dilution; heating; cooling; mixing; stirring; dissolving; soaking; macerating; extraction; conditioning; pressurizing; brewing; and other processing steps. Thus, a container processing unit can implement a series of units according to the processing steps, which may include: an extraction unit (which may implement pressurization and / or heating, e.g., heating or cooling, brewing processes); a mixing unit (which mixes the beverage or food in a container thus intended for end-user consumption); a dispensing and dissolving unit (which extracts a portion of the precursor material from a storage tank, processes it by dissolving, and dispenses that portion into containers), and other similar units.
[0161] As used herein, the term "loose material processing unit" can refer to an arrangement that processes loose material into precursor material. A loose material processing unit can be arranged to process the precursor material by one or more of the following steps: heating; cooling; grinding; mixing; soaking; conditioning; and other processing steps. A loose material processing unit can supply loose material into a container, from which the loose material is extracted and processed.
[0162] As used herein, the term "preparation process" can refer to the preparation of a beverage or food from precursor materials or the preparation of a pre-precursor material from precursor materials. A preparation process can also refer to a process executed by an electrical circuit system to control a container processing unit to process the precursor or pre-precursor material.
[0163] As used herein, the terms "electrical circuit system," "circuit system," or "control electrical circuit system" can refer to one or more hardware and / or software components, examples of which may include one or more of the following: application-specific integrated circuits (ASICs) or other programmable logic devices; electronic / electrical components (which may include combinations of transistors, resistors, capacitors, inductors, etc.); one or more processors (e.g., the circuitry of a processor); non-transitory memory (e.g., implemented by one or more memory devices) that may store one or more software or firmware programs; combinational logic circuitry; and the aforementioned interconnections. An electrical circuit system may be entirely located at the machine or distributed among one or more of the following: the machine; external devices; and server systems.
[0164] As used herein, the term "processor" or "processing resource" can refer to one or more units for processing, examples of which include ASICs, microcontrollers, FPGAs, microprocessors, digital signal processors (DSPs), state machines, or other suitable components. A processor can be configured to execute a computer program, for example, in the form of machine-readable instructions stored in non-transitory memory and / or programmable logic. A processor can have various arrangements corresponding to those discussed for the circuit (e.g., onboard machinery) or distributed as part of a system. As used herein, any machine-executable instructions or computer-readable medium can be configured to cause the disclosed methods to be performed, for example, by the machines or systems disclosed herein, and therefore can be used synonymously with or related to the term "method."
[0165] As used herein, the terms "computer-readable medium" or "data storage device" can include any medium capable of storing computer programs and can take the form of any conventional non-transitory memory, such as one or more of the following: random access memory (RAM); CD; hard disk drive; solid-state drive; memory card; DVD. The memory can have various arrangements corresponding to those discussed for the purposes of the circuit discussion.
[0166] As used herein, the terms "communication resource" or "communication interface" can refer to hardware and / or firmware used for electronic information transfer. A communication resource / interface can be configured for wired communication ("wired communication resource / interface") or wireless communication ("wireless communication resource / interface"). Wireless communication resources may include hardware for transmitting and receiving signals via radio and may include various protocol implementations, such as the 802.11 standard described in the Institute of Electrical and Electronics Engineers (IEEE) and Bluetooth from the Bluetooth Technology Alliance of Kirkland and Wash. TM Universal Serial Bus (USB); High-Definition Multimedia Interface (HDMI) or other protocol implementations. The machine may include communication resources for wired or wireless communication with external devices and / or server systems.
[0167] As used herein, the term "network" or "computer network" can refer to a system used for the electronic transfer of information between multiple devices / devices. A network can include, for example, one or more networks of any type, including: a Public Land Mobile Network (PLMN); a telephone network (e.g., a Public Switched Telephone Network (PSTN) and / or a wireless network); a Local Area Network (LAN); a Metropolitan Area Network (MAN); a Wide Area Network (WAN); an Internet Protocol Multimedia Subsystem (IMS) network; a private network; the Internet; and an intranet.
[0168] As used herein, the term "code" can refer to a storage medium that encodes information. A code can be optically readable, such as a barcode. A code can be formed from multiple units, which can be referred to as elements or tags.
[0169] As used herein, the term "preparation information" can refer to information related to the preparation process. This information may vary depending on the specific implementation of the processing unit. Parameters that can be associated with a container processing unit including a fluid handling system may include one or more of the following: fluid pressure; fluid temperature; mass / volume flow rate; fluid volume; filtration / purification parameters for the fluid; carbonation parameters for the fluid. Parameters that can be associated with a container processing unit including a loose material handling unit may include one or more of the following: grinding parameters, including strength; heating temperature. More general parameters may include one or more of the following: container geometry parameters, e.g., shape or volume; type of precursor; stage identifier, used when the preparation process is divided into a series of stages, thus each stage includes a set of one or more of the aforementioned parameters; duration, including stage duration (e.g., typically the duration of a parameter applied to a stage or any of the aforementioned parameters); and container identifier, which may be used, for example, to monitor container consumption for container reordering or to retrieve information from a server system; expiry date; and recipe identifier, which can be used to locate recipes stored in the machine's memory for use with the container.
[0170] [General System Description]
[0171] refer to Figure 1 System 2 includes machine 4, container 6, server system 8, and peripheral device 10. Server system 8 communicates with machine 4 via computer network 12. Peripheral device 10 communicates with machine 4 via computer network 12.
[0172] In variant implementations not illustrated: peripheral devices and / or server systems are omitted.
[0173] Although computer network 12 is illustrated as being the same between machine 4, server system 8, and peripheral device 10, other configurations are possible, including: different computer networks for communication between each device; the server system communicating with the machine via the peripheral device (rather than directly). In a particular example: the peripheral device communicates via a wireless interface (e.g., using Bluetooth). TM The server system communicates with the machine via a wireless interface (e.g., using the IEEE 802.11 standard) and also via the Internet.
[0174] [machine]
[0175] refer to Figure 2 The machine 4 includes: a processing unit 14 for processing precursor materials; an electrical circuit system 16; and a code reading system 18.
[0176] Electrical circuit system 16 controls code reading system 18 to read codes from container 6 (in Figure 2 (Not illustrated in the text), and determines the preparation information from it. The electrical circuit system 16 uses the preparation information to control the processing unit 14 to perform the preparation process, wherein the precursor material is processed into a beverage or food or its precursor.
[0177] [First example of a processing unit]
[0178] refer to Figure 3 As shown in Figure 4, in a first example of the processing unit 14, the unit includes a container processing unit 20 and a fluid conditioning system 22.
[0179] Container processing unit 20 is arranged to process container 6 to obtain beverage or food from precursor materials (not illustrated) therein. Fluid conditioning system 22 conditions the fluid supplied to container processing unit 20. Electrical circuit system 16 uses preparation information read from container 6 to control container processing unit 20 and fluid conditioning system 22 to execute the preparation process.
[0180] [Fluid Conditioning System]
[0181] refer to Figure 3 The fluid conditioning system 22 includes a reservoir 24; a pump 26; a heat exchanger 28; and an outlet 30 for conditioning the fluid. The reservoir 24 contains a fluid generally sufficient for multiple preparation processes. The pump 26 draws fluid from the reservoir 24, through the heat exchanger 26, and to the outlet 30 (which is connected to the container handling unit 20). The pump 26 can be implemented as any suitable device for driving the fluid, including: a reciprocating motor; a rotary pump; or other suitable arrangements. The heat exchanger 28 is implemented to heat the fluid and may include: an in-line hot block heater; a heating element for directly heating the fluid in the reservoir; or other suitable arrangements.
[0182] In variant embodiments not illustrated: pumps are omitted, for example, fluid is fed to the container processing unit by gravity or pressurized by a mains water supply; reservoirs are omitted, for example, water is supplied by a mains water supply; heat exchangers are arranged to cool the fluid (e.g., the heat exchanger may include a refrigeration-type circulating heat pump); heat exchangers are omitted, for example, the mains water supply supplies water at a desired temperature; the fluid conditioning system includes a filtration / purification system, such as a UV light system, the extent to which the filtration / purification system is applied to the fluid is controllable; and a carbonation system that controls the degree of carbonation of the fluid.
[0183] [Container Processing Unit]
[0184] The container processing unit 20 can be implemented using a series of configurations, as illustrated in Examples 1 through 6 below:
[0185] refer to Figure 4A and Figure 4B A first example of container processing unit 20 is used to process containers arranged as capsules 6 (appropriate examples of capsules are shown in...). Figure 7 Provided herein (this example will be discussed) for preparing a beverage. Container handling unit 20 is configured as extraction unit 32 to extract the beverage from capsule 6. Extraction unit 32 includes capsule holding portion 34 and closing member 36. Extraction unit 32 is movable to capsule receiving position (…). Figure 4A At the capsule receiving position, the capsule holding portion 34 and the closing member 36 are arranged to receive the capsule 6. The extraction unit 32 is movable to the capsule extraction position. Figure 4B At the capsule extraction position, the capsule holding portion 34 and the closing member 36 form a seal around the capsule 6, and the beverage can be extracted from the capsule 6. The extraction unit 32 can be actuator-driven or manually moved between said positions.
[0186] The outlet 30 of the fluid conditioning system 22 is arranged as an injection head 38 to inject the conditioned fluid into the capsule 6 at the capsule extraction position (typically under high pressure). The beverage outlet 40 is arranged to capture the extracted beverage and transport it from the extraction unit 32.
[0187] Extraction unit 32 is arranged to prepare a beverage by applying pressurized (e.g., 10 to 20 bar) and heated (e.g., 50 to 98 degrees Celsius) fluid to the precursor material within capsule 6. The pressure increases over a predetermined time period until it exceeds the pressure of the ruptured portion (which is the closing member of capsule 6), causing the member to rupture and dispense the beverage into beverage outlet 40.
[0188] In variant embodiments not illustrated, although the injection head and beverage outlet are illustrated as being arranged on the holding portion and capsule closure member, respectively, they may alternatively be arranged, including: the injection head and beverage outlet being arranged on the capsule closure member and storage portion, respectively; or both being on the same portion. Furthermore, the extraction unit may include two parts arranged as the capsule holding portion, for example, for a capsule symmetrical about a flange, including... Professional capsules.
[0189] Examples of suitable extraction units are provided in EP 1472156 A1 and EP 1784344 A1, and hydraulically sealed extraction units are provided.
[0190] In a second example (not illustrated) of the container processing unit, an extraction unit similar to the first example is provided; however, the extraction unit operates at a lower pressure and is performed by centrifugation. An example of a suitable capsule is... Vertuo capsules. A suitable example is provided in EP 2594171 A1.
[0191] In the (not illustrated) third example, the capsule processing unit operates by dissolving a beverage precursor, selected for dissolution under high pressure and temperature fluid. The extraction unit is arranged similarly to the first and second examples; however, the pressure is lower and therefore a sealed extraction unit is not required. Specifically, fluid can be injected into the capsule cap, and the ruptured portion is located at the base of the capsule's receiving portion. An example of a suitable capsule is... Dolce Gusto capsules. Examples of suitable extraction units are disclosed in EP 1472156 A1 and EP 1784344 A1.
[0192] In a fourth example (not illustrated) where the container is arranged as a bag, the container processing unit is operable to receive the bag and to extract fluid from a fluid conditioning system at the inlet of the bag. The injected fluid is mixed with precursor material within the bag to at least partially prepare a beverage, which exits the bag via the outlet. An example of such an arrangement is provided in WO2014125123 A1.
[0193] In the fifth example (not illustrated), the container processing unit is arranged as a mixing unit to prepare a beverage or food precursor stored in a container intended for consumption by an end user. The mixing unit includes a stirrer (e.g., a planetary mixer; a spiral mixer; a vertical cut mixer) to mix the beverage or food precursor in the container; and a heat exchanger to heat / cool the beverage or food precursor. A fluid supply system may also supply fluid to the container. An example of such an arrangement is provided in WO2014067987A1.
[0194] In the (not illustrated) sixth example, the container processing unit is arranged as a dispensing and dissolving unit. The dispensing and dissolving unit is arranged to extract a single portion of a beverage or food precursor from a storage section of the machine (which may include any multi-part containers, including pouches or boxes). The dispensing and dissolving unit is arranged to mix the extracted single portion with a conditioning fluid from a fluid conditioning system and dispense the beverage or food into a container. An example of such an arrangement is provided in EP 14167344 A.
[0195] [Second example of a processing unit]
[0196] refer to Figure 5In a second example of processing unit 14, the unit includes a loose material processing unit 42.
[0197] Loose material processing unit 42 is arranged to receive loose pre-precursor material from container 6 (suitable examples will be discussed). Figure 8 The pre-precursor material is provided in the container 6 and processed to obtain the precursor material. The electrical circuit system 16 uses the preparation information read from the container 6 to control the loose material processing unit 42 to perform the preparation process.
[0198] The user manually resents container 6 to the code reading system 18 of machine 4 to read the code (as will be discussed). The user then opens container 6 and dispenses the pre-precursor material (not shown) arranged within it into the loose material processing unit 42. The loose material processing unit 42 processes the loose pre-precursor material into precursor material.
[0199] In a specific example, the pre-precursor material is coffee beans, and the loose material processing unit 42 is arranged to roast and / or grind the coffee beans to provide the precursor material.
[0200] In alternative embodiments not illustrated, the loose material processing unit is optionally configured to include: using a dispensing system to open and dispense a pre-precursor from the capsule for subsequent processing (e.g., which may include a cutting tool to cut open the container and an extractor (such as a scop) to extract the pre-precursor material); the pre-precursor material may be processed in the container and dispensed from or provided to a user in the container, as illustrated in the foregoing examples.
[0201] [Code Reading System]
[0202] refer to Figure 4A and Figure 4B The code reading system 18 is arranged to read code 44 disposed on the closing member of the container 6. The code reading system 18 is integrated with the extraction unit 32 of the first example of the container processing unit 20. Code 44 is read using the extraction unit 32 at the capsule extraction location (e.g., ...). Figure 4B (as shown in the image).
[0203] The code reading system 18 includes an image capture unit 46 to capture a digital image of the code 44. Examples of suitable image capture units 46 include the Sonix SN9S102; the Snap Sensor S2 imager; an oversampled binary image sensor; and other similar systems.
[0204] Electrical circuit system 18 includes image processing circuitry (not shown) to identify codes in a digital image and extract preparation information. An example of image processing circuitry is a Texas Instruments TMS320C5517 processor that runs a code processing program.
[0205] In a variant embodiment not illustrated, the code reading system is separate from the container processing unit, including: the code reading system being arranged in a channel in which a user places a container and conveys it to the container processing unit; the code reading system being arranged to read a code on a container positioned to receive beverage from a beverage outlet of a dispensing and dissolving unit. In another variant embodiment not illustrated, the code reading system is alternatively implemented, for example, the code reading system being arranged on the machine to read a code that the user of the container manually presents to an image capturing device. In another variant embodiment not illustrated, the code reading system is arranged to read codes at different locations on the container, such as on the flange portion or the storage portion.
[0206] [Control electrical circuit system]
[0207] refer to Figure 6 The electrical circuit system 16 is implemented to control the electrical circuit system 48 to control the processing unit 14 to perform the fabrication process. Figure 6 In the implementation scheme, for illustrative purposes, the processing unit 14 is described as a first example, which includes a container processing unit 20 and a fluid supply unit 22.
[0208] The electrical circuit systems 16 and 48 are at least partially implemented (e.g., in combination with hardware): an input unit 50 for receiving input from a user confirming that the machine 4 will perform the preparation process; a processor 52 for receiving input from the input unit 46 and providing control output to the processing unit 14; and a feedback system 54 for providing feedback from the processing unit 54 during the preparation process, which can be used to control the preparation process.
[0209] The input unit 50 is implemented as a user interface, which may include one or more of the following: buttons, such as joystick buttons or push buttons; joysticks; LEDs; graphic or character LDCs; graphic screens with touch sensing and / or screen edge buttons; other similar devices; and sensors for determining whether a container has been supplied to the machine by the user.
[0210] Feedback system 54 can perform one or more of the following or other feedback control-based operations:
[0211] A flow sensor is used to determine the flow rate to the outlet 30 of the fluid supply system 22. Figure 3 The flow rate / volume of the fluid (shown in the figure) can be used to measure the correct amount of fluid into container 6 and thus adjust the power to pump 26;
[0212] A temperature sensor is used to determine the temperature of the fluid to the outlet 30 of the fluid supply unit 22. This temperature sensor can be used to ensure that the temperature of the fluid to the container 6 is correct, and thus regulate the power to the heat exchanger 28.
[0213] A liquid level sensor is used to determine whether the liquid level of the fluid in the reservoir 24 is sufficient for the preparation process;
[0214] A position sensor is used to determine the position of the extraction unit 32 (e.g., capsule extraction position or capsule receiving position).
[0215] It should be understood that electrical circuit systems 16, 48 are suitably adapted to other examples of processing unit 14, such as: for a second example of a container processing system, the feedback system can be used to control the rotational speed of the capsule; for a loose material processing unit, the feedback system can be used to achieve control of the grinding rate and / or heating temperature.
[0216] [container]
[0217] refer to Figure 7 The first example of the container 6 for use with the first example of the processing unit 14 includes a container 6 arranged as a capsule. The capsule includes: a closure member 56; a storage portion 58; and a flange portion 60.
[0218] Storage portion 58 includes a cavity (not shown) for storing precursor material. Closure member 56 closes storage portion 58 and includes a flexible membrane. Flange portion 60 is arranged at the junction of storage portion 58 and closure member 56 and includes the overlapping portion of each portion fixed together to airtightly seal the precursor material. Capsule 6 has a diameter of 2 cm-5 cm and an axial length of 2 cm-4 cm. Reference Figure 4A and Figure 4B The storage section 58 is perforated by the injection head 38 to supply the conditioned fluid into the capsule.
[0219] Capsule 6 includes a rotational symmetry axis 57 extending through the center 59 of the closing member 56 (although in Figure 7 Not illustrated in the side view, but when viewed in the plane of the closing member 56, the capsule 6 has a circular cross-section.
[0220] Details of the construction, manufacture and / or (beverage) extraction of containers and / or closure components are disclosed, for example, in EP 2155021, EP2316310, EP 2152608, EP2378932, EP2470053, EP2509473, EP2667757 and EP 2528485.
[0221] refer to Figure 8The second example of the container 6 for use with the second example of the processing unit 14 includes a container 6 arranged as a pouch and including: an arrangement of sheet material 62 joined at a peripheral seam 64 to define an internal volume for storing precursor material (not illustrated); and an opening 66 opened by the user to dispense the precursor material into the loose material processing unit 42.
[0222] [Code Layout]
[0223] refer to Figure 7 and Figure 8 Code 44 is arranged at any suitable location on the outer surface of container 6, such that the code can be read by code reading system 18. Figure 7 In the first example shown, code 44 is arranged on the closure portion 56. In a variant embodiment not illustrated, the code may be arranged on the flange portion 60 (including on either side) and the receiving portion 58. Figure 8 In the second example shown, code 44 is arranged at various locations on the sheet material 62, including the distal side of the seam 64.
[0224] Although the code is described as being laid out on the outer surface of the container, it should be understood that this definition requires the code to be externally readable; for example, there may be a protective varnish or other at least partially transparent surface laid out on the code.
[0225] [Preparation Process]
[0226] refer to Figure 9 Example of performing a process for preparing beverages / foods from precursor materials:
[0227] Box 70: The user supplies container 6 to machine 4.
[0228] Box 72: Electrical circuit system 16 (e.g., its input unit 50) receives user instructions to prepare beverage / food from precursors, and electrical circuit system 16 (e.g., processor 52) initiates the process.
[0229] Box 74: The electrical circuit system 16 controls the processing unit 14 to process the container (e.g., in the first example of the container processing unit 20, the extraction unit 32 receives the container from the capsule location). Figure 4A Move to the capsule extraction location ( Figure 4B )).
[0230] Box 76: Electrical circuit system 16 controls code reading system 18 to read code 44 on container 6 and provides a digital image of the code.
[0231] Box 78: The code processing circuit of the electrical circuit system 16 processes digital images to extract preparation information.
[0232] Box 80: Electrical circuitry 16 executes the preparation process via control processing unit 14 based on preparation information. In a first example of the processing unit, this includes controlling fluid conditioning system 22 to supply fluid to container processing unit 20 at the temperature, pressure, and duration specified in the preparation information.
[0233] The electrical circuit system 16 then controls the container processing unit 20 to move from the capsule extraction section through the capsule discharge position to discharge the container 6 and return to the capsule receiving position.
[0234] In variant implementations not illustrated: the above boxes may be executed in different orders, for example, box 72 may be executed before box 70 or box 76 may be executed before box 74; a box may be omitted, for example, box 70 may be omitted in the case of machine storage of capsule boxes; alternatively, at boxes 70 to 76, the user presents the code of the container to the code reading system, and after the code is read, the container is opened and the pre-precursor material is dispensed into the processing unit.
[0235] Boxes 76 and 78 may refer to code reading and processing procedures. Box 80 may be referred to as a fabrication process. The electrical circuit system 16 includes instructions for this fabrication process (or a plurality of fabrication processes), for example as program code. In an embodiment, processor 52 implements the instructions stored in memory (not illustrated).
[0236] As part of the preparation process, the electrical circuit system 16 may use the machine’s communication interface (not shown) to obtain additional preparation information from the server system 8 and / or peripheral devices 10 via the computer network 12.
[0237] [External Surface and Code Description]
[0238] refer to Figure 10 and Figure 11 The entire outward-facing surface of the closing member 56 includes an outer surface 70, which includes code 72 and a coding line 74 extending through code 72.
[0239] The image of the outer surface 70 is circular. In a variant embodiment not illustrated: other shapes, including squares, can be processed.
[0240] [External surfaces and features]
[0241] The outer surface 70 is formed by a first color range, which in this example includes relatively light colors in an 8-bit grayscale color system, for example, decimal numbers 200–255. Other items formed on the outer surface 70 are formed by a second color range, which in this example includes relatively dark colors in an 8-bit grayscale color system, for example, decimal numbers 0–50.
[0242] In variant implementations not illustrated: other color systems may be implemented, including: 1-bit monochrome; 8-bit color; 16-bit grayscale; and 16-bit color.
[0243] The outer surface 70 has non-coded lines 76, 78, 80, 82 formed thereon, which can be defined as any line extending across the outer surface 70 parallel to the coded lines 74 and 72 but not intersecting with either of them.
[0244] Non-encoded line 76 extends directly adjacent to code 72. Non-encoded line 78 extends at the far end of code 72. Both non-encoded lines 76 and 78 are entirely composed of the first color range.
[0245] Non-coded line 80 extends at the distal end of code 72 and includes the intersecting portion of object 84, which specifically includes trademark / logo 86. Non-coded line 82 extends at the distal end of code 72 and includes the intersecting portion of object 84, which specifically includes trademark / logo 86 and text 88 providing information about the type of beverage produced from the precursor material in container 6. Object 84 is constituted by a second color range. Both non-coded lines 80 and 82 are therefore constituted by a combination of a first color range and a second color range. The shape and composition of object 84 are selected such that non-coded lines 76, 78, 80, and 82 include a composition of the second color range, which is less identifiable than the composition of coded line 74; for example, the composition of the second color range may be 20% or 50% smaller.
[0246] In variant implementations not illustrated: other objects may be formed on the outer surface, including those with different orientations.
[0247] Although not explicitly illustrated, it should be understood that the corresponding non-coded lines can be drawn on all portions of the outer surface 70 excluding coded lines 74 and code 72. Furthermore, it should be understood that the non-coded lines are not physically formed on the outer surface 70, but rather, when processing the image as discussed, these non-coded lines are merely considered as idealized virtual lines of the outer surface 70. Since when processing an image of the outer surface 70, the non-coded lines 76–82 are decomposed into a series of adjacent lines as discussed, the thickness of these non-coded lines can be imagined as the thickness of the coded line 74 (or, as discussed, with magnified thickness when dealing with variance).
[0248] [Code and code lines]
[0249] refer to Figures 10 to 12 Code 72 extends across the outer surface 70 along a linear coding line 74 extending in the longitudinal direction 100. (Example) Figure 12As best viewed, code 72 includes a series of discrete positions 90, including or excluding unit 92. Unit 92 and encoding line 74 are formed by a second color range. Unit 92 encodes bits as 0 or 1 based on whether the unit is absent or present in the discrete position 90. The discrete positions 90 are arranged along encoding line 74 at predetermined intervals (i.e., pitch), and these discrete positions are directly adjacent to each other in this example, making these discrete positions predictably located and read.
[0250] refer to Figure 10 Code 72 is arranged as repeating units 94, which repeat themselves sequentially along the encoding line 74 in the same order. For example, the encoding line 74 may include one to three or other number of repetitions of the code, and any one of these repetitions can be read to extract preparation information.
[0251] In the example, repeating unit 94 comprises 23 discrete positions 90, thus code 72 is 23 bits long. This 23-bit message at least partially encodes preparation information; for example, it can be used as a key associated with a specific set of parameters defining the recipe using a key-value database paradigm, which is a storage relation on the electronic memory of electrical circuit system 16. Alternatively, the value encoded by one or more bits can be directly associated with the value of a parameter; for example, bits 0–7 encode one of 256 possible values for water temperature, which are interpreted and converted into temperature based on a relation stored in the electronic memory of electrical circuit system 16.
[0252] In variant implementations not illustrated: the code is repeated only once; the code may include any number of discrete locations, such as 16 or 32; the code may be configured by different units, so the absence of a unit at a discrete location may be specified by the presence of another unit, rather than the absence of any unit.
[0253] like Figure 10 As best seen, there are multiple coding lines 74 (four shown) that are offset from each other and parallel in the lateral direction 102 and have the same repetition 94 on the code 72. Therefore, any repetition can be read from any coding line 74 to extract preparation information. In particular, the repetitions 94 on adjacent coding lines 72 are offset longitudinally by half the code length, which increases the likelihood of the presence of undamaged code repetitions 94 if the area of the outer surface 70 is damaged.
[0254] In variant implementations not illustrated: there may be only a single coding line, and; repetition may have other vertical offsets, including a quarter of the code length, or there may be no vertical offset.
[0255] refer to Figure 12For code 72, which is not adjacent to another unit 92, the outer end region 96 is shaped to have a curved end profile, such that the outer end region tapers symmetrically in a manner that increases longitudinally around the coding line 74 and narrows the lateral thickness to a tip. For code 72, which is adjacent to any other unit 92, the end region is a non-outer unit 92 and is square in shape.
[0256] As used herein, the term “shape” for an element can refer to the exact shape or an approximation of the actual shape, which can occur in terms of printing or other manufacturing precision variations.
[0257] In variant embodiments not illustrated: the unit has a different shape, including one or a combination of the following shapes: triangle, polygon, especially quadrilateral such as square or parallelogram; other suitable shapes.
[0258] In this implementation, the thickness of the encoding line 74 in the lateral direction 102 is selected to be relatively narrow (e.g., less than 20% or 10%) compared to the thickness of the cell 92 of the code 72. This thickness can be, for example, from 0.2 mm or 0.24 mm to 0.16 mm or 0.18 mm ± 20% or 30% or 40%. The cell length can be 1.1 mm or 0.89 ± 20% or 30% or 40%.
[0259] Element 92 typically has an element length of 1.1 mm or 0.89 mm. As used herein, the term "element length" for element 92 can refer to a suitably defined distance of element 92, such as: for a circular shape, the diameter; for a square, the side length; for a polygon, the distance between opposite or adjacent vertices; for a triangle, the hypotenuse. Element 92 can be configured with an accuracy of approximately 0.05 mm. Because element 92 are directly adjacent, these elements have a pitch equal to the element length.
[0260] Unit 92 and coding line 74 are formed by printing (e.g., by means of an ink printing press). As an example of printing, the ink can be conventional printing press ink, and the substrate can be: polyethylene terephthalate (PET); aluminum coated with varnish (as is present on Nespresso Classic capsules) or other suitable substrate.
[0261] In alternative embodiments not illustrated: the cells are alternatively formed, including by embossing, engraving or other suitable means, and the cells are alternatively sized, for example, a cell length of 0.5 mm to 2 mm.
[0262] In certain variant implementations, cells and coding lines (e.g., by etching or engraving or by other coatings such as aluminum on diffuse paint or specular reflectors) are formed as either diffuse or specular reflections, while non-coding lines (or areas of cells or coding lines that do not contain codes) are formed by the other of diffuse or specular reflections. This arrangement can be advantageous because, in a digital image, specular reflection can appear as a first range of values in the color model, such as light tones, and diffuse reflection can appear as a second range of values in the color model, such as dark tones. That is, the intensity of the reflection determines the value of the color model. However, the visibility of the codes can be less noticeable compared to forming a range of values through printing.
[0263] [Total Hue]
[0264] Due to the physical formation of the encoding line 74, it should be understood that if the outer surface 70 is divided into regions called pixels (e.g., ... Figure 11 As indicated by the grid in the diagram, where the encoding line 74 is approximately two pixels thick, and; if a grayscale hue (as previously discussed) is assigned to each pixel; then the sum of the decimal values associated with the hue of the pixel along the length and width of the encoding line 74, and the sum of the values extending across the outer surface 70 as shown in the diagram. Figure 10 The sum of adjacent parallel linear uncoded lines 76, 78, 80, 82 (or any other lines) shown is identifiable. This is because these uncoded lines either do not include or include the reduced portions of the colors in the second color range.
[0265] The two-pixel-thick region that extends between the edges of the outer surface and encapsulates the coding line in the example is called a "segment" or "line segment". And the pixels that form the segment are called "elements" or "regions".
[0266] Specifically, since the decimal numbers for coded line 74 are entirely derived from the second color range (rather than including all or part of the first color range as used for non-coded lines), the sum of the decimal numbers divided by the number of pixels will be much lower compared to the non-coded lines. This quantity refers to the "average segment hue" or "average tone," where in this example, elements are pixels and the average corresponds to the number of elements in the segment. Therefore, a segment can have a single value for the average segment hue.
[0267] In variant implementations not illustrated: elements or regions other than single pixels may be considered, for example, a single hue (i.e., value) may be assigned to an element comprising a group of 4, 6, or 9 pixels arranged in a square or rectangle, the element comprising a total width equal to the width of the encoding line 74.
[0268] refer to Figure 13(Top image), in which the orientation of code 72 is initially unknown (and shown by virtual region coordinate lines compared to real global coordinate lines), the image of the outer surface 70 is divided into longitudinally extending segments 98, each two pixels wide (as previously discussed). Although only a single segment 98 is shown, these segments extend across the entire lateral width of the image. For Figure 13 (Top image) Calculate the average segment hue for each segment (98).
[0269] Then the image is rotated around the axis of symmetry 59 (see Figure 7 The axis of symmetry is rotated three degrees (at the center of the circular image), and the process of calculating the average segment hue for each segment is repeated. This process is then repeated until the image has been rotated 180 degrees.
[0270] In variant implementations not illustrated: the image is rotated by other amounts, including 2 degrees or 4 degrees.
[0271] Figure 14 A 2D contour plot showing the average segment hue at the rotation angle relative to the lateral position of the segment. Figure 13 The rotation angle in the (top image) corresponds to Figure 14 Column 104. Figure 13 The rotation angle in the bottom image corresponds to Figure 14 Column 106 in Figure 13 The middle coding line 74 is aligned with the vertical direction 100. It should be noted that for column 106, there exists a series of locally low regions 108 with an average segmental hue. This characteristic allows for the identification of the desired orientation of code 72.
[0272] In a variant implementation not illustrated: the orientation of the code can be known, for example by placing the code in a direction that extends along a reference identifier formed on the asymmetric structure of the capsule.
[0273] [Determination of Variance]
[0274] Using code 72, which is oriented to align with the longitudinal direction 100, such as Figure 13 As shown in the bottom image, the preferred encoding line 74 is selected for processing by determining the variance (or standard deviation) of the element hue for each segment 98 (instead of the average segment hue).
[0275] refer to Figure 15 This illustrates the standard deviation of the lateral position of segment 98 relative to segment 98. Several optional processing steps have been applied to the raw deviation data; these optional processing steps may include baseline removal and top-hat transformation. Because in Figure 13There are four coded lines 74, resulting in four peaks 110 in this deviation. This is because, compared to segments that include any of the non-coded lines 76–82, the units 92 of the code 72 have a larger variance in discrete positions 90 on segments including coded lines 74, encompassing both the first and second color ranges. In particular, because the non-coded lines 76, 78 directly adjacent to the coded lines 74 do not include any objects 84, these non-coded lines have relatively low variance, which makes it possible to enhance the localization of high-variance points caused by the coded lines 74 adjacent to these non-coded lines.
[0276] The highest peak 110 corresponds to the longest coding line 74, which is then selected for processing because, due to the length of the longest coding line, it has the greatest probability of including one or more complete repetitions of code 72.
[0277] It should be noted that since encoding line 74 is a solid line, the variance would be extremely low if read directly from this line. Therefore, the segment thickness is increased in the lateral thickness to correspond to the thickness of unit 92 of code 72 when determining the variance. Because encoding line 74 is chosen to be relatively thin compared to the lateral thickness of the code unit, this encoding line does not interfere with the variance. In effect, the average hue is therefore sampled at high resolution, and the variance is sampled at a relatively low resolution.
[0278] To ensure that code 72 maintains high variance, restrictions on the coding pattern may be implemented: it may be necessary that the code cannot be absent or have more than a predetermined number (e.g., 3, 4, or 5) consecutive units.
[0279] In a variant implementation not illustrated: the variance (or bias) as discussed above is also used to determine the correct rotation of the code, for example, to determine the correct rotation for the rotation position where the segment bias produces the highest peak. In this implementation, the coding lines can be omitted.
[0280] [Code reading and decoding]
[0281] Given that the orientation and position of the encoding line 74 are now determined, the unit 92 at the discrete position 90 is read.
[0282] In the (not illustrated) first example, the code includes a start sequence of a predetermined reserved sequence of 0s and 1s. When the code is read, the code processor searches for this reserved sequence in cells that are either absent or present. The data sequence is located at a known location with respect to the start sequence (e.g., stored in the memory of the electrical circuit system 16), for example, the data sequence could be the first 8 bits. Therefore, based on the location of the determined start sequence, the data sequence can then be read to extract data from the code.
[0283] In the second example (not illustrated), code repeat 94 has a known length, for example, 23 bits, and units are read along the encoding line, with repeating units 94 based on the numerical repeat identifier having the known length. The code processor implements a Gray decoder to extract data from the code.
[0284] In events that prevent data extraction from failing: in the first example, for instance, the start sequence cannot be located, or in the second example, the Gray decoder returns 4–7 bit errors, and the code can then be read in the reverse direction, for example, in... Figure 13 In the bottom image, the image is rotated 180 degrees and the discrete position 90 is read again.
[0285] In the event of a data integrity error: in the first example, the parity bits in the data sequence may show an error; or in the second example, the Gray decoder returns 0–3 bit errors, which can then be corrected, for example, based on a match with a closed known data sequence stored in memory.
[0286] The error types presented above can also be resolved by selecting different code repetitions from the same or different code lines 74. Furthermore, repetitions from two different code lines can be stitched together based on the repetitions having a known length.
[0287] Methods for processing code images
[0288] refer to Figure 16 The method for processing images of code 72 includes the following steps (these steps can be considered as...) Figure 9 (Extension of box 78 in the middle):
[0289] Box 120: Converts the image of the outer surface 70 to a specified color system (e.g., 8-bit grayscale in this example).
[0290] Box 122: Reference Figure 13 and Figure 14 For each incremental rotation, the average segment hue is obtained for the segment extending in the longitudinal direction of 100.
[0291] Box 124: The angle of the coding line 74 is determined based on the highest proportion of the second color range according to the average segment hue, and the local axis of the coding line 74 is realigned to correspond to the global longitudinal direction 102, as shown. Figure 13 As shown in the bottom image.
[0292] Box 126: Identify the coding line 74 to be processed based on the variance of the segment.
[0293] Box 128: Read the code from the line repeatedly.
[0294] Box 130: If an error is detected, read the code in other directions, and / or if a correctable error is detected, correct the error in the code. If the error is not correctable, the default settings for the preparation information can be used during the preparation process.
[0295] Box 132: Use rules stored in the memory of the electrical circuit system 16 to convert data encoded by code into values of parameters for preparing information.
[0296] Although the code is illustrated in this document as being placed on a container, it should be understood that the code may be integrally formed on the container or on a separate substrate (not illustrated) that can be attached to the container.
[0297] [First example of a processing method]
[0298] refer to Figure 17 This is a first example of a method for processing digital images of code to extract preparation information encoded by the code. The first example method can implement any of the features of the foregoing embodiments, including associated variations which are not described again for the sake of brevity.
[0299] At box 200, the code reading system 18 obtains a digital image with code 72 having a color model applied to the digital image. In the example, the color model is a grayscale color model.
[0300] At box 202, electrical circuit system 16 along the coding line includes units for the code and summation of values for the color model along the coding line.
[0301] At box 204, electrical circuit system 16 determines the orientation of code 44 based on the sum.
[0302] At box 206, electrical circuit system 16 reads discrete position 90 based on the orientation determined by code 72 in the image to determine whether unit 92 is present or not.
[0303] Consider box 200, and fit the grayscale color model values to the region that includes a single pixel.
[0304] In a variant implementation not illustrated: the region is reduced to groups of pixels, for example, 2×2 pixels per region; different color models can be implemented.
[0305] refer to Figure 10An exemplary digital image includes a coding region 140 in which codes 72 and coding lines 74 are arranged. Since the codes 72 are arranged on a circular closure member 56, the digital image includes a closure member 56 having an edge that outlines a flange portion of the circular coding region 140. As previously discussed, there are multiple coding lines 74, each having an end at its intersection with the edge of the coding region 140. Each coding line may include more than one repetition of the code 72. Because the coding region is circular, the coding lines 72 have different lengths.
[0306] In variant implementations not illustrated: there is a single coding line; each of one or more coding lines consists of only a single repetition of the code; the coding area may have other shapes, such as a square or a triangle; the coding lines may all have the same length, for example, for a square coding area; the coding lines may have other shapes, such as a circle or a square.
[0307] At box 204, refer to Figure 13 The top image shows a digital image decomposed into virtual line segments 98, which extend a certain length in the vertical direction 100 and have width in the horizontal direction 102. The width of the line segment 98 comprises several (e.g., 2 to 6) regions, and the length corresponds to the length of the encoding area 140. Although only a single line segment 98 is shown, it should be understood that adjacent parallel line segments are implemented in the horizontal direction 102 to decompose the entire encoding area 140. The values of the color system for the regions used for the line segment 98 are summed to provide an array of summed values, one of which is used for each line segment 98.
[0308] The summed values can be averaged by dividing the sum by the number of regions. Averaging in this way provides a convenient means of handling line segments with different lengths (or widths). Alternatively, the line segments can be selected to be the same size, thus eliminating the need for averaging. It should be understood that both implementations are based on the sum of values.
[0309] The angle of the digital image around the central axis (e.g., as shown) Figure 7 The axis 59 shown is rotated (at the center of the circular coding area). Rotation increments of 3 degrees or 5 degrees are applied a total of 60 or 36 times respectively, until the digital image has been rotated 180 degrees. An array of summed values is calculated for each rotation position. The summed values are plotted against a two-dimensional graph of the rotation positions for illustrative purposes. Figure 14 As shown in the image. Figure 14 The plot shown can be obtained using various filtering / processing techniques, such as Radon transform using a high-pass filter.
[0310] refer to Figure 14For the array value set indicated by column 106, code 72 and encoding line 74 are arranged parallel to the vertical direction 100, as shown below. Figure 13 As shown in the bottom image, for column 106, the summed value varies between low values (indicated by the dark area) and high values (indicated by the light area).
[0311] Low values are provided by line segment 98, which includes coded line 74 and code 72. This is due to the influence of the code unit and coded line on the sum of the values. High values are provided by line segment 98, which does not include coded line 74 and code 72, i.e., non-coded lines 76, 78, 80, and 82 as previously discussed. Thus, using code 72 and coded line 74 arranged parallel to the longitudinal direction 100, the code is arranged such that the sum of the values of the color model along the coded line is in a first value range, and the sum of the values of the color model included by the adjacent non-coded lines parallel to the coded line is in a second value range.
[0312] Therefore, the standard deviation or variance of the sum of the array associated with column 106 has the highest deviation value. In this way, the orientation of code 72 is determined based on the sum of the values.
[0313] In a variant implementation not illustrated: one or more repeating single coded lines may exist. Using this example, a single line segment can be implemented to capture coded lines extending through the center of rotation; for example, the line segment may be arranged to extend through the center of the digital image. The conditions for aligning the coded lines with the longitudinal direction can be determined by the rotational position having the lowest (or highest, depending on how the color model is implemented) summed value.
[0314] In a variant implementation not illustrated, for line segments of the same size discussed earlier, the condition for alignment of the encoding line with the longitudinal direction can be determined by the summation of the line segments at the rotational position across the threshold, thus eliminating the need to calculate the standard deviation.
[0315] At box 126, using the known orientation of code 72 and encoding line 74, discrete position 90 can be read along encoding line 74 in the manner previously discussed. Any encoding line can be selected for reading the code, which can be identified by the variance in the horizontal position. Code 72 is encoded using Gray encoding, so the entire encoding line can be read from beginning to end.
[0316] In a variant implementation: other encoding is implemented, such as codes having reserved bit sequences that are either absent or present at discrete locations, where the units acting as locators / reference portions to identify and position the data portions are encoded; the encoding lines may be omitted, and the orientation of the code may be determined by the influence of the units of the code on the value as discussed in the foregoing method, or the orientation may be determined by a reference portion as disclosed in WO2017144575A1.
[0317] [Second example of the processing method]
[0318] refer to Figure 10 and Figure 18 The second example describes a method for processing digital images of code to extract preparation information encoded by the code. This second example method may implement any of the features of the foregoing embodiments (e.g., the first example of determining the orientation of the code), including associated variations which are not repeated for brevity.
[0319] In the second example, such as Figure 10 As shown, container 6 includes a code arrangement comprising multiple code 72 repetitions 96, and each code 72 encodes a binary sequence to at least partially encode preparation information.
[0320] Electrical circuit system 16 can be configured to implement, for each readable code repetition in the readable code repetition, as follows: Figure 18 The following process is shown:
[0321] At box 300, electrical circuit system 16 reads code repeat 96 to obtain a binary sequence of each code 72.
[0322] At box 302, electrical circuit system 16 implements a code decoder to determine the number of bit errors associated with a binary sequence.
[0323] At box 304, electrical circuit system 16 determines the recipe based on the binary sequence and the number of identified bit errors.
[0324] More specifically, at box 300, reading the code may include the process of the first example to orient the code to a known location. It may subsequently include reading discrete locations 90, for example, to determine whether they are absent or present at unit 92, or other suitable specific implementations.
[0325] More specifically, at box 302, the code decoder in the first example is implemented as a Gray decoder, which is a linear error correction algorithm. A Gray decoder can be configured with 12 bits of data as a binary sequence in a 24-bit word in a way that any 3-bit error can be corrected. Therefore, the binary sequence referred to here can be a complete sequence (e.g., 24 bits) or a portion thereof (e.g., 12 bits).
[0326] In alternative implementations, other examples may demonstrate the implementation of additional error correction algorithms, including those used for Hamming codes, Reed-Solomon codes, etc. Furthermore, the number of errors can be identified without requiring correction. Error correction is typically achieved through redundancy, such as in code repetitions themselves and / or from other repetitions, for example, through cross-checking or comparison with known permissible binary sequences.
[0327] More specifically, at box 304, the recipe is looked up in a database, for example, a database implementing a key-value paradigm, where a specific binary sequence serving as the key is associated with a specific identifier for the recipe. Therefore, the binary sequence is corrected and matched against a key binary sequence within the key binary sequence. The number of bit errors corrected is stored as a numerical value associated with the corrected binary sequence / identified recipe.
[0328] refer to Figure 19 Box 304 may include the following steps:
[0329] At box 306, determine whether the corrected binary sequence is associated with a recipe. If no valid recipe is associated with the corrected binary sequence, box 308 can be executed, at which point an error message can be returned to user interface 50, and / or a default recipe can be implemented.
[0330] At box 310, if the corrected binary sequence is determined to be associated with a recipe, the identifier of the recipe and the number of errors associated with the corrected binary sequence can be stored in the database.
[0331] Specifically, for each code repetition, boxes 300 to 308 can be executed to populate the database, which includes the number of times the recipe appears and the number of errors corrected.
[0332] At box 312, both of these quantities can be used to determine the recipe used by the processing unit. For example, the score can be determined by multiplying the number of times the recipe appears by the sum of the errors, and the recipe with the highest score can be selected. Other calculation methods can also be implemented.
[0333] In alternative implementations not illustrated, the recipe can be determined. For example, the number of occurrences of a recipe without an error count can be used. The method can also be repeated for a single code, in which case the binary sequence will have error correction, and the associated recipe will be implemented at block 310. Furthermore, more than one recipe can be returned for each binary sequence, each recipe having its own error count, and combined with other recipes to determine the recipe used by the processing unit.
[0334] Since coding line 72 may include more than one repetition of code 72 96, one or more recipes and the number of errors for each recipe can be extracted from coding line 47 and processed as described above.
[0335] For the second example, the electrical circuit system 16 may be configured with a code decoder to decode each binary sequence in a first forward order and a second reverse order, taking into account the unknown rotation position of the code. For example, when reading code repeat 96, if the code is rotated 180 degrees, the associated recipe for the binary sequence may not be found even if it is read correctly. Alternatively, the process of block 304 can be correctly implemented when rotating. Therefore, if it is determined to be no at block 306, the code can then be read in the opposite direction.
[0336] Although Figure 10 The code is illustrated, but these methods can be implemented using other codes that encode binary sequences (e.g., barcodes). Therefore, it should also be understood that code reading does not require obtaining a digital image of the code.
[0337] [Third example of a processing method]
[0338] refer to Figure 20 The third example describes a method for processing digital images of code to extract preparation information encoded by code 72. This third example method can be implemented using any of the features of the foregoing embodiments (e.g., the third example can be implemented after the first example of determining the orientation of the code and before the second example of reading the code and determining the recipe), including associated variations which are not repeated for brevity.
[0339] In the third example, such as Figure 10 As shown, container 6 includes a code arrangement comprising multiple codes 72 repeated 96, with each code 72 arranged on an encoding line 74. Non-encoding lines 76, 78, 80, and 82 are arranged adjacent to the encoding lines 74.
[0340] The electrical circuit system 16 can be configured to implement, for each of the encoding lines 74, the following: Figure 20 The following process is shown.
[0341] At box 400, read code 72 to obtain the code reading result.
[0342] At box 402, determine the characteristics of the adjacent non-code portions near the code portion of the code reading result;
[0343] At box 404, the associated characteristics of the code portion are corrected based on the characteristics of the determined adjacent non-code portions to account for changes in the characteristics of the non-code portions.
[0344] More specifically, at box 400, in order to read code 72, it is read by reading along the encoding line 74. Figure 10 The digital image, and at box 402, in order to determine the characteristics of the adjacent non-coded portion, is read by reading along the non-coded line 76. Figure 10 Digital images.
[0345] refer to Figure 21 The reading involves line segment 406 along the width of code 72. This can be achieved by downsampling the digital image if necessary. The width of line segment 408 of the non-coded line 76 is approximately half the width of line segment 406. These line segments are directly adjacent to each other. In variant embodiments, other line segment widths can be implemented, including single-pixel or multi-pixel line widths with averaging functionality; the line segments may have gaps so that they are close but not directly adjacent.
[0346] refer to Figure 22 The readout generates coded line signals 410 and non-coded line signals 412, which are represented by the characteristic that the signal amplitude (e.g., intensity) varies with distance along the code readout result. The amplitude is related to the grayscale level; in the example code implementation, specular grayscale is represented as a light tone (e.g., cell 92 is not present at discrete position 90), and diffuse grayscale is represented as a dark tone (e.g., cell 92 is present at discrete position 90).
[0347] Since the coded line 74 is close to the uncoded line 76, the change in the uncoded line signal 412 represents a baseline change in the intensity of the equivalent longitudinal position on the coded line signal 410. However, since the uncoded line 76 does not contain any element 92, the difference between these two lines represents the coded line signal 410 compensating for the baseline change.
[0348] For the corrected coded line signal 414, a coded line signal 410 is shown that has been compensated by subtracting the non-coded line signal 412 and has been filtered / smoothed to a certain extent. The filtering / smoothing can be applied to any one or both signals before or after the subtraction operation. Peaks in the corrected coded line signal 414 can be used to indicate the presence of unit 72, and the absence of peaks indicates the absence of unit 92. Therefore, the corrected coded line signal 414 can be processed to extract the binary sequence of each repetition 96 of code 72.
[0349] In variations of the above method, and as... Figure 21As shown, the encoded line signal is compensated by the average of two non-encoded line signals, which are obtained by reading the non-encoded lines (not shown) on both sides of the encoded line 74. This variation improves accuracy because the average value is less susceptible to local variations in intensity on one side of the encoded line 74.
[0350] Based on the above processing techniques, it should be understood that the method for processing code 72 is particularly suitable for non-encoded lines 76 that are adjacent to encoding lines 74 and do not contain objects (e.g., unit 92 or encoding line 74 or other objects, such as advertisements).
[0351] It should be understood that this method can be extended to all coded lines 74 present on container 6.
[0352] In a variation of the third example, the signal may have other representations besides intensity, such as a representation based on other formulas of the code unit as described above. In a particular variation, the code may be magnetically readable, and thus the signal may be the intensity of the magnetic field. In this case, it should be understood that a digital image is no longer required.
[0353] In a variation of the third example, instead of obtaining a signal, the code can be processed by the characteristics of adjacent non-code portions near the code portion of the result. For example, discrete points along the code can be sampled in this way.
[0354] It should be understood that any disclosed method (or corresponding device, program, data carrier, etc.) can be executed by a host or client, depending on the specific implementation (i.e., the disclosed method / device is one or more forms of communication and can therefore be executed from either "observation point" (i.e., in a manner corresponding to each other)). Furthermore, it should be understood that the terms "receive" and "transmit" encompass "input" and "output" and are not limited to an RF environment for transmitting and receiving radio waves. Thus, for example, a chip or other device or component used to implement an implementation may generate data for output to another chip, device, or component, or have input data from another chip, device, or component, and such output or input may be referred to as "transmit" and "receive," including the gerund forms, i.e., "transmitting" and "receiving," as well as such "transmitting" and "receiving" in an RF environment.
[0355] As used in this specification, any statement for the style "at least one of A, B, or C" and the statement "at least one of A, B, and C" use separate "or" and separate "and" such that these statements include any and all combinations of A, B, and C, as well as several permutations, namely, A alone, B alone, C alone, A and B in any order, A and C in any order, B and C in any order, and A, B, and C in any order. More or fewer than three features may be used in such statements.
[0356] In the claims, any reference marks placed between parentheses should not be construed as limiting the claims. The word “comprising” does not exclude the presence of other elements or steps besides those listed in the claims. Furthermore, as used herein, the terms “a” or “an” are defined as one or more. Additionally, the use of introductory phrases such as “at least one” and “one or more” in the claims should not be construed as limiting any other claim element introduced by the indefinite article “a” or “an” to including only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an.” The same applies to the use of definite articles. Unless otherwise specified, terms such as “first” and “second” are used to arbitrarily distinguish the elements described by such terms. Therefore, these terms are not necessarily intended to indicate the time or other priority of such elements. The mere fact that certain measures are stated in mutually different claims does not imply that a combination of these measures cannot be used advantageously.
[0357] Unless otherwise expressly specified as incompatible, or if the physics or other aspects of the embodiments, examples, or claims prevent such combinations, the features of the foregoing embodiments and examples, as well as those of the following claims, may be combined in any suitable arrangement, especially where doing so has beneficial effects. This is not limited to any particular beneficial effect, but may arise from “post-hoc” beneficial effects. That is, the combination of features is not limited to the forms described, especially not to the forms (e.g., numbering) of one or more examples, one or more embodiments, or one or more dependent claims. Furthermore, this also applies to the phrases “in one embodiment,” “according to one embodiment,” etc., which are merely stylistic forms of wording and should not be construed as limiting the following features to a single embodiment, but rather to all other instances of the same or similar wording. That is, references to “a,” “an,” or “some” embodiments may refer to any one or more and / or all of the disclosed embodiments or combinations thereof. Similarly, references to “the” embodiment may not be limited to the preceding embodiment.
[0358] As used herein, any machine-executable instructions or computationally readable medium may perform the methods disclosed herein, and therefore may be used synonymously with or with the term method.
[0359] The foregoing description of one or more specific embodiments is provided for illustration and description, but is not intended to be exhaustive or to limit the scope of the invention to the precise forms disclosed. Modifications and variations are possible in light of the foregoing teachings, or may be obtained from practice of various specific embodiments of this disclosure.
[0360] Tag list
[0361] 2 systems
[0362] 4 machines
[0363] 14 processing units
[0364] 20 Container Processing Units (First Example)
[0365] 32 extraction units
[0366] 34 capsules retain part
[0367] 36 closed components
[0368] 38 injection head
[0369] 40 Beverage Exports
[0370] 22 Fluid Conditioning System
[0371] 24 memory
[0372] 26 pumps
[0373] 28 heat exchangers
[0374] 30 exports
[0375] 42 Loose Material Processing Unit (Second Example)
[0376] 16 Electrical Circuit System
[0377] 48 Control electrical circuit system
[0378] 50 input units
[0379] 52 processor
[0380] 54 Feedback System
[0381] 18 Code Reading System
[0382] 46 image capture units
[0383] 6 containers
[0384] Capsule - Example 1
[0385] 56 Closed Part
[0386] Codes 44 and 72
[0387] 70 external surface
[0388] 90 discrete positions
[0389] Unit 92
[0390] 96 terminal region
[0391] 94 repeated
[0392] 74 encoding lines
[0393] 76, 78, 80, 82 non-encoded lines
[0394] 84 objects
[0395] 86 Trademarks / Logos
[0396] 88 texts
[0397] 58 Constraints
[0398] 60 flange portion
[0399] Pouch - Example 2
[0400] 62 sheet material
[0401] 64 seams
[0402] 68 openings
[0403] 8 server system
[0404] 10 Peripheral Devices
[0405] 12 Computer Networks
[0406] 100 longitudinal direction
[0407] 102 Horizontal direction
Claims
1. A system comprising a container for containing precursor materials and a machine for preparing beverages and / or food or precursors of beverages and / or food from the precursor materials. The container includes: Code, the code being used to at least partially encode preparation information, The machine includes: A code reading system, wherein the code reading system is used to read the code; A processing unit, the processing unit being used to process the precursor material of the container; and An electrical circuit system, wherein the electrical circuit system is used to control the processing unit based on the preparation information. The electrical circuit system is configured as follows: Read the code to obtain the code reading result; Determine the characteristics of adjacent non-code portions near the code portion of the code reading result; The associated characteristics of the code portion are corrected based on the determined characteristics of the adjacent non-code portions to take into account the changes in the characteristics in the non-code portions.
2. The system of claim 1, wherein the code is arranged on an encoding line and: Reading the code includes reading along the encoding lines to obtain the code reading result; Determining the characteristics of adjacent non-coded portions involves reading along the adjacent non-coded lines to obtain the non-coded line reading results; and Correcting the associated characteristics of the code portion includes correcting the code read results based on the reads of the adjacent non-coded lines.
3. The system of claim 2, wherein reading along the adjacent non-coded lines includes reading along the adjacent first non-coded line and second non-coded line, the coded line being interposed between the first non-coded line and the second non-coded line.
4. The system according to any one of claims 2 or 3, wherein the non-encoded line does not contain an object forming the code.
5. The system according to any one of claims 2 to 4, wherein reading along the coded line and reading along the adjacent non-coded line comprises generating coded line signals and non-coded line signals. Furthermore, the encoded line signal is compensated by the non-encoded line signal.
6. The system of claim 5, wherein the encoded line signal and / or the non-encoded line signal are filtered and / or smoothed prior to correction.
7. The system according to any of the preceding claims, wherein the code is formed by discrete positions, the discrete positions being absent or having units for encoding binary information, and the absence of units having the same formation as the adjacent non-code portion.
8. The system according to any of the preceding claims, wherein the determined and corrected characteristics are based on the strength of the code reading result.
9. The system according to any one of claims 2 to 8, wherein there are multiple coding lines extending in the longitudinal direction, and each coding line is corrected based on adjacent non-coding lines.
10. The system of claim 9, wherein each of the encoding lines is offset by a determined amount in the lateral direction and is parallel to each other.
11. The system according to any one of claims 2 to 10, wherein the electrical circuit system is arranged to determine the orientation of the code based on the encoding line.
12. A machine for preparing beverages and / or foods or precursors of beverages and / or foods from a container containing precursor materials. The container includes: The code encodes a binary sequence to at least partially encode preparation information. The machine includes: A code reading system, wherein the code reading system is used to read the code; A processing unit, the processing unit being used to process the precursor material of the container; and An electrical circuit system, wherein the electrical circuit system is used to control the processing unit based on the preparation information. The electrical circuit system is configured as follows: Read the code to obtain the code reading result; Determine the characteristics of adjacent non-code portions near the code portion of the code reading result; The associated characteristics of the code portion are corrected based on the determined characteristics of the adjacent non-code portions to take into account the changes in the characteristics in the non-code portions.
13. Use of a container for a system according to any one of claims 1 to 11, the container comprising code repetition that at least partially encodes preparation information for processing precursor materials.
14. A method for determining preparation information for processing precursor materials, said preparation information being at least partially encoded by code, said method comprising: Obtain the code reading results; Determine the characteristics of adjacent non-code portions near the code portion of the code reading result; The associated characteristics of the code portion are corrected based on the determined characteristics of the adjacent non-code portions to take into account the changes in the characteristics in the non-code portions.
15. An electrical circuit system arranged to implement the method according to claim 14.
Citation Information
Patent Citations
Closed capsule with opening mean
EP1472156A2
Capsule for preparing and delivering a drink by injecting a pressurized fluid into the capsule
EP1784344A2
Capsule and method for preparing a food liquid by centrifugation
EP2152608A1
Capsule system, device and method for preparing a food liquid contained in a receptacle by centrifugation
EP2155021A1
System and method for preparing a food liquid from a food substance contained in a receptacle by centrifugation
EP2316310A1