Abstract:
A method of previewing the effects of flattening transparency is provided. The method includes displaying a first presentation of a document containing transparency, receiving settings affecting how the document is flattened for a desired output and displaying a second presentation of the document in accordance with the settings.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application is a continuation application of and claims priority to pending U.S. application Ser. No. 10/186,129, entitled “Previewing the Effects of Flattening Transparency”, filed on Jun. 27, 2002, the entire contents of which are hereby incorporated by reference. 
     
    
     TECHNICAL FIELD  
       [0002]     This invention relates to previewing flattening transparency effects.  
       BACKGROUND  
       [0003]     An electronic document file may include various types of objects, such as text, line art, and images, which may be generated and edited by a user on a computer system with graphics application software. Most graphics application software can also be used to produce printed output defined by the electronic document file.  
         [0004]     In some cases, the objects on a page of an electronic document file may be transparent, with varying degree, so that objects that are placed behind the transparent objects can be seen through the transparent objects. When a user wishes to generate a printed copy of the electronic document file, the file is converted into a format that can be understood by a printing device in a process generally referred to as rendering. If an electronic document file contains a combination of transparent and opaque objects, the objects on each page of the electronic document file are broken up into opaque pieces, also referred to as atomic regions, during the rendering process, so that they may be printed on the printing device; this process is known as flattening.  
       SUMMARY  
       [0005]     In an aspect, the invention features an interface including a display of a preview of a result when flattening transparency in a document.  
         [0006]     One or more of the following may be included. The display may include a settings region. The settings region may reside inside a dialog box, outside of a dialog box and/or previously defined according to an output context. The output context may be a printer device type or a file type. The display may include graphical feedback and/or textual feedback.  
         [0007]     The settings region may include a flattening settings region. The flattening settings region may control a degree of rasterization of areas in the document, a resolution that is used to rasterize areas in the document and/or minimize visible stitching problems by clipping rasterized areas along paths of existing objects in the document. The flattening settings region may control a conversion of all text to outlines in the document, a conversion of all strokes to outlines in the document, and/or simulating overprint for objects in the document involved in transparency and preserves native overprint instructions for objects in the document not involved in transparency. The flattening settings region may control ignoring all overprint instructions for all objects in the document.  
         [0008]     The settings region may include a preview settings region. The preview settings region may control a toggle between a quick preview and a detailed preview. The preview settings region may control selecting a flattening output context. The output context may be an EPS output, a composite output or a legacy output.  
         [0009]     The preview settings region may control which areas in the document will get rasterized, a display of which objects in the document are sources of transparency, a display of which objects in the document are involved in transparency and/or a display of all patterns that get expanded due to flattening. The preview settings region may control a display of all strokes that get outlined due to flattening, a display of all areas in the document where text is converted to outlines, all cases where rasterization happens during flattening and/or a display of which objects have their overprint preserved, flattened or ignored. The preview settings region may control a display of which spot objects will be converted to process and/or a display of which objects will generate content on more process plates than their actual color.  
         [0010]     The display may include a preview window, and the preview window may include a refresh button. The refresh button may control redisplay of the document in the preview window.  
         [0011]     In another aspect, the invention features a method of previewing effects of flattening transparency including receiving settings affecting how the document is flattened for a desired output, and displaying a first presentation of the document in accordance with the settings.  
         [0012]     One or more of the following may be included. The settings may be pre-defined according to a type of the desired output or user-selectable. The user-selectable settings may include flattening settings. The flattening settings may include a setting that controls a degree of rasterization of areas in the document, a setting that controls a resolution used to rasterize areas in the document, and/or a setting that minimizes visible stitching problems by clipping rasterized areas along paths of existing objects in the document. The flattening settings may include a setting that controls a conversion of all text to outlines in the document, a setting that controls a conversion of all strokes to outlines in the document, a setting that controls simulating overprint for objects in the document not flattened and/or a setting that controls ignoring overprint instructions for all objects in the document.  
         [0013]     The user-selectable settings may include preview settings. The preview settings may include a setting that toggles between a quick preview and a detailed preview, a setting that selects a flattening output context, a setting that controls a display of which areas in the document get rasterized, and/or a setting that controls a display of which objects in the document are sources of transparency. The preview settings may include a setting that controls a display of which objects in the document are involved in transparency, a setting that controls a display of all patterns that get expanded due to flattening, a setting that controls a display of all strokes that get outlined due to flattening, a setting that controls a display of all areas in the document where text is converted to outlines and/or a setting that controls a display of all cases where rasterizations occurs during flattening. The preview settings may include a setting that controls a display of which objects have their overprint preserved, flattened or ignored, a setting that controls a display of which spot objects will be converted to process, and/or a setting that controls a display of which objects will generate content on more process plates than their actual color.  
         [0014]     The first presentation may be graphical and/or textual. The method may also include receiving a change in the settings, and displaying a second presentation of the document in accordance with the change in settings. Displaying the third presentation may be user-controllable or automatic in response to receiving the change in settings.  
         [0015]     The desired output may be a printer or a file.  
         [0016]     Embodiments of the invention may have one or more or the following advantages.  
         [0017]     The process provides a flattening preview that shows whether a document contains any transparency and thus requires flattening.  
         [0018]     The process provides a flattening preview that shows which are the transparent objects.  
         [0019]     The process provides a flattening preview that shows which objects are affected by transparency and which patterns will be expanded as a result of flattening.  
         [0020]     The process provides a flattening preview that shows which encapsulated postscript (EPS) files will be expanded.  
         [0021]     The process provides a flattening preview that shows which strokes were converted to outlines as a result of flattening and which texts were converted to outlines as a result of flattening.  
         [0022]     The process provides a flattening preview that shows which areas got rasterized because of their complexity and which atomic regions were rasterized.  
         [0023]     Other features and advantages of the invention will become apparent from the description, the drawings, and the claims. 
     
    
     DESCRIPTION OF DRAWINGS  
       [0024]      FIG. 1  is a block diagram of a system.  
         [0025]      FIG. 2  is a flow diagram of the graphics application process of  FIG. 1 .  
         [0026]      FIG. 3A  is an exemplary graphic image  
         [0027]      FIG. 3B  is an exemplary flattened graphic image.  
         [0028]      FIG. 4  is an exemplary flattening preview palette.  
         [0029]      FIG. 5  is a flow diagram of an overprint treatment process. 
     
    
     DETAILED DESCRIPTION  
       [0030]     Referring to  FIG. 1 , a vector graphic system  10  includes a computer system  12  having, for example, a processor  14  and a memory  16 . Memory  16  stores an operating system (“O/S ”)  18 , such as Windows XP or Linux, including a graphics device interface (“GDI”)  19 . Memory  16  also stores a TCP/IP protocol stack  20  for communicating with a network (not shown) and machine-executable instructions executed by processor  14  to perform a graphics application process  100 , such as Illustrator® from Adobe Systems Incorporated of San Jose, Calif., incorporated herein by reference.  
         [0031]     The system  10  includes a link to a first input/output (“I/O”) device  22 , such as a display device, and a link to second I/O device  24 , such as a printing device. The first I/O device  22  includes a graphical user interface (GUI)  26  for display to a user  28 . The system  10  also includes a link to a storage device  30  for storing a database of documents  32 . The documents  32  may contain various types of objects, such as text, line arts, and images, which may be generated and edited by the user  28  on the system  10  with the graphics application process  100 . These same documents  32  may also be printed on the second I/O device  24  by production of printer output using the graphics application process  100 , or saved to a file in the storage device  30 .  
         [0032]     When graphics application process  100  prints information on printer  24  or displays information on the GUI  26 , graphics application process  100  makes calls to the GDI  19 . The GDI  19  is a system by which graphics are displayed in the O/S  18 . The graphics application process  100  sends GDI  19  parameters for an image to be represented. The GDI  19  produces the image by sending commands to the GUI  26 , the printer  24 , or other output device (not shown).  
         [0033]     Referring to  FIG. 2 , the graphics application process  100  includes a set of integrated tools for creating and optimizing documents containing graphic objects such as line art and images.  
         [0034]     When a document contains images that overlap they may exhibit overlapping transparent artwork, e.g., an area of the document contains part of one image that can be seen under part of another image, thus, there appears to be a transparent region. When a document that contains transparency is printed or saved to a file in a format that does not understand transparency, the document gets “flattened” in a flattening process  102 . The flattening process  102  converts a document that contains transparency into a visually equivalent document that contains no transparency. More specifically, the flattening process  102  converts all overlapping elements in a stack of transparent objects into a format that captures a look of an original transparency for printing or saving to a file. In general, the flattening process  102  converts a document that has vector objects to vector objects and raster objects without transparency where at least some of the results have vectors preserved. To achieve this, the flattening process  102  examines interactions at every point of the transparency and does several operations to the artwork. Examples of flattening process  102  may be found in commonly assigned U.S. Pat. Nos. 6,049,339 and 6,289,364, incorporated by reference in their entirety.  
         [0035]     Referring to  FIG. 3A , an exemplary graphic image  50  includes a circular object  52  overlapping a rectangular object  54  at an overlapping region  56 . The flattening process  102  cuts transparent art, such as graphic image  50 , apart and represents overlapping transparent regions by discrete, abutting elements, each with its own color. More specifically, the flattening process  102  cuts transparent art apart to represent overlapping areas as discrete pieces that are either vector objects or rasterized areas. The graphic image  50  only involves vector objects. As artwork becomes more complex (e.g., mixing images, vectors, type, spot colors, overprinting and so forth) so does the flattening and its results. Referring now to  FIG. 3B , the original graphic image  50  of  FIG. 3A  is shown as flattened artwork  60 . Flattened artwork  60  includes discrete, abutting elements  62 ,  64 ,  66 ,  68 .  
         [0036]     The flattening process  102  examines the interactions at every point of the transparency and does the following. The flattening process  102  retains an integrity of the original transparent objects as much as possible (e.g., type stays type and vectors stay vectors), but it may rasterize some type or artwork when necessary, based on a file&#39;s complexity and the flattener settings in effect at the time.  
         [0037]     The flattening process  102  sets a resolution of rasterized areas to a specific, device-dependent value that is defined by the flattener settings or parameters in effect at the time.  
         [0038]     If overprinting is also used in a file, the flattening process  102 , by default, may process the overprinting objects as it would process overlapping transparent objects.  
         [0039]     Although the user  28  can specify flattening parameters, such as quality/speed of the flattening, rasterization resolution, raster effects resolution and mesh resolution, the user  28  does not typically obtain any feedback or preview on how the current document will change as a result of flattening with the current parameters. That is, the user  28  typically cannot make intelligent decisions for what flattening parameters are best to use for the current document because the user  28  does not know how the current flattening settings will affect the document. The user  28  typically tries different settings, by a trail and error process, until the user  28  is satisfied with a print result. This can be costly and time consuming. For example, rasterizing certain very complex areas can significantly improve print time, but may not be desirable if those areas contain small fonts that will get partially rasterized.  
         [0040]     Referring again to  FIG. 2 , the flattening process  102  includes a flattening preview process  104 . The flattening preview process  104  provides the user  28  with a quick feedback on the effects of flattening a document with current flattening settings and thus increases the predictability of the flattening process  102 . The flattening preview process  102  previews the effects of flattening transparency. The preview may be visual and/or textual. The preview may preview different things, such as, for example, the areas in a document that are rasterized, which objects are transparent, which objects are affected by transparency, and which areas are expanded. A graphical preview may draw an illustration in grayscale and highlighted areas/objects in color. A preview may include feedback about estimated time, memory and spool file size that would be required due to flattening.  
         [0041]     In an example, the flattening preview process  104  displays a palette. Other examples may include a model dialog or other dialog to the user  28  on the GUI  26  that allows the user  28  to preview the expected result when flattening transparency (e.g., as part of printing to a postscript printing device such a printer  24 ). The preview is not necessarily visual. For example, one may have a system that beeps if any text will be rasterized due to flattening. The palette increases the predictability of the flattening process  102  by providing an interactive, near-realtime feedback to the user  28 , thus simplifying workflow and allowing more targeted control by the user  28  of flattening parameters.  
         [0042]     Referring to  FIG. 4 , an exemplary flattening preview palette  120  is shown. The palette  120  includes a number of user-selectable/controllable settings  122 ,  124 ,  126 ,  128 ,  130 ,  132 ,  136 ,  138 ,  140 ,  142 ,  144 ,  146 ,  148 ,  150 ,  152 ,  154 ,  156  and  158 . In this example, the settings are contained within a dialog box and the user  28  interacts with them. In other examples, the settings are outside of the dialog box and/or previously set (e.g., pre-defined) according to specific target printer types and/or file format types.  
         [0043]     Settings  122 ,  124 ,  126 ,  128 ,  130  and  132  are generally referred to as flattening settings. Settings  136 ,  138 ,  140 ,  142 ,  144 ,  146 ,  148 ,  150 ,  152 ,  154 ,  156  and  158  are generally referred to as preview settings. Other preview settings (not shown) may include a preview of which objects have their overprint preserved, flattened or ignored, a preview of which spot objects will be converted to process, a preview of which objects will generate on more process plates than their actual color, and a preview of the time, memory and spool size that is required to flatten the current document using the current flattening settings.  
         [0044]     Setting  122  is a flattening slider. Flattening a document, as described above, involves breaking the overlapping transparent objects into small pieces. For most documents, the number of such pieces and the time to compute them is reasonable, but some complex documents result in thousands of such pieces, many of which may be smaller than a pixel. Flattening such documents may take considerable time and resources and, for some print jobs, it may be better to rasterize very complex areas in the document, rather than trying to preserve them in vector form. Such rasterization, however, can occasionally degrade the quality of a print job. Choosing whether and how aggressively to rasterize depends on the user&#39;s intent (fast proof vs. high-quality print), the time and computing resources available.  
         [0045]     The setting  122  controls the degree of rasterization of complex areas in the document.  
         [0046]     In an example, the rightmost position (value=100) is the default. In this position no areas in the document will get rasterized for performance reasons. The intermediate positions (values=1 . . . 99) result in rasterizing areas that are complex and preserving simple ones in vector form. For example, a single transparent pattern may be preserved intact, while portions of overlapping patterns may get rasterized. In the intermediate settings only areas that contain transparent objects may get rasterized. When the setting  122  is in the leftmost position (value=0), all objects, transparent or not, will get rasterized.  
         [0047]     Setting  124  is a rasterization resolution setting. Rasterization resolution is the resolution that is used to rasterize complex areas, as described above.  
         [0048]     Setting  126  is a clip complex regions setting. When the user  28  needs to rasterize for performance reasons, as described above, all objects are rasterized in a given region in the document. The document is divided into an invisible grid and only some cells in this grid, where complexity is high, get rasterized. This type of rasterization can result in objects some parts of which get rasterized and others remain in vector form. The vector/raster boundary follows the invisible grid and not existing object&#39;s paths. Many printer drivers&#39; process rasters differently from vectors—they have special “Vivid Color” or “Intelligent Color” options for better previews of photos (usually those settings are on by default, sometimes such settings are set in the printer itself, and in some cases disabling them is not possible). Therefore rasterizing for performance reasons, as described above, can be a source of stitching problems along the vector/raster boundary.  
         [0049]     The setting  126  allows the user  28  to significantly minimize and usually eliminate any visible stitching problems by clipping the rasterized areas along the paths of existing objects. Since there is already color discontinuity along object&#39;s paths, any such stitching problems will not be noticeable.  
         [0050]     The setting  128  refers to a convert all text to outlines setting. Usually text is preserved in native form after flattening. There are some cases where text will be converted to outlines; for example, in Illustrator®, when it is used as a clip, when it has a pattern fill or a stroke, when it is used in a very complex region and interacts with many other transparent fonts. Sometimes only portions of a transparent text that overlap gradients or images may get converted to outlines.  
         [0051]     Small fonts converted to outlines may appear noticeably thicker, especially in lower-end printing systems. The setting  128  is used to convert all text to outlines in the document, which results in consistent appearance for all text.  
         [0052]     Setting  130  refers to a convert all strokes to outlines setting. Usually only strokes involved in transparency are converted to outlines and the others not involved in transparency are preserved in native form. A thin stroke converted to outline may look slightly thicker, especially in lower-end printing systems. In some documents where there are thin strokes next to each other some of which are involved in transparency, the discrepancy may be noticeable. Setting  130  is used to convert all strokes in the document to outlines, which will result in their consistent thickness.  
         [0053]     Setting  132  refers to a preserve overprints when possible setting. There are several other options for treating overprint. Which option is in provided depends on the context of flattening. One option is to ignore overprint instructions for all objects. This is useful, for example, to preserve the legacy Adobe Illustrator® 8 behavior when printing to a composite printer (composite printers usually ignore overprint instructions).  
         [0054]     A second option is to simulate the appearance of overprint (flatten the overprint) for all objects. This option is useful when simulating overprint to a composite printer. This option causes overprint to be treated as a special blending mode, and all overprinted objects will be treated as transparent. This option causes documents containing overprint, but otherwise opaque, to be flattened (unless printing to separations). Flattened overprint may not work against a new background if the flattened file is placed in an aggregate application.  
         [0055]     A third option is to simulate overprint for objects involved in transparency, but preserve native overprint instructions for objects not involved in transparency. This option makes sense when printing to a separations printer, in which case simulated or native overprint will end up producing the same appearance. By preserving some objects overprint in native form, the set of objects involved in transparency is decreased, and thus improving the performance of flattening and quality of the output.  
         [0056]     A fourth option is to preserve native overprint for all objects. This option is only possible for documents that contain no transparency.  
         [0057]     Referring to  FIG. 5 , an overprint treatment process  200  includes determining ( 202 ) a context of flattening. The process  200  determines ( 204 ) whether it is composite printing. If composite printing, the process  200  determines ( 206 ) whether setting  132  is selected. If setting  132  is selected, the process  200  ignores ( 208 ) overprint instructions for all objects. If setting  132  is not selected, the process  200  simulates ( 210 ) appearance of overprint for all objects.  
         [0058]     If not composite printing, the process  200  determines ( 212 ) whether the document has transparency. If the document contains no transparency, the process  200  preserves ( 214 ) native overprint for all objects.  
         [0059]     If the document contains transparency, the process determines ( 216 ) whether setting  130  is selected. If setting  130  is selected, the process  200  simulates ( 218 ) overprint for objects involved in transparency and preserves native overprint instructions for objects not involved in transparency. If setting  130  is not selected, the process  200  simulates ( 210 ) the overprint for all objects.  
         [0060]     The flattening settings  122 ,  124 ,  126 ,  128 ,  130 , and  132 , described above, apply to a current document. When no document is open all flattening settings  122 ,  124 ,  126 ,  128 ,  130 , and  132  are disabled. The flattening preview process  104  is interactive. For example, in certain instances, when a user selects one aspect, other non-appropriate aspects are disabled. Thus, the flattening preview subprocess  104  provides feedback to the user  28  when a particular aspect is selected and some corresponding features do not apply. For example, when the flattening slider setting  122  is at the rightmost position (value=100), one will never rasterize for performance reasons and therefore in this case the Rasterization Resolution setting  124  and the Clip Complex Regions setting  126  are disabled. (In general, if in the current settings don&#39;t rasterize for performance reasons, these settings are irrelevant). When the flattening slider setting  122  is at the leftmost position (value=0) the entire document will be rasterized. Therefore all three flattening setting  128 ,  130 , and  132  are disabled.  
         [0061]     In Adobe Illustrator® 10, when flattening for legacy output all text gets converted to outlines. In this case the Convert All Text to Outlines setting  128  is checked and disabled.  
         [0062]     As discussed above, settings  136 - 158  are generally referred to as preview settings. The preview settings allow the user  28  to preview whether and where in the document certain events take place. The user  28  can use this information to make changes to the flattening controls or the document.  
         [0063]     A setting  136  refers to a quick vs. detailed preview mode selection. In general, some of the settings may take longer to compute than others. The settings that take longer to compute are typically only available in a detail preview mode. For example, most of the preview events can be computed very quickly. In Illustrator® 10, the outlined text setting  152  and all rasterized regions setting  154 , however, may take significant amount of time to compute and are only available in a detailed preview mode. A detailed preview mode is used only if the user needs to preview those events that take a long time to compute. A quick preview is as accurate as the detailed preview.  
         [0064]     A setting  138  refers to a selecting a flattening output context option. The result of flattening and the set of flattening controls depend on the context in which the flattener is used. The palette  120  provides for previewing three different contexts, i.e., a preview for EPS output context, a preview for composite output text and a preview for legacy output context.  
         [0065]     The preview for EPS output context is the context of saving an EPS file, but it is very similar to separations printing and it usually can provide reliable preview of flattening when printing to separations.  
         [0066]     The preview for composite output context is the context of printing to a composite printer. In this mode overprint behavior is controlled by selection of the setting to ignore overprinting in composite output.  
         [0067]     The preview for legacy output context is the context of saving as Adobe Illustrator® 8, PDF 1.3, EPS  8 , and the “Flatten Transparency” command. For this context all text is converted to outlines and the corresponding setting  128  is checked and disabled.  
         [0068]     Setting  140  refers to a rasterized complex regions option. Setting  140  is used to preview which areas in the document will get rasterized for performance reasons. The boundary of the previewed area has a higher probability for stitching problems (depending on the print driver settings and the rasterization resolution).  
         [0069]     Setting  142  refers to a transparent objects option. The setting  142  is used to preview which objects are sources of transparency. If there are no such objects, the document will not be flattened and the flattening settings are not relevant.  
         [0070]     The most common source of transparency is transparent objects, objects with blending modes or opacity masks. Certain styles and effects may contain transparency inherently. Overprinted objects may be treated as sources of transparency if they are involved in transparency or overprint needs to be flattened.  
         [0071]     Setting  144  refers to an all affected objects option. Setting  144  shows all objects that are involved in transparency. That includes transparent objects and objects that are overlapped by (or very close to and later in paint order than) transparent objects. The previewed objects will be affected by the flattening process  102 , i.e., their strokes or patterns will be expanded, portions of them may get rasterized, and so forth.  
         [0072]     An affected linked EPS files setting  146  shows all linked EPS files that are affected by transparency.  
         [0073]     An expanded patterns setting  148  shows all patterns that get expanded because they are involved in transparency.  
         [0074]     An outlined strokes setting  150  shows all strokes that get outlined because they are involved in transparency or the setting  130  “Convert All Strokes to Outlines” is checked. Outlined strokes may appear slightly different than native ones, especially very thin strokes and when printed to lower-end printers.  
         [0075]     An outlined text setting  152  shows all areas where text is converted to outlines. Text converted to outlines may appear slightly different than a native text, especially small fonts and when printed to lower-end printers.  
         [0076]     A setting  154  refers to an all rasterized regions option. In some cases, some objects or intersections of objects need to be rasterized because there is no other way of representing them in an output format, such as, for example, PostScript. The simplest example of this is the intersection of two transparent gradients. Rasters of this kind are clipped along objects&#39; paths. The objects that get rasterized contain no edges and are usually gradients or gradient meshes with low color frequency and the Gradient Mesh Resolution from the Document Setup is usually used. (unless images are involved). Therefore, such rasters are usually not a source of stitching or quality problems.  
         [0077]     Setting  154  shows all cases where rasterization happens during flattening.  
         [0078]     As mentioned above, the preview settings allow the user to preview whether and where in the document certain events take place. The user can use this information to make changes to the flattening controls or the document. The user can press a refresh button  156  and in a few seconds the current document is displayed in a preview window  158 . When the document or flattening settings change, the preview in the preview window  158  is no longer accurate and the preview window  158  is cleared. The user need only press the refresh button  156  to refresh the preview in the preview window  158 .  
         [0079]     Process  100  can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).  
         [0080]     Other embodiments are within the scope of the following claims.