APPARATPS FOR PROCESSING DIGITAL DATA
BACKGROUND OF THE INVENTION
Technical Field Of The Invention In general, the present invention relates to apparatus for processing digital data. More particularly, the present invention relates to digital data processing apparatus including digital memory which is configurable to process a single digital word or two or more digital words simultaneously.
Background Art
In printing a hard copy from a digital image displayed on a video display device, it is desirable'to process the digital image so that the hard copy image matches the appearance of the displayed image. Image processing is generally effected with a look-up table which is loaded with an appropriate image transfer function. An input pixel digital value is applied to the look-up table as an address and the output pixel digital value is supplied as the processed pixel digital value. Because the tone scale characteristics of a video display monitor are generally different from the tone scale characteristics of hard copy material (such as photosensitive film) , a transfer characteristic which has a non-linear curve shape (such as illustrated in Fig. 1) is used. The following patents disclose the use of look-up tables to correct tone scale: U.S. Patent 4,473,849, issued September 25, 1984, inventor J. K. Cool; U.S. Patent 4,794,460, issued December 27, 1988, inventor K. Schiota; and U.S. Patent 4,730,214, issued March 8, 1988, inventors T. W. Lambert et al. The latter patent discloses a technique for developing a set of calibration data which can be stored in a look-up table to effect a match between an image displayed on a video monitor and a hard copy reproduction of that image on film. To prevent
contouring of the transformed digital image, the output pixel digital value from the look-up table may include more bits than the input pixel digital value.
Modern medical diagnostic imaging includes the production of images, which are digitized, by various well-known imaging modalities such as ultrasound, magnetic resonance imaging (MRI) , nuclear medicine, computed tomography (CT) , digital subtraction angiography (DSA) , and digital radiography. Such digital images are displayed on a video monitor. The technique of window processing was developed to improve the diagnosis of a region of interest in a diagnostic image. Because the tonal range of a region of interest may be small compared to the tonal range of the entire digital image, insufficient contrast in the region of interest may inhibit proper diagnosis. By expanding the tonal range in the region of interest to the entire tonal range of the display device through windowing, image contrast in the region of interest is greatly enhanced. Proper diagnosis is therefore greatly facilitated. The "window width" is the range of code values in the input digital image which is displayed over the full tonal range of the output display device. The "window level" defines the location of the window within the tonal range of the entire digital image.
The window level may equal the minimum or center value of the window.
Typically, a digital image from a medical diagnostic imaging modality is processed for window width and level by means of a window width/level look¬ up table. Patents disclosing the use of window width/level processing in digital imaging devices include: U.S. Patent 4,755,954, issued July 5, 1988, inventor Z. Netter; U.S. Patent 4,688,175, issued August 18, 1987, inventors M. Kaneko et al.; U.S.
Patent 4,833,625, issued May 23, 1989, inventors H. D. Fisher et al.; U.S. Patent 4,399,509, issued August 16,
1983, inventor G. N. Hounsfield; and U.S. Patents 4,680,628, issued July 14, 1987, inventors D. R. Wojcik et al. and 4,730,212, issued March 8, 1988, inventors D. R. Wojcik et al. In a known laser printer for producing an image on film of an image from a medical diagnostic imaging modality, curve shape, window width and window level image processing have been combined into a single look-up table. This is illustrated in Fig. 3. A digital image signal from an image source 4 (such as a medical diagnostic imaging modality) , is supplied to window width/level and curve shape look-up table (LUT) 6. The output from LUT 6 is stored in buffer image memory 8. Typically, the digital image from image source 4 may comprise an 8-bit digital signal while the output of LUT 6 is a 12-bit digital signal. Thus, a greater number of bits needs to be stored in memory, resulting in an increase in the size of the buffer image memory, and consequently, in an increase in the manufacturing cost. Moreover, combining the curve shape and window level image processing into a single look-up table is disadvantageous when several images are printed on a single page of film. Generally, curve shape processing is constant for all of the images on a page, whereas window width/level processing is specific to an image and therefore can change within a page. Thus, undesirable rapid changing of the window width/level image processing LUT would be required during printing of the film. Because different medical diagnostic imaging modalities produce images having pixels of different bit lengths (such as 8-bit or 12-bit pixels) , it is desirable that both image processing look-up tables and buffer image memory have the capability of handling, in the most efficient manner, digital images having pixels of different bit lengths. Typically, the image processing look-up table and buffer image memory may be
sized to handle a digital image having pixels with the greatest bit lengths to be processed. When digital images with fewer bit pixels are handled, this results in a waste of both look-up table space and image memory space with a resultant waste of manufacturing cost. Traditionally, when a printer handles images having pixels of 8-bits, 12-bits, and 16-bits, for example, separate look-up tables are needed for each pixel size which the printer can print. Thus, larger memory, increased cost, and greater complexity results.
SUMMARY OF THE INVENTION
According to the present invention, there is provided improved apparatus for processing digital data. The apparatus includes digital memory which is configurable to process a single digital data word of from 1 to n bits or to simultaneously process two or more digital data words, where the sum of their bit lengths is equal to or less than n bits. When a single data word is processed, a single look-up table is stored in the digital memory. When two data words are processed simultaneously, two look-up tables are combined and stored in memory such that each value of one look-up table is permutated with each value of the other look-up table.
According to an aspect of the present invention, digital images produced by medical diagnostic imaging equipment are processed before being sent to a laser printer. The digital image processing apparatus includes digital memory which is configurable to process a single digital pixel of 1 to n bits or to simultaneously process two or more digital pixels,, where the sum of the pixel bit lengths are equal to or less than n. When a single pixel is processed, a single look-up table is stored in digital memory. When two pixels are processed simultaneously, two combined look-up tables are stored in memory, such that each
value of one look-up table is permutated with each value of the other look-up table. Preferably, two processing memories are provided which can simultaneously process two pixels of 1 to 16 bits each or at least four pixels of, for example, 8 bits each. According to another aspect of the present invention, digital image processing apparatus is provided in which one or more bits may be added to a digital image to overlay an image with text or graphics. Processing digital memory of the apparatus is loaded with a look-up table which can generate different overlay tonal values for digital image pixels of different density, e.g. white overlay for dark image regions and black overlay for light image regions.
BRIEF DESCRIPTION OF THE DRAWINGS In the detailed description of the invention presented below, reference is made to the accompanying drawings in which like elements are numbered with like numbers.
FIG. 1 is a graph showing curve shape image processing of a digital image;
FIG. 2 is a graph showing window width/level image processing of a digital image; FIG. 3 is a block schematic diagram of a known image processing apparatus;
FIG. 4 is a block schematic diagram of an image processing apparatus including an embodiment of the present invention; FIG. 5 is a block diagram of an embodiment of the present invention;
FIGS. 6A and 6B, 7A and 7B, 8A and 8B, 9A and 9B are diagrammatic showings useful in illustrating the digital data processing apparatus of the present invention; and
FIGS 10A and 10B are block diagrams useful in describing the operation of the embodiment of FIG. 5.
DESCRTPTION OF THE PREFERRED EMBODIMENTS
Referring now to FIG. 4, there is shown laser printer apparatus incorporating an embodiment of the present invention. Although the present invention will be described below with respect to a laser printer used in medical diagnostic imaging applications, it will be understood that the image processing techniques of the present invention are applicable to other digital image processing applications. More generally, the present invention is applicable to digital data processing other than digital image processing.
The apparatus shown in FIG. 4 includes a laser printer 10 for producing a film hard copy of a digital image from medical diagnostic image sources 12 and 14. Image sources 12 and 14 may comprise well known medical diagnostic imaging modalities using ultrasound, magnetic resonance imaging, nuclear medicine, computed tomography, digital subtraction angiography, digital radiography, or the like.
The images produced by image sources 12 and 14 are supplied to interfaces 16. Interfaces 16 process either analog or digital signals received from sources 12 and 14 into a digital signal which is supplied to VME bus 18. The VME bus is an Institute of Electrical and Electronic Engineers (IEEE) industrial standard communications protocol and is described in detail in the VME bus specification available from the Motorola Company. A first circuit board 20 includes input processing memory 22 and image memory 24. A second circuit board 26 includes output processing memory 28 and image size processing circuit 30.
Memory 22 is software configurable to store either window width/level look-up tables or combined window width/level and curve shape look-up tables. In the former case, this allows processing of up to four
8-bit pixels in parallel, or in the latter case up to two 16-bit pixels in parallel.
FIG. 2 graphically illustrates a window width/level transfer function. An input pixel has a total tonal range of 0 to n-bits. However, the region of interest of the input pixel is contained in a narrow tonal range called the window of width w. The window level L is the minimum value of the window. The tonal range of the region of interest (window) is expanded to the complete tonal range of the display device by the window width/level LUT stored in processing memory 22. Thus, the output pixel will have a tonal range of 0 to n-bits. For example, if both the input and the output pixel has an 8-bit length, the pixel can have a code value (CV) of 0 to 255. Since the window width is a range of values less than 0 to 255, say 80, the LUT stored in memory 22 expands the 80 code value range to the full tonal range value of 0 to 255 cv.
The window width/level processed image is stored in buffer image memory 24. The window width/level processed image stored in memory 24 is transmitted over VSB bus 32 to output processing memory which stores an output curve LUT 28. Due to the non¬ linear shape of the display curve (see FIG. 1) , the curve shape LUT transforms an 8-bit pixel received from memory 24 to a 12-bit curve shape processed pixel. Image size circuit 30 processes the curve shape processed image according to enlargement or reduction algorithms to fit the image to the space allocated to it on the hard copy print produced by laser printer 10. Master control 34 includes a microprocessor and other control circuitry to control the operation of the apparatus of FIG. 4.
According to a feature of the present invention, input processing memory 22 is configurable to handle digital images of different pixel bit lengths. Because different medical diagnostic imaging
modalities produce images which are digitized to 8-bit or 12-bit pixel lengths, it is desirable that a laser printer 10 be capable of printing both 8-bit and 12-bit images (and images of any other bit length, as well) . It is also desirable that the image processing circuitry be capable of achieving higher performance and higher image transfer rates when images having pixels of smaller bit length are to be printed.
Referring now to FIG. 5, there is shown an embodiment of the present invention. As shown, circuit 40 includes image memory 42 and processing memories 44 and 46. Circuit 40 receives digital data from VME bus 48 and sends digital data to VSB bus 50. According to the present invention, memories 44 and 46 each have 2n memory locations and are capable of processing digital data words of n bits In the example given, n is 16 so that each of memories 44 and 46 has 216 or 65,536 memory locations and is capable of processing digital data words of up to 16 bits long. The look-up tables to be stored in memory 44 and 46 have a size which is dependent on the number of bits in the digital data word to be processed. For example, an 8-bit word requires a table of 28 entries or 256 entries to process the data. A 12-bit word or pixel requires a table of 212 or 4,096 data entries and a 16-bit pixel requires a table of 216 or 65,536 entries. In the case of a traditionally designed laser printer, a separate memory would be needed for each pixel size that the printer could print. According to the present invention, each processing memory 44 or 46 is capable of storing a look-up table which will process any pixel size from 1 to 16 bits. To handle the largest pixel size or 16-bit pixel, each memory 44, 46 will hold up to 65,536 table entries. However, pixels of smaller bit length may also be processed in the same memory. Moreover, multiple pixels may be processed simultaneously if the
su of the bits of each pixel is 16 bits or less. For example, each processing memory 44 or 46 can process two 8-bit pixels simultaneously. According to the present invention, processing memory is configured to process single pixels of from 1 to 16 bits or to simultaneously process two or more pixels which have bit lengths the sum of which is equal to or is less than 16 bits. Thus, in order to process a pixel of different bit lengths, or to process two or more pixels simultaneously, the memory circuitry need not be modified, but only requires that the processing memory be loaded with an appropriate look-up table generated for the particular application (as will be described in more detail later) . According to the method and apparatus of the present invention, an additional feature is to allow the user to overlay the digital image with text or graphics to point out regions of interest. The overlay pixels usually are of a predefined density, for example, white or black, so the image would be intact except for white text pixels substituted for the original image pixels in the area determined by the user. The overlay data is sent with the image pixel as a parallel 1-bit image. For example, an 8-bit image pixel with a 1-bit overlay image pixel would be passed to the printer as 9 bits in parallel. Similarly, a 12- bit image pixel with a 1-bit overlay image pixel would be passed as 13 bits in parallel. According to the invention, the processing memory stores a look-up table which merges the image pixel and the parallel overlay pixel. Thus, when the pixel and overlay are input in parallel to the processing memory, the output of the memory is the processed image pixels or overlay pixels as determined by the state of the overlay bit. Moreover, the technique of the present invention permits changing the overlay density with respect to the image density without the necessity of additional
hardware. That is, processing memory 44 or 46 can be loaded with a look-up table which generates a white overlay in dark areas of the image and a black overlay in the light areas of the image. Since a VME bus is capable of transmitting 32 parallel bits of information, two independent processing memories 44 and 46 simultaneously process two 16-bit digital pixels or digital data words. According to the invention, appropriate look-up tables are loaded into memories 44 and 46 respectively at input terminals 44a and 46a after the look-up tables have been stored in memories 44 and 46. Digital data words to be processed are presented at address terminals 44b and 46b of memories 44 and 46 and the processed data word (processed pixel) is output from memories 44 and 46 at output terminals 44c and 46c, then to be stored in image memory 42.
Referring to FIGS. 10A and 10B, there is illustrated the operation of memories 44 and 46 for two different image applications. As shown in FIG. 10A, a single digital data word or digital pixel of from 1 to n bits length is processed by the processing memory. In such a case, a single look-up table is stored in memory 44 (46) . The data is input from the VME bus at terminal 44b and the processed data is output at terminal 44c. As shown in FIG. 10B, two digital data words (digital pixels) of from 1 to k bits and from 1 to m bits respectively, are processed simultaneously by processing memory 44. In such a case, the sum of k + m must be equal to or less than n, the maximum bit length which can be processed by memory 44. The digital data words are combined in a single data word and the look¬ up tables for each data word are combined into a single look-up table in which each table value of one look-up table is permutated with each other table value of the other look-up table.
Various applications of the combined look-up table technique of the present invention will be explained with reference to FIGS. 6A-9B. As shown in FIG. 6A, the application illustrates the processing of two digital data words of two bits each where the data words are processed separately. Two memories capable of storing a look-up table having 22 locations are required. Thus, as shown, memories 54 and 56 are loaded with separate look-up tables and have four memory locations. Each 2-bit input data word may have one value of four possible values. Thus, both tables 54 and 56 have memory locations corresponding to each value of the input digital data word value. For example, a 2-bit input word may have values of 00, 01, 10, or 11. At each memory location of the look-up table of memory 54, a 2-bit processed digital data word is stored (as represented by elements 1, 2, 3, and 4 corresponding to the four look-up table entries stored in memory 54). Elements 1, 2, 3, and 4 may be any 2- bit digital value which need not correspond to the input data value and which may or may not be the same in different memory locations.
In similar manner, memory 56 stores a 2-bit look-up table having four entries, i.e., elements 1', 2' , 3' , and 4' .
According to the present invention, as illustrated in FIG. 6B, the look-up tables stored in separate memories 54 and 56 are combined into a single look-up table wherein the table entries in one table are permutated with the table entries in the other table and the input and output data words are combined into a single data word. Thus, processing memory 58 is loaded with a combined look-up table having 2 or 16 table entries. As illustrated, each of the elements 1, 2, 3, and 4 of one look-up table are permutated with elements 1', 2', 3', and 4' of the other look-up table. Thus, for example, if two digital data words having the
values 10 and 10 are processed simultaneously as the 4- bit word 1010, the 4-bit input to memory 58 produces an output including elements 3 and 3' (a 4-bit output data word combining two 2-bit processed data words) . As illustrated in FIGS. 7A and 7B, the bit lengths of simultaneously processed digital data words need not be equal. As shown in FIG. 7A, normally, a 1- bit data word (digital pixel) would require a look-up table having two entries (as shown loaded in memory 60) and a 3-bit data word would require a look-up table having eight entries (as shown loaded in memory 62) . According to the present invention, the 1-bit and 3-bit data words (pixels) are simultaneously processed as a 4-bit digital data word in memory 58 by means of a combined look-up table having 16 data entries. Thus, as illustrated, bit 3 of the 4-bit word is assigned to the first 1-bit data word and bits 2, 1 and 0 of the 4- bit word are assigned to the 3-bit data word. The look-up table of the 1-bit data word and the look-up table of the 3-bit data word are combined by per utating the table entries of one look-up table with the table entries of the other look-up table. Thus, element 1 of the 1-bit look-up table is permutated with elements 1«, 2', 3', 4', 5', 6', 7', and 8' of the other look-up table. In like manner, element 2 of the 1-bit look-up table is permutated with each of elements 1' to 8' of the 3-bit look-up table.
In the application illustrated in FIGS. 7A and 7B, the bit length of the input data word (pixel) and the processed data word (pixel) are equal.
However, the bit lengths of input and output words need not be equal. Referring to FIGS. 8A and 8B, there is illustrated an application where the bit lengths of input pixels are different from the bit lengths of output pixels. As shown in FIG. 8A, two pixels are processed by different look-up memories 64 and 66. Memory 64 is loaded with a look-up table which
processes a 3-bit input word into a 1-bit processed word. Thus, the look-up table stored in memory 64 has eight table entries since the input data word may take any one of eight different values. However, the elements (processed pixels) located at the eight memory locations are only 1-bit in length. On the other hand, memory 66 is configured to process a 1-bit input digital data word into a 3-bit digital data word. Thus, a two-entry look-up table is stored in memory 66 and elements 1' and 2', are each 3-bits in length. As shown in FIG. 8B, according to the invention, memory 58 is loaded with a combined look-up table having 16 entries wherein each of the eight values of the first look-up table are permutated with the two values of the second look-up table. Thus, for example, referring to FIG. 8A, if the 3-bit digital data word 100 is input into memory 64, element 2, which can be any one bit value data word, is output from memory 64. Similarly, if the 1-bit digital data word input to memory 66 has a value of 1, than a 3-bit word element 2' will be output from memory 66. By combining these two tables into a single look-up table, the 4-bit data word input to memory 58 (corresponding to the two words in the example above) , 1001 would produce a 4-bit output word having 1-bit element 2 and 3-bits element 2' .
Referring to FIGS. 9A and 9B, two 8-bit pixels are processed in separate memories 68 and 70 in FIG. 9A, but are processed simultaneously in 16-bit memory 44 (46) shown in FIG. 9B. Memory 44 (46) is loaded with a combined 16-bit look-up table in which each of the 256 entries of the first look-up table are permutated with each of the 256 entries of the second look-up table.
Tndustrial Application
The invention has industrial application in medical imaging, such as the production by a laser printer of x-ray film images from images produced by a medical diagnostic image modality (CT, MR, US, PET) . The invention is broadly applicable to the printing of a hard copy from a digital image displayable on a video monitor.