Conventional ultrasound imaging systems typically include a hand-held scan head coupled by a cable to a large rack-mounted console processing and display unit. The scan head typically includes an array of ultrasonic transducers which transmit ultrasonic energy into a region being imaged and receive reflected ultrasonic energy returning from the region. The transducers convert the received ultrasonic energy into low-level electrical signals which are transferred over the cable to the processing unit. The processing unit applies appropriate beam forming techniques such as dynamic focusing to combine the signals from the transducers to generate an image of the region of interest.
Typical conventional ultrasound systems include transducer arrays having a plurality, for example 128, of ultrasonic transducers. Each transducer is associated with its own processing circuitry located in the console processing unit. The processing circuitry typically includes driver circuits which, in the transmit mode, send precisely timed drive pulses to the transducer to initiate transmission of the ultrasonic signal. These transmit timing pulses are forwarded from the console processing unit along the cable to the scan head. In the receive mode, beam forming circuits of the processing circuitry introduce the appropriate delay into each low-level electrical signal from the transducers to dynamically focus the signals such that an accurate image can subsequently be generated.
For phased array or curved linear scan heads, the ultrasound signal is received and digitized in its natural polar (r,xcex8) form. For display, this representation is inconvenient, so it is converted into a rectangular (x,y) representation for further processing. The rectangular representation is digitally corrected for the dynamic range and brightness of various displays and hard-copy devices. The data can also be stored and retrieved for redisplay. In making the conversion between polar and rectangular coordinates, the (x,y) values must be computed from the (r,xcex8) values because the points on the (r,xcex8) array and the rectangular (x,y) grid are not coincident.
In prior scan conversion systems, each point on the (x,y) grid is visited and its value is computed from the values of the two nearest xcex8 values by linear interpolation or the four nearest neighbors on the (r,xcex8) array by bi-linear interpolation. This is accomplished by use of a finite state machine to generate the (x,y) traversal pattern, a bidirectional shift register to hold the (r,xcex8) data samples in a large number of digital logic and memory units to control the process and ensure that the correct asynchronously received samples of (r,xcex8) data arrive for interpolation at the right time for each (x,y) point. This prior implementation can be both inflexible and unnecessarily complex. Despite the extensive control hardware, only a single path through the (x,y) array is possible.
In a preferred embodiment of the invention, scan data is directed into a computer after beamforming and scan conversion is performed to convert the scan data into a display format. In a preferred embodiment, scan conversion can be performed entirely using a software module on a personal computer. Alternatively a board with additional hardware can be inserted to provide selected scan conversion functions or to perform the entire scan conversion process. For many applications, the software system is preferred as additional hardware is minimized so the personal computer can be a small portable platform, such as a laptop or palmtop computer.
Scan conversion is preferably performed using a spatial dithering process described in greater detail below. Spatial dithering simplifies the computational requirements for scan conversion while retaining image resolution and quality. Thus, scan conversion can be performed on a personal computer without the need for more complex interpolation techniques and still provide conversion at frame rates suitable for real time ultrasound imaging.
Preferably, the scan conversion procedure includes an input array, a remap array, and an output array. The remap array is an array of indices or pointers, which is the size of the output image used to determine where to get each pixel from the input array. The numbers in each position in the remap array indicate where in the input data to take each pixel will go into the output array in the same position. Thus, the remap array and output array can be thought of as having the same geometry while the input array and output array have the same type of data, i.e., actual image data.
The input array has new data for each ultrasound frame, which means that it processes the data and puts the data in the output array on every frame. In accordance with a preferred embodiment of the invention, there is a new ultrasound frame approximately every {fraction (1/30)} second. Consequently, the remap array data can be generated relatively slowly (but still well under about one second) as long as the routine operation of computing a new output image from a new input data set is performed at the frame rate of approximately 30 frames per second. This allows a general purpose personal computer to perform the task of generating the data for the remap array without compromising performance, but also without having to dedicate additional hardware to the task. In a computing system having a digital signal processor (DSP), the DSP can perform the computations of the remap array.
Alternatively, certain scan conversion functions can be performed by hardware inserted into the personal computer on a circuit board. This board or a card can be inserted and used as an interface to deliver data in the proper form to the PC bus controller.