While the dream of a “paperless” office has been around for years, various forms of tangible cut sheet media continue to be used in significant quantities due to their versatile and permanent nature, such as paper, Mylar, plastic, photo paper, and the like. Some example cut sheet media devices include but are not limited to, printers, scanners, faxes, and copiers. However, hard copy media quality expectations continue to increase in this age of digital media. At the same time, prices for cut sheet media creation devices are being driven downward. This price decline is due to digital media's inherent ability to be re-used despite its transient nature, thus reducing some demand for cut sheet media output. As a result, both business and consumers are expecting that their cut sheet media devices be affordable and produce results with the same high quality as their digital media devices.
The disclosure is better understood with reference to the following drawings. The elements of the drawings are not necessarily to scale relative to each other. Rather, emphasis has instead been placed upon clearly illustrating the claimed subject matter. Furthermore, like reference numerals designate corresponding similar parts through the several views.
This disclosure describes a new auto-tune technique for correcting skew in media that is very flexible for varying media types and can be implemented with little component cost. ‘Skew’ is an oblique angle or a slant of the media relative to a centerline of the media or to a line representing a desired target for the media leading edge for further processing of the media. Media skew is generally desired to be corrected, reduced, or eliminated to achieve the highest quality results. The auto-tune skew correction technique discussed herein greatly improves a media handling device's versatility to correct such skew for multiple forms of media, media size, and media orientation by the use of media models that are used to correct skew for one or more media types. Media alignment systems are used in cut sheet media manipulation devices to ensure proper alignment of the media before it is processed such as with printers, scanners, copiers, coaters, and the like. With the auto-tune skew correction technique disclosed herein, the speed of media handling for the media manipulation devices may be greatly improved. There may also be an acoustical reduction in noise as any paper feed servo motors can be operated continuously without the constant starting and stopping of conventional nip and buckle type de-skewers typically found in conventional media manipulation devices.
In some examples, having a continuous feed skew adjustment allows for a significant increase in pages per minute of media processing. Further, if a media alignment system is found to be out of specification or the operating window for its de-skewing operation, a media characterization or an auto-tune calibration may be performed in order to restore the media alignment system back to acceptable operational levels for particular media that does not get properly de-skewed. For instance, a printer user interface may be presented to a user to linearize a relationship between induced skew and the differential velocity of separate media drive shafts as will be described.
For example, some model based active skew correction systems may be optimized for an ‘ideal’ media for a ‘nominal’ mechanism. This ideal model make such systems susceptible to various factors that may make a given media alignment mechanism non-conforming to the ideal model. In such instances, the process capability (Cp) and process capability index (Cpk) may be low. Cp is a measure of repeatability of a process, in this instance the ability of the media alignment system to repeatedly de-skew to a desired operational limit. Cpk is an index that measures how close a process is running to its desired operational limit relative to the natural variability of the process. Because businesses and consumers of cut sheet media devices expect high quality, to be commercially successful, both a high Cp and high Cpk is desired, but at a low cost. The auto-tune skew correction technique described within allows a media alignment system to be operated as closed looped. This close loop feature allows the technique to autonomously respond to various non-conformities, centering the performance on any desired operational limits and thereby achieving the desired high Cp and Cpk. The disclosed media alignment systems are versatile in handling a variety of media types and sizes with minimal impact on performance while reducing complexity. During development of a media alignment system, resource and time requirements may also be reduced. Further, the media alignment system cost may be reduced by allowing some component parts to have higher tolerance values while keeping the performance of the system optimal over the life of the mechanism, isolating it from the effects of wear and tear from use. These and other advantages will be described further in the following detailed discussion of the claimed subject matter.
The controller 120 may drive the servo motor feeds 180a and 180b in just a single forward direction or both forward and reverse directions independently depending on the implementation. The servo motor feeds 180a and 180b may also include encoders to determine the position of the respective servo motor. The differential velocity ‘ΔV’ 183 (defined as v1−v2) causes a media 106 to typically rotate clockwise or counterclockwise depending on the sign of Δν, while the average velocity of v1 and v2 determine the forward and/or backward speed in the direction of second direction 102. Accordingly, the media guide mechanism 110 includes a first roller 180a and a second roller 180b that are aligned in a first direction 104 that is substantially orthogonal to the second direction 102 for advancement of the media 106.
A memory 130 is coupled to the controller 120 and may contain a set of one or more media models 150. The actual design of the media models 150 are described further below but have been architected to account for a number of variables of the media type 107 and its interaction with a media alignment system 100.
For instance, the media 106 can be one of several media types 107. The media type 107 may include such factors as weight, material, thickness, size, orientation, stiffness, texture, color, transparency, opaqueness, to just name some examples. The media type 107 can also be influenced by such factors as humidity, media transit speed, variations in media alignment system construction, and other characterization parameters such as the number of tires 181 on the feed rollers 180a, 180b that are in contact with the media 106, and a media transit distance over which the differential velocity 183 is applied.
A pair of media sensors 170a, 170b have media edge detectors 172a, 172b respectively, such as switches, infra-red, visible light, or ultraviolet LED diodes and semiconductor sensors or other mechanical or optical input devices, to detect a leading edge skew value 108 and a trailing edge skew value 109 of media 106. In some examples, the media sensors 170a, 170b may be REDI sensors. The media sensors 170a, 170b are coupled to the controller 120 and are substantially aligned in the first direction 104. In one example, each of the servo motor feed encoder positions may be read when each media sensor 170a, 170b is triggered. The difference in the same encoder position encoder values may then be used as the skew of the media 106. Alternatively in another example, when media 106 is skewed, there is a difference in time from when one of the media edge detectors 172a, 172b is triggered before the other media edge detector 172a, 172b is triggered. This time difference can be used with the media advancement speed or average velocity to derive the leading edge skew value 174 and the trailing edge skew value 176 as each respective leading edge 108 or trailing edge 109 passes beneath the pair of media edge detectors 172a, 172b.
In the example using the position encoder values, two snapshots of the servo motor feed encoder positions may be captured and stored in registers within the controller 120 as the leading 108/trailing 109 edge of the media 106 trips/un-trips each of the pair of media sensor's 170a, 170b media edge detectors 172a, 172b. Media sensor 170a may be referred to as a front sensor and media sensor 170b may be referred to as a rear sensor. A de-skew encoder count snapshot for the front sensor may be labeled as ECfront and a de-skew encoder count snapshot for the rear sensor may be labeled as ECrear. The leading edge skew value 174 of the leading edge 108 of media 106, Sin, may then be determined by the difference in the encoder count snapshots. The direction of the leading edge skew value 174 is determined by the sign of Sin where:
S
in=ECfront−ECrear
The trailing edge skew value 176, Sout, is determined in the same manner as Sin when the trailing edge 109 of media 106 passes beneath the media edge sensors 172a, 172b, where:
S
out=ECfront−ECrear
Sout may be used for verification of skew correction effectiveness and in deciding whether to perform a characterization of the media alignment system 100. Si, and Sout, may be paired and stored as arrays of pairs for successive sheets of media 106 that are feed in media alignment system 100. The paired arrays of Sin and Sout may be separated and maintained for a particular media size category or for a particular media type 107. For instance, in some example systems, there may be multiple media types 107 processed and a historical array of paired Sin and Sout values is maintained for each of the media types 107. The paired arrays may be stored in a buffer 140 in memory 130. The buffer 140 may be implemented as one or more circular buffers to store a predetermined number of last historical paired values.
Once both media edge sensors 172a, 172b have been triggered, a skew correction module 190 is executed by the controller 120 to adjust the velocities ‘v1, v2’ of the first and second rollers 180a, 180b to create a differential velocity 183 ‘±Δv’ based on a respective media model 150 for the media type 107 and the amount of leading edge skew 174 detected for the media 106. The differential velocity 183 ‘±Δv’ is operated for a time period sufficient over a media travel distance ‘d’ 220 (
The skew correction module 190 may be very time sensitive in order to correct the skew within a desired distance ‘d’ 220 and thus may be executed as a high priority process in controller 120. When called, the skew correction module 190 modifies the servo motor feeds 184a, 184b relative speeds ‘v1, v2’ by a differential velocity 183, ‘±Δν’. The trigger of the two media edge sensors 172a, 172b may be continuously monitored using a servo motor interrupt level in the controller 120 during the timeframe that a page is expected to pass by the media edge sensors. As soon as the de-skew distance ‘d’ 220 is reached, the two servo motor speeds are then modified back to their original average speed ‘v’ of media 106 travel.
The controller 120 may include a tangible, non-transitory computer readable medium (CRM) 804 (
This technique for skew correction uses the two pairs of rollers 180a, 180b to cause the media to both advance by a transit force 189 in the second direction 102 based on an average velocity ‘v’ of the rollers 180a, 180b. By introducing a differential velocity between the two rollers 180a, 180b a shear force 188 orthogonal to the media advancement force causes the media 106 to rotate and de-skew during the same time that media 106 is advanced. The combination of the two forces 188, 189 creates a net shear force vector 187 that is applied to the media 106 for a set period of time that is calculated based on the media model and media speed to substantially de-skew the media 106 so that when the trailing edge 109 of the media 106 reaches the dual media edge sensors 172a, 172b, the media 106 is corrected or de-skewed to within an acceptable operational window 160.
The distance ‘d’ may be calculated based on one or more factors, such as media speed, rotation per encoder sample, the time available to perform the media alignment, the amount of skew that needs to be corrected, and the media type and its ability to handle the shear forces involved in the de-skew process. Further, based on a particular hardware architecture and implementation, there may be physical limits on how much skew can be corrected based on lengths of specific media 106. Any attempt to correct a skew larger than such a limit may require multiple passes of the media through the de-skew process or alerting a user to realign the media such as is done with paper jams. For instance, the media may be placed in a media tray incorrectly such that the media tray pick mechanism is causing multiple sheets of media to be skewed more than can be corrected. Having the user check the media tray and position the media correctly may limit the amount of possible skew to within what may be corrected.
In some examples, there may be more than one set of differential drives. For instance, there may be separate media paths each with a set of differential drives. In other examples, the multiple differential drives may be in series in a media path to allow for skew correction over a longer distance and/or to lessen the amount of shear force on the media at each set of the differential drives to reduce the risk of media tear or deformation. In another example, such as with an all-in-one device, there may be a set of differential drives for a printer function and another set of differential drives for a scanner function. In some instances, two or more sets of differential drives may be mechanically coupled but used for different purposes.
In
The square markers 401 represent a first example media response characterization population of a first media model 150a to determine the induced skew 410 with respect to various differential velocities 183. The test can be performed with a single sheet of media 106 run several times through the media alignment system 100, 200 with varying differential velocities 183 for each pass, or it can be performed running several different sheets of the media 106, say from a media tray, each at a different differential velocity 183 setting and the induced skew 410 derived from the leading 108 and trailing edges 107 skews measurements. The circle markers 404 represent a second example media response characterization population of a second media model 150b and is created similarly as for the first media model 150a. Each media model's characterization population is then linearized using linear regression to create a first response curve 402 for the first media model 150a and a second response curve 405 for the second medial model 150b. Each of the response curves 402, 405 has a slope ‘m’ and an intercept ‘b’ for the respective media model 150a, 150b. For instance, first media model 150a has a response curve 402 that is represented by a first equation 403, Y=3X+180, where “3” is the slope ‘m’ and “180” is the intercept ‘b’. Second media model 150b has a response curve 405 that is represented by a second equation 406, Y=2X+75, where “2” is the slope ‘m’ and “75” is the intercept ‘b’.
Let Sin be the initial leading edge skew value 174 of a media 106. Correcting for Sin is simply inducing a skew of −1*Sin. To apply a +Δv change to the first roller 180a and a −Δv change to the second roller 180b for a specific distance ‘d’ 220 of media travel, the ‘differential velocity’ 183 (in encoder mech. units) to apply for a given media model's slope m and intercept b is:
Empirical testing has found, however, that a particular media model's ‘m’ and ‘b’ may be sensitive to several system aspects. For instance, the specific hardware configuration such as the number and placement of the tires 181a, 181b on the rollers 180a, 180b performing the skew correction, the media type 107, the size of the media, the media alignment mechanism 110 mode's average speed ‘v’, and the media travel distance ‘d’ 220 over which the ‘differential velocities’ 183 are applied. Empirical testing has shown that the constant ‘b’ is very sensitive to mechanical variations in hardware, unlike the constant ‘m’ which is not very sensitive. A lookup table for the constants ‘b’ and ‘m’ for different media models 150 or in some examples, just indexed by media lengths, may be stored in non-volatile memory (NVM) of the controller 120 in the media models 150 portion of memory.
The media model 150 for particular media 106 may be sensitive to the number of tires 181a, 181b on each half-shaft of the medial alignment system 100, 200 as well as their placement relative to the center of the media 106. Also, even when the hardware configuration of the media alignment system 100, 200 is constant, the media model 150 may be different for different media types 107 and therefore, a hardware configuration that has minimal changes between different media types 107 may allow for having a particular media model 150 represent multiple media types 107. For instance, in one example, having three equally spaced tires per roller on the half-shafts may reduce the variation of constants ‘m’ and ‘b’ for multiple media types 107 allowing for a single media model 150, optimized around an expected high use media 106 for the particular media alignment system 100, 200. That is, allowing the high use media model 150 to correct for various media types 107 of the same size may yield results that satisfy overall system operational requirements. However, in some instances where excellent image quality is desired, using a specific media model 150 for a specific media type 107 may yield the best results.
The media size determines how many of the roller tires 181a, 181b are in contact with the media 106 as well as how many rollers 180a, 180b are in contact with the media 106 during the “differential velocity” phase of skew correction. Media orientation (i.e. portrait vs landscape) may essentially change the media size (width and length) presented to the skew correction hardware. Width is defined to be across the media in the first direction 104 and length is defined to be along the media flow in the second direction 102. Accordingly, the media models 150 may be indexed by size and orientations, such as A-landscape, A-portrait, 4×6″-portrait, 4×6″-landscape, and 11×17″-portrait, as just some examples, and the respective corresponding constants ‘m’ and ‘b’ may be stored in a firmware lookup table in memory 130 accessible by the controller 120. To pick a particular media model 150 during operation, various combinations of paper-path media edge sensors, length sensors, paper information from print drivers, etc. allow for determination and selection of the correct media model 150 to get the correct correction constants ‘m’ and ‘b’.
For instance, when a media tray is reloaded in the media alignment system 100, 200, one can assume that the media length equals the reading of the media tray length sensor and verify that it matches the specified media for the job via an operating system driver, such as a print driver. Alternatively, or in conjunction, the media length can be measured using paper-path edge sensors for the first sheet. Based off of the media type 107 and the determined or measured media length, the appropriate constants ‘m’ and ‘b’ in the media models 150 may be retrieved from lookup tables in memory 120. Successive pages from the same tray may then use the measured length of the media until the tray is opened.
It may be desirable to keep the media travel distance ‘d’ 220 constant for which the overall differential velocity 183 ‘±Δv’ is active to reduce firmware complexity. The media velocity is defined by the average speed of the first and second rollers 180a, 180b during skew correction. The distance ‘d’ 220 along with the average velocity ‘v’ define how long the differential velocity 183 is applied. The longer this time period, the more ‘rotation’ the media 106 undergoes. Accordingly, the media model 150 for determining differential velocity 183 may be changed to include or incorporate a linear relationship between a prior media model without speed correction and the average speed “v” such that a first alternative media model 150 is:
Where vcal is the average speed of the first and second rollers 180a, 180b used during the ‘differential velocities’ phase of skew correction, while generating the media model 150.
The media travel distance ‘d’ 220 is the distance of media travel over which the differential velocity 183 is maintained and affects how much ‘rotation’ the media 106 undergoes. The longer the distance, the more ‘rotation’ for a given differential velocity 183. While a fixed distance ‘d’ 220 may be desired, it is anticipated that the actual distance available in a particular hardware configuration of the media alignment system 100, 200 may change due to design changes or even firmware interactions with other threads of programs operating on the controller 120. The media model 150 equation may be adjusted to take into account or include that possibility such that a second alternative media model 150 is:
Where dcal is an adjustment distance and distance ‘d’ 220 is the actual distance the skew correction occurs for the particular media alignment system 100, 200.
Another possible adjustment to the media model can be with respect to the pair of media sensor's 120a, 120b “squareness”. For instance, due to mechanical variation, each media alignment system 100, 200 may have a unique ‘native skew’ or angular offset 232 (measured with respect to the plane of the media leading edge 108), referred to herein as “zero offset” or Szero. For instance, Szero may be measured between a printhead, scan bar, or other target objective for the media 106 and a line (first dimension 104) created by the two media edge detectors 122a, 122b as shown in
Where S′in=Sin+Szero. The Szero ‘native skew’ value is a characteristic of a particular media alignment system 100, 200 and may be stored in non-volatile memory (NVM) in controller 120 after it is characterized or otherwise measured. The Sin and Sout captured during the “snapshot” of encoder positions are then compensated for by this Szero value to generate S′in and S′out, which are used in the media model equations.
As noted, in some examples a predetermined amount of history of S′in and S′out pairs may be stored in a buffer 140 in memory 130. In some examples, the buffer 140 may be implemented as a circular buffer. For instance, a running sample of the last 30 S′in and S′out pairs may be statistically evaluated to determine if a characterization, or maintenance service needs to be performed. Alternatively, is a particular S′out value is outside of a desired operational window 160, the calibration module 192 may be executed by controller 120.
In some instances, a large S′in may cause a large ‘Δv’ which has the potential to damage the media 106 by way of inducing crinkles into it or even tearing the media 106 due to in-plane shear. In one example, the media alignment system 100, 200 may perform multiple passes of the media 106 through the system before further processing it in order to correct for a large S′in. Thus, the skew correction module 190 may be executed by the controller 120 multiple times for the media 106 to limit the amount of skew correction per pass to prevent damage to the media 106. The instructions in the skew correction module 190 may thus determine the media type 107 and limit the differential velocity 183 in a single pass to allow for only a limited edge skew correction value. Then by using multiple passes of the media 106 through the pair of aligned media sensors 120a, 120b to correct over multiple passes a leading edge skew greater than the limited edge skew correction value.
Occasionally, there may be data pairs such as first data pair 507 and second data pair 508 which did not correct the output skew such that they fall outside the operational window 160. Based off the number of times such events occur or based off of statistics of past history results, action may be taken such as notifying the user of the media alignment system that service is required, scheduling a service call, performing a maintenance characterization or calibration, flagging an error, providing a warning message, or adjusting the various media models with calibration module 192 accordingly if a consistent error is being made. For instance, calibration module 192 may be performed for a printer by having a user load a paper tray with a set of sheets of the media types 107 that are having skew correction issues. The printer can run the set of sheets of media 106 through the media alignment system 100, 200 to create a set of induced skews 410 versus various different differential velocities 183 for each of the set of sheets, which may be of one or more media types 107. A media model 150 may then be updated based on the empirical results to create a new linear ‘b’ and ‘m’ model for the printer for each media type 107.
In order for the calibration module 192 to perform well, it should not respond to bad data and thus some noise rejection techniques may be implemented to identify various forms of noise from the detected leading 174 and trailing 176 edge skew values. For instance, the stochastic nature of the system due to the varying media properties, the wear of the mechanisms, dust and other contaminants, temperature, and humidity, to name just a few, may, while rare, sometimes create outliers such as first data pair 507 and second data pair 508 in
Another noise rejection technique is to use the R2 coefficient of determination statistic. When R2 is low, the media alignment system 100, 200 is behaving as expected since the skew correction activity breaks the correlated relationship between the leading 174 and trailing 176 edge skew values. Alternatively, if R2 is low, the media alignment system 100, 200 may be acting incorrectly causing the correlated relationship between the leading 174 and the trailing 176 edge skew values to be broken as well. In either case, the system operating correctly or the system not behaving as expected, the adjustment of the constants in media model 150 should not be adjusted.
Another statistical technique may be used separately or in addition to R2 to discern if the media alignment system 100, 200 is operating correctly or not. This additional technique may be used to monitor and reject noise in the population data by examining the range, standard deviation, or scatter aspect ratio of both the leading 174 and trailing 176 data populations. If the respective range, standard deviation, or scatter aspect ratio is larger in the leading edge skew value 174 population than in the trailing edge skew value 176 population, then there is a high confidence that the system is operating correctly.
In another example, the instructions may be part of an application or applications already installed. In this example, CRM 804 may include integrated memory such as hard drives, solid state drives, flash drives, dynamic or static random access memory, programmable read only memory, and the like. Accordingly, the computer readable medium 804 may include processor cache of one or more levels, dynamic random access memory (DRAM), non-volatile memory such as flash, EEPROM, PROM, and the like as well as magnetic memory, optical memory, ionic memory, phase change memory, and other equivalent types of long term storage including battery backed static random access memory (SRAM). CRM 804 may include the memory 130.
The processor 802 may include one or more cores of general purpose central processing units (CPU) or one or more cores of special purpose algorithmic processing units, such as digital signal processors, I/O controllers, video controllers, ladder controllers, and the like. The processor 802 is coupled to the CRM 804 and is able to read and write instructions 805, such as instruction to implement a slope ‘p1’ and intercept ‘p2’ determination module 806, an update media model module 808, skew correction module 190 (
The instructions 805 for the slope ‘p1’ and intercept ‘p2’ determination module 806 may include instructions to determine a slope ‘p1’ relating a trailing edge skew value 176 to its paired leading edge skew value 174 and an intercept ‘p2’ representing a current ‘native skew’ based on a linear regression of a predetermined number of a set of paired leading and trailing edge skew values for the media type 107 stored in a buffer 140 readable by the processor 102. The update media model module 808 may include instructions such that based on the slope ‘p1’ and intercept ‘p2’, the instructions update a media model 150 for the media type 107 based on the linear regression module 194 to adjust a differential velocity 183 of a pair of aligned media feed rollers 180a, 180b, in a media feed mechanism 110 to correct both the future ‘native skew’ and future paired leading 174 and trailing 176 edge skew values in the buffer 140 within a desired operational window 160.
S′
out
=p1*S′in+p2
Where p1 is the least square fit slope and p2 is the least square fit intercept values determined by:
Where
Then in decision block 1010, if slope p1 is greater than 1, the skew correction is not working correctly as the trailing edge skew values 109 are larger than the leading edge skew values 108 and thus are being amplified. Accordingly, an error is flagged in block 1012 which may then be used to indicate to the user a need for service or other maintenance.
In decision block 1014 if slope p1 is greater than −1 and less than 1 then the media alignment system 100, 200 is operating correctly and the slope constant in the media model 150 is updated in block 1016 as follows:
m
new=(1−ws*p1)*mold
Where ws is a predetermined slope weight value and mow is the current media model 150 slope constant. Adjustment of the intercept constant for the media model 150 continues in block 1032.
In decision block 1018 if slope p1 is less than −1, then the system is overcorrecting and no drastic changes to the media model 150 are wanted. Accordingly, p1 is then set to −1 in block 1020 and the slope constant in the media model 150 is updated in block 1030 as follows:
m
new=(1+ws)*mold
Where ws is a predetermined slope weight value and mold is the current media model 150 slope constant. Adjustment of the intercept constant for the media model 150 continues in block 1032.
In block 1032 the intercept constant is updated with the intercept p2 as follows:
b
new
=b
old
+w
i
*p2
Where wi is a predetermined intercept weight value and bold is the current media model 150 intercept constant. Adjustment of the media model 150 continues in block 1034 as follows:
m
old
=m
new
, b
old
=b
new
Then in block 1036, the buffer 140 is cleared to allow new pairs of leading edge skew values 108 and trailing edge skew values 109 to be collected based off the updated corrected media model 150 and flow continues in block 1002.
Where
In decision block 1204, the determined R2 value is checked against a predetermined limit and if below the limit, then the trailing edge skew values 109 are uncorrelated from the leading edge skew values and in block 1206 the current media model 150 is not updated. This non-update is because the system is either working as expected or is not working as expected without correlation but in either case, no adjustment of the media model is desired. If the determined R2 value is greater or equal to the limit then in block 1208 the media model is allowed to be updated.
The media alignment systems and methods that have been described with auto-tuning calibration allow for a versatile skew correction technique that handles multiple media types and applied media marking coverage conditions to yield excellent uniform performance for high quality media output. It is able to be implemented in firmware with the use of existing hardware having differential drive rollers with little or no additional cost thereby keeping devices affordable. The auto-tune skew correction technique maintains system performance in a wide variety of end user situations. Further, by allowing for increased tolerance limits and less characterization of media alignment systems, money may be saved in manufacturing overhead and product development costs. Accordingly, a wide variety of media may be used with the auto-tune skew correction technique without compromising performance.
While the claimed subject matter has been particularly shown and described with reference to the foregoing examples, those skilled in the art will understand that many variations may be made therein without departing from the spirit and scope of subject matter in the following claims. This description should be understood to include all novel and non-obvious combinations of elements described herein, and claims may be presented in this or a later application to any novel and non-obvious combination of these elements. The foregoing examples are illustrative, and no single feature or element is essential to all possible combinations that may be claimed in this or a later application. Where the claims recite “a” or “a first” element of the equivalent thereof, such claims should be understood to include incorporation of one or more such elements, neither requiring nor excluding two or more such elements.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US15/64517 | 12/8/2015 | WO | 00 |