Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEM AND METHOD OF SIMULTANEOUSLY MEASURING NON-UNIFORMITY OF BACKLIGHT ILLUMINATION AND PRINTING NON-UNIFORMITY, AND CHARACTERIZING A PRINTER
Document Type and Number:
WIPO Patent Application WO/2020/061555
Kind Code:
A1
Abstract:
A method for creating a profile corresponding to transmissive media for a printer to be characterized comprises printing at least one color target on the printer, the color target comprising a sheet of a transmissive medium having a plurality of printed calibration color patches wherein a subset of the color patches also comprise uniformity calibration patches; placing the color target on a backlight; measuring the color patches to provide a common set of measurements; fitting the measurements of the uniformity calibration patches to a backlight uniformity model; fitting the measurements of the color patches to a printer uniformity model and to a printer characterization model; and generating a printer profile that is corrected for both backlight spatial non-uniformity and printer spatial non-uniformity.

Inventors:
VOGH JAMES WILLIAM (US)
FINKEL JACOB (US)
ORINO THOMAS P (US)
MORA LEONEL (US)
Application Number:
PCT/US2019/052354
Publication Date:
March 26, 2020
Filing Date:
September 23, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
X RITE INCORPORATED (US)
International Classes:
H04N1/60; G06K15/02
Foreign References:
US9917955B22018-03-13
EP2134099A12009-12-16
US7489396B12009-02-10
US20110176029A12011-07-21
Other References:
PEDERSEN: "PhD dissertation", 2011, UNIVERSITY OF OSLO, article "Image quality metrics for the evaluation of printing workflows"
Attorney, Agent or Firm:
KAWULA, Walter (US)
Download PDF:
Claims:
What is claimed is:

1. A method for creating a profile corresponding to transmissive media for a printer to be characterized comprising:

printing at least one color target on the printer, the color target comprising a sheet of a transmissive medium having a plurality of printed calibration color patches wherein a subset of the color patches also comprise uniformity calibration patches;

placing the color target on a backlight;

measuring the color patches to provide a common set of measurements;

fitting the measurements of the uniformity calibration patches to a backlight uniformity model;

fitting the measurements of the color patches to a printer uniformity model and to a printer characterization model; and

generating a printer profile that is corrected for both backlight spatial non-uniformity and printer spatial non-uniformity.

2. The method of claim 1 , wherein the uniformity calibration patches comprise patches of repeated color values distributed across the color target.

3. The method of any of claims 1 -2, wherein all of the color patches are usable for printer characterization and printer spatial non-uniformity calculations.

4. The method of any of claims 1-3, wherein the step of fitting measurements of the uniformity color patches to a backlight uniformity model is performed simultaneously with the step of fitting measurements of the color patches to a printer uniformity model.

5. The method of any of claims 1 -4, wherein the color target further comprises unprinted uniformity calibration patches.

6. The method of any of claims 1-5, wherein the step of printing a color target comprises printing a plurality of color targets.

7. The method of any of claims 1-6, wherein the step of measuring the color patches further comprises making spectral radiance measurements of light transmitted through the color patches.

8. The method of claim 1, further comprising the step of smoothing the backlight and printer models.

9. A system for creating a profile corresponding to transmissive media for a printer to be characterized comprising:

at least one color target printed by the printer, the color target comprising a sheet of a transmissive medium having a plurality of printed calibration color patches wherein a subset of the color patches also comprise uniformity calibration patches;

a backlight;

a spectrophotometer; and

a computing device, wherein the computing device is configured with instructions to: receive a common set measurements made by the spectrophotometer of the color patches of the color target on the backlight;

fit measurements of the uniformity calibration patches to a backlight uniformity model; fit measurements of the color patches to a printer uniformity model and to a printer characterization model; and

generate a printer profile that is corrected for both backlight spatial non-uniformity and printer spatial non-uniformity.

10. The system of claim 9, wherein the uniformity calibration patches comprise patches of repeated color values distributed across the color target.

11. The system of any of claims 9-10, wherein all of the color patches are usable for printer characterization and uniformity calculations.

12. The method of any of claims 9-11, wherein the computing device is further configured to fit measurements of the uniformity color patches to a backlight uniformity model simultaneously with fitting measurements of the color patches to a printer uniformity model.

13. The system of any of claims 9-12, wherein the color target further comprises unprinted uniformity calibration patches.

14. The system of any of claims 9-13, wherein the color target comprises printing a plurality of color targets.

15. The system of any of claims 9-14, wherein the backlight uniformity model comprises a polynomial using spatial coordinates for variables.

Description:
System and Method of Simultaneously Measuring Non-Uniformity of Backlight Illumination and Printing Non-Uniformity, and Characterizing a Printer

Background

[0001 ] Color management is known to be applied to obtain accurate color reproduction from printers. In particular, ICC-compatible color management systems have been widely adopted. In an ICC-compatible color management system, each device that reproduces color should have an 1CC profile, which allows for translation of color information to/from a device- independent color space to a device-specific color space.

[0002] An ICC profile may be generated for a printer by printing a color target containing a plurality of color patches having known device values on the printer, measuring the spectral values of the color patches with, for example, a spectrophotometer, computing colorimetric values from the spectral values, and computing transforms to and from colorimetric values and device values. For transmissive media, such as transparent or translucent media, the color target chart is printed on the transmissive media and placed over a backlight, such as a light table or other flat panel light source. A spectrophotometer may then be used to measure the spectral radiance of light being transmitted through the media and ink.

[0003] Both printers and flat panel backlights may have some spatial non-uniformities. For example, printers may have spatial non-uniformities in ink density or color. Individual color channels may have different spatial non-uniformities. Also, backlights may have spatial non uniformities in light intensity or variations from a standard illuminant. Accordingly, it is known to attempt to characterize the backlight so that the spectral contributions of the ink on the transmissive color target may be separated from the spectral contributions of the backlight for each measured color patch. To do this, the spectral radiance of a backlight has been measured at the location of each color patch, with or without unprinted media on the backlight. This allows for any non-uniformity of backlights to be corrected when determining the spectral contributions of each color patch of the printed color target. A disadvantage of this process is that it requires two separate complete scans - a first scan to characterize the backlight, and a second scan to characterize the printed color target. Summary

[0004] Provided herein is a system and method that measures the non-uniformity of a backlight and the non-uniformity of a printing process simultaneously by using measurements of patches on color targets. Advantageously, this requires only one scanning operation.

[0005] A method for creating a profile corresponding to transmissive media for a printer to be characterized comprises printing at least one color target on the printer, the color target comprising a sheet of a transmissive medium having a plurality of printed calibration color patches wherein a subset of the color patches also comprise uniformity calibration patches; placing the color target on a backlight; measuring the color patches to provide a common set of measurements; fitting the measurements of the uniformity calibration patches to a backlight uniformity model; fitting the measurements of the color patches to a printer uniformity model and to a printer characterization model; and generating a printer profile that is corrected for both backlight spatial non-uniformity and printer spatial non-uniformity.

[0006] The uniformity calibration patches comprise patches of repeated color values distributed across the color target. All of the color patches are usable for printer characterization and printer spatial non-uniformity calculations. The color target may further comprise unprinted uniformity calibration patches. The step of printing a color target may comprise printing a plurality of color targets.

[0007] The step of fitting measurements of the uniformity color patches to a backlight uniformity model may be performed simultaneously with the step of fitting measurements of the color patches to a printer uniformity model.

[0008] The step of measuring the color patches may further comprise making spectral radiance measurements of light transmitted through the color patches. The method may further comprise the step of smoothing the backlight and printer models.

[0009] A system for creating a profile corresponding to transmissive media for a printer to be characterized comprises at least one color target printed by the printer, the color target comprising a sheet of a transmissive medium having a plurality of printed calibration color patches wherein a subset of the color patches also comprise uniformity calibration patches; a backlight; a spectrophotometer; and a computing device.

[0010] The computing device is configured with instructions to: receive a common set measurements made by the spectrophotometer of the color patches of the color target on the backlight; fit measurements of the uniformity calibration patches to a backlight uniformity model; fit measurements of the color patches to a printer uniformity model and to a printer characterization model; and generate a printer profile that is corrected for both backlight spatial non-uniformity and printer spatial non-uniformity.

Drawings

[0011] Figure 1 is a block diagram of system using a color target according to one aspect of the present invention.

[0012] Figure 2 is a view of components of the system of Figure 1 including a first example of a color target according to the present invention.

[0013] Figure 3 is a view of a second example of a color target according to the present invention.

[0014] Figure 4 is a view of the third example of a color target according to the present invention.

[0015] Figure 5A is a flowchart for characterizing a printer and light box according to another aspect of the present invention.

[0016] Figure 5B illustrates steps of generating a printer profile as part of the method of Figure 5A.

[0017] Figure 6 illustrates a flowchart for generating printer and backlight models according to another aspect of the present invention.

[0018] Figure 7 illustrates a flow chart for smoothness-based profile generation according to another aspect of the present invention. [0019] Figure 8 illustrates a display of a uniformity and profile generator according to another aspect of the present invention.

[0020] Figure 9 illustrates use of a color target according to at last one aspect of the present invention to characterize a printer and a backlight.

[0021] Figure 10 illustrates a competing device which can be used to implement certain aspects of the present invention.

Detailed Description

[0022] Referring to Figures 1 and 2, an embodiment of a system for characterizing a printer 10 comprises a backlight 12, a measuring aid 14, a measurement device 16, a computing device 18, and one or more color targets 20. The measurement device 16 measures light that is transmitted from the backlight 12 through the measuring aid 14 and the color target 20. ln one example, the system 10 is coupled, for example via a digital communication interface 32, to one or more printers 30 to be characterized ln other exemplar embodiments of the system 10, the printers are operated separately from the system 10.

[0023] An embodiment of a backlight 12 comprises, for example, a two-dimensional backlight. Examples of a backlight 12 include a conventional light table, for example comparable to light tables used for observing photographic negatives or x-ray radiographs. Additional embodiments of a backlight include, for example, an edge-lit LED panel with a light diffuser, an assembly comprising an array of LED’s and a translucent diffuser, an electroluminescent panel, or any other panel-based light sources. The measuring aid 14 comprises, for example, an opaque sheet with a plurality of apertures 22 that correspond to locations for a plurality of color patches for a color target, as described below.

[0024] The measurement device 16 comprises, for example, a spectrophotometer or other suitable color measuring device. In one example, the measurement device automatically measures the patches on the color targets 20, for example, on an XY table. Other examples of measurement devices are manually operated by a user. In one example, a spectrophotometer capable of making spot measurements and scanning a row of color patches is used. In this case, a color target may be clamped to a backup board and a ruler placed over the color target to assist in hand-scanning each row of color patches. Any of the examples of measurement devices may be used in combination with any of the examples of backlights.

[0025] The computing device 18 comprises, for example, one or more programmable computers configured with instructions in non-volatile memory to communicate with the color measurement device and compute the non-uniformity of the backlight and printer based on color measurements made by the color measurement device.

[0026] The color target 20 comprises one or more sheets of transmissive media on which a plurality of color patches have been printed by the printer to be characterized. Each individual color target 20 includes a plurality of printer calibration color patches 24a, 24b, 24c having different color values and a plurality of uniformity calibration patches 26a embedded in the color target 20. The uniformity calibration patches 26a comprise a plurality of color patches having a common color value and are distributed across the color target 20 to allow for measurement of spatial non-uniformities of the backlight and printer. The color patches are in predetermined locations to allow the computing device to properly correlate measurements to known values.

The predetermined locations may be selected to decrease the number of measurements needed for the characterization of any non-uniformities in the backlight 12 and printing device, for example if the type of backlight device 12 is known beforehand, to acquire measurements at locations known for being sufficient for measuring non-uniformities, for example along one or more of: one or more rows, one or more columns, and one or more diagonals with respect to the backlight’s geometric frame. In one example, uniformity calibration patches 26a are unprinted, i.e., they comprise spaces of transmissive media having no ink. ln one example, some patches are repeated across the media and across different media sheets in order to improve the estimation of backlight and printer non-uniformity.

[0027] Referring to Figure 3, in another example, uniformity calibration patches 26b are printed with ink in a common color. In one example, the color may be gray. Referring to Figure 4, a color target 20 may include more than one set of uniformity calibration patches 26a, 26b,

26c, 26d, each set having color values different from the other sets, including unprinted patches. In one example, some colors are printed on the same location on different color targets. [0028] In one example, color targets 20 are printed so that the printing orientation can be changed relative to the orientation that is used for measurement, for example by one or more of 90°, 180°, and 270° rotations of the media. In one example, multiple color targets 20 are printed with the same color patches, but with the locations of the color patches rotated at 90° intervals. Changing the locations of color patches will help separate any non-uniformity of the backlight from the non-uniformity of the patches printed by the printer.

[0029] Referring to Figures 5A and 5B, a measurement workflow 100 for measuring color targets 20 having uniformity calibration patches and printer calibration patches on a backlight 12 in a combined operation to create printer profiles is illustrated. Each of the examples of the color target 20 provided may be used in combination with the measurement workflow 100. A color patch set is selected in step 110. Test chart layout to fit a size of the color target occurs in step 1 12. The printer to be characterized prints one or more color targets 20 in step 114. The measurement device 16 is calibrated, if necessary, in step 116. In step 118, an inquiry is made as to whether a backlight measurement exists. If yes, the backlight measurement is retrieved in step 130. If no, the backlight is measured without any media present in step 120. This involves setting the measurement device to a transmissive-spot measurement mode in step 122 and acquiring one or more measurements in step 124. The measurements may be stored in the computing device and retrieved for subsequent color targets and/or printers. When subsequent color measurements are made, the transmittance of the patch is calculated by dividing the measurement of the patch by the measurement of the backlight 12 without any media.

[0030] A color target 20 is placed on the backlight 12 in step 140. The color target 20 includes the uniformity calibration patches (26a, 26b, 26c) which are a subset of the printer calibration color patches (24a, 24b, 24c). Optionally, the measuring aid 14 may also be placed on the backlight. The measuring aid 14 may be placed above, below, or next to a color target 20. The measurement device is set to transmissive-scan mode in step 143. Suitability for row scanning is evaluated in step 150. This comprises scanning (a sequential, for example raster- wise, acquisition of measurements) a row of color patches in step 142 and evaluating whether the scan was successful in step 154. In one example, the evaluation is performed by the

measurement device 16. If the scan was not successful, the measurement device is switched to transmissive-spot measurement mode in step 156 and the row of color patches is measured one at a time in step 162.

[0031] In some embodiments, after measuring a row, a sanity check is performed in step 164, and if the check fails, the process terminates in step 166. In one example, a sanity check comprises evaluating whether measurements provide values within a set of pre-stored ranges. If the sanity check is successful, a determination as to whether scanning is complete is made in step 170. If additional rows are to be scanned, a determination is made as to whether to scan or spot measure the next row in step 172, and the process loops back to steps 152 (scan row) or 162 (spot measure row) depending on the outcome. When measuring is complete, an output quality score is output in step 174. The measurement device 16 communicates the measurements to the computing device 18, which stores the measurements.

[0032] If more than one color target has been printed for characterization, the measured color target 20 is removed, and the next color target to be measured is placed on the backlight, and the measurement workflow 100 repeated. For best results in characterizing any nonuniformities in the backlight 12, the next color target 20 should be placed at the same location of the backlight 12 as the previous color target 20. This ensures that the same positions on the backlight are being measured. Alternatively, the two-dimensional location on the backlight that each measurement is made over may be recorded. When all of the color targets 20 have been measured, the computing device builds a printer profile 34 in step 180.

[0033] Figure 5B illustrates steps for generating a printer profile 180. In step 182, a backlight is selected or measured. This backlight may be different from the backlight 12 used to illuminate color targets 20 for measurement. Ambient viewing conditions are measured or selected in step 184 profile settings are generated in step 186.

[0034] In one example, computing device 18 calculates a spatial uniformity map of the backlight (step 186A) and a spatial uniformity map of the printer (step 186B) and a non-spatial printer characterization (step 186C) from a common set of measurements as obtained in the measurement workflow 100. The measurement workflow 100 allows for the uniformity map(s) and printing characterization to be computed simultaneously while not requiring a large number of additional measurements. For example, the measurement workflow 100 avoids independently measuring media and printed patches from separate media and in separate operations. The measurement workflow 100 also avoids acquiring a separate set of measurements to characterize the backlight. The spatial maps correspond to an X, Y location of each color patch on color target 20. The profile 34 is, for example, stored in non-volatile memory in step 188, for example, in a storage device 1006 (Fig. 10). These calculations, in one example, are performed simultaneously.

[0035] In one example, the printer spatial uniformity map is for each ink channel of the printer. In this example, each ink channel of the printer is printed in repeated uniformity calibration patches at, for example, 50% density. For some printers it may be assumed that printing is sufficiently uniform and that this calculation does not need to be performed.

However, for many printers while printing uniformity may be within specified tolerances, additional improvements in printing quality may be achieved by characterizing printing non- uniformity.

[0036] In an example shown in Figure 6, models are calculated as part of generating the uniformity maps. For example, a backlight uniformity model is calculated in step 610, a printing uniformity model is calculated in step 620, and a printer color model is calculated in step 630. These models are useable to create the spatial uniformity maps and ultimately printer profiles in step 650. In some embodiments, the models are calculated by determining parameters so that the measurements are fitted to a model. In one example, the backlight and printing non-uniformity models are calculated simultaneously.

[0037] In one example for the backlight uniformity model, the measured spectral radiance measurements for the uniformity calibration patches are fit to a polynomial, for example a second order polynomial. In one non-limiting example, a second order polynomial that can be used for backlight uniformity is:

E(x,y, ) - (A l +Bx*x+Cx*y+Dx*x*x+Ex*y*y+Fx*x*y)*E(n,m, l), where: E(x,yA) is the light emitted at location x,y for wavelength l; E(n,m, l) is the light emitted at a location m,n for wavelength l; location m,n is where the spot measurement of the backlight without media is made; and parameters Ac, Bc, Cx, Dx, Ex, Fx are the parameters that are estimated. If only the intensity of the backlight varies, then the parameters do not vary by wavelength.

[0038] An example for a model for a printer uniformity model is: a(x,y) = A a + Ba*x+Ca*y+D a *x*x+Ea*y*y+Fa*x*y, b(x,y) = A b + B b *x+C b *y+D b *x*x+E b *y*y+Fb*x*y, where Dc(x,y,v) is the density for channel c at location x,y for a device value of v; Dc(v) is the average density for channel c for a device value of v; and parameters A a, B a, C a, D a, E a, F a. A b, B b, C b, D b, E a, F are the parameters that are estimated (individually for each channel). The present invention is not limited to fitting data to polynomials; other suitable methods for reducing the measurements of the uniformity calibration patches to a model may be used.

[0039] During an error minimization procedure, a set of values for the coefficients that fit the measurements of the uniformity calibration patches are computed. For example, the measurements from uniformity calibration patches 26a may be fit to a polynomial, and nonuniformities in backlight luminance may be interpolated from the polynomial curve. A profile 34 for the printer is derived from the backlight uniformity model and the printer uniformity model.

[0040] Referring to Figure 7 the steps 700 for generating a printer characterization include correcting measurements of the color targets for backlight non-uniformity in step 710; computing transmittance in step 720 by, for example, dividing the corrected measurement of the color patch by E(n,m, l); correcting measurements for printing non-uniformity in step 730 by, for example, using the density equation from above; and interpolating the measured color patches to obtain a lookup table in step 740. In another example, after determining the backlight model and printer model, the models may be smoothed, for example, by one or more of: a Gaussian smoothing operator, a smoothing operator or matrix, and a smoothing algorithm. For example, the models may be maximized for smoothness, for example constraining the smoothed output within one or more thresholds in gradient changes. The printer profile may be derived from the smoothed models.

[0041] The printer characterization can be represented by a lookup table. Other methods of representing the printer characterization, for example as a cellular Neugebauer, could be used. A measure of printer characterization smoothness can be calculated by smoothing the lookup table and measuring the difference between the original lookup table and the smoothed lookup table. The parameters for the polynomials and the lookup table values can be calculated by using an error minimization technique such as simplex function fitting to increase the smoothness of the printer characterization.

[0042] Fig. 8 presents a graphical user interface (GUI) 800 for a Uniformity and Profile Visualizer, for example displayed on one or more of a general purpose computer’s display, for example the computing device 18, a tablet, a mobile phone, or a display embedded in a color measuring apparatus 16 (Fig. 9), an apparatus comprising a backlight 12, or a printer, displays data acquired by the color measuring apparatus 16, for example a spectrophotometer 16. The GUI 800 comprises one or more of a backlight uniformity display 810, patch uniformity display 820C, 820M, 820Y, 820K, and printer profile display 830.

[0043] The backlight uniformity display 810 presents, for example, the backlight spatial uniformity map as a two-dimensional map of measurements E(c,n,l) of the backlight 12 acquired by the color measuring apparatus 16. The backlight measurements are for example presented or rendered by converting the measurements into RGB values displayable by, for example, an LCD device, or an LED or OLED array. The measurements acquired by the color measuring apparatus 16 are done so at discrete, spatially distant locations from each other. The backlight uniformity display 810 presents, for example, a spatially-interpolated graphical rendering of the measurements, for example interpolated using a polynomial-based interpolation, for example a spline-based interpolation. The rendering is represented, for example, with enhanced contrasts, to facilitate visualization by a user of backlight illumination non

uniformities. In another example, the rendering represents, for example in a sequence selected from: one or more of red, green, or blue values; one or more of CIE L, u, or v values; one or more of CIE L*, u*, or v* values; one or more of CIE X, Y, or Z values; and one or more of cyan, magenta, yellow, or black values (CMYK). In a further example, the rendering is presented as a color-coded heat map of one or more of values. In yet another example, the rendering presents a graphical representation, for example as a heat map, of brightness or color shifts between two or more usage dates, for example to present aging measurements of the backlight.

In another example, the graphical rendering of measurements is overlaid with numerical data

81 1.

[0044] The one or more patch uniformity displays 820C, 820M, 820Y, 820K present, for example, a two-dimensional representation of variations in color uniformity across a plurality of patches, for example for one or more channels of the printing device, for example channels cyan 820C, magenta 820M, yellow 820 Y, and black 820K, for example arithmetically averaged for each channel using measurements acquired over a plurality of patches, for example acquired over a plurality of patches printed with the same color specifications. In one embodiment of the patch uniformity displays 820C, 820M, 820Y, 820K, the graphical information may be complemented by statistical data, for example variance across a plurality of patches, for example data describing variations between two or more measurement dates for a given printer. In a further embodiment, the graphical information is complemented by spatial measurement metrics, for example presented as values, for example one or more of density gradient, density gradient orientation, a lightness-related metric, a banding metric, or a Color Printing Quality Attribute (CPQA), for example as listed or referenced in standards listed in Pedersen (2011) Image quality metrics for the evaluation of printing workflows, PhD dissertation, University of Oslo, ISSN 1501-7710 <URL: https://www.duo.uio.n0/bitstream/ha11dle/l 0852/9035/1 l24_Pedersen_materie.pdf>.

[0045] The printer profile display 830 presents, for example, a three-dimensional colorized rendering of the color profi le of a printer from which the patches were measured. In the embodiment presented in Fig. 8, the profile is presented within, for example, a CIE Lab frame. Other frames that can be used for rendering the printer’s profile are for example, CIE L*a*b*, CIE XYZ, or other equivalent color spaces. The user may, for example, change the frame’s orientation by using a computer mouse, touchscreen gestures, camera-detected gestures, or tilting the display on which the color profile’s frame is represented. [0046] Fig. 9 presents an embodiment of a system 900 for measuring color patches on a color target 20. The system 900 comprises a color measuring device 16 and, for example, a scanning guide 920. The scanning guide comprises, for example, markings 926 for gauging the position or movement of the color measuring device 16, for example by use of a detector embedded within the color measuring device. Motion of the color measuring device is, for example, imparted manually by a user. In other embodiments, motion of the color measuring device 16 is for example imparted by a computer-controlled drive embedded within the color measuring device 16 or a robotic arm. For a computer-controlled or robotic embodiment, the speed at which the color measuring device 16 moves is, for example, constant. For another scanning example, the speed is a function of the color or lightness of a patch to be measured. For a further example, patches comprising lightness or density that is below or above a given threshold may be subject to repeat measurements, for example measurements acquired by moving the color measuring device 16 in a first direction and subsequently by moving in a second direction, for example in an opposite direction, for another example in a setup where the color measuring device 16 can be moved in more than one dimension, in an orthogonal direction.

[0047] Embodiments of the present disclosure, for example, one or more of the computing device 18, the color measuring device 16, and the system 900 for measuring color patches, comprise or utilize a special purpose or general-purpose computer including computer hardware, such as, for example, one or more processors and system memory, as discussed in additional detail below. Embodiments within the scope of the present disclosure also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. In particular, one or more of the processes or methods described herein may be implemented at least in part as instructions embodied in a non -transitory computer-readable medium and executable by one or more computing devices (e.g., any of the media content access devices described herein). In general, a processor (e.g., a microprocessor) receives instructions, from a non-transitory computer-readable medium, (e.g., a memory, etc.), and executes those instructions, thereby performing one or more processes or methods, including one or more of the processes or methods described herein.

[0048] Computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system. Computer-readable media that store computer-executable instructions are non-transitory computer-readable storage media (devices). Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments of the disclosure can comprise at least two distinctly different kinds of computer-readable media: non-transitory computer- readable storage media (devices) and transmission media.

[0049] Non-transitory computer-readable storage media (devices) includes RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), Flash memory, phase- change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.

[0050] A digital communication interface, or network, is defined as one or more data links that enable the transport of electronic data between computer systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly views the connection as a transmission medium. Transmissions media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.

Combinations of the above should also be included within the scope of computer-readable media.

[0051 ] Further, upon reaching various computer system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to non-transitory computer-readable storage media (devices) (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a“NIC”), and then eventually transferred to computer system RAM and/or to less volatile computer storage media (devices) at a computer system. Thus, it should be understood that non transitory computer-readable storage media (devices) can be included in computer system components that also (or even primarily) utilize transmission media.

[0052] Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. In some embodiments, computer-executable instructions are executed on a general- purpose computer to turn the general-purpose computer into a special purpose computer implementing elements of the disclosure. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.

[0053] Those skilled in the art will appreciate that the disclosure may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, handheld devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like. The disclosure may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.

[0054] Embodiments of the present disclosure can also be implemented in cloud computing environments. In this description,“cloud computing” is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources. For example, cloud computing can be employed in the marketplace to offer ubiquitous and convenient on-demand access to the shared pool of configurable computing resources. The shared pool of configurable computing resources can be rapidly provisioned via virtualization and released with low management effort or service provider interaction, and then scaled accordingly.

[0055] A cloud-computing model can be composed of various characteristics such as, for example, on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service, and so forth. A cloud-computing model can also expose various service models, such as, for example, Software as a Service (“SaaS”), Platform as a Service (“PaaS”), and Infrastructure as a Service (“IaaS”). A cloud-computing model can also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, and so forth. In this description and in the claims, a“cloud-computing environment” is an environment in which cloud computing is employed.

[0056] FIG. 10 illustrates a block diagram of an exemplary computing device 1000 (or 18) that may be configured to perform one or more of the processes described above. One will appreciate that one or more computing devices, such as the computing device 1000 may host the curve enhancement system 602. As shown by FIG. 10, the computing device 1000 can comprise a processor 1002, memory 1004, a storage device 1006, an I/O interface 1008, and a

communication interface 1010, which may be communicatively coupled by way of a

communication infrastructure 1012. While an exemplary computing device 1000 is shown in F1G. 10, the components illustrated in FIG. 10 are not intended to be limiting. Additional or alternative components may be used in other embodiments. Furthermore, in certain

embodiments, the computing device 1000 can include fewer components than those shown in FIG. 10. Components of the computing device 1000 shown in FIG. 10 will now be described in additional detail.

[0057] In particular embodiments, processor(s) 1002 includes hardware for executing instructions, such as those making up a computer program. As an example and not by way of limitation, to execute instructions, processor(s) 1002 may retrieve (or fetch) the instructions from an internal register, an internal cache, memory 1004, or a storage device 1006 and decode and execute them.

[0058] The computing device 1000 includes memory 1004, which is coupled to the processor(s) 1002. The memory 1004 may be used for storing data, metadata, and programs for execution by the processor(s). The memory 1004 may include one or more of volatile and non volatile memories, such as Random Access Memory (“RAM”), Read Only Memory (“ROM”), a solid state disk (“SSD”), Flash, Phase Change Memory (“PCM”), or other types of data storage. The memory 1004 may be internal or distributed memory.

[0059] The computing device 1000 includes a storage device 1006 includes storage for storing data or instructions. As an example and not by way of limitation, storage device 1006 can comprise a non-transitory storage medium described above. The storage device 1006 may include a hard disk drive (HDD), flash memory, a Universal Serial Bus (USB) drive or a combination these or other storage devices.

[0060] The computing device 1000 also includes one or more input or output (“I/O”) devices/interfaces 1008, which are provided to allow a user to provide input to (such as user strokes), receive output from, and otherwise transfer data to and from the computing device 1000. These I/O devices/inter faces 1008 may include a mouse, keypad or a keyboard, a touch screen, camera, optical scanner, network interface, modem, other known I/O devices or a combination of such I/O devices/interfaces 1008. The touch screen may be activated with a stylus or a finger.

[0061] The I/O devices/interfaces 1008 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain embodiments, devices/interfaces 1008 is configured to provide graphical data to a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and/or any other graphical content as may serve a particular implementation.

[0062] The computing device 1000 can further include a communication interface 1010. The communication interface 1010 can include hardware, software, or both. The communication interface 1010 can provide one or more interfaces for communication (such as, for example, packet-based communication) between the computing device and one or more other computing devices 1000 or one or more networks. As an example and not by way of limitation,

communication interface 1010 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network or a wireless N1C (WNIC) or wireless adapter for communicating with a wireless network, such as a WI-FI. The computing device 1000 can further include a bus 1012. The bus 1012 can comprise hardware, software, or both that couples components of computing device 1000 to each other.

[0063] In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. Various embodiments and aspects of the invention(s) are described with reference to details discussed herein, and the accompanying drawings illustrate the various embodiments. The description above and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention.

[0064] The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. For example, the methods described herein may be performed with less or more steps/acts or the steps/acts may be performed in differing orders. Additionally, the steps/acts described herein may be repeated or performed in parallel with one another or in parallel with different instances of the same or similar steps/acts. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.