Recipe code and container for a system for preparing a beverage or food
By designing high-coded density codes on containers of beverage or food preparation systems, using the combination of reference parts and data parts, the problems of insufficient and conspicuous code encoding density in the prior art are solved, and efficient encoding and reading of complex formula information is achieved.
Patent Information
- Application Number
- CN202210621757.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2016-02-23
- Filing Date
- 2017-02-23
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2037-02-23
AI Technical Summary
In the prior art, the code encoding density on the container used in the beverage or food preparation system is limited, and is conspicuous and not beautiful, making it difficult to effectively encode a variety of preparation information parameters required for complex formulations.
A code containing a reference part and a data part is designed. The reference part defines a reference line through at least two reference units. The data part uses the data unit to continuously or discretely encode information parameters on the encoding line, and uses a polar coordinate system to perform image processing to improve encoding density and reading efficiency.
High encoding density is achieved, the code is inconspicuous and cost-effective, and can appropriately encode and prepare a wide range of information parameters, and can be read and processed reliably.
Smart Images

Figure CN114983230B_ABST
Abstract
Description
[0001] This application is a divisional application of the patent application with application number 201780011882.3. The application date of the original application is February 23, 2017, and the name of the invention is “Formula code and container for a system for preparing beverages or foods”. Technical Field
[0002] The embodiments generally relate to a beverage or food preparation system for preparing a beverage or food from a container, such as a coffee capsule, and in particular to a code arranged on the container, the code encoding preparation information for reading by a machine of the system. Background Art
[0003] Systems for preparing beverages or food are increasingly configured to operate with containers comprising single servings of beverage or food materials, such as coffee, tea, ice cream, yogurt. The machine of the system can be configured to prepare by processing the material in the container, for example by adding a fluid such as milk or water and applying mixing to it. Such machines have been disclosed in PCT / EP2013 / 072692. Alternatively, the machine can be configured to prepare by at least partially extracting material components from the container, for example by dissolving or brewing. Examples of such machines are provided in EP 2393404 A1, EP 2470053 A1, WO 2009 / 113035.
[0004] The growing popularity of these machines can be attributed in part to their enhanced user convenience compared to traditional preparation machines, such as manually operated stovetop espresso machines or French press coffee makers.
[0005] It can also be partially attributed to an enhanced preparation process, where preparation information specific to the container and / or material is: encoded in a code on the container; read by the machine; decoded; and used by the machine to optimize the preparation process. Specifically, the preparation information can include operating parameters of the machine, such as: fluid temperature; preparation duration; mixing conditions; and fluid volume.
[0006] Therefore, it is necessary to encode the preparation information on the container. Various codes have been developed, and an example is provided in EP 2594171 A1, in which the capsule flange periphery includes a code arranged thereon. The code includes a series of symbols that can be printed on the capsule during manufacture. The disadvantage of such codes is that their coding density is limited, i.e., the amount of preparation information that can be encoded is limited. Another disadvantage is that the code is very conspicuous and may be regarded as unsightly. EP2525691 A1 discloses a container with a 2D barcode, which has a higher but limited coding density.
[0007] Thus, while considerable effort has been invested in developing such systems, further improvements are needed. Summary of the invention
[0008] The object of the present disclosure is to provide a container for a beverage or food system, the container comprising a code with a high coding density. It would be advantageous to provide such a code, which is less conspicuous than the prior art. It would be advantageous to provide such a code, which is not complicated so that it does not include a large number of symbols. It would be advantageous to provide such a code, which can appropriately encode the parameters of preparation information, which preparation information has a wide range of values. It would be advantageous to provide such a code, which is economically and effectively produced and can be read and processed by an economically and effectively code processing subsystem. It would be advantageous to provide such a code, which can be reliably read and processed.
[0009] According to a first embodiment, a container for use with a beverage or food preparation machine (e.g., it has a suitable size setting) is disclosed herein, in particular, the beverage or food preparation machine is a machine according to a fourth embodiment. The container is used to hold a beverage or food material (e.g., it has an internal volume and can be food safe). The container can be a single-portion container, i.e., its size is set to be suitable for accommodating a dose of a beverage or food material for preparing a single portion (e.g., pre-portioned) of the product. The container can be a disposable container, i.e., it is intended for a single preparation method, after which it preferably becomes unusable, e.g., by perforation, penetration, removal of the lid or exhaustion of the material. In this way, the container can be defined as disposable. The container includes (e.g., on its surface) a code encoding preparation information, the code including a reference portion and a data portion. The reference portion provides a reference position for the data portion. The reference portion includes an arrangement of at least two reference cells for defining a reference line r, which is linear. The data portion comprises at least one data unit, for example exactly one data unit, wherein the data unit is arranged on a coding line D intersecting with a reference line r (for example, having at least a part of it, typically the center intersecting with said line), the data unit is arranged at a distance d extending from said intersection along said coding line D (i.e., a circumferential distance d), the distance being a variable to at least partially encode a parameter of the preparation information (for example, the parameter is completely encoded by the data unit only, or by several data units, which can be arranged on the same or different coding lines or otherwise encoded by metadata), whereby said coding line D is semicircular (i.e., it comprises a segment of a circle) or a full circle, and is arranged so that its tangent is orthogonal to the reference line r at said intersection. The data portion also comprises one or more discrete positions, said discrete positions being arranged to be operationally adjacent to (i.e., such that they can be located using the reference line r) the reference line r. Whereby said discrete positions comprise or do not comprise data units as a variable to at least partially encode a parameter of the preparation information.
[0010] One advantage is that the code has a high code density because it can encode a large amount of information and information types through a combination of data cells on the code line D and data cells in discrete locations. In addition, a circular shape with an extended code line D is advantageous because for image processing purposes, a polar coordinate system can be used, whereby: the origin is usually a reference line orientation identifier defined by one or more reference cells, the identifier being arranged at the axial center of the code line; each data cell has an angle defined as between the reference line r and the radial line. The distance d can be conveniently determined by the angle and the radial distance. Image processing of the code using this coordinate system is less computationally intensive than an exemplary code using a Cartesian coordinate system, whereby the axis is defined by a reference line and a linear code line extending orthogonally to the reference line. In particular, the Cartesian arrangement requires that the image of the code be reoriented during processing, which is eliminated when using a polar coordinate system. In this way, a more cost-effective image processor can be used. In addition, the code has a high code density because multiple code lines D can be arranged concentrically about the origin, each of which includes one or more associated data cells.
[0011] The data units may be arranged on the coding line at any continuous distance d from the intersection. One advantage is that the code has a high coding density because it can encode information in a continuous manner rather than a discrete manner. Alternatively, the data units may be arranged at only discrete distances from the intersection (i.e., the data unit may occupy only one of a plurality of predetermined positions along the line D, which are generally non-overlapping and may have discrete spacings between adjacent positions). In the case of more than one coding line D and / or more than one data unit arranged along the one or more lines, the data units may be arranged at a combination of continuous and discrete distances.
[0012] The preparation information may include information related to the preparation process, such as one or more parameters used by the machine, such as: temperature; torque and angular speed (applicable to the mixing unit of the machine, which parameters affect mixing); flow rate and / or volume; pressure; cooling power %; time (for example, the application time of a stage including one or more of the above parameters); expiration date; container geometric properties; stage identifier (applicable to a container including multiple codes, whereby each of the codes encodes a different stage of the preparation process); container identifier; recipe identifier; pre-wet volume.
[0013] Specifically, the data units at the discrete positions or the data units of the coding line D can be selectively used for parameter encoding according to the parameter type. Parameters that can only have discrete values are preferably encoded by the data units at the discrete positions, such as one or more of the following parameters: expiration date; stage identifier; container or product identifier; and container geometric properties, such as volume; an index or symbol that can be associated with the parameter encoded on the coding line D; a recipe identifier that can be used to retrieve one or more machine parameters used by the machine for preparing the product, wherein the parameters can be stored on the machine; an identifier of a formula or lookup table associated with the parameter encoded on the coding line D. Parameters that can have various continuous values are preferably encoded by the data units on the coding line D, such as one or more of the following parameters: temperature; fluid volume; flow rate; torque and angular velocity; time; cooling power %. In addition, specific parameters can be encoded by both the data units at the discrete positions or the data units of the coding line D, for example, the data units at the discrete positions encode the index or mark associated with the value encoded by the coding line D.
[0014] The code preferably has a planar pattern having a perimeter length (e.g., the diameter of a circle or polygon or the side length of a rectangular perimeter) of 600 μm-1600 μm or 600 μm-6000 μm. One advantage is that the code is not particularly conspicuous. Another advantage is that capturing an image of the code for reading and decoding the information contained therein can be accomplished by a small image capture device, such as a camera having a size of a few millimeters, the size of which makes it easy and reliable to integrate in a machine according to the fourth embodiment. More specifically, the units comprising the code (i.e., data units and reference units) preferably have a unit length of 50 μm-250 μm. The above unit lengths can be defined as: the diameter of a substantially circular unit; the side length of a quadrilateral unit; other suitable length measurements of a unit of another unit shape.
[0015] A code of rectangular planar pattern is advantageous because it forms a mosaic shape. The mosaic shape is particularly advantageous because a plurality of codes can be compactly repeated on a container, for example for read error checking, thereby allowing the use of a stable code decoding algorithm design capable of correcting code reading and / or decoding errors using several codes encoding the same information, thereby minimizing the code reading failure rate; and / or utilizing a separate stage of the manufacturing process encoded by each code. Thus, a first embodiment may include a plurality of said codes formed on a container in an at least partially mosaic manner (e.g., a grid with adjacent columns aligned or adjacent columns offset), whereby the codes preferably encode different stages of the manufacturing process.
[0016] Coding several stages of the preparation process on a container makes it possible, for example, to encode all the parameters required to prepare a complex recipe, such as a recipe comprising several preparation stages and / or a recipe requiring simultaneous or sequential processing of two or more containers and / or two or more ingredients in two or more compartments within the same container in order to obtain two or more ingredients, such as milk and coffee, ice cream and toppings, milkshakes and flavorings, etc.
[0017] According to the present invention, all processing parameters required for a recipe are preferably encoded in one or more codes on the corresponding one or more containers, and the recipe can be updated by providing a container with an update code thereon, the update code encoding the updated / modified / new parameter values. In addition, according to a fourth embodiment, new recipes and / or new containers with specific parameter values can also be introduced and processed by the machine without reprogramming the machine. Therefore, updated and / or new recipes can be introduced into the system of the present invention without updating the software or firmware of the machine.
[0018] According to other embodiments, the attachment device may also include multiple code arrangements as described above.
[0019] One or more discrete positions may be arranged on the far side of the coding line D (e.g., discrete from the coding line, not contacting the line). One or more discrete positions may be arranged on the inner periphery of one or more coding lines D, and preferably on the proximal side of its axial center. One advantage is that the coding density is improved because the code area that does not encode information is minimized. Adjacent discrete positions may be arranged equidistantly around one or more circular lines, which are concentric with one or more coding lines D. One or more discrete positions may be arranged on the outer periphery of one or more coding lines D. One advantage is that the coding density is improved because the code area that does not encode information is minimized. Adjacent discrete positions may be arranged equidistantly around one or more circular lines, which are concentric with the coding line D. Specifically, a code including a rectangular (e.g., square) plane figure may include discrete positions arranged in the plane figure and on the proximal side of one or more vertices thereof. More specifically, one or more coding lines D may extend proximally from the midpoint of the length of the plane figure to define four regions proximal to the vertex, wherein one or more regions include discrete positions. The discrete positions may be arranged symmetrically around one or two diagonal lines extending from the apex.An advantage is that the combination of encoding with discrete positions and one or more encoding lines D together provides a mosaic shape.
[0020] One or more discrete locations may be arranged on the encoding line D. They may be arranged proximal to the data unit on the encoding line D, for example at a distance greater than or less than d. Preferably, the locations are arranged at a predetermined distance from the data unit, such as the length of the data unit between the peripheral gaps of adjacent units. One advantage is that the amount of data and the data format (e.g., continuous and discrete) may be increased.
[0021] The reference portion may include one or more reference cells as reference line orientation identifiers, which preferably define a reference point from which the reference line r extends. In examples not including such orientation identifiers, the reference point may be identified as: a portion at the end of the reference line r, which may be defined by a plurality of identical reference cells; and / or as a point that does not have an associated encoding line D having a data cell arranged thereon and intersecting the reference cell. Preferably, the orientation identifier is arranged at the center of a circle defined by the encoding line D.
[0022] In the example of a reference unit comprising the orientation identifier, the above-mentioned reference point is preferably at the center of the reference unit. Preferably, the reference point is arranged at the axial center of the coding line D. The reference unit can be identified by other units of the code by one or more of the following: it includes a reference unit that is different from other units of the code in one or more of the following aspects: shape, size, color. One advantage is that the processor facilitates determining the orientation of the reference line r. The orientation identifier is, for example, a unit that is larger in size than other units of the code and is arranged at the axial center of the coding line D. One advantage is that since the coding line D cannot be arranged at the axial center, the plane figure comprising the code is efficiently utilized.
[0023] In the example of a plurality of reference units including the orientation identifier, each of the plurality of reference units may be identical to one or more other data units of the code and / or one or more other reference units including a reference line r. Specifically, the reference unit including the reference unit orientation identifier may be arranged in a configuration defining the above-mentioned reference point, wherein the reference line r extends from the reference point. Preferably, the reference point is arranged at the axial center of the encoding line D. The configuration may include a two-dimensional polygon having reference units arranged at vertices and at the center of the polygon or at another geometrically defined position. The polygon is, for example, a polygon with equal side lengths. The polygon may be one selected from the following: a triangle; a square; a pentagon; a hexagon; a heptagon; an octagon. One advantage of making all unit codes the same is that the complexity of code processing is reduced. Specifically, the computer program only needs to determine the presence of the unit and its center, which is very different from distinguishing different shapes and / or colors. Therefore, a more cost-effective processor can be used in a beverage or food preparation machine.
[0024] The reference line r preferably extends through the centre point of the further reference cell or at a predetermined minimum distance from the centre point or offset from the centre point. The further reference cell of the reference portion may be identified by one or more of the following: it is arranged at a greater radial position from the orientation identifier than the data cell (i.e. between the points they refer to) and / or at a predetermined reserved radial position from the orientation identifier (e.g. a specific position, such as 400 μm-600 μm), whereby the data cell is not arranged at the predetermined radial position; it differs from the other cells of the code in one or more of the following aspects: shape, size, colour; it is arranged at the end of the reference line r or at a predetermined minimum distance from the reference line or offset from the reference line. One advantage is that the reference line r can be conveniently determined by positioning the orientation identifier and the further reference cell. To maintain a compact form of the code, it is preferred that the further reference cell is represented by a cell of no greater size than the data cell, e.g. a cell of the same shape and size.
[0025] According to the invention, the code thus comprises reference elements defining a reference point and reference lines defining the centre and orientation of the polar code. Thus, when placed in a machine for processing in the fourth embodiment, no specific alignment of the container relative to the image capture device is required. The code processing subsystem will be able to determine the centre and orientation of the code by the position of the reference elements in the captured image, regardless of the relative orientation of the container and the image capture device when the image was acquired.
[0026] The data portion may have a coding area in which coding lines D are arranged, and the data units of these coding lines are arranged within the scope of the coding area. The coding area is preferably circular in the periphery, whereby the coding lines D preferably extend concentrically around the axial center of the coding area. More specifically, the coding area may be annular. One advantage is that for an annular arrangement, the data units are not arranged proximal to the axial center of the annulus, where the circumferential distance of the coding lines D is small, so that the accuracy in the determined distance d is low. A part of the coding area can be defined by a reference line r, for example the coding area is annular and radially intersects the reference line r.
[0027] Preferably, the data cells on the encoding line D can be arranged above the reference line r but not overlapping, i.e., the perimeter of the data cells can coincide with the reference line and extend from the reference line. Alternatively, the data cells cannot be arranged to coincide with the reference line r, their closest distance is proximal, but at a predetermined minimum distance from the reference line. An advantage is that there is sufficient spacing between the reference line r and the data cells for processing. Preferably, the cells do not overlap each other.
[0028] The encoding line D may intersect the reference line r at a reference position, and there may be no reference cell at the reference position, whereby the reference position or each reference position is arranged a predetermined distance along the reference line, for example from a reference cell or each reference cell at an orientation identifier or other position. Preferably, the reference cell is arranged outside the encoding region (i.e., not arranged within the encoding region). One advantage is that the encoding density is improved because the data cells can be arranged close to the reference line r, for example without ensuring that there is sufficient spacing between the data cells and reference cells that otherwise exist on the line. The above-mentioned predetermined distance can be defined as a set amount so that adjacent reference positions are equidistant, for example the distance between the two ends of the reference line r divided by the number of reference positions.
[0029] Alternatively, the encoding line D may intersect the reference line r at a reference position, whereby the reference position comprises a reference cell.One advantage is that the position of the encoding line D may be conveniently determined by an image processor.
[0030] The data cells of one or more encoding lines D may also encode metadata associated with a parameter. The metadata is preferably discretely encoded (e.g., may have one of a predetermined number of values). The metadata is typically capable of: identifying a specific parameter; and / or an attribute associated with the parameter (e.g., ± or exponential). The cell length of the data cell may be selected from one of a plurality of predetermined cell lengths as a variable for encoding the metadata. The cell length may be defined as: the diameter of a substantially circular cell; the side length of a quadrilateral cell; other suitable length measurements of a cell of another cell shape. The offset from the center of the data cell along the encoding line D, which extends radially from the axial center of the circular encoding line D, may be selected from one of a plurality of predetermined offsets as a variable for encoding the metadata. Preferably, the offset is implemented within the range of at least a portion of the associated data cells intersecting the encoding line D.
[0031] The data portion may include a plurality of encoding lines D (e.g., up to 2, 3, 4, 5, 6, 10, 16, 20 or more), each comprising an arrangement of corresponding data units (i.e., the data units are arranged at a distance d from the intersection to at least partially encode the parameter). Preferably, the encoding lines D are arranged concentrically and preferably intersect the reference line r at different locations.
[0032] In addition, multiple data units can be arranged along a single coding line D. One advantage is that the coding density is improved. In such an arrangement, each data unit can be identified by metadata. Each of the data units can encode a separate parameter. Alternatively, multiple data units can encode a single parameter, whereby the distance d encoding the parameter can be a function of the distance dn (e.g., an average or multiple) of the multiple data units.
[0033] The data unit and the reference unit may be formed by one of the following means: printing (e.g. by a conventional inkjet printer, one advantage being that the code can be formed conveniently and cost-effectively); engraving; embossing. The code may be formed directly on the surface of the container, e.g. the base of the unit is integral with the container. Alternatively, the code may be formed on an attachment device attached to the container.
[0034] The container may include a beverage or food material contained therein. The container may include one of: a capsule; a pouch; a receptacle for an end user to consume the beverage or food therefrom. The capsule may have an internal volume of 5 mL to 80 mL. The receptacle may have an internal volume of 150 mL to 350 mL. The pouch may have an internal volume of 150 mL to 350 mL, or 200 mL to 300 mL, or 50 mL to 150 mL, depending on the application.
[0035] According to a second embodiment, a method for encoding preparation information is disclosed herein, the method comprising forming a code on: a container for a beverage or food preparation machine, the container being used to hold a beverage or food material; or an attachment device for attaching to the container or the machine. The method may include encoding information using a code according to any feature of the first embodiment. Specifically, the method may include: arranging at least two reference units to define a reference line r of a reference portion; using a data portion of the code to at least partially encode a parameter of the preparation information by arranging a data unit on an encoding line D intersecting the reference line r, the data unit being arranged at a distance d extending from the intersection along the encoding line D as a variable of the encoding, whereby the encoding line D is circular and arranged so that its tangent is orthogonal to the reference line r at the intersection; at least partially encoding the parameter of the preparation information with one or more discrete positions, the discrete positions being arranged to be operationally close to the reference line r, wherein the discrete positions include or do not include a data unit as a variable to at least partially encode the parameter of the preparation information. The method may include forming the code by one of the following means: printing; engraving; embossing. The method may comprise forming a plurality of said codes, preferably in an at least partially tessellated arrangement.
[0036] According to a third embodiment, a method (e.g., a computer-implemented method) for decoding preparation information is disclosed herein, the method comprising obtaining a digital image of a code of a container according to the first embodiment, or an attachment device according to the seventh and eighth embodiments; and processing the digital image to decode the encoded preparation information.
[0037] Processing the digital image to decode the preparation information may include: locating the reference unit and the data unit of the code; identifying the reference unit and determining the reference line r therefrom; determining (i.e., for the or each of the coding lines D) the distance d of the data unit from the reference line r along the coding line D; converting the predetermined distance d into a parameter V p The actual value of; determine the location of one or more discrete locations and determine whether they include the parameter V derived from it p data unit.
[0038] Locating the cells of the code (i.e., data cells and reference cells) may include one or more of the following steps: converting a digital image into a binary image; determining the center of the cell by feature extraction; determining the size / area / shape of the cell by pixel integration (i.e., determining the number of pixels that comprise the shadow area of the cell).
[0039] Identifying a reference cell and determining a reference line r therefrom may comprise one or more of the following steps: identifying cells having a linear arrangement; identifying cells and / or points defined by cells spaced a predetermined distance apart; identifying cells having a particular shape or size or color; identifying a particular configuration of cells. Preferably, it comprises identifying the or each reference cell corresponding to an orientation identifier arranged at the center of a circle defined by a circle extending the encoding line D through one or more shapes, sizes, colors, configurations (for a plurality of cells defining said identifier), and optionally determining that the reference cell is at a greater radial position from the orientation identifier than the data cell and / or at a predetermined reserved radial position from the orientation identifier.
[0040] Determining the distance d of each data unit from the reference line r along the encoding line D may include determining the circumferential distance, i.e. the angle observed at the center of the encoding line between the reference line r and the data unit (usually the reference point of the orientation identifier) and the radial distance of the data unit from the center. Alternatively, it may include determining the angular distance, i.e. the angle observed at the center of the encoding line between the reference line r and the data unit, whereby the radial distance can be used to identify the data unit relative to a reference position. The latter is preferred because it requires fewer processing steps. In various cases, the distance may be corrected to account for magnification / reading distance.
[0041] Convert the predetermined distance d into parameter V p The actual value may include using the parameter V p A stored relationship between the distance d (e.g., information stored on a memory unit of the machine, which may include a memory subsystem) converts the determined distance d into a parameter V p The relationship can be linear, for example, V p∝d, and / or may be nonlinear. The relationship may include at least one relationship selected from the following: a logarithmic relationship, such as V p ∝log(d); exponential relationship, such as V p ∝e d ; Polynomial; Step function; Linear. Exponential and logarithmic relationships are particularly advantageous when the accuracy of a parameter is very important at lower values and less important at higher values, or vice versa, respectively. Typically, the relationship is stored as a formula or lookup table. The relationship can be applied to any suitable variable of preparation information, such as: Temperature; Torque; Flow rate / volume; Pressure; Cooling power %. One advantage is the execution of complex recipes, which can be determined by the specific materials in the container and the capabilities of the machine.
[0042] Processing the digital image to decode the preparation information may also include determining metadata associated with the data unit of the encoded parameter by one or more of the following: determining the unit length of the data unit; determining the offset of the data unit from the encoding line D. The above determination may be achieved by feature extraction or by total area / shape of pixel integration.
[0043] Determining the location of one or more discrete locations may include using the identified location of the reference line r. It may also include using: stored information, such as the presence of a known number of discrete locations, the locations being arranged at known locations relative to the location of the reference line r; and / or the arrangement of data cells along the encoding line D. Determining whether a discrete location includes a data cell may include feature extraction or other known techniques. Parameters V are derived from the data cells present at the discrete locations. p This may include using stored information (eg, a lookup table) to decode one or more encoded parameters.
[0044] According to a fourth embodiment, a beverage or food preparation machine is disclosed herein, comprising: a container handling subsystem for receiving a container according to the first embodiment and preparing a beverage or food therefrom; a code processing subsystem operable to: obtain a digital image of a code of a container; process the digital image to decode the encoded preparation information; a control subsystem operable to achieve one or more of the following purposes: control the container handling subsystem using the decoded preparation information; use the preparation information to monitor container consumption for reordering, such as via a server system through a communication interface; use the preparation information to determine whether a container has exceeded its expiration date. The code processing subsystem may also be configured to process the digital image of the code according to the third embodiment.
[0045] The preparation information of using the described decoding to control the described container handling subsystem can especially include staged execution of preparation process, thereby by the preparation information of a code and / or a plurality of codes decoding stage of encoding a plurality of stages described in the first embodiment. The preparation information of the described decoding of several stages can be used for example to control the container handling subsystem to perform complex formula, and this complex formula implies for example processing two or more containers, and / or processing two or more components in several separate compartments in the same container, preferably actuated by a single user, for example when pressing a button on the user interface of the machine once. In an embodiment, based on the information such as decoded by the first container, the control subsystem checks the existence of a specific second container or component compartment in the machine before or after processing the first container or component compartment, and if the second container or component compartment is not found, the preparation process is suspended. Once the second container or component compartment of the expected type is detected in the machine, the preparation process is resumed, and the second container or component compartment is processed.
[0046] The container handling subsystem is typically operable to perform the preparation by adding a fluid such as water or milk to a beverage or food material. The container handling subsystem may include one of the following: an extraction unit; a dissolution unit; a mixing unit. The container handling subsystem may also include a fluid source operable to provide the fluid to the aforementioned units. Typically, the fluid source includes a fluid pump and a fluid heater. The aforementioned units may be configured to operate with one or more containers containing beverages or food materials.
[0047] According to a fifth embodiment, disclosed herein is a beverage or food preparation system comprising the container according to the first embodiment and the beverage or food preparation machine according to the fourth embodiment.
[0048] According to a sixth embodiment, a method for preparing a beverage or food using the system according to the fifth embodiment is disclosed herein, the method comprising: obtaining a digital image of the code according to the first embodiment (which may be arranged on a container or attachment device according to other embodiments); processing the digital image to decode the encoded preparation information; operating a control subsystem to achieve one or more of the following purposes: using the decoded preparation information to control the container processing subsystem; using the preparation information to monitor container consumption for reordering, such as through a server system via a communication interface; using the preparation information to determine whether the container has exceeded its expiration date. The method may also include any of the steps of processing the digital image of the code according to the third embodiment.
[0049] According to a seventh embodiment, an attachment device is disclosed herein, which is configured to be attached to a container for a beverage or food preparation machine according to the fourth embodiment. According to any feature of the first embodiment, the container preferably does not contain a code thereon. The attachment device may include: a carrier that carries (e.g., on its surface) a code according to the first embodiment; an attachment member that is used to attach to the container. The attachment device is preferably configured to attach the carrier to the container as if the code is formed integrally on the container. In this way, the code can be read by an image capture device as if it is formed integrally on the image capture device. The attachment device can be configured to extend over a substantial portion of the container, such as a base or a cover or an edge. Examples of suitable attachment devices include: an adhesive tape (or a flat area that receives an adhesive); a mechanical fastener such as a clamp or a bolt.
[0050] According to an eighth embodiment, an attachment device is disclosed herein, which is configured to be attached to a beverage or food preparation machine according to the fourth embodiment. The attachment device may include: a carrier that carries (e.g., on its surface) a code according to the first embodiment; an attachment member that is used to attach to the machine. The attachment member is preferably configured to attach the carrier to the machine, in a position between the image capture device of the machine and the container when received, so that the code thereon is adjacent to the container. In this way, the code can be read by the image capture device as if it is attached to the container. Examples of suitable attachment members include: an extension attached to the carrier, the extension comprising an adhesive strip (or a flat area for receiving an adhesive), or a mechanical fastener such as a clamp, a bolt or a bracket.
[0051] According to a ninth embodiment, disclosed herein is the use of a container as defined in the first embodiment or an attachment device as defined in the seventh and eighth embodiments for a beverage or food preparation machine as defined in the fourth embodiment.
[0052] According to a tenth embodiment, the present invention discloses encoding preparation information using the code defined in the first embodiment, preferably the code is formed on: a container of a beverage or food preparation machine, the container being used to contain the beverage or food material defined in the first embodiment; or on an attachment device according to the seventh embodiment or the eighth embodiment.
[0053] According to an eleventh embodiment, a computer program is disclosed herein that can be executed on one or more processors of a code processing subsystem of a beverage or food preparation machine, generally as defined in the fourth embodiment, to decode the encoded preparation information. The computer program may include a program code that can be executed by the processor or each processor and / or a program logic executed on the processor or each processor (which may also include a program code for implementing the program logic). The computer program is operable to decode the information of the code according to any feature of the first embodiment through any feature of the third embodiment. The computer program may also be executed to obtain (e.g., by controlling an image capture device) the digital image of the code.
[0054] The functional units described herein for computer programs may generally be implemented in various ways using digital electronic logic, such as one or more ASICs or FPGAs; one or more firmware units configured with stored code; one or more computer programs or other software elements, such as modules or algorithms; or any combination thereof. An embodiment may include a special-purpose computer that is specifically configured to perform the functions described herein, and wherein all functional units include digital electronic logic, one or more firmware units configured with stored code, or one or more computer programs or other software elements stored in a storage medium.
[0055] According to a twelfth embodiment, a non-transitory computer-readable medium including a computer program according to the eleventh embodiment is disclosed herein. The non-transitory computer-readable medium may include a memory unit of a processor or other computer-readable storage medium for storing thereon a computer-readable program code for programming a computer, such as a hard disk, a CD-ROM, an optical storage device, a magnetic storage device, a flash memory; a storage device of a server for downloading the program.
[0056] According to a thirteenth embodiment, an information transmission medium is disclosed herein, the information transmission medium comprising the code according to the first embodiment. Specifically, the information transmission medium may comprise a container as defined herein or an attachment device or substrate as defined herein, such as an adhesive tape of other suitable media.
[0057] The method for preparing information by encoding according to the second embodiment can be applied to information transmission medium. The method for preparing information by decoding according to the third embodiment can be applied to information transmission medium. The beverage or food preparation machine according to the fourth embodiment can be configured to operate with information transmission medium, for example, by attaching it to a container or other suitable component, such as any one of the above-mentioned attachment devices. The system according to the fifth embodiment can include information transmission medium. The method for preparing beverage or food of the sixth embodiment can be adapted to include obtaining a digital image of the code of the information transmission medium.
[0058] In order to have a basic understanding of the various aspects of the subject matter described herein, the above provides a summary of the invention for summarizing some exemplary embodiments. Therefore, the above features are merely examples and should not be construed as limiting the scope or essence of the subject matter described herein in any way. In addition, the above embodiments can be combined in any suitable combination to provide other embodiments. Other features, aspects and advantages of the subject matter described herein will become apparent from the following detailed description, drawings and claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] FIG. 1 is a diagrammatic schematic diagram showing an embodiment of a beverage or food preparation system including a machine and a container according to an embodiment of the present disclosure.
[0060] 2 is a block diagram illustrating a control subsystem and a code processing subsystem for the preparation machine of FIG. 1 according to an embodiment of the present disclosure.
[0061] 3 is a diagrammatic schematic diagram illustrating a container for use with the preparation machine of FIG. 1 according to an embodiment of the present disclosure.
[0062] 4-5 are plan views showing, to scale, a code for the container of FIG. 3 according to an embodiment of the present disclosure.
[0063] Figure 6 to Figure 7 For purposes of illustration, a schematic diagram is shown of an attachment arrangement for the system of FIG. 1 according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0064] Beverage / Food Preparation Systems
[0065] The beverage or food preparation system 2, an embodiment of which is shown in FIG. 1, comprises: a beverage or food preparation machine 4; a container 6, which is described below.
[0066] Preparation Machine
[0067] The beverage or food preparation machine 4 is operable to process a beverage or food material (material herein) arranged in a container 6 into a food and / or beverage for consumption by eating and / or drinking. Typically, processing includes adding a fluid, such as water or milk, to the material. The food material as defined herein may include a substance that can be processed into a nutrient substance that is generally suitable for consumption, which may be frozen or hot. Typically, the food is a liquid or gel. Non-exhaustive examples thereof are: yogurt; mousse; parfait; soup; ice cream; sorbet; custard; smoothie. Food is generally a liquid, gel or paste. The beverage material as defined herein may include a substance that can be processed into a substance suitable for drinking, which may be cold or hot, non-exhaustive examples of which are: tea; coffee, including ground coffee; hot chocolate; milk; liqueur. It should be understood that there is a certain degree of overlap between the definitions of the two, that is, the machine 4 can prepare both food and beverages.
[0068] The machine 4 is generally dimensioned to be suitable for use on a workbench, ie the length, width and height are less than 70 cm.
[0069] The machine 4 includes: a housing 10 ; a container handling subsystem 14 ; a control subsystem 16 ; and a code processing subsystem 18 .
[0070] case
[0071] The housing 10 accommodates and supports the aforementioned machine components, and comprises a base 108 for abutting against a horizontally arranged support surface, and a body 110 for mounting the aforementioned components thereon.
[0072] Container handling subsystem
[0073] According to a specific embodiment, the container processing subsystem 14 (which can also be regarded as a processing unit) can be configured to prepare food / beverages by processing materials, which are arranged in: one or more single-serving single-use containers 6 in the form of sachets or capsules; in a container 6 that is a receptacle for consumption by an end user. In particular, the material is processed and its composition is changed, for example by dissolving or extracting or mixing its components. The embodiments of each configuration will be discussed. Two or more such configurations can be combined into a single container processing subsystem 14 in order to prepare food / beverages, for example, from materials contained in two or more containers 6 and requiring different processing. In an embodiment, the container processing subsystem 14 can be configured, for example, to simultaneously or sequentially: in a pressurized extraction unit, extract coffee from a capsule containing ground coffee; and in a dissolution unit, dilute milk powder contained in a sachets; in order to prepare milk and coffee beverages, such as cappuccino, latte or latte macchiato. In other embodiments, the container handling subsystem 14 may be configured, for example, to simultaneously or sequentially: prepare at least a portion of a food / material in a receptacle for consumption by an end user in a mixing unit; and dilute the material contained in the container and dispense it into the receptacle; in order to prepare, for example, a portion of ice cream with a topping or a flavored milkshake. However, other combinations of features in a single container handling subsystem 14 are possible within the framework of the present invention, in order to allow food / beverages to be prepared according to other complex recipes.
[0074] Generally, in all embodiments, the container handling subsystem 14 includes a fluid source 12 that is operable to supply fluid to the container 6. The fluid is typically water or milk, and the fluid may be conditioned (i.e., heated or cooled). The fluid source 12 typically includes: a reservoir 20 for containing the fluid, 1 to 5 liters of fluid in most applications; a fluid pump 22, such as a reciprocating or rotary pump that may be driven by an electric motor or an induction coil (although in one example, the pump may be connected to a mains water source instead); an optional fluid heat exchanger 24 (typically a heater), which typically includes an in-line thermal block heater; an outlet for supplying the fluid. The reservoir 20, the fluid pump 22, the fluid heater 24, and the outlet are in fluid communication with each other in any suitable order and form a fluid line. The fluid source 12 may optionally include a sensor to measure the fluid flow rate and / or the amount of fluid delivered. An example of such a sensor is a flow meter, which may include a Hall sensor or other suitable sensor to measure the rotation of the rotor, and the signal from the sensor is provided to the processing subsystem 50, as will be discussed.
[0075] Container handling subsystems for extracting food / beverages from containers
[0076] According to a first embodiment, the container handling subsystem 14 is operable to: receive a container 6 containing material; process the container 6 to extract one or more beverage or food ingredients therefrom and dispense the ingredients into a ready receptacle for consumption by an end user. The container is typically a single-use, single-serving container such as a capsule or sachet.
[0077] First, the container handling subsystem 14 used with the capsule will be described, an example of which is shown in Figure 1A . The container handling subsystem 14 includes an extraction unit 26 operable to move between a capsule receiving position and a capsule extraction position. When moving from the capsule extraction position to the capsule receiving position, the extraction unit 26 may move through or move to a capsule discharge position, wherein a used capsule may be discharged from the capsule discharge position. The extraction unit 26 receives fluid from the fluid source 12. The extraction unit 26 generally includes: an injection head 28; a capsule holder 30; a capsule holder loading system 32; a capsule insertion channel 34A; a capsule discharge channel or port 34B, which will be described in turn.
[0078] The injection head 28 is configured to inject fluid into the chamber of the capsule 6 when the capsule is held by the capsule holder 30 and, for this purpose, has mounted thereon a syringe having a nozzle in fluid communication with the outlet of the fluid source 12 .
[0079] The capsule holder 30 is configured to hold the capsule 6 during extraction, and for this purpose, the capsule holder is operably connected to the injection head 28. The capsule holder 30 is operable to move so as to achieve the capsule receiving position and the capsule extraction position: when the capsule holder is in the capsule receiving position, the capsule 6 can be supplied to the capsule holder 30 from the capsule insertion channel 34A; when the capsule holder 30 is in the capsule extraction position, the supplied capsule 6 is held by the holder 30, the injection head 28 can inject fluid into the chamber of the held capsule, and one or more ingredients can be extracted therefrom. When the capsule holder 30 is moved from the capsule extraction position to the capsule receiving position, the capsule holder 30 can be moved through or moved to the capsule discharge position, wherein the used capsule 6 can be discharged from the capsule holder 30 via the capsule discharge channel or port 34B.
[0080] The capsule holder loading system 32 is operable to drive the capsule holder 30 between a capsule receiving position and a capsule extraction position.
[0081] The aforementioned container extraction unit 14 is generally a pressurized extraction unit, for example, the container is hydraulically sealed during brewing and is subjected to a pressure of 5 to 20 bar. Typically the pump is an induction pump. The extraction unit can alternatively be operated by a centrifugal method as disclosed in EP 2594171 A1, which is incorporated herein by reference.
[0082] The container processing subsystem 14 may alternatively or additionally include a dissolution unit configured as disclosed in EP 1472156 and EP 1784344, which are incorporated herein by reference.
[0083] In an embodiment of the container 6 comprising a bladder, the container processing subsystem 14 comprises an extraction and / or dissolution unit operable to receive the bladder and inject a fluid from the fluid source 12 at its inlet. The injected fluid mixes with the material within the bladder to at least partially prepare a beverage, which exits the bladder through the bladder outlet. The container processing subsystem 14 comprises: a support mechanism for receiving unused bladders and discharging used bladders; and a syringe configured to supply fluid from the outlet of the fluid source to the bladder. Further details are provided in WO 2014 / 125123, which is incorporated herein by reference.
[0084] Container handling subsystems for preparing food / beverages in containers for consumption by end users
[0085] According to another embodiment, its example is Figure 1B , the container handling subsystem 14 is generally operable to prepare materials stored in a container 6, which is a receptacle, such as a cup, a jug, or other suitable receptacle configured to hold approximately 150 mL to 350 mL of prepared product. Herein, the container handling subsystem 14 includes a mixing unit, which includes: an agitator unit 40; an optional auxiliary product unit 42; a heat exchanger 44; and a receptacle support 46, which will be described in turn.
[0086] The agitator unit 40 is operable to agitate the material within the receptacle to be at least partially prepared therein. The agitator unit may include any suitable mixing device, such as: a planetary mixer; a spiral mixer; a vertical chopper. Typically, the agitator unit 40 includes: an appliance for mixing, the appliance having a mixing head in contact with the material; and a drive unit for driving the mixing appliance, such as an electric motor or a solenoid. In a preferred example of a planetary mixer, the mixing head includes an agitator rotating at a radial angular velocity W1 on an offset shaft rotating at a rotational angular velocity W2, such a device is disclosed in PCT / EP2013 / 072692, which is incorporated herein by reference.
[0087] The auxiliary product unit 42 is operable to supply an auxiliary product, such as an upper layer ingredient, to the container 6. The auxiliary product unit 42 comprises, for example: a reservoir for storing the product; an electrically operated dispensing system for dispensing the product from the reservoir. Alternatively or additionally, the auxiliary production unit comprises a dilution and / or extraction unit as described above to dispense the auxiliary product from a container 6 such as a sachet or capsule.
[0088] The heat exchanger 44 is operable to transfer and / or extract thermal energy from the container 6. In the example of transferring thermal energy, the heat exchanger may include a heater, such as a thermal block heater. In the example of extracting thermal energy, the heat exchanger may include a heat pump, such as a refrigeration cycle heat pump.
[0089] The receptacle support 46 is operable to support the container 6 during the preparation method so that it remains stationary during agitation of material therein by the agitator unit 40. The receptacle support 46 is preferably thermally associated with the heat exchanger 44 so that transfer of thermal energy can occur with the supported receptacle.
[0090] In the above-mentioned variation, the container handling subsystem 14 also includes a dispensing mechanism for receiving a container 6 (such as a pouch or capsule) and dispensing associated materials into a receptacle, and the associated materials are prepared in the receptacle. Such an example is disclosed in EP 14167344 A, which is incorporated herein by reference. In a specific embodiment, for this configuration, the container can be a partially collapsible container, so that the container can collapse to distribute the material stored therein. Such an example is disclosed in EP 15195547 A, which is incorporated herein by reference. Specifically, the collapsible portion of the container includes a geometric configuration and / or a weakened portion so that the portion preferably collapses to a retaining portion when an axial load is applied by two portions. In such an embodiment, the container handling subsystem 14 includes a mechanical actuation device, which is configured to apply an axial load to collapse the container, and its example is provided in the cited patent application.
[0091] Control subsystem
[0092] The control subsystem 16, an embodiment of which is shown in FIG2, is operable to control the container processing subsystem 14 to prepare beverages / foods. The control subsystem 16 generally includes: a user interface 48; a processing subsystem 50; an optional sensor 52; a power supply 54, and an optional communication interface 56, which will be described in turn.
[0093] The user interface 48 includes hardware that enables an end user to interact with the processing subsystem 50 and is therefore operably connected to the processor. More specifically: the user interface 48 receives commands from the user; user interface signals transmit the commands to the processing subsystem 50 as input. These commands can be, for example, instructions for executing the preparation method. The hardware of the user interface 48 can include any suitable one or more devices, for example, the hardware includes one or more of the following: buttons, such as joystick buttons or push buttons; joystick; LEDs; graphic or character LCDs; graphic screens with touch sensing and / or screen edge buttons.
[0094] Optional sensors 52 are operably connected to the processing subsystem 50 to provide input for monitoring the method. The sensors 52 typically include one or more of the following: a fluid temperature sensor; a fluid level sensor; a position sensor, such as for sensing the position of the extraction unit 26; a flow rate and / or volume sensor.
[0095] The processing subsystem 50 (which may be referred to as a processor) is typically operable to: receive input from the user interface 48 and / or sensor 52, i.e., the command and / or preparation information decoded by the code processing subsystem 18, as described below; process the input according to the program code stored in the memory subsystem (or programming logic); provide an output, which is typically the preparation method. The method may be performed using open-loop control, or more preferably, using closed-loop control using the input signal from the sensor 52 as feedback. The processing subsystem 50 typically includes memory, input, and output system components arranged as an integrated circuit (typically a microprocessor or microcontroller). The processing subsystem 50 may include other suitable integrated circuits, such as: ASICs; programmable logic devices such as FPGAs; analog integrated circuits such as controllers. The processing subsystem 50 may also include one or more of the above integrated circuits, i.e., multiple processors.
[0096] The processing subsystem 50 typically includes or communicates with a memory subsystem 112 (which may be referred to as a memory unit) for storing program code and optional data. The memory subsystem 112 typically includes: non-volatile memory, such as EPROM, EEPROM, or flash memory, for storing program code and operating parameters; volatile memory (RAM) for data storage. The program code typically includes a preparation program 116 that can be executed to implement the preparation process. The memory subsystem may include separate and / or integrated (e.g., on the die of the processor) memory.
[0097] The power source 54 is operable to provide electrical energy to the processing subsystem 50, the container handling subsystem 14, and the fluid source 12, as will be discussed. The power source 54 may include various devices, such as a battery or a unit to receive and regulate mains power.
[0098] The communication interface 56 is used for data communication between the preparation machine 4 and another device / system, which is typically a server system. The communication interface 56 can be used to provide and / or receive information related to the preparation process, such as container consumption information and / or preparation process information. The communication interface 56 can be configured for cable media or wireless media or a combination thereof, for example: a wired connection such as RS-232, USB, I 2 C. Ethernet as defined by IEEE 802.3; wireless connection, such as wireless LAN (e.g., IEEE 802.11), or near field communication (NFC), or cellular system such as GPRS or GSM. The communication interface 56 is operably connected to the processing subsystem 50. Typically, the communication interface includes a separate processing unit (examples of which are provided above) to control the communication hardware (e.g., antenna) to interface with the main processing subsystem 50. However, less complex configurations may be used, such as a simple wired connection for serial communication directly with the processing subsystem 50.
[0099] Code processing subsystem
[0100] The code processing subsystem 18 is operable to: obtain an image of a code on a container 6; process the image to decode encoded information, including, for example, preparation information. The code processing subsystem 18 includes: an image capture device 106; an image processing device 92; an output device 114, which will be described in turn.
[0101] The image capture device 106 is operable to capture a digital image of the code and transmit the image as digital data to the image processing device 92. In order to be able to determine the scale of the digital image: when obtaining the digital image, the image capture device 106 is preferably arranged at a predetermined distance away from the code; in the example where the image capture device 106 includes a lens, the magnification of the lens is preferably stored on the memory of the image processing device 92. The image capture device 106 includes any suitable optical device for capturing a digital image, wherein the digital image includes the micro-cell code composition discussed below. The code forms a micro-cell composition, and the image capture device can have very small dimensions, such as in the order of a few millimeters or less, such as less than 2mm in length, width and thickness, thereby facilitating its integration into the food / preparation machine 4, such as into the container handling subsystem 14. In addition, such an image capture device is a mechanically simple and reliable device that will not affect the overall functional reliability of the machine. Examples of suitable reliable optical devices are: Sonix SN9S102; Snap Sensor S2 imager; oversampled binary image sensor.
[0102] The image processing device 92 is operably connected to the image capturing device 106 and can operate to process the digital data to decode information, especially the preparation information encoded therein. The processing of digital data is discussed below. The image processing device 92 may include a processor such as a microprocessor or an ASIC. It may alternatively include the above-mentioned processing subsystem 50, and in such embodiments, it should be understood that the output device is integrated into the processing subsystem 50. For the processing, the image processing device 92 generally includes a code processing program. The example of a suitable image processing device is Texas Instruments TMS320C5517.
[0103] The output device 114 is operably connected to the image processing device 92 and is operable to output digital data including the decoded information to the processing subsystem 50 via, for example, a serial interface.
[0104] container
[0105] According to an embodiment of the container handling subsystem 14, the container 6 may include: a receptacle including materials for preparation and consumption by an end user; a capsule or pouch including materials prepared therefrom. The container 6 may be formed from a variety of materials, such as metal or plastic or a combination thereof. Typically, such materials are selected so that the material is food safe; the material is able to withstand the pressure and / or temperature of the preparation process. Examples of suitable containers are provided below.
[0106] When the container 6 is not in the form of a pouch, the container generally includes: a body portion 58 defining a chamber for storing a dose of material; a cover portion 60 for closing the chamber; and a flange portion 62 for connecting the body portion and the flange portion, the flange portion being generally disposed at the distal end of the base of the chamber. The body portion may have a variety of shapes, such as a disc-shaped, frustoconical, or rectangular cross-section. Thus, it should be understood that the capsule 6 may take a variety of forms, examples of which are provided in Figure 3AIn the embodiment of the present invention, the container 6 can be configured to have a receptacle or capsule as defined herein. The container 6, when being configured to have an internal volume of 150mL-350mL and preferably having a diameter of 6cm-10cm and an axial length of 4cm-8cm, can be identified as a receptacle for end-users to consume therefrom. By a similar manner, when being configured to have an internal volume less than 100mL or 50mL and preferably having a diameter of 2cm-5cm and an axial length of 2cm-4cm, the capsule for extraction can be identified. The container 6 in a collapsible configuration can comprise an internal volume of 5mL-250mL. In embodiments, the chamber of the container can be divided into a plurality of compartments, for example two, three or more compartments, and the material held in each compartment may be different from the material held in other compartments. The different materials of various compartments can for example be processed simultaneously or sequentially by the container handling subsystem 14. Examples of such containers and their handling by appropriate container handling subsystems are described, for example, in WO 2007 / 054479 A1, WO 2014 / 057094 A1 and unpublished patent application EP 17151656.0, which are all incorporated herein by reference.
[0107] When the container 6 is Figure 3B When in the form of a pouch as shown, the container typically includes: an arrangement of sheet material 64 (such as one or more sheets joined to its periphery) that defines an internal volume 66 for storing a dose of material; an inlet 68 for fluid to flow into the internal volume 66; and an outlet 70 for fluid and material to flow out of the internal volume. Typically, the inlet 68 and the outlet 70 are arranged on a body (not shown) of an attachment device that is attached to the sheet material. The sheet material can be formed of a variety of materials, such as metal foil or plastic or a combination thereof. Typically, the internal volume 66 can be 150mL-350mL or 200mL-300mL or 50mL-150, depending on the application. In an embodiment, the internal volume of the container can be divided into multiple compartments, such as two or three compartments, and the material contained in each compartment may be different from the material contained in other compartments. The different materials of the various compartments can be processed simultaneously or sequentially, for example, by an appropriate container processing subsystem 14.
[0108] Utilize information encoded in code
[0109] The code 74 of the container 6 encodes preparation information, which typically includes information related to the associated preparation process. Depending on the embodiment of the container handling subsystem 14, the information may encode one or more parameters, which may include one or more of the following: fluid pressure; fluid temperature (at the container inlet and / or receptacle outlet); fluid mass / volume flow rate; fluid volume; stage identifier (for when the preparation process is divided into a series of stages), whereby each stage contains a set of one or more of the above parameters (typically there are 4-10 stages); stage duration (e.g., the duration of application of the stage parameters); recipe and / or container and / or compartment identifier, for when the recipe requires processing of materials contained in two or more containers and / or container compartments; container geometry parameters, such as the shape / volume / number of different component compartments; other container parameters, such as a container identifier, which can be used to monitor container consumption, for example for the purpose of container reordering, an expiration date, a recipe identifier, which can be used to look up a recipe stored on the memory of a beverage machine used with the container.
[0110] Specifically, regarding the preparation machine 4 such as Figure 1A In the machine shown in, the encoded parameters may include any one or more of the following: pressure; temperature; fluid volume; fluid flow rate; the time of a specific preparation stage during which one or more of the above parameters are applied; a stage identifier, such as an alphanumeric identifier, to identify multiple stages to which the above one or more parameters relate; a recipe identifier; a pre-wet time, which is the amount of time that the material of the container can be soaked during the initial preparation stage; and a pre-wet volume, which is the amount of fluid volume applied during the stage.
[0111] Specifically, regarding the preparation machine 4 such as Figure 1B In the machine shown in , the encoded parameters may include any one or more of the following: the percentage of cooling or heating power applied (e.g., the power applied by the heat exchanger 44); the torque applied by the agitator unit 40; one or more angular velocities (e.g., rotational and radial angular velocities W1, W2); the container temperature (e.g., the temperature set by the heat exchanger 44); the time of a particular preparation stage during which the above one or more parameters are applied; and a stage identifier, such as an alphanumeric identifier, to identify the multiple stages to which the above one or more parameters relate.
[0112] Code layout
[0113] The code is arranged in any suitable position on the outer surface of the container 6 so that it can be processed by the code processing subsystem 18. In the above example of the receptacle / capsule 6, as Figure 3A As shown in , the code can be arranged on any outer surface of the cover, body or flange portion, for example. In the example of the above-mentioned bag 6, as Figure 3B As shown in , the code may be disposed on any exterior surface of the pouch, for example, on either or both sides (including the edges).
[0114] Multiple codes may be formed on the container 6, for example: for reading error checking; and / or using separate stages of the manufacturing process encoded with each code. In particular, the planar pattern of the code (as will be discussed) may include an at least partially tessellated shape, such as a rectangle such as a square, whereby the code is formed on the container in an at least partially tessellated manner (e.g., a grid with adjacent columns aligned with adjacent columns or offset from adjacent columns).
[0115] Code composition
[0116] The code 74 and the example shown in FIG. 4 are configured to encode the preparation information in a manner captured by the image capture device 106. More specifically, the code is formed by a plurality of cells 76, preferably microcells, and surrounds of different colors: typically, the cells include a dark color (e.g., one of the following: black, dark blue, purple, dark green), and the surrounds include a light color (e.g., one of the following: white, light blue, yellow, light green), or vice versa, so that there is sufficient contrast for the image processing device 92 to distinguish them. The cells 76 may have one of the following shapes or a combination thereof: a circle; a triangle; a polygon, in particular a quadrilateral, such as a square or a parallelogram; other known suitable shapes. It should be understood that the above shapes may be approximate shapes of the actual shapes due to formation errors (e.g., printing errors). The cells 76 typically have a cell length of 50 μm-200 μm (e.g., 60 μm, 80 μm, 100 μm, 120 μm, 150 μm). The cell length is a suitably defined distance of the cell, for example: for a circular shape, the cell length is the diameter; for a square, the cell length is the side length; for a polygon, the cell length is the diameter or distance between opposite vertices; for a triangle, the cell length is the hypotenuse. The cells 76 are preferably arranged with a precision of about 1 μm.
[0117] Although the code is referred to as including a plurality of units, it is to be understood that the units may alternatively be referred to as elements or indicia.
[0118] Typically, the unit 76 is formed by: printing, such as using an inkjet printer; embossing; engraving; or other known methods. For example, in printing, the ink may be conventional printer ink, and the substrate may be: polyethylene terephthalate (PET); painted aluminum (such as Nespresso TM Classic TMThe code may be formed on a plastically deformable substrate (such as the lacquered aluminum described above) or other suitable substrate. In the case of embossing, the shape may be pressed into a plastically deformable substrate (such as the lacquered aluminum described above) by a die. Thus, the cost of forming the code on the container 6 may be kept low by using conventional, inexpensive techniques (such as inkjet, offset printing or laser printing), so that the cost of forming the code does not significantly affect the production cost of the container 6.
[0119] Code comprises planar figure 104, and unit 76 is arranged therein. Planar figure can be circular or rectangular (as shown in Figure 4). Usually, planar figure has the length (that is, the diameter of circular planar figure and the side length of square planar figure) of 600 μ m-1600 μ m or about 1100 μ m, and it will depend on the quantity of the parameter encoded. Code 74 of the present invention allows the value of several parameters to be encoded on a smaller surface, thereby allows to potentially encode all parameters required for complex recipes of beverage or food preparation machine according to the fourth embodiment of the present invention. Code 74, for example, allows the preparation information required for encoding recipe, including several processing stages of the food contained in one or more containers and / or container compartments.
[0120] The unit 76 is organized into a data portion 78 encoding the preparation information and a reference portion 80 for providing a reference to the data portion 78, both of which are described in detail below.
[0121] The reference portion 80 includes a plurality of reference cells 86 defining reference points and a linear reference line r extending from the reference points. The reference line r provides a reference direction for an angle referenced by the data portion 78, as will be discussed. One or more reference cells 86 generally define a reference line r orientation identifier 88 that is identified to determine the orientation of the line and as will be discussed.
[0122] The data portion 78 includes a data unit 82, which is arranged on an encoding line D that intersects a reference line r. The encoding line D is circular and is arranged so that its tangent is orthogonal to the reference line r at the intersection. The axial center of the encoding line D preferably coincides with a reference point associated with the angular reference of the reference line r. In general, a data unit, such as exactly one data unit 82, can occupy any continuous distance d along the encoding line D from its intersection with the reference line r to encode parameters of information as variables. In this regard, a wider range of information can be encoded. Continuous encoding of parameters is particularly advantageous for encoding parameters that can have a large range of values, such as torque and angular velocity. Alternatively, the data unit 82 may occupy only one of a plurality of discrete positions (i.e., one of a plurality of predetermined positions) along the encoding line D to encode the parameter as a variable.
[0123] The data portion 78 of the code also includes a plurality of discrete locations 102 arranged in operative proximity to the reference line r so that they can be located using the reference line r. The discrete locations 102 are not the encoding lines D. The discrete locations 102 may or may not include data elements 82, as will be discussed. Preferably, only the reference elements 86 and data elements 82 are physically formed, e.g., printed or embossed, on the container or code carrier.
[0124] The encoding along the encoding line D and the encoding of the discrete positions 102 are described in detail later.
[0125] Coding along coding line D
[0126] The code 74, an example of which is shown in FIG4, includes the above-described arrangement of coding lines D and reference lines r. The illustrations in FIG4 (and those below): reference lines r, coding lines D; plane figures 104; coding regions 90; and various other construction lines are shown for schematic illustration only, i.e., they need not be physically formed as part of the code. Instead, they may be virtually defined when processing an image of the code, as will be discussed.
[0127] The encoding line D intersects the reference line r at a reference position 84. The reference position 84 may or may not include a reference cell 86, as will be discussed. Generally, there are multiple encoding lines D, such as 2, 3, 4, 5, which are concentrically arranged and intersect the reference line r at multiple different reference positions 84, thereby each having a data unit that at least partially encodes a parameter. The data portion 78 generally includes an encoding region 90 defined by the encoding lines D, which are arranged within the range of the data unit 82.
[0128] The numbers of the reference positions 84 and the associated data units 82 and encoding lines D in this article are represented by numerical subscripts and include the lowest-numbered reference position 84, which is close to the orientation identifier 88 (which will be discussed), and continuously increase to the highest-numbered reference position 84 on its far side, for example, the second reference position is 842, the associated encoding line is D2 and the distance is d2, as shown in Figure 4.
[0129] The distance d is defined as being from the reference position 84 along the encoding line D to a position on the encoding line D where the center of the data unit 82 is arranged at or close thereto, for example at a position on the encoding line D that intersects a line through the center of the data unit 82, whereby the line is orthogonal to the encoding line D at the intersection point. The distance d may be defined in terms of a circumferential distance or an angular distance.
[0130] The reference section 80 includes m reference cells 86 (two in Figure 4A), which is arranged to define a linear reference line r, where m is at least two. Specifically, the reference line r extends through a plurality of points, which are defined by a reference unit or by a plurality of reference units, as will be discussed.
[0131] One or more reference cells 86 define an optional reference line orientation identifier 88 that is capable of determining the orientation of the reference line r and the associated reference position 84, for example, each reference position 84 is a predetermined distance (such as 100μm-200μm or 160μm) from the orientation identifier 88 along the reference line r. Generally speaking, the reference line r extends from a reference point defined by the orientation identifier 88. Generally speaking, the orientation identifier is arranged so that the reference point is at the center of a circle defined by the encoding line D. In examples that do not include the orientation identifier, the reference point can be identified as: a portion at the end of the reference line r, which can be defined by multiple identical reference cells; and / or as a point that does not have an associated encoding line D, where the encoding line has a data cell arranged thereon and intersecting the reference cell.
[0132] The orientation identifier may include a single reference cell, an example of which is Figure 4A , whereby the reference point is usually at the center of the reference cell. The orientation identifier 88 can be identified as one of a shape, a color, a size, or a combination thereof that is different from the other cells comprising the code. As shown in the figure, the reference cell has, for example, a size different from the other cells of the code (for example, it has a diameter of 120 μm, while the diameter of the other cells is 60 μm). Advantageously, it is convenient for the processor to determine the orientation of the reference line r, and in addition, since the encoding line D cannot be arranged at the axial center, the plane figure comprising the code is efficiently utilized.
[0133] Preferably, the orientation identifier comprises a plurality of reference cells, whereby each of the plurality of reference cells is identical to the other cells of the code (i.e. in shape, color and size). In particular, the reference cells comprising the reference cell orientation identifier are arranged in a configuration defining the above-mentioned reference point. The configuration typically comprises a two-dimensional polygon, wherein the reference cells are arranged at vertices and the reference point is at the center, preferably with equal side lengths. The polygon may be one selected from the following: a triangle; a square; a pentagon; a hexagon; a heptagon; an octagon. In Figure 4BIn the example shown in , the polygon is an equilateral triangle, wherein three reference units are arranged at its vertices and the reference point is at its center. In a preferred embodiment, the polygon is a right triangle, wherein the reference units at the triangle vertices are located on a virtual circle centered on the reference point of the code. The virtual circle is preferably located outside the coding area of the code, close to the center of the annular coding area. The reference line r, for example, extends from the reference point defined by the reference unit, and its orientation is determined to be parallel to a specific side of the triangle, for example, parallel to the upright portion of the "L" formed by the reference unit. It is advantageous that all units have the same code because the complexity of code processing is reduced. Specifically, the computer program only needs to determine the existence of the unit and its center, which is completely different from distinguishing different sizes, shapes and / or colors. Therefore, a more cost-effective processor can be used in a beverage or food preparation machine.
[0134] In an embodiment, the reference line r is composed of an orientation identifier 88 and an additional reference cell 86. The center of the additional reference cell defines a point through which the reference line r extends. The additional reference cell can be identified by one or more of the following ways: it is arranged at a radial position greater than the data cell 82 from the orientation identifier 88 (i.e., from its above-mentioned point); it is arranged at a predetermined reserved radial position from the orientation identifier 88, whereby the data cell is not arranged at the predetermined radial position; and it is different from other cells including the code in one or more of the following aspects: shape, size, color. Therefore, the reference line r and its orientation can be determined by locating the orientation identifier 88 and the additional reference cell 86.
[0135] The reference line r may be arranged at a predetermined minimum distance, such as 50 μm-150 μm or 100 μm, away from the encoding area 90 of the data portion 78 to ensure sufficient separation of the reference unit 86 and the data unit 82, i.e. the radially extending portion is cut off from its annular shape. Such an example is preferred when the reference position includes the reference unit 86.
[0136] Alternatively, as shown in the illustrated example, the reference line r extends through the encoding region 90, ie it radially intersects its annular shape.
[0137] The data portion 78 typically includes an annular coding area 90 on which its data cells 82 are arranged, whereby a reference line r extends radially from the center of the annular coding area 90. The coding lines D are concentrically arranged and extend from the reference line r around the center of the annular coding area 90. The intersection between the coding lines D and the reference line r is orthogonal to the reference position 84 and defines the reference position. Each data unit 82 may have a corresponding reference cell 86 at the associated reference position 84. Advantageously, it is easy to locate the reference position. Alternatively (as shown in the figure), preferably, the reference position 84 does not have a reference cell 86, whereby the reference position 84 is virtually defined on the reference line r, for example, it is interpolated at a predetermined distance from an adjacent reference cell 86 or reference point. Advantageously, the data unit can be arranged closer to the reference line r.
[0138] More than one data unit 82 may be arranged along the encoding line D, for example, so that multiple parameters are encoded on the encoding line D, or so that each parameter has multiple values associated with it, examples of which are provided below. The value of the parameter is encoded by the circumferential distance d between the data unit 82 and the reference position 84 associated with it.
[0139] To ensure adequate spacing between data cells on adjacent encoding lines, optional block colored regions coaxially arranged on encoding line D define the range of locations of associated data cells 82. The block colored regions are shown for illustrative purposes only, i.e., they need not be physically formed as part of the code, but rather they may be virtually defined when processing an image of the code, as will be discussed.
[0140] In general, the data unit 82 may be arranged at any position on the associated encoding line D, which is at most above the reference position 84 but does not extend beyond the reference position, that is, at most 360 degrees from the reference line r. 0 .
[0141] Metadata Encoding
[0142] Each data unit 82 arranged on a coding line D optionally encodes metadata about associated parameters. The metadata is usually discretely encoded, ie, can have only certain values. Various examples of encoding metadata are provided below.
[0143] In a first embodiment, it is illustrated in Figure 5A, the metadata is encoded as a characteristic size of the data unit 82 (e.g., a size defined by the unit length or area defined above), which size can be identified as a variable by the image processing device 92. Specifically, the size can be one of a list of 2 or 3 or 4 specific sizes, for example, selected from a length of 60μm, 80μm, 100μm, 120μm. In the specific example, it is best shown by the data unit 82 associated with the third reference position 843, and the size of the data unit 82 can be one of three sizes. In the specific example, it is shown in association with the second reference position 844 that there are three encoded parameters (thus three data units), and the data unit 82 of each parameter can be identified by the metadata of the data unit 82 of three different sizes.
[0144] In the second embodiment, its example is Figure 5B , metadata is encoded as a characteristic position of the data unit 82 with respect to the offset of the data unit 82 along an offset line extending in a direction orthogonal to the encoding line D (i.e., a radial distance and / or a distance orthogonal to a tangent drawn from the encoding line D to the center of the data unit 82). Despite the offset, the encoding line D still intersects the data unit 82. Specifically, the data unit 82 may be offset relative to the encoding line D at a first position or a second position to encode two values of the metadata; the data unit 82 may be offset at a first position or a second position or arranged at a third position on the encoding line D to encode three values of the metadata. The first position and the second position may be defined by the center of the data unit 82, which is arranged at a specific distance from the encoding line D, such as at least 20 μm. The third position may be defined by the center of the data unit 82, which is arranged at less than a specific distance from the encoding line D, such as less than 5 μm. In a specific example, it is shown in association with a third reference position 843 that the data unit 82 may be in the first position or the second position to encode the metadata. In the specific example, it is shown in association with the second reference position 842 that there are three encoded parameters (and thus three data units), the data unit 82 of each parameter being identifiable by metadata of the position of the data unit 82 .
[0145] In the third embodiment, it is illustrated in Figure 5C, and with reference to the third reference position 843, metadata is encoded as characteristic positions of one or two data units 82 with respect to their arrangement on each side of the reference line r. For example: the data unit 82 on the left side of the reference line r may encode a negative value of a parameter, while the data unit 82 on the right side of the reference line r may encode a positive value of the parameter, or the opposite arrangement; for the same parameter, the data unit 82 on the left side of the reference line r may encode a mantissa, and the data unit 82 on the right side of the reference line r may encode an exponent, or the opposite arrangement; the data unit 82 on the left side of the reference line r may encode the same parameter as on the right side, so that an average value may be taken to improve accuracy. In this embodiment, the encoding area 90 is preferably divided into two different semicircular sub-portions 90A, 90B, each having associated data units 82 arranged therein, for example, the maximum distance d for any of the semicircular sub-portions is on the portion of the reference line r common to the second quadrant and the third quadrant (or on its near side so that the two data units are not arranged to overlap).
[0146] In the fourth embodiment, it is illustrated in Figure 5D 843, the metadata is encoded as a plurality of data units 82 arranged along the same encoding line D, each having a different associated distance d. n Advantageously, the overall distance d can be taken as the distance d n A function of (usually a mean value) is determined with increasing accuracy. In the illustrated example, two data cells 82 are shown, where d=0.5(d1+d2).
[0147] In a fifth embodiment (not shown), the metadata is encoded as a characteristic shape. For example, the shape may be one of a list including: circle; triangle; polygon. In a sixth embodiment (not shown), the metadata is encoded as a characteristic color. For example, the color may be one of a list including: red; green; blue, which are suitable for being recognized by an RGB image sensor.
[0148] The first to sixth embodiments may be combined as appropriate, and for example, the encoded parameters may have metadata encoded with a combination of the first and second embodiments.
[0149] A specific example of code 74 for the second embodiment container handling subsystem 14 is shown in Figure 5E, where: the first reference position 841, the third reference position 843 and the fourth reference position 844 have data units 82 associated therewith, which encode parameters without any metadata; the second reference position 842 has three data units 82, each encoding a parameter, which has metadata encoded according to a combination of the first and second embodiments (i.e., 3 values of the unit size and 3 values of the unit position, so there are 9 possible values for the metadata in total).
[0150] Specifically: the first reference position 84 encodes the percentage of cooling power to be applied; the third reference position and the fourth reference position 84 encode the radial angular velocity W1 and the rotational angular velocity W2; when the corresponding small data unit, medium data unit and large data unit are in a specific position, the second reference position encodes the time, temperature, and torque, so that these parameters represent trigger conditions, so that when the conditions set by one of them are met, the stage encoded by the code 74 is completed.
[0151] Discrete position encoding
[0152] exist Figure 4A and Figure 4B In the example, the discrete locations 102 are shown for illustrative purposes only, i.e., they need not be physically formed as part of the code, but rather they may be virtually defined when processing an image of the code, as will be discussed. The discrete locations 102 may be arranged at a variety of locations, as discussed below.
[0153] In a first embodiment, if Figure 4A and Figure 4B As shown in the non-limiting example of , the discrete positions 102A are arranged at the inner periphery of one or more encoding lines D, which are proximal to their axial center. There may be one or more discrete positions 102A, for example any number up to 20. In the illustrated example, there are 8 discrete positions 102A. In addition, the discrete positions 102A may be arranged circumferentially with respect to each other, wherein adjacent positions are equidistant from each other, about one or more circular lines are concentric with one or more encoding lines D. In the illustrated example, they are arranged on one such circular line. Alternatively, the discrete positions 102 may have an arbitrary arrangement.
[0154] In a second embodiment, if Figure 4A and Figure 4BAs shown in the non-limiting example of , the discrete positions 102B may be arranged at the outer periphery of one or more encoding lines D, distal to their axial center. There may be one or more discrete positions 102B, for example any number up to 40. In the illustrated example, there are 16 discrete positions 102B. In addition, the discrete positions 102B may be arranged circumferentially around one or more circular lines, with adjacent positions equidistant from each other (not shown), and one or more circular lines are concentric with one or more encoding lines D. Alternatively, the discrete positions 102 may have an arbitrary arrangement.
[0155] In a specific variation of the second embodiment, where the code 74 comprises a rectangular planar figure 104, the discrete positions 102B may be arranged proximal to one or more of the vertices of the planar figure 104. Specifically, they may be arranged symmetrically about the diagonal lines between the vertices. In the illustrated example, there are four such discrete positions 102B at each vertex. Alternatively, the discrete positions 102 may have any arrangement.
[0156] In a third embodiment, if Figure 4A and Figure 4B As shown in the non-limiting example of , discrete positions 102C can be arranged on the encoding line D. They can be arranged in particular on the proximal side of the data unit 82 on the encoding line D, for example, at a distance greater than or less than d. There can be a plurality of such discrete positions 102C, such as 1 or 2 (not shown) or any number up to 10 or 20. Generally speaking, the position 102C is arranged to be a predetermined distance away from the data unit, whereby the predetermined distance is stored on the memory. In this way, the data unit 82 on the encoding line can be located, and the predetermined position 102C of another data unit 82A can be checked using the location. The predetermined distance can be, for example, the length of the data unit between the circumferential spacing between adjacent units or another suitable distance that makes the data units not overlap.
[0157] The code 74 may include a combination of one or more of the first embodiment, the second embodiment, and the third embodiment arrangements of the discrete locations 102 (in Figure 4A , Figure 4B The arrangement of discrete positions may be stored in a memory of the machine, typically with respect to a reference line r.
[0158] Discrete positions are particularly advantageous for encoding parameters that can only have specific values, such as one or more of a phase number, an expiration date, a container identifier. Taking encoding as an example, there are n discrete positions 102, each of which encodes a digit by the absence or presence of a data unit 82. Thus for: three encoding positions 102, there are 2 3 That is, 8 variables; four encoding positions 102, there are 2 4That is 16 variables. The above variables can be used to encode: a specific number of phases, such as 8 or 16 phases; the validity period, such as 12 variables for months and an appropriate number of variables from the product release dates in a year.
[0159] Methods for handling code
[0160] The code processing subsystem 18 processes the code 74 to determine the preparation information by: obtaining a digital image of the code using the image capture device 106; processing the digital data of the digital image using the image processing device 92 to decode the information, especially the preparation information; and outputting the decoded information using the output device 114.
[0161] The processing of the digital data comprises: locating the cells 82, 86 in the code; identifying the reference cell 86 and thereby determining a reference point and / or a reference line r; determining, for each data cell 82 on the coded line, the distance d from the reference line r along said line D; converting the predetermined distance d into a parameter V p Determine the location of the discrete locations 102 and determine whether they include the parameters V derived therefrom p Or parameter V p The data unit 82 of the characteristic can be encoded by the data unit 82 of the encoding line D.
[0162] Locating cells 82, 86 in the code is typically accomplished by converting the pixels represented in the digital data into a one-bit two-tone black and white image, i.e., a binary image, whereby the associated conversion parameters are set to distinguish the cell from its surrounding base. Alternatively, an oversampled binary image sensor may be used as the image capture device 106 to provide a binary image. The location of the cell center may be determined by feature extraction techniques such as a circular Hough transform. Cells of varying sizes may be determined by pixel integration.
[0163] Identifying the reference cells 86 and thereby determining the reference point and / or reference line r; is typically accomplished by identifying one or a combination of the following: cells having a linear arrangement; cells spaced apart by a predetermined distance and / or a maximum distance; cells having a specific shape or size or color; cells having a specific configuration. Typically, the orientation identifier 88 of the reference line r is initially determined by identifying one or a combination of the following: a reference cell 86 having a different shape or size or color than other reference cells; a reference cell 86 not associated with a data cell 82 on the encoding line D; a plurality of reference cells having a specific configuration. The reference line r can then be determined by identifying a reference cell 86 that is a predetermined distance / maximum distance away from it or by identifying a specific alignment of the reference cells. A specific configuration can be identified by searching for the configuration, such as cells having a polygonal arrangement, from which a reference point can be extracted, for example, by finding the center of the configuration or another specific geometric point.
[0164] Determining the reference point and the reference line r when processing the code enables the orientation of the code in the captured image to be determined before decoding the information. Thus, the image of the code can be captured in any orientation without affecting the decoding accuracy. Therefore, the container carrying the code does not need to be aligned in a specific orientation relative to the image capture device, thereby simplifying the construction of the machine and the handling of the container in the machine. In this sense, it is not necessary to require the consumer to orient the container before inserting it into the food or beverage preparation device. Therefore, the use of the container carrying the code according to the present invention is user-friendly.
[0165] Determining for each data unit 82 the distance d along the associated encoding line D from the associated reference position 84 of the reference line r can be achieved by determining the distance from the center of the data unit 82 (or if metadata is encoded by the second embodiment, the position where a line from the center of the data unit intersects the encoding line D orthogonally) to the associated reference position 84. This is conveniently achieved by a product having: the arc angle between the reference line r and radial lines and the data unit 82; and the total circumference of the encoding line D (defined by the associated reference position 84). Alternatively, determining the distance d may include determining an angular distance, i.e., using the arc angle between the reference line r and radial lines and the data unit 8 (usually at its center), whereby the radial distance can be used to identify the data unit relative to the reference position. The latter is preferred because fewer processing steps are required; in addition, no precise radial distance is required, so that supplementation of optional metadata encoding is eliminated.
[0166] The determined distance d may be corrected using the magnification of the image capture device 106 and / or the distance of the image capture device from the code 74 when the image was captured.
[0167] Convert the predetermined distance d into parameter V p The actual value of V may include using stored information (e.g., information stored on memory subsystem 112) that defines the parameter V p and the distance d. This step can be performed at the image processing device 92 or the processing subsystem 50. The relationship can be linear, for example, V p ∝d. Alternatively, it can be nonlinear. Nonlinear relationships can include logarithmic relationships, such as V p ∝log(d), or exponential relations, such as V p ∝e d . Such a relationship is particularly advantageous when the accuracy of a parameter is very important at lower values and less important at higher values, or vice versa, for example, for the second embodiment of the container handling subsystem 14, the accuracy of the angular velocities W1, W2 of the mixing unit is more important at low angular velocities than at high angular velocities, so an exponential relationship is preferred.
[0168] As the circumference of the encoding line D decreases toward the center of the annular encoding area 90 (i.e., the location of the orientation identifier 88 in the illustrated example), the accuracy of the determined distance d is lower. Advantageously, parameters that require a higher level of accuracy can be arranged far from the center, and those parameters that do not require a high level of accuracy can be arranged near the center. For example, for the second embodiment of the container handling subsystem 14, the accuracy of the angular velocities W1, W2 of the mixing unit is more important, so they are located far from the center, while the accuracy of the cooling power percentage is less important, so it is located near the center.
[0169] The above-mentioned metadata about the parameters can be determined according to the encoding implementation scheme, for example: in the first implementation scheme, for the associated data unit 82, the unit length is determined by feature extraction or the total area is determined by pixel integration; in the second implementation scheme, for the associated data unit 82, the offset relative to the encoding line D is determined by feature extraction; in the third and fourth implementation schemes, the center of the associated data unit is determined by feature extraction.
[0170] According to an embodiment of the code, each data unit 82 encoding a distance d along a corresponding coding line D encodes a value V of another parameter for preparing the desired food / beverage p For example, each data unit 82 encoding a distance d along the encoding line D encodes the value of a processing parameter, such as processing temperature, processing time, liquid volume, mixing speed, etc. for a particular preparation stage, which is different from the processing parameters whose values are encoded by other such data units 82 of the code.
[0171] Determining the locations of discrete locations 102A-C may include using the identified locations of reference line r. It may also include using: stored information (i.e., information stored on memory subsystem 112), such as the presence of a known number of discrete locations 102, which are arranged at known locations relative to the location of reference line r; and / or the arrangement of data units 82 along encoding line D. In one embodiment, the location of the data units along the encoding line may encode the number and arrangement of the discrete locations (e.g., a particular location of the data units 82 encodes a particular configuration of the discrete locations 102). Determining whether a discrete location includes a data unit 82 may include feature extraction or other known techniques. Parameter V is derived from the data unit 82 present at the discrete location 102. p This may include using stored information (eg, a lookup table stored on the memory subsystem 112) to decode one or more encoded parameters.
[0172] Machine and container attachments
[0173] The attachment device 94 may include the above-mentioned code 74 arranged on its surface, and the attachment device 94 is configured for attachment to the above-mentioned beverage or food preparation machine 4. Examples of attachment devices are shown in Figure 6 , the attachment device comprises: a carrier 96 for carrying a code 74; an attachment device 98 for attaching the carrier 96 to the machine 4, between the image capture device 106 of the machine 4 and the container 6 received by the machine 4 and close to the container. In this way, the image of the code 74 can be captured by the image capture device 106 as if it were attached to the container 6. Examples of suitable attachments include: an extension attached to the carrier, the carrier including an adhesive strip (as shown); a mechanical fastener such as a clamp, a bolt or a bracket. Such an attachment device 94 is particularly suitable for the following situations: only one type of container 6 is used on the machine 4; cleaning or other maintenance-related operations are required.
[0174] An alternative attachment device 100 may include the above-described code 74 disposed on a surface thereof, the attachment device 100 being configured for attachment to any of the above-described containers 6. An example of an attachment device 100 is shown in Figure 7, the attachment device includes: a carrier 96 for carrying the code 74; an attachment 98 for attaching the carrier 96 to the container 6. In this way, the image of the code 74 can be captured by the image capture device 106 as if it is formed integrally on the container 6. Examples of suitable attachments include: adhesive tape (as shown); mechanical fasteners such as clamps, bolts or brackets. Such an attachment device 94 is particularly suitable for the following situations: applying an end-user defined formula to the container 6; requiring cleaning or other maintenance-related operations; forming the code 74 on a substrate separated from the container 6 and attaching the substrate to the container is more cost-effective.
[0175] Example 1
[0176] According to the present embodiment, the beverage preparation machine is a coffee machine adapted to prepare coffee and / or coffee-based beverages by brewing ground coffee contained in a container, such as a capsule or a sachet.
[0177] Each container comprises a code printed on its outer surface, which code is read by the image capture device of the machine. The code is preferably printed by a laser engraving cylinder during the production of the laminate used to make the container. The code is preferably printed repeatedly on the container, preferably in a mosaic. The code is for example printed repeatedly on the entire surface or on a part of the surface of the container, so that when the container is correctly inserted into the machine, the image capture device of the coffee machine can capture an image of at least one code, or a part of the code enables an image processing device to reconstruct the code, regardless of the specific orientation of the container in the machine.
[0178] The code comprises a reference portion comprising three reference cells arranged in an isosceles right triangle configuration, i.e., the reference cells are arranged at the vertices of a right triangle having two equal legs. The reference cells define a reference point located at the center of a circumscribed circle of the triangle, i.e., at the center of a circle passing through all the vertices of the triangle, i.e., passing through the centers of the three reference cells arranged at said vertices. A reference line is defined as extending from the reference point in a direction parallel to the legs of the triangle, e.g., extending away from the base of the "L" shape in a direction parallel to the upright portion of the "L" shape formed by the three reference cells. The code also comprises a data portion comprising an annular coding area arranged around the reference portion and comprising four concentric circular coding lines centered on the reference point, on which data cells can be arranged to encode information.
[0179] The reference cells and the data cells preferably have the same shape, size and color, and are points with a diameter of 60 μm, for example. The length of each leg of the right triangle of the reference portion is, for example, 125 μm, i.e., the centers of two reference cells arranged at opposite ends of the same leg of the right triangle are 125 μm apart. Experimental results using an image capture device based on Sonix SN9S102 have shown that when using such a size of cells and such a distance between reference cells, in order to avoid confusing the data cells of the data portion and the reference cells of the right triangle configuration, two adjacent data cells on the encoding line are preferably separated by a straight-line distance of at least 250 μm. At a radius of R μm, the straight-line distance of 250 μm corresponds to the angle formed between the center of the encoding line and two adjacent data cells:
[0180]
[0181] The four coding lines have radii of R1=255μm, R2=375μm, R3=495μm and R4=615μm, respectively. Therefore, the shortest straight line distance of 250μm between two adjacent points on the same coding line corresponds to the minimum central angles of α1=58.71°, α2=38.94°, α3=29.25° and α4=23.45°, respectively.
[0182] Reference dots, reference lines and coding lines are not printed on the container. When printing the code, only the reference cells and the data cells, i.e. the dots, are printed. Reference dots, reference lines and coding lines are construction elements used when encoding the information in order to determine the location of the data cells relative to the reference cells, which are then printed on the container and are used when decoding the preparation information by the code processing unit of the coffee machine in order to retrieve the value of the parameter encoded by the data cell.
[0183] The encoded preparation information preferably comprises beverage volume and temperature as well as time and pressure information, for example. The values of the parameters encoded in the code printed on a particular container are specific to the contents of the container, i.e. the values of the parameters encoded on a particular container have been selected to optimize the coffee machine's processing of the material contained in the container, e.g. a particular type of ground coffee, in order to obtain the best possible results.
[0184] The value of the temperature parameter is encoded, for example, on the innermost encoding line with a radius of R1=255 μm. The temperature value may vary, for example, between 0°C and 100°C. The temperature value is encoded, for example, within an available angular range of 360°-60°=300°, to avoid any risk of confusing the minimum possible value and the highest possible value in the range when decoding the encoded value, for example, within an available range extending from an angular distance of 30° from the reference line to an angular distance of 330° from the reference line. The temperature is, for example, linearly encoded, wherein the value of the encoded volume parameter is proportional to the angular distance from the reference line, i.e., the distance from the reference line along the encoding line. A data unit arranged, for example, at an angular distance of 30° from the reference line encodes a temperature value of 0°C, a data unit arranged at an angular distance of 180° from the reference line encodes a temperature value of 50°C, and a data unit arranged at an angular distance of 330° from the reference line encodes a temperature value of 100°C. It will be appreciated by those skilled in the art that the data unit may be arranged at any position within the available angular range of the first encoding line, so as to correspondingly encode the value of any desired temperature parameter within the defined value range.
[0185] The value of the volume parameter is, for example, encoded on a second encoding line with a radius of R2 = 375 μm. The volume value may vary between 0 mL and 320 mL. The volume value is, for example, linearly encoded within an available angular range of 360°-40°=320° to avoid any risk of confusing the minimum possible value and the highest possible value within the range when decoding the encoded value. The volume value is, for example, encoded within a range extending from an angular distance of 20° from a reference line to an angular distance of 340° from the reference line, wherein a data unit arranged, for example, at an angular distance of 20° from the reference line encodes a volume value of 0 mL, a data unit arranged at an angular distance of 70° from the reference line encodes a volume value of 50 mL, and a data unit arranged at an angular distance of 340° from the reference line encodes a volume value of 320 mL. Those skilled in the art will appreciate that the data unit may be arranged at any position within the available angular range of the second encoding line so as to correspondingly encode the value of any desired volume parameter within a defined value range.
[0186] A third coding line with a radius of R3=495 μm is used, for example, to encode the cut-off pressure value at which the pump injects water into the container when brewing ground coffee contained in the container. The pressure value may vary between 10 bar and 20 bar. The cut-off pressure value is, for example, linearly encoded within a usable angular range of 360°-30°=330° to avoid any risk of confusing the minimum possible value with the maximum possible value within the range when decoding the encoded value. The cut-off pressure value is, for example, encoded within a range extending from an angular distance of 15° from the reference line to an angular distance of 345° from the reference line, wherein a data cell arranged, for example, at an angular distance of 15° from the reference line encodes a cut-off pressure value of 10 bar, a data cell arranged at an angular distance of 180° from the reference line encodes a cut-off pressure value of 15 bar, and a data cell arranged at an angular distance of 345° from the reference line encodes a cut-off pressure value of 20 bar. Of course, a person skilled in the art will understand that different value ranges may be defined depending on the characteristics of the pump of the machine. Furthermore, the data cells may be arranged at any position within the available angular range of the third encoding line in order to correspondingly encode the value of any desired cut-off pressure parameter within the defined value range.
[0187] Optionally, the fourth coding line can be used to encode a duration, for example a maximum coffee preparation duration. The duration value range can be, for example, 0s to 330s. The duration value is, for example, linearly encoded within the available angular range of the fourth coding line of 360°-30°=330° to avoid any risk of confusing the minimum possible value and the highest possible value within the range when decoding the encoded value. The duration value is, for example, encoded within a range extending from an angular distance of 15° from the reference line to an angular distance of 345° from the reference line, wherein a data unit arranged, for example, at an angular distance of 15° from the reference line encodes a duration of 0s, a data unit arranged at an angular distance of 110° from the reference line encodes a duration value of 95s, and a data unit arranged at an angular distance of 345° from the reference line encodes a duration value of 330s. It will be appreciated by those skilled in the art that the data units can be arranged at any position within the available angular range of the fourth coding line in order to correspondingly encode the value of any desired duration parameter within the defined value range.
[0188] The code also includes discrete positions at predetermined known locations defined relative to a reference line and / or reference point of the code. The code includes, for example, four discrete positions located near each corner of a square planar figure of the code, wherein the discrete positions are located on the planar figure of the code and outside the outermost encoding lines, similar to the example in Figure 4A and Figure 4B102. Thus, the code comprises, for example, sixteen discrete positions, each of which may or may not include a data unit, thereby allowing encoding of 16 bits of digital information, wherein the presence of a data unit corresponds, for example, to a "1", and the absence of a data unit corresponds to a "0".
[0189] The 16 bits are used, for example, to encode information about the material contained in the container, such as type of coffee, origin, roasting level, etc.
[0190] In an embodiment, the coffee machine is suitable for preparing coffee in several stages, such as a pre-wetting stage, a high-pressure extraction stage, and a low-pressure flow stage, wherein each stage requires different values of temperature, volume, pressure, and duration parameters. The parameters of each stage are then preferably encoded separately on different codes, which are then printed onto the container in a mosaic manner. In this embodiment, at least a portion of the discrete positions of each code, for example, two discrete positions per code, are used to encode the number of stages whose parameters are encoded in a particular code. The codes for the successive stages are then printed, for example, onto the entire surface or surface portion of the container, wherein the first column includes a repetitive code encoding the parameters for the first stage, the second column contains a repetitive code encoding the parameters for the second stage, the third column contains a repetitive code encoding the parameters for the third stage, and so on.
[0191] When the container is inserted into the coffee machine, the image capture device of the machine captures an image of the surface of the container. The digital image data is provided to an image processing device, which finds a point configuration corresponding to an equiangular triangle configuration of a reference portion. The image processing device then calculates the position of the reference points and reference lines, and determines the position of the reference line relative to each data unit, each of which exists in a plane figure centered on the configuration, so as to retrieve the encoded information. For each of the data units existing on the first encoding line, the second encoding line, the third encoding line and the fourth encoding line, the image processing device measures its angular distance, or the distance from the reference line along the encoding line, so as to determine the value of the corresponding encoded parameter. The image processing device also determines the location of discrete positions relative to the reference line, and analyzes the image data corresponding to these positions to determine whether the data unit exists or not, thereby retrieving the digitally encoded information. The values of the retrieved parameters and the decoded information are then transmitted to the container processing subsystem of the machine so that the coffee machine can process the container accordingly. If the captured digital image does not include any overall plane figure of the code, the image processing device will reconstruct the plane figure using fragments of several adjacent codes captured in the image. Optionally, the code processing subsystem uses two or more images of the container surface and processes the image data of multiple codes to perform error checking and / or correction. The two or more images are captured by two or more image capture devices and / or by moving the image capture device relative to the container. Similarly, in the case where parameters for several preparation stages are encoded in several codes, the code processing subsystem uses several images of the container surface to obtain at least one image of each different code.
[0192] Example 2
[0193] According to this second embodiment, the beverage preparation machine is a machine suitable for preparing various beverages from materials contained in one or more containers, typically two containers. The materials mainly include soluble ingredients contained in a sachet and / or ingredients to be brewed, such as ground coffee or tea leaves. The machine allows, for example, the preparation of coffee and milk-based beverages, such as latte, cappuccino, etc., milk, oat milk or tea beverages, optionally with additives such as superfoods, vegetables, fruits, nuts, cereals, vitamins, etc., tea, or any combination thereof. The machine comprises a container handling subsystem, which comprises two dissolving units, or a dissolving unit and a brewing unit, or a combination thereof, so as to prepare a beverage by processing two containers simultaneously present in the container handling subsystem of the machine, either simultaneously or sequentially. The machine preferably comprises at least one image capture device in each dissolving unit or brewing unit, so as to capture at least a portion of the surface of the container inserted in said unit.
[0194] Each container comprises a code printed on its outer surface, which code is read by an image capture device corresponding to the machine. The code is preferably printed by means of a laser engraving cylinder during the production of the laminate material used to prepare the container. The code is preferably printed repeatedly on the container, preferably in a mosaic. The code is for example printed repeatedly on the entire surface or on a part of the surface of the container, so that when the container is correctly inserted into the machine, the image capture device corresponding to the machine can capture an image of at least one code, or a part of the code enables an image processing device to reconstruct the code, regardless of the specific orientation of the container in the machine.
[0195] The code comprises a reference portion comprising three reference cells arranged in an isosceles right triangle configuration, i.e., the reference cells are arranged at the vertices of a right triangle having two equal legs. The reference cells define a reference point located at the center of a circumscribed circle of the triangle, i.e., at the center of a circle passing through all the vertices of the triangle, i.e., passing through the centers of the three reference cells arranged at said vertices. A reference line is defined as extending from the reference point in a direction parallel to the legs of the triangle, e.g., extending away from the base of the "L" shape in a direction parallel to the upright portion of the "L" shape formed by the three reference cells. The code also comprises a data region comprising an annular coding portion arranged around the reference portion and comprising four concentric circular coding lines centered on the reference point, on which data cells can be arranged to encode information.
[0196] The reference cells and the data cells preferably have the same shape, size and color, and are points with a diameter of 60 μm, for example. The length of each leg of the right triangle of the reference portion is, for example, 125 μm, i.e., the centers of two reference cells arranged at opposite ends of the same leg of the right triangle are 125 μm apart. Experimental results using an image capture device based on Sonix SN9S102 have shown that when using such a size of cells and such a distance between reference cells, in order to avoid confusing the data cells of the data portion and the reference cells of the right triangle configuration, two adjacent data cells on the encoding line are preferably separated by a straight-line distance of at least 250 μm. At a radius of R μm, the straight-line distance of 250 μm corresponds to the angle formed between the center of the encoding line and two adjacent data cells:
[0197]
[0198] The four encoding lines have radii of R1=255μm, R2=375μm, R3=495μm and R4=615μm, respectively. Therefore, the shortest straight line distance between two adjacent points of 250μm corresponds to the minimum central angles of α1=58.71°, α2=38.94°, α3=29.25° and α4=23.45°, respectively.
[0199] Reference dots, reference lines and coding lines are not printed onto the container. When printing the code, only the reference cells and the data cells, i.e. the dots, are printed. Reference dots, reference lines and coding lines are construction elements used when encoding information in order to determine the location of the data cells relative to the reference cells, which are then printed onto the container and used when the information is prepared for decoding by the code processing unit of the machine in order to retrieve the value of the parameter encoded by the data cell.
[0200] The encoded preparation information preferably comprises the volume and temperature of the mixing or brewing liquid, typically water, to optimally process the material contained in the container, and e.g. time, pressure and / or flow information for successive processing stages. The values of the parameters encoded in the code printed on a particular container are specific to the contents of the container, i.e., the values of the parameters encoded on a particular container have been selected to optimize the machine's processing of the material contained in the container, e.g. a particular type of soluble ingredient, in order to obtain the best possible result.
[0201] The value of the temperature parameter is encoded, for example, on the innermost encoding line with a radius of R1=255 μm. The temperature value may vary, for example, between 0°C and 100°C. The temperature value is encoded, for example, within an available angular range of 360°-60°=300° to avoid any risk of confusing the minimum possible value and the highest possible value in the range when decoding the encoded value, for example, encoded within an available range extending from an angular distance of 30° from the reference line to an angular distance of 330° from the reference line. The temperature is, for example, linearly encoded, in which the value of the encoded volume parameter is proportional to the angular distance from the reference line, i.e., the distance from the reference line along the encoding line. A data unit arranged, for example, at an angular distance of 30° from the reference line encodes a temperature value of 0°C, a data unit arranged at an angular distance of 180° from the reference line encodes a temperature value of 50°C, and a data unit arranged at an angular distance of 330° from the reference line encodes a temperature value of 100°C. It will be understood by those skilled in the art that the data unit may be arranged at any position within the available angular range of the first encoding line in order to correspondingly encode the value of any desired temperature parameter within the defined value range.
[0202] The value of the volume parameter is, for example, encoded on a second encoding line with a radius of R2 = 375 μm. The volume value may vary between 0 mL and 320 mL. The volume value is, for example, linearly encoded within an available angular range of 360°-40°=320° to avoid any risk of confusing the minimum possible value and the highest possible value within the range when decoding the encoded value. The volume value is, for example, encoded within a range extending from an angular distance of 20° from a reference line to an angular distance of 340° from the reference line, wherein a data unit arranged, for example, at an angular distance of 20° from the reference line encodes a volume value of 0 mL, a data unit arranged at an angular distance of 70° from the reference line encodes a volume value of 50 mL, and a data unit arranged at an angular distance of 340° from the reference line encodes a volume value of 320 mL. Those skilled in the art will appreciate that the data unit may be arranged at any position within the available angular range of the second encoding line so as to correspondingly encode the value of any desired volume parameter within a defined value range.
[0203] A third coding line with a radius of R3=495 μm is used to encode the cut-off pressure value at which the pump injects water into the container when diluting and / or brewing the material contained in the container. The pressure value can vary between 0 bar and 20 bar. The cut-off pressure value is for example linearly encoded within a usable angular range of 360°-30°=330° to avoid any risk of confusing the minimum possible value with the maximum possible value in the range when decoding the encoded value. The cut-off pressure value is for example encoded within a range extending from an angular distance of 15° from the reference line to an angular distance of 345° from the reference line, wherein the data cells arranged for example at an angular distance of 15° from the reference line encode a cut-off pressure value of 0 bar, the data cells arranged at an angular distance of 180° from the reference line encode a cut-off pressure value of 10 bar, and the data cells arranged at an angular distance of 345° from the reference line encode a cut-off pressure value of 20 bar. Of course, a person skilled in the art will understand that different value ranges may be defined depending on the characteristics of the pump of the machine. Furthermore, the data cells may be arranged at any position within the available angular range of the third encoding line in order to correspondingly encode the value of any desired cut-off pressure parameter within the defined value range.
[0204] Optionally, the fourth coding line can be used to encode a duration, such as the maximum beverage preparation duration. The duration value range may be, for example, 0s to 330s. The duration value is, for example, linearly encoded within the available angular range of the fourth coding line of 360°-30°=330° to avoid any risk of confusing the minimum possible value and the highest possible value within the range when decoding the encoded value. The duration value is, for example, encoded within a range extending from an angular distance of 15° from the reference line to an angular distance of 345° from the reference line, wherein a data unit arranged at an angular distance of 15° from the reference line, for example, encodes a duration of 0s, a data unit arranged at an angular distance of 110° from the reference line encodes a duration value of 95s, and a data unit arranged at an angular distance of 345° from the reference line encodes a duration value of 330s. It will be appreciated by those skilled in the art that the data unit may be arranged at any position within the available angular range of the fourth coding line so as to correspondingly encode the value of any desired duration parameter within the defined value range.
[0205] The code also includes discrete positions at predetermined known locations defined relative to a reference line and / or reference point of the code. The code includes, for example, four discrete positions located near each corner of a square planar figure of the code, wherein the discrete positions are located on the planar figure of the code and outside the outermost encoding lines, similar to the example in Figure 4A and Figure 4B 102. Thus, the code comprises, for example, sixteen discrete positions, each of which may or may not include a data unit, thereby allowing encoding of 16 bits of digital information, wherein the presence of a data unit corresponds, for example, to a "1", and the absence of a data unit corresponds to a "0".
[0206] The 16 bits are used, for example, to digitally encode information about the material contained in the container, such as type of milk, coffee or additives, origin, roasting level, flavor, etc.
[0207] In an embodiment, the machine is suitable for preparing beverages by processing one or more containers in several stages, wherein each stage requires different values of temperature, volume, pressure and duration parameters. The parameters of each stage are preferably encoded separately on codes of different executions, which are printed on the container in a mosaic manner. In this embodiment, at least a portion of the discrete positions of each code, for example, two discrete positions of each code, are used to encode the number of stages whose parameters are encoded in a specific code. The codes of the relevant consecutive stages are then, for example, printed on the entire surface or surface portion of the container, wherein the first column includes a repetitive code encoding the parameters for the first stage, the second column contains a repetitive code encoding the parameters for the second stage, the third column contains a repetitive code encoding the parameters for the third stage, etc.
[0208] When one or two containers are inserted into the machine, the image capture device of the machine captures an image of the surface of the container. The digital image data is provided to an image processing device, which finds the point configuration corresponding to the equiangular triangle configuration of the reference portion in each image. The image processing device then calculates the position of the corresponding reference points and reference lines, and determines the position of the corresponding reference line relative to each data unit, each of which exists in the plane figure of each code centered on the configuration, so as to retrieve the value of the parameter of the code for each container. For each of the data units on the first coding line, the second coding line, the third coding line and the fourth coding line of each code of each container, the image processing device measures its angular distance, or the distance from the reference line along the coding line, so as to determine the value of the corresponding coded parameter. The image processing device also determines the location of discrete positions relative to the reference line for each code of each container, and analyzes the image data corresponding to these positions to determine whether the data unit is present or not, thereby retrieving the digitally coded information. The values of the retrieved parameters and the decoded information for each code, such as for each preparation stage and for each container, are transmitted to the container processing subsystem of the machine for the machine to process the container accordingly. If the captured digital image does not include any overall planar graphics of the code, the image processing device will reconstruct the planar graphics using fragments of several adjacent codes captured in the same image. Optionally, the code processing subsystem uses two or more images of each container surface and processes the image data of multiple corresponding codes in order to perform error checking and / or correction. The two or more images of each container are captured by two or more image capture devices per processing unit and / or by moving the image capture device relative to the corresponding container. Similarly, in the case where the parameters for several preparation stages are encoded in several codes, the code processing subsystem uses several images of each container surface in order to obtain at least one image of each different code, thereby processing one or more containers in one or more stages accordingly.
[0209] Part Number List
[0210] 2 Beverage or food preparation systems
[0211] 4 Beverage or food preparation machines
[0212] 10 Shell
[0213] 108 base
[0214] 110 Main Body
[0215] 14Container handling subsystem
[0216] 12 Fluid Source
[0217] 20 Storage
[0218] 22 Fluid Pump
[0219] 24 Fluid Heat Exchanger
[0220] Implementation 1
[0221] 26 Extraction Units
[0222] 28 Injection Head
[0223] 30 capsule holder
[0224] 32 capsule holder loading system
[0225] 34A Capsule Insertion Channel
[0226] 34B capsule discharge channel
[0227] Implementation 2
[0228] 40 stirring units
[0229] 42 Accessories Product Unit
[0230] 44Heat exchanger
[0231] 46 Receptacle support
[0232] 16 Control subsystem
[0233] 48 User Interface
[0234] 50 Processing subsystem
[0235] 112 Memory Subsystem
[0236] 116 Preparation Procedure
[0237] 52 sensors (temperature, receptacle level, flow rate, torque, speed)
[0238] 54 Power Supply
[0239] 56 Communication interface
[0240] 18 Code Processing Subsystem
[0241] 106 Image Capture Device
[0242] 92 Image processing equipment
[0243] 114 Output devices
[0244] 6 containers (capsules / receptacles / pouches)
[0245] Capsule / Container
[0246] 58 Main part
[0247] 60 Capping part
[0248] 62 flange part
[0249] Capsule
[0250] 64 pieces of material
[0251] 66 Internal volume
[0252] 68 Entrance
[0253] Exit 70
[0254] 74 code
[0255] 104 Plane Graphics
[0256] Unit 76
[0257] 78 Data section
[0258] 90 coding region
[0259] 82 data units
[0260] 102 discrete locations
[0261] 80 Reference section
[0262] 84 Reference position
[0263] 86 reference units
[0264] 88 Orientation Identifier
Claims
1. A container for a beverage or food preparation machine, the container being used to contain beverage or food material and comprising a code encoding preparation information, the code comprising a reference portion and a data portion, The reference portion comprises an arrangement of at least two reference cells defining a reference line r; The data part includes: data units arranged on a coding line D, the coding line intersecting the reference line r at an intersection, the data units being arranged along the coding line D at a distance d from the intersection, the distance d being used as a variable to at least partially encode a parameter of the preparation information, whereby the coding line D is circular and arranged such that its tangent is orthogonal to the reference line r at the intersection; and one or more discrete positions, the discrete positions being arranged along the coding line D at a known location relative to the reference line r and / or relative to the arrangement of the data units so as to be operationally close to the reference line r, whereby the discrete positions include or do not include data units as a variable to at least partially encode a parameter of the preparation information, and Wherein, the discrete positions are located on the plane pattern of the code and outside the encoding line.
2. The container according to claim 1, wherein the code comprises a plurality of coding lines D, the coding lines: being arranged concentrically; intersecting the reference line r at different positions; and comprising correspondingly arranged data units, and in, The discrete locations are located on the planar pattern of the code and outside the outermost encoding lines.
3. A container according to claim 1 or 2, wherein adjacent discrete positions are arranged equidistantly around one or more circular lines, and the one or more circular lines are concentric with the encoding line D.
4. A container according to claim 1 or 2, wherein one or more encoding lines D are arranged in a rectangular plane figure, and the discrete positions are arranged within the plane figure and are proximal to one or more vertices thereof.
5. The container according to claim 1 or 2, wherein the code has a circumference length of 600 μm - 1600 μm.
6. The container according to claim 1 or 2, wherein the code is formed on a surface of the container or on an attachment device attached to the container.
7. The container of claim 1 or 2, wherein the container comprises one of: a capsule; a pouch; a receptacle for an end user to consume a beverage or food therefrom; a collapsible container.
8. A beverage or food preparation system, comprising a beverage or food preparation machine and a container according to any one of the preceding claims, the preparation machine comprising: a container handling subsystem for receiving the container and preparing a beverage or food therefrom; a code processing subsystem operable to: obtain a digital image of the code of the container; process the digital image to decode the encoded preparation information; a control subsystem operable to control the container handling subsystem using the decoded preparation information, The code processing subsystem is configured to decode the coded preparation information by: locating the reference unit and the data unit of the code; identifying the reference unit and determining the reference line r therefrom; determining the distance d of the data unit from the reference line r along the coding line D; and using the parameter V p The stored relationship between the distance d converts the distance d into the parameter V p Determine the location of the one or more discrete locations, determine whether the discrete location includes the parameter V derived therefrom p data unit.
9. An attachment device configured for attachment to a container for a beverage or food preparation machine, the container for containing beverage or food material, the attachment device comprising: A carrier, the carrier carrying a code, the code comprising: Reference section and data section, The reference portion comprises an arrangement of at least two reference cells defining a reference line r; The data portion comprises: data units arranged on a coding line D, the coding line intersecting the reference line r at an intersection, the data units arranged at a distance d from the intersection along the coding line D, the distance d being used as a variable to at least partially encode parameters of the preparation information, whereby the coding line D is circular and arranged so that its tangent is orthogonal to the reference line r at the intersection; and one or more discrete positions, the discrete positions being arranged along the coding line D at known locations relative to the reference line r and / or relative to the arrangement of the data units to be operationally close to the reference line r, whereby the discrete positions include or do not include data units as a variable to at least partially encode parameters of the preparation information, and wherein the discrete positions are located on the plane pattern of the code and outside the coding line; An attachment piece is used to attach to the container.
10. An attachment device configured for attachment to a beverage or food preparation machine, the attachment device comprising: A carrier, the carrier carrying a code, the code comprising: Reference section and data section, The reference portion comprises an arrangement of at least two reference cells defining a reference line r, the data portion comprises: data cells arranged on a coding line D, the coding line intersecting the reference line r at an intersection, the data cells being arranged along the coding line D at a distance d from the intersection, the distance d being used as a variable to at least partially encode a parameter of the preparation information, whereby the coding line D is circular and arranged such that its tangent is orthogonal to the reference line r at the intersection; and one or more discrete positions, the discrete positions being arranged along the coding line D at known locations relative to the position of the reference line r and / or relative to the arrangement of the data cells so as to be operationally close to the reference line r, whereby the discrete positions include or do not include data cells as a variable to at least partially encode a parameter of the preparation information, and wherein the discrete positions are located on the plane pattern of the code and outside the coding line; An attachment for attaching to the beverage or food preparation machine.
11. A method of encoding information, the method comprising forming a code on: Used on a container of a beverage or food preparation machine, the container is used to contain beverage or food materials; or The method further comprises: attaching to an attachment device for attaching to the container or a beverage or food preparation machine; arranging at least two reference cells to define a reference line r of the reference portion; The parameters of the preparation information are at least partially encoded with the data part of the code by arranging data units on a coding line D, the coding line intersecting the reference line r at an intersection point, the data units being arranged at a distance d extending from the intersection point along the coding line D as variables of the coding, Thus, the encoding line D is circular and arranged so that its tangent is orthogonal to the reference line r at the intersection point; and encoding at least partially the parameters of the preparation information with one or more discrete positions, the discrete positions being arranged along the coding line D at known locations relative to the reference line r and / or relative to the arrangement of data units so as to be operatively close to the reference line r, wherein the discrete positions include or do not include data units as variables to at least partially encode the parameters of the preparation information, and Wherein, the discrete positions are located on the plane pattern of the code and outside the encoding line.
12. A method for preparing a beverage or food using the beverage or food preparation system according to claim 8, the method comprising: obtaining a digital image of the code of the container; processing the digital image to decode the encoded preparation information; Using the preparation information to control the preparation process, Wherein decoding the coded preparation information comprises: locating the reference unit and the data unit of the code; identifying the reference unit and determining the reference line r therefrom; Determine the distance d of the data unit from the reference line r along the encoding line D; and use the parameter V p The stored relationship between the distance d converts the distance d into the parameter V p Determine the location of the one or more discrete locations, determine whether the discrete location includes the parameter V derived therefrom p data unit.
13. Use of a code of a container according to any one of claims 1 to 7 for encoding preparation information, the code being formed on: for use on a container of a beverage or food preparation machine, the container being used to contain beverage or food material; or Attachment means for attachment to said container or to said beverage or food preparation machine.
14. A non-transitory computer readable medium comprising a computer program executable on one or more processors of a code processing subsystem of a beverage or food preparation machine, the computer program executable to process a digital image of a code of a container according to any one of claims 1 to 7 to decode the encoded preparation information, wherein the decoding comprises: Locating the reference unit and the data unit of the code; identifying the reference unit and determining a reference line r therefrom; Determine the distance d of the data unit from the reference line r along the encoding line D; and use the parameter V p The stored relationship between the distance d converts the distance d into the parameter V p Determine the location of the one or more discrete locations, determine whether the discrete location includes the parameter V derived therefrom p data unit.
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
Device and method using centrifugation for extracting a liquid and heat loss compensating means
EP2393404A1
Capsule system for the preparation of beverages by centrifugation
EP2470053A1
Capsule for the preparation of a beverage comprising an identification code
EP2525691A1