The present invention relates to a method of positioning embroidery elements in a spaced relationship along a curve on sewing with a processor-controlled sewing machine on a fabric. The invention further relates to a computer program product coded with an algorithm for performing said method.
In embroidering a fabric using the technology currently available it is possible to use ready designed embroidery elements which are stored in a memory, either in the sewing machine or an external memory unit. Such embroidery elements can be combined and programmed to succeed one another in order to generate a desired pattern. Examples of the combination of embroidery elements are given in the document U.S. Pat. No. 4,352,334, which discloses a method of combining embroidery elements, in this case embroidered letters, so that these follow a predefined curve. By specifying certain data, such as the radius of the curve, for example, the machine then embroiders a sequence of embroidery elements along the predefined curve, in which the embroidery elements are slanted in relation to one another in order to follow the curve described. The information for the sewing machine memory on the reciprocal relationship of the embroidery elements is in this case supplied externally by user-input and is not derived from data associated with the embroidery elements themselves. Another document U.S. Pat. No. 6,202,001 describes a method of storing data on a sewing pattern in embroidery blocks, which recur cyclically in a sequence so as to produce a desired embroidery pattern.
Advanced embroidery sewing machines provide tools for creating new designs by combining existing designs and/or patterns forming embroidery elements. Said embroidery elements, herein also called Stitch Data Objects and abbreviated SDO, contain stitch data for e.g. a pattern, a pattern sequence, a design, an embroidery character or a sew character. The SDOs may be freely combined by an operator or by a machine controlled algorithm. The machine controlled algorithm may as an example position the SDOs on a circle or a sine curve. When using prior art algorithms for positioning the SDOs on an arbitrary curve for providing more advanced shapes of embroideries, there are drawbacks, which will be pointed out along with the description of the present invention.
According to one aspect of the present invention a method is provided for embroidering embroidery elements by means of a processor-controlled sewing machine. The method includes: the fabric that is to be embroidered is placed in the required position in relation to a threaded needle on the sewing machine, a plurality of embroidery elements in the form of software products having pre-programmed embroideries are provided, a group of said embroidery elements, defined as stitch data objects, in a memory is selected, an arbitrary curve along which said group of embroidery elements shall be embroidered on said fabric is defined by the operator of the sewing machine, said embroidery elements of said group are distributed in a spaced relationship along said curve utilizing a positioning algorithm. According to the method of the invention, a coupling between the embroidery elements of the group and the arbitrary curve is preserved during the full processing by said positioning algorithm, as will be further discussed below,
In an additional option of the aspect of the invention the position of at least one of said embroidery elements is selectively adjusted in relation to any one of: a neighboring embroidery element of said group, the arbitrary defined curve.
The embroidery elements are stored as data files, SDOs, on any desired storage medium, each separate embroidery element comprising data with information on each individual stitch in an embroidery that is to be performed by the sewing machine in order to create a physical embroidery element from the data relating to the embroidery of the physical embroidery element. This means that a corresponding data file, here simply referred to as the embroidery element (SDO), can be linked to each physical embroidery element that can be embroidered by the sewing machine.
Data for each individual embroidery element can be reproduced as a graphic representation of the embroidery element including the outlines thereof and includes graphic representation of its embroidery on a display, which may be integrated with the sewing machine. On the display any desired embroidery element can be retrieved from the storage medium and shown on the display as a graphic representation of the embroidery element. For the sake of simplicity, each such graphic representation of an embroidery element is here referred to as a graphics module. By freely selecting graphics modules and joining a number of these together in a group to form a sequence along a curve on the display using the graphic representations, a shape for the desired embroidery is created from the embroidery elements. The sequence of selected graphics modules is stored in a memory as a selected group of embroidery elements.
Said aspect of the invention is characterized according to the steps of method claim 1.
According to a second aspect of the invention a computer program product is characterized according to the characterizing part of the independent computer program product claim.
Further aspects of the invention are presented in the dependent claims.
The method described in this specification is used for distributing a group of embroidery elements to form a desired shape. This distribution effort for creating the desired shape is referred to as shaping. Said shaping is performed as previously stated by utilizing a positioning algorithm. A fundamental shaping algorithm is described in the description of embodiments below. In the description of the embodiments it is described, apart from shaping groups of embroidery elements, also how embroidery elements of a group are individually positioned. A shape (the desired pattern built by the group of embroidery elements) is herein referred to as GCP (Group common positioning algorithm). General sewing machine terminology is also described in the embodiments.
In brief, it is here in the summary described a user interface explaining the shaping functionality of a sewing machine, wherein the functionality is included. The list below explains how the shaping function works, i.e. the steps performed when the user wants to create a shaped design combination.
A) GCP Fundamentals.
Some prior art sewing machines and embroidery software PC programs can define a curve and position of a number of SDOs along the curve. When the curve and the SDOs have been defined, the curve and the position of the SDOs are calculated according to some algorithm. When the position of the SDOs has been set, the SDOs are given positions in the main coordinate system (
According to the embodiments of the present invention the positions and angles of the SDOs shall be controlled by the curve both when the GCP is created as well as when it is edited. This is previously referred to as a preservation of a coupling between the embroidery elements (SDOs) of the group and the curve. This implies that a number of advantageous measures may be listed, such as it is possible to:
Optionally the GCP may also be saved on file in such a way that it is possible to regenerate the GCP original behaviour when the GCP is loaded in the machine again.
The described method implies that more advanced curve forms than in the existing solutions can be created. The possibility to be able to edit the GCP in different ways after it has been created is also a great advantage compared to the existing solutions.
B) Manipulation of the Curve and its Control Points.
The curve may be defined arbitrarily by the user by a positioning of the curve definition points and a setting of the weights of a curve definition point. An alternative way of creating a curve is to let a user choose a curve (shape) from a number of predefined shapes as described above. The predefined shape may define a straight line, a circle, a star or the like. After the curve has been created it is possible to edit the curve definition points according to step 3 in the list of steps above.
The creation of a curve as described above, when the user chooses from a number of predefined “template” shapes facilitates the creation of complex shapes. The sets of edit control points make it easy to change and manipulate advance curve forms.
C) Control of the Shaped Curve by Curve Definition Point Weights.
The curve is defined by a number of curve definition points. The position of each curve point is calculated from the position of the curve definition points using e.g. NURB curves (See, for example: http://en.Wikipedia.org/wiki/Nonuniform_rational_B-spline, version dated: Jul. 3, 2008). By controlling the weights according to point 3 in the list of steps above the appearance of the curve can be changed considerably, despite the fact that the user operation is simple and easy to understand. Use of the technique described allows for more advanced curves than compared to curves of prior art systems.
D) Spacing Methods.
The SDOs may be distributed in different ways, see further in step 4 in the description above. This adds additional GCP editing possibilities.
E) Auto Adjustments to Sharp Points.
The positions of the SDOs along the curve are important in order to achieve a distinct view of the shape when the curve is not shown. The curve is not normally sewn on the fabric. The “auto adjustment to sharp points” algorithm described in the embodiments facilitates positioning of the SDOs so that the shape curve is easily imagined.
F) Compensation for Convex/Concave Curves.
Compensation for convex/concave portions of a curve implies that the SDOs are automatically correctly positioned even though the curve may bend in different directions. See further in embodiments and figures referred to therein.
To sum up, the described method makes it possible to create and edit groups of SDOs combined in arbitrary advanced curved forms in a way that is flexible and easy to understand for the user. Furthermore, the user may modify the properties of the GCP in an arbitrary order, without having to redo all the previous steps as in existing solutions.
A number of embodiments of the invention are described below with reference to the attached drawings.
By way of example of the functioning of a lock stitch sewing machine for performing the inventive method,
The machine is provided with a control program which, for example, is stored in a processor C. Further the sewing machine has an available memory M, preferably being accommodated in the machine, although the memory M as well may be external and accessible from the processor C. In the memory M the sewing machine embroidery elements for composing embroideries may be stored in the form of stitch data. A display 11 is provided, on which the images representing embroidery elements can be displayed to a user.
In
When conventional embroidery is performed in an embroidery machine of the discussed type the machine controls the movements of the embroidery frame fully according to stitch data stored in the memory M of the sewing machine according to all aspects concerning stitch types, sewing directions and so on according to prior art.
The algorithm enabling the different steps making it possible for a user to shape designs according to the objects of the invention is presented in the following illustrated by figures. Said algorithm is coded into computer language and functionalities added by said algorithms are accessible by the processor C of the sewing machine.
A group functionality is used in an embroidery mode available. The purpose is to provide a possibility to handle a number of any one of: patterns, pattern sequences, designs, embroidery characters or sew characters as one single unit. There are two different group types distinguished by the way they handle the positioning of the group items. Either the group items are positioned independently of each other or they are positioned according to a common algorithm. An explanation of the terms used in this document can be found at the end of the description.
A group contains a number of stitch data objects (SDO's). The group may consist of individually positioned SDO's or SDO's positioned according to an algorithm that controls the positioning of all the SDO's included in the group. The two different types of groups are thus identified as shown in Table 1 below.
The GCP handles the individual SDO objects according to the chapter titled: GCP handling.
GCP Handling
GCP Definitions and Fundamental Algorithm
In this chapter the definitions and fundamental algorithms of GCP handling are described utilizing references to the enclosed drawings.
The GCP consists of a number of curve definition points, a curve and a number of SDOs. The curve KU, see further in
The position of the curve definition points is defined by the vectors VA, . . . , VE. The GCP uses the reference point R and the coordinate system K (origin R). The curve KU is defined by some mathematical algorithm, e.g. a NURB curve may be used to define the curve for the GCP. The curve shape is controlled by the curve definition points. The curve may pass through, or close to, the curve definition points, depending on which mathematical algorithm that is used.
Each SDO (exemplified by A, B, C in
The GCP internal origin is the point R, see further in
GCP Manipulation
Scaling [1]
Manipulation of GCPs includes e.g. scaling. Scaling is always performed along the axis in a global, fixed coordinate system DC, as indicated in the figures.
Scaling procedure [2]
Steps:
A further GCP manipulation is a modification of the curve.
Said modification procedure can be described by the steps:
The curve may be modified freely by a change of the curve definition points. It is also desirable to use pre-defined shapes like straight lines and circles. Yet, the GCP internal positioning algorithm is always handled according to the scaling and modification as described. The different shapes are obtained by a change of the positions of the curve definition points.
File Storage [4]
When a GCP is saved to file, in a memory accessible by the processor of the sewing machine, the GCP attributes may be included in the file. This implies that it is possible to regenerate the GCP when the stitch data is loaded from file, and to keep the dependencies between the SDO's and the GCP.
Detailed Positioning Description
The detailed positioning is herein relating to positioning principles dealing with at least: characters, designs and patterns, pattern sequences and an intersection test.
Positioning of Characters (Embroidery and Sew) [5]
The start point of an SDO is often positioned in the end point of the previous SDO as described above. However, this is not always true. Other positioning strategies may be used, see further in Table 2. The positioning type 1 refers to the positioning strategy described above. Positioning type 2 is a similar positioning method but the distances between the SDOs are increased by an insertion of a gap between the start and end points. If positioning type 1 or 2 are used, the positions of the SDOs relative to the start and the end points of the curve may be changed. Three different examples of SDO positions are listed below:
Positioning of Designs and Patterns [6]
Designs and patterns use the dynamic window to calculate the start and end points. The dynamic window is defined as the enclosing rectangle, see further in
Positioning of Pattern Sequences [7]
A pattern sequence is normally treated as one single unit in an embroidery mode of the sewing machine. However, when a pattern sequence is inserted into a GCP, the pattern sequence shall be split, i.e. the separate patterns shall be positioned individually in the GCP.
G Positioning Using Intersection Tests [8]
The positioning algorithms described above do not consider the intersection of SDOs. Depending on the curve shape and the extension of the SDOs the SDOs may or may not intersect. Thus, the SDO positioning algorithm may result in SDO overlap in some cases. This is illustrated in
When a non-intersection flag, implemented on the sewing machine, is set, the algorithm below is used to prevent SDO intersection.
The steps below are performed when the SDO's are positioned. For each SDO:
SDO Angle, General Offset. [9]
The SDO angle is normally defined by the slope of the curve KU, see further in the chapter: “GCP definitions and fundamental algorithm”. However, an angle offset may be added. This angle offset is set for the GCP, i.e. the offset will have the same value for each SDO in the GCP. The angle offset is always added as the last step, after the positioning algorithms described in chapters “GCP definitions and fundamental algorithm” has been applied to the GCP.
SDO Angle, Curve Controlled [10]
The SDO angle (α1, α3 in
Note: The curve KU′ may also be used to control the scale of the SDO's.
Conversions
Conversion GIP to GCP [11]
A GIP may be converted to a GCP. The SDO's will be positioned according to the chosen GCP shape. The position and the angle of each SDO are always specified by the curve, i.e. the previous position and angle of the SDO's will not be maintained when the GIP->GCP conversion is done.
Conversion GCP to GIP [12]
A GCP may be converted to a GIP. The position vectors VCH1, . . . , VCH3, see further in
The SDOs are positioned along the curve with the aim of representing a certain shape, e.g. a star. Since the number of SDOs is normally relatively small compared to the number of curve points, the position of each SDO is very important if it shall be possible to recognize the shape when the curve is not shown. This is further illustrated in
Different positioning strategies have been developed, and if possible, the method being used, is aiming to position SDOs at the curve definition points that are defined as “sharp” (i.e. the points the shape's curve has to “pass through”). By applying this strategy, when possible, the resulting SDOs gives a much greater resemblance to the original shape, than just using the shape without this consideration.
The sharp-point positioning works in the following way;
Repeat step E for all shape segments, and the result will be that the SDOs are positioned on the fabric in a way that gives great resemblance to the original shape's form.
Definitions
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE2008/050609 | 5/23/2008 | WO | 00 | 7/22/2010 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2009/029019 | 3/5/2009 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
3570426 | Kunes | Mar 1971 | A |
3585950 | Ito | Jun 1971 | A |
3613608 | Hinerfeld et al. | Oct 1971 | A |
3613610 | Hinerfeld et al. | Oct 1971 | A |
3693561 | Hrinko, Jr. et al. | Sep 1972 | A |
3712254 | Beamish et al. | Jan 1973 | A |
3727567 | Beazley | Apr 1973 | A |
3799087 | Beamish et al. | Mar 1974 | A |
3815531 | Wurst et al. | Jun 1974 | A |
3818849 | Maddox, Jr. | Jun 1974 | A |
3904890 | Wenrich et al. | Sep 1975 | A |
3967566 | Spiegel et al. | Jul 1976 | A |
4051794 | Herzer et al. | Oct 1977 | A |
4073247 | Cunningham et al. | Feb 1978 | A |
4092937 | Landau, Jr. et al. | Jun 1978 | A |
4100865 | Landau, Jr. et al. | Jul 1978 | A |
4104976 | Landau, Jr. et al. | Aug 1978 | A |
4108090 | Landau, Jr. et al. | Aug 1978 | A |
4116145 | Nicolay | Sep 1978 | A |
4133275 | Herzer et al. | Jan 1979 | A |
4154179 | Arnold | May 1979 | A |
4160422 | Barber et al. | Jul 1979 | A |
4181085 | Conner, Jr. | Jan 1980 | A |
4185575 | Brown et al. | Jan 1980 | A |
4195582 | Novick et al. | Apr 1980 | A |
4214540 | Cook | Jul 1980 | A |
4221176 | Besore et al. | Sep 1980 | A |
4351254 | Brown | Sep 1982 | A |
4352334 | Childs et al. | Oct 1982 | A |
4359008 | Newman | Nov 1982 | A |
4365565 | Kawai et al. | Dec 1982 | A |
4373458 | Dorosz et al. | Feb 1983 | A |
4373459 | Dunn et al. | Feb 1983 | A |
4391215 | Sansone | Jul 1983 | A |
4393343 | Angersbach et al. | Jul 1983 | A |
4412498 | Scholl | Nov 1983 | A |
4444135 | Yanagi et al. | Apr 1984 | A |
4457246 | Hanyu et al. | Jul 1984 | A |
4503794 | Ishihara et al. | Mar 1985 | A |
4507596 | Angersbach et al. | Mar 1985 | A |
4509443 | Martell et al. | Apr 1985 | A |
4513676 | Martell et al. | Apr 1985 | A |
4519331 | Kosrow et al. | May 1985 | A |
4526114 | Martell et al. | Jul 1985 | A |
4526116 | Männel | Jul 1985 | A |
4555997 | Tancs | Dec 1985 | A |
4563964 | Sjodin | Jan 1986 | A |
4622907 | Kimura | Nov 1986 | A |
4648337 | Mall | Mar 1987 | A |
4682554 | Goto et al. | Jul 1987 | A |
4686917 | Braun | Aug 1987 | A |
4706584 | Senda et al. | Nov 1987 | A |
4726307 | Yamauchi | Feb 1988 | A |
4726309 | Popp | Feb 1988 | A |
4742786 | Hashimoto et al. | May 1988 | A |
4748920 | Stutznacker | Jun 1988 | A |
4757773 | Nomura et al. | Jul 1988 | A |
4781130 | Badowski | Nov 1988 | A |
4794875 | Noguchi et al. | Jan 1989 | A |
4803937 | Hiramatsu et al. | Feb 1989 | A |
4815406 | Brown et al. | Mar 1989 | A |
4834008 | Sadeh et al. | May 1989 | A |
4849902 | Yokoe et al. | Jul 1989 | A |
4860678 | Skogward | Aug 1989 | A |
4867082 | Sabbioni et al. | Sep 1989 | A |
4867087 | Suzuki et al. | Sep 1989 | A |
4932343 | Mardix et al. | Jun 1990 | A |
4982677 | Nomura et al. | Jan 1991 | A |
4995328 | Tanaka | Feb 1991 | A |
5000105 | Tanaka | Mar 1991 | A |
5012752 | Murata et al. | May 1991 | A |
5018466 | Hasegawa | May 1991 | A |
5095835 | Jernigan et al. | Mar 1992 | A |
5138962 | Klundt | Aug 1992 | A |
5146862 | Sato et al. | Sep 1992 | A |
5156106 | Suzuki et al. | Oct 1992 | A |
5156107 | Kyuno et al. | Oct 1992 | A |
5184560 | Asano | Feb 1993 | A |
5270939 | Goldberg et al. | Dec 1993 | A |
5303665 | Hausammann | Apr 1994 | A |
5319565 | Hausammann et al. | Jun 1994 | A |
5323722 | Goto et al. | Jun 1994 | A |
5347940 | Hori et al. | Sep 1994 | A |
5389868 | Mikami et al. | Feb 1995 | A |
5410976 | Matsubara | May 1995 | A |
5474005 | Yamauchi et al. | Dec 1995 | A |
5477795 | Nakayama et al. | Dec 1995 | A |
5537939 | Horton | Jul 1996 | A |
5537946 | Sadeh et al. | Jul 1996 | A |
5562059 | Yamauchi et al. | Oct 1996 | A |
5571240 | Yamauchi et al. | Nov 1996 | A |
5588383 | Davis et al. | Dec 1996 | A |
5592891 | Muto | Jan 1997 | A |
5603272 | Takahashi et al. | Feb 1997 | A |
5653186 | Yamauchi et al. | Aug 1997 | A |
5701830 | Muto | Dec 1997 | A |
5740055 | Iwata | Apr 1998 | A |
5755240 | Schonborn | May 1998 | A |
5791270 | Mori | Aug 1998 | A |
5911182 | Uyama et al. | Jun 1999 | A |
5924372 | Okuda et al. | Jul 1999 | A |
5974997 | Amburgey | Nov 1999 | A |
6032595 | Okuyama | Mar 2000 | A |
6131526 | Iida et al. | Oct 2000 | A |
6135038 | Okamoto | Oct 2000 | A |
6189989 | Hirabayashi et al. | Feb 2001 | B1 |
6209468 | Marcangelo et al. | Apr 2001 | B1 |
6293210 | Freeman et al. | Sep 2001 | B1 |
6321670 | Tomita et al. | Nov 2001 | B1 |
6381818 | Freeman et al. | May 2002 | B1 |
6718895 | Fortuna | Apr 2004 | B1 |
6729255 | Ton et al. | May 2004 | B2 |
6732668 | Zesch et al. | May 2004 | B2 |
6823807 | Zesch et al. | Nov 2004 | B2 |
6871605 | Zesch et al. | Mar 2005 | B1 |
6883446 | Koerner | Apr 2005 | B2 |
6883449 | Burrell et al. | Apr 2005 | B2 |
6963790 | Mizuno et al. | Nov 2005 | B2 |
6983192 | Block et al. | Jan 2006 | B2 |
7210417 | Koerner | May 2007 | B2 |
7212880 | Mizuno et | May 2007 | B2 |
7240628 | Friman et al. | Jul 2007 | B2 |
7308333 | Kern et al. | Dec 2007 | B2 |
7386361 | Nobuyuki et al. | Jun 2008 | B2 |
7412936 | Price et al. | Aug 2008 | B2 |
7460925 | Noguchi | Dec 2008 | B2 |
7793602 | Koemer | Sep 2010 | B2 |
7814832 | Franz | Oct 2010 | B2 |
8261679 | Ihira et al. | Sep 2012 | B2 |
8387547 | Bardh et al. | Mar 2013 | B2 |
20020043202 | Freeman et al. | Apr 2002 | A1 |
20030140829 | Zesch et al. | Jul 2003 | A1 |
20030140831 | Zesch et al. | Jul 2003 | A1 |
20030140832 | Ton et al. | Jul 2003 | A1 |
20040210336 | Block et al. | Oct 2004 | A1 |
20050016428 | Koerner | Jan 2005 | A1 |
20060064195 | Kern et al. | Mar 2006 | A1 |
20060213413 | Koerner | Sep 2006 | A1 |
20070204781 | Noguchi | Sep 2007 | A1 |
20070245940 | Wahlstrom | Oct 2007 | A1 |
20070256619 | Koemer | Nov 2007 | A1 |
20100224111 | Ihira et al. | Sep 2010 | A1 |
20110005441 | Roche | Jan 2011 | A1 |
20110146553 | Wilhelmsson et al. | Jun 2011 | A1 |
20110168070 | Lanquist | Jul 2011 | A1 |
20110303138 | Flygare et al. | Dec 2011 | A1 |
20120060733 | Maki et al. | Mar 2012 | A1 |
20120060734 | Yamanashi et al. | Mar 2012 | A1 |
20120234222 | Naka | Sep 2012 | A1 |
20130014682 | Brindzik | Jan 2013 | A1 |
20130042797 | Bondesson et al. | Feb 2013 | A1 |
Number | Date | Country |
---|---|---|
1081544 | Jul 1980 | CA |
2515406 | Aug 2004 | CA |
102007001073 | Aug 2007 | DE |
77788 | May 1983 | EP |
103364 | Mar 1984 | EP |
117713 | Sep 1984 | EP |
124211 | Nov 1984 | EP |
366140 | May 1990 | EP |
515131 | Nov 1992 | EP |
564771 | Oct 1993 | EP |
857228 | Aug 1998 | EP |
1184502 | Mar 2002 | EP |
1777331 | Apr 2007 | EP |
2226419 | Sep 2010 | EP |
1320764 | Jun 1973 | GB |
1349994 | Apr 1974 | GB |
1375540 | Nov 1974 | GB |
1393294 | May 1975 | GB |
1440350 | Jun 1976 | GB |
1475791 | Jun 1977 | GB |
1526209 | Sep 1978 | GB |
1547931 | Jul 1979 | GB |
1547932 | Jul 1979 | GB |
1547933 | Jul 1979 | GB |
1547934 | Jul 1979 | GB |
1568486 | May 1980 | GB |
1570241 | Jun 1980 | GB |
1570242 | Jun 1980 | GB |
1570243 | Jun 1980 | GB |
1570244 | Jun 1980 | GB |
1570245 | Jun 1980 | GB |
1571736 | Jul 1980 | GB |
2043124 | Oct 1980 | GB |
1583629 | Jan 1981 | GB |
2157723 | Oct 1985 | GB |
2168085 | Jun 1986 | GB |
2177520 | Jan 1987 | GB |
2204604 | Nov 1988 | GB |
1212591 | Aug 1989 | JP |
6304359 | Nov 1994 | JP |
2000167277 | Jun 2000 | JP |
2000342869 | Dec 2000 | JP |
2009011594 | Jan 2009 | JP |
2009233435 | Oct 2009 | JP |
2010185151 | Aug 2010 | JP |
198800714 | Apr 1988 | KR |
8901067 | Feb 1989 | WO |
9715708 | May 1997 | WO |
0104405 | Jan 2001 | WO |
2004072349 | Aug 2004 | WO |
2006071786 | Jul 2006 | WO |
2007143062 | Dec 2007 | WO |
2010144013 | Dec 2010 | WO |
Number | Date | Country | |
---|---|---|---|
20110041746 A1 | Feb 2011 | US |
Number | Date | Country | |
---|---|---|---|
60935781 | Aug 2007 | US |