Abstract:
A method and apparatus for extending LCDS imaging data stream imaging capabilities. An imaging data stream can be modified to permit the imaging data stream to implement at least one full-color call for rendering full-color forms and full-color jobs via at least one rendering device within a rendering system. This can be accomplished by creating and associating at least one full-color extension with a syntax of the imaging data stream in order to implement the at least one full-color call in an extensible set of color spaces, and also compactly decoding, storing indexing and searching the at least one full-color call within a particular job. In addition, an LCDS imaging data stream can be modified to provide an image substitution pathway to permit at least one full-color image included in said LCDS imaging data stream to be substituted for monochrome images or highlight color images.

Description:
TECHNICAL FIELD 
       [0001]    Embodiments are generally related to data-processing methods and systems. Embodiments are also related to the field of printing methods and systems. Embodiments are additionally related to imaging data streams and color imaging models thereof. Embodiments are also related to data streams for imaging via document rendering systems. 
       BACKGROUND 
       [0002]    Digital printing systems can be constructed from two essential components. The first component is a print engine and the second component is a print controller. The print engine and controller units can be developed and implemented independently of one another, or integrated into the product that is ultimately manufactured. In general, the print controller handles communications and interfaces with a host system. 
         [0003]    A print controller can also interpret print commands transmitted from the host and translate them into signals required to drive the print engine. Printing functions ranging from color management to duplexing generally depend on the interaction of the print engine and the controller. Digital print systems include, for example, desktop units, copy machines, printers, print-on-demand systems, and so forth. 
         [0004]    One of the functions of a print controller is the ability to effectively enable a print stream format. A number of different print stream formats are utilized in the printing arts. A commonly utilized print stream format (also referred to herein as an “imaging data stream”) is the Line Conditioned Data Stream (LCDS), developed by Xerox Corporation of Stamford, Conn. LCDS is one type of an imaging data stream that can be utilized to drive, for example production printers. Unlike page description languages, which create pages from high-level graphical constructs, print command languages such as LCDS contain printer commands interspersed with data and are processed and executed sequentially. 
         [0005]    One particular type of LCDS format is known as “Highlight Color LCDS”. The concept of “Highlight Color” has been implemented in the context of so-called “Highlight” printers. Anyone who has watched U.S. television in recent years has probably seen one of the recent commercials that begin in black-and-white, then introduces a single color to spotlight the sponsor&#39;s product or logo. The effect is dramatic, immediately focusing the viewer&#39;s attention right where the advertiser wants it. 
         [0006]    In full-color commercials, colors are selected and coordinated to establish the spot&#39;s mood, its “look and feel.” But when black-and-white images are used to establish the atmosphere, color plays a much different role. While the color selected usually ties to the sponsor&#39;s brand identity, the color choice almost doesn&#39;t matter. Whatever the color, it will contrast dramatically with the black-and-white background and have the desired effect of getting the viewer&#39;s attention. 
         [0007]    This distinction between the functions of highlight and full color has long been recognized in document production, and actually demonstrates a fundamental difference between transactional and publishing print applications. In transactional printing of invoices, statements and other documents that often are jammed with data, highlight color can help the reader make sense of the document by directing attention to the most critical information—the amount and date due, for example. In publishing, color more often is deployed artistically, to establish the look and feel of a brochure or advertisement. 
         [0008]    Today, however, transactional and publishing applications increasingly borrow from one another, blurring distinctions between them. More publishing documents use variable data and images to personalize individual pieces in long print runs, which is a capability that had long been the sole realm of transactional printing. Similarly, transactional applications have grown more graphically sophisticated, moving from graphically limited line printers to laser models offering increasingly finer print resolutions and imaging capabilities. 
         [0009]    Further, as corporate reprographics centers merge with data center printing operations, and as centralized applications move to distributed locations, printing equipment often is expected to serve a wider range of applications. Xerox Corporation of Stamford, Conn. has developed a line highlight color production printers that can print at, for example, resolutions of 600 dots per inch (dpi) responds to these trends. With such newly developed highlight color production rendering devices, two-color digital printing can now support the increasing requirement for sophisticated graphical capabilities and data stream flexibility in transactional printers. 
         [0010]    Currently, users who desire to print Highlight Color LCDS jobs with a variety of base toners must either maintain multiple highlight printers with different loaded toner or stop the production between runs to change the base Highlight toner. There presently does not exist a technique or device for readily and efficiently adding full color elements to existing or new jobs. This ability is increasingly important as full-color rendering devices such as printers are achieving greater production speeds. It is believed that a need exists for a method and system that would permit LCDS users to explore full color rendering capabilities without expensive data and resource translations. The alternative is for users to convert perhaps millions of records of LCDS data to another format, which is often problematic and expensive. 
       BRIEF SUMMARY 
       [0011]    The following summary is provided to facilitate an understanding of some of the innovative features unique to the embodiments disclosed and is not intended to be a full description. A full appreciation of the various aspects of the embodiments can be gained by taking the entire specification, claims, drawings, and abstract as a whole. 
         [0012]    It is, therefore, one aspect of the present invention to provide for an improved rendering method and apparatus for an LCDS imaging data stream. 
         [0013]    It is another aspect of the present invention to provide for a method and apparatus for extending LCDS imaging data stream imaging capabilities. 
         [0014]    It is a further aspect of the present invention to provide for a method and apparatus for extending Highlight Color LCDS to print full-color forms and jobs. 
         [0015]    The aforementioned aspects and other objectives and advantages can now be achieved as described herein. A method and apparatus for extending LCDS imaging data stream imaging capabilities is disclosed. An LCDS imaging data stream can be modified to permit the imaging data stream to implement at least one full-color call for rendering full-color forms and full-color jobs via at least one rendering device within a rendering system. This can be accomplished by creating and associating at least one full-color extension with the syntax of the imaging data stream in order to implement at least one full-color call in an extensible set of color spaces, and also to compactly decode, store, index, and search at least one full-color call within a particular job. 
         [0016]    Additionally, a pathway can be provided query the rendering system to identify a current default base color of a rendering queue used in the rendering system, as required by the rendering system. Additionally, one or more full-color text calls associated with the LCDS imaging data stream can be reduced using a multiply-recursive look-up and parse algorithm in order to recognize at least one color space of the imaging data stream. 
         [0017]    An intermediate form associated with the LCDS imaging data stream can be modified to attach at least one full-color index to data and for a later retrieval of at least one full-color index. Also an image substitution pathway can be provided to permit one or more full-color images and/or data included in the imaging data stream to be substituted for monochrome or highlight color images. Each data item or image included in the LCDS imaging data stream can also be automatically passed to a rendering interface for full-color rendering. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0018]    The accompanying figures, in which like reference numerals refer to identical or functionally-similar elements throughout the separate views and which are incorporated in and form a part of the specification, further illustrate the embodiments and, together with the detailed description, serve to explain the embodiments disclosed herein. 
           [0019]      FIG. 1  illustrates a diagram of a data-processing system including a rendering device adapted to render electronically encoded documents transmitted from a data-processing apparatus, in accordance with a preferred embodiment; 
           [0020]      FIG. 2  illustrates a block diagram of the principal components of the data-processing apparatus and processing unit depicted in  FIG. 1  in accordance with a preferred embodiment; 
           [0021]      FIG. 3  illustrates a high-level flow chart of operations illustrating logical operational steps of a method, which may be implemented in accordance with a preferred embodiment; and 
           [0022]      FIG. 4  illustrates a high-level block diagram of the data-processing apparatus in accordance with an alternative embodiment. 
       
    
    
     DETAILED DESCRIPTION 
       [0023]    The particular values and configurations discussed in these non-limiting examples can be varied and are cited merely to illustrate at least one embodiment and are not intended to limit the scope thereof. 
         [0024]    The embodiments discussed herein can be implemented in the context of imaging data streams. An example of an imaging data stream is the Line Conditioned Data Stream (LCDS), which is a line data stream utilized to drive Xerox Corporation&#39;s production printers from host systems. Unlike page description languages, which create pages from high-level graphical constructs, print command languages such as LCDS contain printer commands interspersed with data and are processed and executed sequentially. 
         [0025]    With reference now to the drawings where the showings are for the purpose of illustrating a preferred embodiment of the invention and not for limiting the same,  FIG. 1  illustrates an electronic document processing or rendering system  5  that can be implemented in accordance with one embodiment. Alternative or preferred embodiments disclosed herein can therefore be implemented in the context of the rendering system  5  depicted in  FIG. 1 . In general, the electronic document processing (rendering) system  5  includes a data-processing apparatus  8  and a rendering device  9  that are connected with a suitable communication channel such as, for example an Ethernet connection  12 . The connection  12  enables image data from one or more remote sources such as data-processing apparatus  8 , to be input to the rendering device  9  for hardcopy rendering. The data-processing apparatus  8  can generally be provided in the form of one or more processor readable storage devices having a processor readable code embodied on the processor readable storage devices, the processor readable code for programming one or more processors to perform one or more different methods. 
         [0026]    The data-processing apparatus  8  includes a processing unit  15  for processing user inputs received from keyboard  17  and pointing device or mouse  18 , through user interface  19  displayed on monitor  20 . The user interface  19  collectively represents user inputs through which control instructions are used to develop electronic images. The rendering device  9 , which can be configured to include its own user interface  22  for monitoring print job requests, can be adapted to print hardcopy color and/or black and white image renderings of selected electronic images developed via data-processing apparatus  8 . 
         [0027]    Referring to  FIG. 2 , there is depicted a block diagram of the principal components of data-processing apparatus  8  and in particular the processing unit  15 . In general, a CPU (Central Processing Unit)  226  is connected via a system bus  234  to RAM (Random Access Memory)  258 , diskette drive  122 , hard-disk drive  123 , CD-ROM drive  124 , keyboard/pointing-device controller  284 , parallel-port adapter  276 , network adapter  285 , display adapter  270 , and modem  287 . Although the various components of  FIG. 2  are drawn as single entities, each may consist of a plurality of entities and may exist at multiple levels. 
         [0028]    Processing unit  15  includes the CPU  226 , which executes instructions. CPU  226  includes the portion of data-processing apparatus  8  that controls the operation of the entire data-processing  8 , including executing the arithmetical and logical functions contained in a particular computer program. Although not depicted in  FIG. 2 , CPU  226  typically includes a control unit that organizes data and program storage in a computer memory and transfers the data and other information between the various parts of the computer system. CPU  226  generally includes an arithmetic unit that executes the arithmetical and logical operations, such as addition, comparison, and multiplication. CPU  226  accesses data and instructions from and stores data to volatile RAM  258 . 
         [0029]    CPU  226  can be implemented, for example, as any one of a number of processor chips, or any other type of processor, which are available from a variety of vendors. Although data-processing system  8  is shown to contain only a single CPU and a single system bus, the present invention applies equally to computer systems that have multiple CPUs and to computer systems that have multiple buses that each performs different functions in different ways. 
         [0030]    RAM  258  comprises a number of individual, volatile-memory modules that store segments of operating system and application software while power is supplied to data-processing apparatus  8 . The software segments can be partitioned into one or more virtual-memory pages that each contains a uniform number of virtual-memory addresses. When the execution of software requires more pages of virtual memory than can be stored within RAM  258 , pages that are not currently needed are swapped with the required pages, which are stored within non-volatile storage devices  122  or  123 . RAM  258  is a type of memory designed such that the location of data stored in it is independent of the content. Also, any location in RAM  258  can be accessed directly without needing to start from the beginning. 
         [0031]    Hard-disk drive  123  and diskette drive  122  are electromechanical devices that read from and write to disks. The main components of a disk drive are a spindle on which the disk is mounted, a drive motor that spins the disk when the drive is in operation, one or more read/write heads that perform the actual reading and writing, a second motor that positions the read/write heads over the disk, and controller circuitry that synchronizes read/write activities and transfers information to and from data-processing apparatus  8 . 
         [0032]    Keyboard/pointing-device controller  284  interfaces processing unit  15  with keyboard  17  and graphical-pointing device  18 . In an alternative embodiment, keyboard  17  and graphical-pointing device  18  may possess separate controllers. Display adapter  270  can translate graphics data from CPU  226  into video signals utilized to drive the display device  20 . 
         [0033]    Finally, processing unit  15  can include a network adapter  285 , a modem  287 , and a parallel-port adapter  276 , which facilitate communication between data-processing system  8  and peripheral devices or other computer systems, such as, for example, the rendering device  9 . Parallel-port adapter  276  can transmit printer-control signals to rendering device  9  through a parallel port. Network adapter  285  can connect data-processing apparatus  8  to an un-illustrated local area network (LAN). A LAN provides a user of data-processing system  5  with a means of electronically communicating information, including software, with a remote computer or a network logical-storage device. In addition, a LAN supports distributed processing, which enables data-processing apparatus  8  to share a task with other computer systems linked to the LAN., which can also be implemented in the context of a wireless local area network (WLAN). 
         [0034]    Modem  287  supports communication between data-processing system  8  and or system  5  over a standard telephone line. Furthermore, through modem  287 , data-processing apparatus  8  can access other sources such as a server, an electronic bulletin board, and the Internet or the well-known World Wide Web. 
         [0035]    The configuration depicted in  FIG. 1  is but one possible implementation of the components depicted in  FIG. 2 . Portable computers, laptop computers, and network computers or Internet appliances are other possible configurations. The hardware depicted in  FIGS. 1-2  may vary for specific applications. For example, other peripheral devices such as optical-disk media, audio adapters, or chip-programming devices, such as PAL or EPROM programming devices well-known in the art of computer hardware, may be utilized in addition to or in place of the hardware already depicted. 
         [0036]    As will be described in detail below, aspects of the preferred embodiment pertain to specific method steps implementable on computer systems. In an alternative embodiment, the invention may be implemented as a computer program-product for use with a computer system, which can be implemented as devices such as networked computer workstations, computer desktop and peripheral devices, servers and the like. The programs defining the functions of the preferred embodiment can be delivered to a computer via a variety of signal-bearing media, which include, but are not limited to, (a) information permanently stored on non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by CD-ROM drive  124 ); (b) alterable information stored on writable storage media (e.g., floppy disks within diskette drive  122  or hard-disk drive  123 ); or (c) information conveyed to a computer by a communications media, such as through a computer or telephone network, including wireless communications. Such signal-bearing media, when carrying computer-readable instructions that direct the functions of one or more embodiments of the present invention, and/or represent alternative embodiments of the present invention. 
         [0037]    Note that in order to appreciate the context in which the embodiments can be implemented, it is helpful to review a highlight-color ink naming technique. In some highlight-color printers, for example, highlight color toners include standard Red, Blue and Green. There are also a number of other special colors such as Ruby, Royal and Brown. It is a straightforward process for specifying a particular tint and shade of color in a highlight-color rendering devices, such as a highlight-color LCDS. For example, to color a filled box, users simply identify how much black toner to mix in via a command that they embed in a document in the imaging data stream directed to a highlight color printer. For example, a highlight color such as ‘R30K10’ can indicate to print a patch of color that is 30% Red toner and 10% black (K) [“K” is used for “black to avoid mixing up Blue (“B”) and Black (“K”)]. 
         [0038]    Whatever percentage is left over by default is the amount of white paper that shows through. Assume, for example, that 60% of the color is white, meaning that it is a light color. A color such as ‘B100’ (100% Blue toner) has no black mixed in and no white paper showing through. One can also utilize “H” to mean “generic Highlight toner” as in ‘H50K10’ (50% Highlight toner mixed with 10% black). When a document is ready to print, the specific Highlight toner to be utilized can be identified by naming a “Palette”—again via a command embedded in a document. In such a generic system, a full ink name can be composed of two parts: the “Palette” (like ‘RED’), and the HK values (e.g., ‘H50K10’). The “RED” palette informs the rendering device or printer to interpret the “H” as RED. 
         [0039]    Later, if the toner physically loaded on the printer is changed to Green and the document is expected to be printed in shades and tints of Green, the Palette specification in the document can be changed to GREEN and all the colors such as ‘H50K10’ will print in the same tints and shades of green instead of red. 
         [0040]    In a full-color LCDS configuration, for example, a number of legacy highlight color palettes (e.g., highlight toners) can be pre-defined, with more added to fill out the rainbow. The supplied LCDS pre-defined highlight color Palettes can be, for example, RED, BROWN, ORANGE, YELLOW, LIME, GREEN, TEAL, CYAN, BLUE, ROYAL, VIOLET, PURPLE, MAGENTA, RUBY and CARDINAL. For legacy highlight-color jobs, such pre-defined palettes can ensure that legacy jobs will print similarly on a full-color printer. In addition, for legacy Highlight-Color Forms or jobs that used “HK” color definitions, it is relatively easy to simply change the PALETTE to be any of the above pre-defined highlight color Palettes. New full-color Palettes can be defined, however, at will. If the supplied predefined Palettes are insufficient, any Named Color in the DocuSP Color Manager can be used as a “Palette”. 
         [0041]      FIG. 3  illustrates a high-level flow chart of operations illustrating logical operational steps of a method  300 , which may be implemented in accordance with a preferred embodiment. The method  300  depicted in  FIG. 3  generally extends existing highlight color imaging data stream decomposition to render a full-color imaging data stream. For example, in the context of an imaging data stream such as an existing highlight color LCDS data stream, method  300  can extend existing highlight color LCDS decomposition in order to render full-color LCDS. Method  300  can be implemented, for example, utilizing one or more DocuSP full-color printers. It can be appreciated, of course, that the use of LCDS and/or a DocuSP full-color printer is presented for general illustrative purposes only and is not intended to limit the scope of the present invention. 
         [0042]    As indicated at block  302 , the process begins. Thereafter, as indicated at block  304 , an imaging data stream (e.g., Highlight Color LCDS) can be provided. Next, as depicted at block  306 , an operation can be processed for creating full-color extensions to the existing imaging data stream (e.g., Highlight Color LCDS) syntax, which allows full-color calls in an extensible set of color spaces. Thereafter, as indicated at block  308 , an operation is processed for compactly decoding, storing, indexing and searching full color calls (e.g., LCDS full color calls) within a particular imaging data stream job, which is fully editable and extensible to replace the large, static, non-dynamic ink catalogs used in current imaging data streams, such as Highlight Color LCDS. 
         [0043]    Following processing of the operation depicted at block  308 , an operation can be implemented, as indicated at block  310 , to provide a pathway to query the rendering device (e.g., rendering device  9 ) and/or rendering system (e.g., rendering system  5 ) in order to identify the current queue&#39;s default base color, when needed. Next, as depicted at block  312 , an operation is processed for implementing a multiply-recursive look-up and parse algorithm to reduce full-color text calls to recognized color spaces. Thereafter, as described at block  314 , an operation is processed for extending internal imaging data stream intermediate forms (e.g., TL/DLs) in order to attach full-color indices to data and later retrieve them. 
         [0044]    Again, an example of such an imaging data stream is a Highlight Color LCDS data stream. Next, as indicated at block  316 , an operation can be processed, which provides an image-substitution pathway to allow full-color images in the imaging data stream to be substituted for mono or highlight images. Finally, as depicted at block  318 , an operation is processed for automatically passing each data or image generated by the imaging data stream to a rendering interface for full-color rendering and printing. That is, for each data object or image generated by the imaging data stream, associated full-color information is passed and retrieved at an appropriate time to an imaging or rendering interface (e.g., DocuSP CII (C Imager Interface)) library for full-color rendering. 
         [0045]      FIG. 4  illustrates a high-level block diagram of the data-processing apparatus  15  in accordance with an alternative embodiment. Note that the data-processing apparatus  15  can be associated and/or integrated with a rendering device such as rendering device  9  described earlier. Thus, in  FIGS. 1-4 , identical or similar parts or elements are generally indicated by identical reference numerals. Data-processing apparatus  15  (and hence rendering device  9 ) can be provided in the context of a software module  406  that is stored in a memory  404  and which can be retrieved and processed by a processor  226 . Note that an example of memory  404  includes components such as, but not limited to the RAM  258  depicted in  FIG. 1 . Other examples of “memory”  404  include ROM (Read Only Memory), CD-ROM disks, flash memory, and so forth. In general, data-processing apparatus  15  can be composed of one or more processor readable storage devices (e.g., memory  404 ) having a processor readable code (e.g., software module  406 ) embodied on one or more of the processor readable storage devices, the processor readable code for programming one or more processors (e.g., CPU  226 ) to perform a particular activity. 
         [0046]    Note that the embodiments disclosed herein can be implemented in the context of a host operating system and one or more module(s) such as module  406 . Module  406  can thus be used to implement the operational steps of method  300  depicted in  FIG. 3  herein. In the computer programming arts, a software module can be typically implemented as a collection of routines and/or data structures that perform particular tasks or implement a particular abstract data type. Software modules generally comprise instruction media storable within a memory location of a data-processing apparatus and are typically composed of two parts. First, a software module may list the constants, data types, variables, routines and the like that can be accessed by other modules or routines. Second, a software module can be configured as an implementation, which can be private (i.e., accessible perhaps only to the module), and that contains the source code that actually implements the routines or subroutines upon which the module is based. The term module, as utilized herein can therefore refer to software modules or implementations thereof. Such modules can be utilized separately or together to form a program product that can be implemented through signal-bearing media, including transmission media and recordable media. 
         [0047]    It will be appreciated that variations of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Also that various presently unforeseen or unanticipated alternatives, modifications, variations or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.