Claims
- 1. A method of transmitting pulse information to a plurality of thermal elements, comprising:
receiving a plurality of energy index values, the plurality of energy index values representing energy needed to create a specified optical density on a media by the plurality of thermal elements corresponding to the plurality of energy index values; comparing the plurality of energy index values to an activating energy level of a first pulse position in a pulse stream; generating an active pulse for a duration of a pulse time for each of the plurality of energy index values that is greater than or equal to the activating energy level of the pulse position in the pulse stream; and generating an inactive pulse for a duration of a pulse time for each of the plurality of energy index values that is less than the activating energy level of the pulse position in the pulse stream.
- 2. The method of claim 1, further including actions of
(a) comparing the plurality of energy index values to an activating energy level of a second pulse position in the pulse stream; (b) generating the active pulse for a duration of the pulse time for each of the plurality of energy index values that is greater than or equal to the activating energy level of the second pulse position in the pulse stream; (c) generating the inactive pulse for the duration of a pulse time for each of the plurality of energy index values that is less than the activating energy level of the pulse position in the pulse stream; and repeating actions (a), (b), and (c) for each pulse position in the pulse stream.
- 3. The method of claim 1, further including creating a pulse activation table which includes pulse activation energies for each pulse position in the pulse stream before receiving the plurality of energy index values.
- 4. The method of claim 3, wherein the pulse activation table is preconfigured on a multi-media printer.
- 5. The method of claim 3, wherein the pulse activation table is created at the initialization of the multi-media printer.
- 6. The method of claim 3, wherein the pulse activation table is created prior to printing or between prints on the multi-media printer.
- 7. A thermal printhead, comprising:
a pulse activation table, the pulse activation table including a plurality of entries, each of the plurality of entries corresponding to a pulse position in a pulse stream, the pulse activation table identifying an activating energy level for each of the pulse positions; a frame buffer including a plurality of active subregisters, each of the plurality of active subregisters having an energy value stored therein; and comparison logic to compare the energy level value in each of the plurality of active subregisters to the activating energy level for a first pulse position in a pulse activation table, and to transmit an activation signal if the energy value is greater than or equal to the activating energy level for the first pulse position
- 8. The thermal printhead of claim 7, further including a plurality of driver circuits to receive the activation signal for each of the energy values and to activate the thermal element corresponding to each of the energy level values if the energy value in the plurality of active subregisters is greater than or equal to the activating energy level of the corresponding pulse position in the entry of the pulse activation table.
- 9. The thermal printhead of claim 7, wherein the comparison logic provides offsets based on a predetermined pattern.
- 10. The thermal printhead of claim 7, wherein the comparison logic extracts offset information for the pulse position from the activating energy level in the pulse activation table.
- 11. The thermal printhead of claim 7, wherein the comparison logic extracts offset information for the pulse position from the pixel energy value.
- 12. The thermal printhead of claim 7, wherein the comparison logic is preprogrammed to provide bias pulses of variable durations.
- 13. The thermal printhead of claim 7, wherein the comparison logic extracts information from the activating energy level and the energy value to determine if bias pulses of variable durations are activated.
- 14. A multi-media printer for rendering an image utilizing a plurality of thermal elements, comprising:
an engine controller to control the print engine to receive a row of energy values or pixels and to transmit the energy values; and a printhead controller to receive the row of energy values and to transmit an activation signal, the printhead controller including a pulse activation table, the pulse activation table including a plurality of entries, each of the plurality of entries corresponding to a bit position in a pulse stream, the pulse activation table identifying an activating energy level for each of the bit positions; a frame buffer including a plurality of active subregisters, each of the plurality of active subregisters having an energy value stored therein; and comparison logic to compare the energy value in each of the plurality of active subregisters to the activating energy level for a first bit position in the pulse activation table, and to transmit the activation signal if the energy value for each of the plurality of active subregisters is greater than or equal to the activating energy level for the first bit position.
- 15. The multi-media printer of claim 14, wherein the comparison logic is programmed to provide offsets based on a predetermined pattern of thermal elements to offset value.
- 16. The multi-media printer of claim 14, wherein the comparison logic extracts offset information for the pulse position from the activating energy level in the pulse activation table.
- 17. The multi-media printer of claim 14, wherein the comparison logic extracts offset information for the pulse position from the pixel energy value.
- 18. The multi-media printer of claim 14, wherein the comparison logic is programmed to provide bias pulses of variable duration.
- 19. The multi-media printer of claim 14, wherein the comparison logic extracts information from the activating energy level and the energy value to determine if bias pulses of variable durations are activated.
- 20. The multi-media printer of claim 14, wherein the plurality of thermal elements have a u-shape to produce raster-free rendering of the image.
- 21. The multi-media printer of claim 14, wherein the plurality of thermal elements have a wide heating profile to produce raster-free rendering of the image.
- 22. The multi-media printer of claim 14, further including a color mapping module to map a display device color representation scheme to a print device color representation scheme.
- 23. The multi-media printer of claim 14, further including a color registration module to register media on which the image to be rendered is printed.
- 24. The multi-media printer of claim 14, further including a thermal management module to provide real-time voltage control of the plurality of thermal elements, to provide compensation for a printhead bow, to determine initial thermal conditions of the plurality of thermal elements prior to rendering, to predict the rate of heat flow out of the thermal elements, and to apply a corrected amount of energy to produce clinically acceptable medical images.
- 25. A method of creating interlaced pulse streams for uniformly energizing thermal elements in a printhead, comprising:
creating an integer number of repeat blocks; creating an integer number of interlace groups within each of the repeat blocks, wherein each of the integer number of interlace groups includes a fixed number of pulse groups; and transmitting the integer number of repeat blocks as a first pulse stream to a first thermal element in the printhead.
- 26. The method of claim 25, wherein the integer number of repeat blocks is four.
- 27. The method of claim 25, wherein values of pulses in the fixed number of pulse groups are the same to reduce switching of thermal element drivers.
- 28. The method of claim 27, wherein each of the fixed number of pulse groups includes four pulses.
- 29. The method of claim 25, wherein the integer number of interlace groups within each of the repeat blocks is the same.
- 30. The method of claim 25, wherein the integer number of interlace groups for each of the repeat blocks is variable.
- 31. The method of claim 25, wherein the integer number of repeat blocks is four and a hardware bias pulse group is added to each of the four repeat blocks to add additional pulse energy levels.
- 32. The method of claim 31, wherein each of the hardware pulse groups include two normal pulses, a filler pulse, and a variable pulse
- 33. The method of claim 32, wherein a duration of the variable pulse in each of the hardware pulse groups is 2.25 time a normal pulse time.
- 34. The method of claim 32, wherein a first duration of a first pulse group variable pulse is 2.125 time a normal pulse time; a second duration of a second pulse group variable pulse and a third duration of a third pulse group variable pulse is 2.25 times a normal pulse time, and a fourth duration of a fourth pulse group variable pulse is 2.375 times a normal pulse time.
- 35. The method of claim 32, wherein a first duration of a first pulse group variable pulse is 2.125 time the normal pulse time, a second duration of a second pulse group variable pulse is 2.25 times the normal pulse time, a third duration of a third pulse group variable pulse is 2.375 times the normal pulse time, and a fourth pulse group variable pulse is 2.50 times the normal pulse time.
- 36. The method of claim 25, further including actions of
(a) creating an integer number of repeat blocks; (b) creating an integer number of second interlace groups within each of the second repeat blocks, wherein each of the integer number of second interlace groups includes the fixed number of pulse groups; (c) transmitting the integer number of second repeat blocks as a second pulse stream to a second thermal element in the printhead; and repeating actions (a), (b), and (c) for each thermal element in the printhead.
- 37. The method of claim 36, further including inserting offsets before transmitting specific pulse streams, the specific pulse streams identified by a preexisting offset pattern.
- 38. The method of claim 36, further including offsetting the pulse streams and wrapping pulses from the end of the pulse stream that are offset past the end of the line time to the start of the pulse stream before transmitting specific pulse streams, the specific pulse streams identified by a preexisting offset pattern.
- 39. A print engine controller, comprising:
a host controller including a paste-up buffer to store a plurality of energy values, the energy values corresponding to pixels in rows of an image to be rendered; a memory to store a pulse lookup table including the plurality of pulse streams, each of the plurality of pulse stream including an integer number of repeat blocks and an integer number of interlace groups within each of the repeat blocks; an engine controller to receive a row of energy values of the plurality of energy values, to receive the pulse lookup table, to retrieve a matching pulse stream from the pulse lookup table for each of the pixels in the row of energy values, and to transmit the matching pulse stream for each of the pixels in the row of energy values retrieved from the pulse lookup table to a corresponding thermal element.
- 40. The print engine controller of claim 39, wherein the integer number of interlace groups includes a fixed number of pulse groups, and each of the fixed number of pulse groups has the same number of pulses.
- 41. The print engine controller of claim 40, where values of pulses in the fixed number of pulse groups are the same to reduce switching of thermal element drivers which drive the corresponding thermal elements.
- 42. The print engine controller of claim 40, wherein the engine controller adds a bias pulse group to each of the integer number of repeat blocks to add additional energy levels for use.
- 43. The print engine controller of claim 42, wherein each of the hardware pulse groups includes two normal pulse, a filler pulse, and a variable pulse.
- 44. The print engine controller of claim 43, wherein the engine controller inserts offsets of null values before transmitting the matching pulse stream for each of the row of energy values, the offsets determined by a pre-existing offset pattern.
- 45. The print engine controller of claim 43, wherein the engine controller offsets the pulse streams and wraps pulses from an end of a pulse stream that is offset past the end of the line time to a start of of the pulse stream before transmitting the matching pulse stream for each of the row of energy values, the offsets determined by a pre-existing offset pattern.
- 46. A method of transmitting pulse information to a plurality of thermal elements, comprising:
receiving a plurality of energy index values, the plurality of energy index values representing energy needed to create a specified optical density on a media by the plurality of thermal elements corresponding to the plurality of energy index values; comparing the plurality of energy index values to an activating energy level of a first pulse position in a pulse stream; generating an active pulse for a duration of a pulse time for each of the plurality of energy index values that is greater than the activating energy level of the pulse position in the pulse stream; and generating an inactive pulse for a duration of a pulse time for each of the plurality of energy index values that is less than or equal to the activating energy level of the pulse position in the pulse stream.
- 47. The multi-media printer of claim 14, further including at least one sensor to allow full-bleed printing of the image.
RELATED APPLICATIONS
[0001] The instant application claims priority from U.S. provisional patent application serial No. 60/428,777, filed Nov. 22, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60428777 |
Nov 2002 |
US |