GB2089537A - Scan Converter Apparatus - Google Patents

Scan Converter Apparatus Download PDF

Info

Publication number
GB2089537A
GB2089537A GB8132991A GB8132991A GB2089537A GB 2089537 A GB2089537 A GB 2089537A GB 8132991 A GB8132991 A GB 8132991A GB 8132991 A GB8132991 A GB 8132991A GB 2089537 A GB2089537 A GB 2089537A
Authority
GB
United Kingdom
Prior art keywords
display point
display
radial
along
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB8132991A
Other versions
GB2089537B (en
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of GB2089537A publication Critical patent/GB2089537A/en
Application granted granted Critical
Publication of GB2089537B publication Critical patent/GB2089537B/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/52017Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00 particularly adapted to short-range imaging
    • G01S7/52023Details of receivers
    • G01S7/52044Scan converters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/46Indirect determination of position data
    • G01S2013/468Indirect determination of position data by Triangulation, i.e. two antennas or two sensors determine separately the bearing, direction or angle to a target, whereby with the knowledge of the baseline length, the position data of the target is determined
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/52Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S15/00
    • G01S7/523Details of pulse systems
    • G01S7/526Receivers
    • G01S7/53Means for transforming coordinates or for evaluating data, e.g. using computers
    • G01S7/531Scan converters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Investigating Or Analyzing Materials By The Use Of Ultrasonic Waves (AREA)
  • Television Systems (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)

Abstract

Apparatus for interpolating data along radial lines so that it can be displayed at display points arranged in orthogonal rows and columns by recursively adding stored values to derive signals indicative of the radial position of each display point along the radial data lines and its angular position between the radial data lines. interpolation is done along each radial line to derive first and second intermediate interpolated values, and these values are interpolated so as to derive the final data value for the display point at its angular position. Alternatively, the intermediate interpolated values can be attained by angular interpolation and the final data value by radial interpolation.

Description

SPECIFICATION Scan Converter Apparatus This invention is concerned with scan converter apparatus.
In instruments such as ultrasound scanners that are used to produce images of a cross-section of the heart and other organs of a patient, the data signal represent analog information along radial lines of a sector. Reproduction of the images in the same format is objectionable because of the voids between the radial lines. As a consequence of this, the modern approach is to sample the data along radial rays and write the sampled data into a digital display memory, sometimes referred to as a digital scan converter. A description of this approach may be found in the article by J. Ophir and N. F. Maklad, entitled "Digital Scan Converters in Diagnostic Ultrasound Imaging", Proc. IEEE, Vol. 67, No. 4, April 1 979. Samples of the analog data along each radial line are obtained at points having a uniform spacing of such dimension as to satisfy the Nyquist criteria.Their x,y coordinates are determined from their R,O coordinates and the samples are transferred to the nearest display point in a display memory.
By resorting to this point-to-point translation rather than true image reconstruction, a number of problems occur, but the one of greatest significance is the moiré patterns that result from the fact that some display points in the display memory receive no information.
The moiré pattern can be eliminated by fill-in techniques, such as translating to an empty display point data from the sample written into the display point on either side, but artifactual boundaries or discontinuities are introduced into the image that are highly objectionable.
Another attempt to deal with the moiré problem has been to insert one or more radial lines of interpolated data between the actual radial lines of data prior to translating the information to the display points of a display memory as previously described. Whereas the moiré is reduced, the fact that many display points receive more than one sample and the fact that the last sample received is the only one that is reproduced in the image cause discontinuities that often manifest themselves in aritificial "contrastiness" and radial-tearing of the image. Attempted solutions to this problem have included peak detection or averaging of the samples written into a given display point. Although this does some good, it does not solve the problem.Furthermore, the read-modify-write operations, involved require complex circuitry that in the present state of the art may not function with sufficient speed to permit real-time operation at the desired sector scanning rate of -thirty a second.
The present invention provides apparatus for deriving interpolated values from data samples occurring at the intersections of a set of radial lines forming a sector with a set of enually spaced radial arc lines having the same center as said radial lines, the interpolated values to be displayed at display points arranged in orthogonal rows and columns that are respectively parallel to x and y axes, there being a separation Kx between said columns and a separation Kv between said rows, comprising means for making simultaneously available at least four data samples at the intersection of two radial lines with two radial arc lines, the said four data samples defining a sub-slice, means for providing first signals representing the radial position of a selected display point with respect to said radial arc lines of the sub-slice, means for providing second signals representing the angular position of said selected display point with respect to the two radial lines of said sub-slice, means responsive to a selected one of said first and second signals for deriving at least one intermediate interpolated data value at one of said radial and angular positions from display samples on one side of said display point, means responsive to the selected one of said first and second signals for deriving at least another intermediate interpolated data value at the said one of said radial and angular positions from data samples on the other side of the display point, and means responsive to the other of said first and second signals and to said intermediate interpolated data values for deriving a final interpolated data value for said selected display point at the other of said radial and angular positions.
In apparatus as set forth in the last preceding paragraph, it is preferred that said means for deriving said at least one intermediate interpolated data value is responsive to said first signals representing the radial position of said display point and to available data samples along at least one radial line on one side of said selected display point, said means for deriving at least another interpolated data value is responsive to said first signals representing the radial position of said display point and to available data samples along at least one radial line on the other side of said selected display point, and said means for deriving a final interpolated data value is responsive to said second signals which represent the angular position of said display point.
In apparatus as set forth in either one of the last two immediately preceding paragraphs, it is preferred that said means for deriving said at least one intermediate interpolated data value is responsive to said second signals representing the angular position of said selected display point and to available data samples along at least one radial arc line on one side of said display point, said means for deriving at least another interpolated data value is responsive to said second signals representing the angular position of said selected display point and to available data samples along at least one radial arc line on the other side of said display point, and said means for deriving a final interpolated data value is responsive to said first signals which-represent the radial position of said display point.
In apparatus as set forth in any one of the last three immediately preceding paragraphs, it is preferred that said means for providing said first signals representing the radial position of a display point comprises means for providing scanning control signals indicating steps from one display point to the next along the x or y axes that result in scanning from a given display point to a selected display point, and an accumulator responsive to said scanning control signals for adding to the known radius of a given display point the net of the following values resulting from steps taken in scanning from said given display point to said selected display point;; +KxlSinSl for each step along the x axis farther from the center of the sector, -KISin6I for each step along the x axis closer to the center of the sector, and +K,,iCos6j for each step along the y axis farther from the center of the sector, the angle 0 being an angle between the center line of the sector and a radial line close to the center of said two radial lines.
In apparatus as set forth in the last preceding paragraph, it is preferred that said means for providing said second signals representing angular position of a display point comprises means providing a signal AXHAT representing the value ItanO2-tanO1I, wherein 62 is the angle between the central radial line of said sector and the outer one of said at least two radial lines, and 0, is the angle between the central radial line of said sector and the inner one of said at least two radial lines, an accumulator responsive to said scanning control signals for adding to a known distance, XHAT, between the outer and inner radial lines measured along the x axis and passing through a given display point, a value of +AXHAT for each step taken along the y axis farther from the origin of the sector in scanning from said given display point to said selected display point, the final sum in the accumulator being the value XHAT for the selected display point, means providing the value of tanS2, an accumulator responsive to said scanning control signals for adding to a known distance, COUNT of a given display point from the outer radial line as measured along the x axis the net of the following values resulting from the steps taken in scanning from the latter given display point to the selected display point; +Kx for each step along the x axis closer to the central radial line of the sector, Kx for each step along the x axis farther from the central radial line of the sector, and +KytanS2 for each step along the y axis that is farther from the origin of the sector, the final sum in said latter accumulator being the value of COUNT for the selected display point, the values of XHAT and COUNT for the selected display point defining the angular position of the selected display point between the outer and inner radial lines.
The present invention further provides apparatus for deriving a signal representing the distance from a given display point to a selected display point in a field of display points disposed in orthogonal rows and columns, the rows being parallel to an x axis and being separated by a value Kv, the columns being parallel to a y axis and being separated by a value Kx, comprising means for providing scanning signals indicating display point to display point steps in the +x and -x directions as well as in a +y direction that are to be made in moving from the given display point to a selected display point for which the distance is sought, accumulator means responsive to said scanning signals for successively adding the value of KxSinO for each move from one display point to the next in the +x direction, a value of --K,SinB for each move from one display point to the next in thex direction, and a value of +KyCosS for each move from one display point to the next in the +y direction, being the angle between the y axis and a radial line passing through the origin of the x and y axes and close to the selected display point.
The present invention further provides apparatus for deriving the angular position of a selected display point in a field of display points with respect to outer and inner radial lines passing through said field, said field of display points being disposed in orthogonal rows and columns, the rows being parallel to an x axis and being separated by a value Kyf the columns being parallel to a y axis and being separated by a value Kx, the outer radial line forming an angle 62 with the y axis that is greatar than the angle 61 formed between the inner radial line and the y axis, comprising means for providing scanning control signals that indicate movements from one display point to the next in +x, -x, and +y directions that are made in moving from a given display point, the said given display point having a known angular position with respect to the outer and inner radial lines, to the selected display point, means for providing a signal XHAT representing the value of ItanO2-tanO1i, an accumulator responsive to said scanning control signals for successively adding a value of AXHAT to a known value of XHAT for said given display point, XHAT being the distance between said radial lines measured along the row including the given display point, means providing the value of tanO2, an accumulator responsive to said scanning control signals for adding to a known distance, COUNT, of a given display point from the outer radial line as measured along the x axis the net of the following values resulting from the steps taken in scanning from the given display point to the selected display point; +Kx for each step along the x axis closer to the center radial line of the sector,Kx for each step along the x axis farther from the center radial line of the sector, and +tan62 for each step along they axis that is farther from the origin of the radial lines, the final sum in said latter accumulator being the value of COUNT for the selected display point, the values of XHAT and COUNT for the selected display point defining the angular position of the selected display point between the outer and inner radial lines.
The present invention further provides apparatus for deriving the angular position of a selected display point in a field of display points with respect to two radial lines of a sector passing through said field said field of display points being disposed in orthogonal rows and columns, the rows being parallel to an x axis and being separated by a value Kyt the columns being parallel to a y axis and being separated by a value Kx;; comprising means for providing scanning control signals indicating steps from one display point to the next along the x and y axes that result in scanning from a given display point to the selected display point, means for providing a signal AXHAT representing the value of ItanO2-tanO1I, wherein 62 is the single between the y axis and one radial line and ot is the angle between the y axis and the other radial line, and accumulator responsive to said scanning control signals for deriving the sum of a known distance.XHAT, between the two radial lines measured along the x axis and passing through a given display point and the net of the following values resulting from the steps taken in scanning from said given display point to said selected display point; +AXHAT for each step taken along the y axis farther from the center of the sector, -AXHAT for each step taken along the y axis closer to the center of the sector, the final sum in the accumulator being the value of XHAT for the selected display point, means for providing values of tanO2, an accumulator responsive to said scanning control signals for deriving the sum of a known distance, COUNT, between the one of said rad;;al lines and said given display point as measured along the x axis the net of the value +Kx for each step along the x axis in one direction, Kx for each step along the x axis in the opposite direction, +tan62 for each step along the y axis in one direction and tanS2 for each step along the y axis in the opposite direction as the step-by-step scanning proceeds from said given display point to said selected display point, the sum in said latter accumulator at that time being the value of COUNT for the selected display point, the values of XHAT and COUNT for the selected display point defining the angular position of the selected display point between the two radial lines.
The present invention further provides a scan conversion system for translating analog data obtained by successively scanning along radial lines at a given line scanning rate to an addressable display memory having display points disposed in orthogonal rows and columns, the rows being parallel to an x axis and having a separation of K, and the columns being parallel to a y axis and having a separation of Kx, comprising an analog-to-digital converter coupled to said source for providing digitized data samples derived at uniformly spaced points along each radial line having like distances respectively from the origin of the radial lines, first, second and third line data memories, each capable of storing the digital samples from the scansion of a single line, means for coupling said source of data samples to said first, second and third digital memories in repeated sequence, the change in coupling occurring at said line scanning rate, means for addressing said digital memory to select the x,y coordinate of a display point therein that is to coincide with the origin of the radial lines, a source of display point scanning control signals indicating at a given rate the display point to display point steps that are to be taken along the +x, -x and +y directions to scan from the display point at the origin of the radial lines through all the display points in each slice, means for causing said source to start outputting the control signals for the next slice at each line start, means coupled to said source of scanning control signals for incrementing the x address of the display memory each time the scanning control signal indicates a step in the +x direction, decrementing the x address of the display memory each time the scanning control signal indicates a step in thex direction, and incrementing the y address of the display memory each time the scanning control signals indicate a step in the +y direction, a first memory having stored therein the values of +Sin, -Sin and +Cos for the angle between each of said radial lines and the central radial line of the sector, means responsive to the start of the scanning of each line for making the corresponding +Sin, -Sin and +Cos values stored in said first memory available at respectively different outputs throughout the scanning of the line, a first accumulator coupled to said latter means, means responsive to said display point scanning control signals for causing the value of Sin to be applied to said accumulator for each step along the x axis toward the center line of the sector, the value of +Sin to be applied to said accumulator for each step in the x axis away from the central line of the sector and the value of +Cos for each step along the y axis away from the origin of the sector, the sum in said accumulator being the radial distance of the current display point from the origin, data selection control means responsive to the output of said accumulator for producing a signal INCR whenever the radial distance increases through the radial distance of a data sample point and for producing a signal DECR whenever the radial distance decreases through the radial distance of a data sample, radial error detection means responsive to the output of said accumulator for deriving a signal RERR representing the fraction of the spacing between data samples that a display point is beyond the inner sample, a second memory having stored therein the value of AXHAT, tan62-tan61 for the outer and inner lines of each slice respectively, a second accumulator coupled to said second memory, means responsive to said display point scanning control signals for applying to said second accumulator the value AXHAT for each step along the y axis away from the origin, a third memory having stored therein +Kx Kx and tan6, 6 being the angle between the center line of the sector and each radial line, a third accumulator, means for selecting the tangent 6 for the outer radial line, means responsive to the display point scanning control signals for causing the value +Kx to be applied to said third accumulator for each step in the +x direction, the value ofKx to be applied to said third accumulator for each step in thex direction, and the value of the selected tangent 6 to be applied to said third accumulator for each step in the +y direction thereby making the sum at the output of said third accumulator to be a signal COUNT representing the distance of a display point from the outer radial line, data sample selection means for separately obtaining from each of said line memories not coupled to said source of data signals a pair of inner and outer data samples, means for causing said data sample selection means to advance by one data sample in each line memory whenever said data selection control means outputs a signal INCR so that the inner data samples are the previous outer data samples and for causing said data selection means to retreat by one data sample in each line memory whenever said data selection control means outputs a signal DECR so that the outer data samples are the previous inner data samples, means responsive to the data samples obtained by said data sample selection means from one of said line memories and to the signal RERR provided by said radial error detection means for deriving an intermediate interpolated data value at the radial position of each display point indicated by the display point scanning control signals, means responsive to the data samples obtained by said data sample selection means from the other of said line memories and to the signal RERR provided by said radial detection means for deriving another intermediate interpolated data value at the radial position of each display point indicated by the display point scanning control signals, and means responsive to said intermediate interpolated data values for each indicated display point and to the values of the signals COUNT and SHATfor each display point for deriving a final interpolated data value at the angular position of the display point.
The present invention further provides a scan conversion system for translating analog data obtained from a scanner that scans along radial lines of a sector in sequence and at a given rate for application to a display memory having display points effectively disposed in orthogonal rows parallel to an x axis and columns parallel to a y axis, the rows being separated by K, and the columns being separated by Kx, comprising sampling apparatus for providing samples of the analog data occurring at sample points along said radial lines that are equally spaced from each other and have the same respective radial distances from the origin of the sector, memory means coupled to the output of said sampling apparatus, a source of display point scanning control signals for indicating the sequence of display point to display point steps of Kx along the x axis or steps of K, along the y axis in order to scan the display points between the radial lines forming each slice of the sector, means coupled to said source of display point scanning control signals for updating the x and y addresses of said display memory, means for deriving the radial position of a display point of a slice comprising an accumulator responsive to said display point scanning signals for deriving the sum of the radius of a given display point and +KxSinS,KxSinS and K,,Cos0 for scanning steps from said given display point that are respectively along the x axis and farther from the origin of the sector, along the x axis and closer to the origin, and along the y axis and farther from the origin, the angle 0 being between the y axis and a radial line close to the center of the slice, means responsive to an increase in the output of said accumulator beyond a radius of any sample point to produce a signal INCR and to each decrease in said output below a radius of any sample point to produce a signal DECR, means providing a signal representing AXHAT equal to the absolute value of the difference between the tangents of the angles between the respective radial lines defining a slice and the y axis, means for deriving a signal XHAT for each display point of a slice, XHAT being equal to the distance along the x axis between the radial lines defining the slice and passing through the display point, said means comprising an accumulator responsive to the display point scanning control signal for adding to the known value of XHAT for a previously scanned display point a value of AXHAT for each step of K, in scanning from that display point to the display point for which the value of the signal XHAT is sought, means for providing the value K,,tan0 where 0 is the angle between one radial line of a slice and the y axis, means responsive to said display point scanning signals for deriving a signal COUNT, which is the distance along the x axis of a display point from one of the radial lines of a slice, by combining values of Kx for steps along the x axis and values ot K,,tan0 for steps along the y axis, data sample selection means for obtaining from said memory data samples from the radial lines of a slice having the same radius, said radius being less than that of a display point for which the signals RERR, COUNT and XHAT are available and two data samples from the same radial lines having the same radius, said radius being greater than that of the display point, first interpolating means responsive to the signal RERR and to the data samples on one radial line of a slice for deriving a first intermediate interpolated data value at a radial distance along said radial line equal to that of said display point, second interpolating means responsive to the signal RERR and to the data samples on the other radial line of the slice for deriving a second intermediate interpolated data value at the radial distance along the radial lines equal to that of the display point, third interpolating means responsive to the signals COUNT and XHAT and to said first and second intermediate interpolated data values a final interpolated data value for said display point at the angular position of said display point between the radial lines of the slice, and means for causing said data sample selection means to advance by one data sample in response to a signal INCR and to retreat by one data sample in response to a signal DECR.
In apparatus as set forth in the last preceding paragraph, it is preferred that said first interpolating means is responsive to the signals COUNT, XHAT and the data samples of less radius than the display point for deriving a first intermediate interpolated data value at the angular position of said display point between the radial lines of the slice, said second interpolating means is responsive to the signals COUNT, XHAT and the data samples of greater radius than the display point for deriving a second intermediate interpolated data value at the angular position of said display point between the radial lines of the slice, and said third interpolating means is responsive to the signal RERR and to the first and second intermediate interpolated data values for deriving a final interpolated data value for said display point at the radial position of said display point.
The present invention further provides a scan conversion system for translating analog data obtained from a scanner that scans along radial lines of a sector in sequence and at a given rate for application to a display memory having display points effectively disposed in orthogonal rows parallel to an x axis and columns parallel to a y axis, the rows being separated by K, and the columns being separated by Kx, comprising sampling apparatus for providing samples of the analog data occurring at sample points along said radial lines, said sample points being equally spaced from each other and having the same respective radial distances from the origin of the sector, memory means coupled to the output of said sampling apparatus, a source of display point scanning control signals for indicating the sequency of display point to display point steps Kx along the x axis or K, along the y axis in order to scan the display points for each slice of the sector, means coupled to said source of display point scanning control signals for updating the x and y addresses of the display memory, means providing a signal representing AXHAT equal to the absolute value of the difference between the tangents of the angles between the respective radial lines defining a slice and the y axis, means for deriving a signal XHAT for each display point of a slice, XHAT being equal to the distance along the x axis between the radial lines defining the slice and passing through the display point, said means comprising an accumulator responsive to the display point scanning control signal for adding to the known value of XHAT for a previously scanned display point a value of AXHAT for each step of K, in scanning from that previously scanned display point to the display point for which the value of the signal XHAT is sought, means for providing the value K,,tan() where 0 is the angle between one radial line of each slice and the y axis, means responsive to said display point scanning signals for deriving a signal COUNT which is the distance along the x axis of a display point from one of the radial lines of a slice, by combining values of Kx for steps along the x axis and values of K,,tan0 for steps along the y axis, means for obtaining from said memory a data sample on each of two radial lines, said samples having the same radius, and interpolating means responsive to the signals COUNT and SHAT and said data samples for deriving an interpolated data value for said display point at the angular position of said display point between the radial lines of the sector.
The present invention further provides apparatus for translating data samples at equally and uniformly spaced points along radial lines to display points of a display memory that are effectively arranged in rows separated by K, and columns separated by Kx, one of said columns coinciding with a radial line of said sector comprising means for generating display point scanning control signals representing the step-by-step scanning along the rows and columns of display points for slices between successive radial lines, means for storing the values of +KxSinO and -K,SinB, said 0 having values equal to the angles between a column of display points and a radial line near the center of each slice, means responsive to said scanning control signals for each slice for recursively adding values of +KxSinO and --K,SinB for that slice to the known radius of a given display point occurring earlier in the scan so as to derive the value of a radius for each display point, means for deriving the fractional part of the radius for each display point which derives a signal RERR for that point, means for storing values of AXHAT for each slice, means responsive to said scanning control signals for each slice for recursively adding for each step along a column value AXHAT for that slice to the known value of XHAT for a display point occurring earlier in the scan so as to derive the value of XHATfor each display point, means for storing the values of +Kx,Kx and tanO where the values of 0 are the angles between said column and one of the radial lines of each slice, means responsive to said scanning control signals for recursively adding at each step in the scan one of the values stored by said latter means to a known value of COUNT for display point occurring earlier in the scan so as to derive the value of COUNT for each display point, means for dividing the signal COUNT for each display point by the signal XHAT for that point so as to derive a signal OERR for that display point, means for selecting data samples located at the intersection of radial arcs with the radial lines of a slice, first interpolating means responsive to a pair of said selected data samples and to one of said signals RERR and SERR for each display point for deriving a first intermediate interpolated data value for that display point, second interpolating means responsive to another but similar pair of said selected data samples and to said one of the signals RERR and OERR for each display point for deriving a second intermediate interpolated data value for that display point, and means responsive to said first and second intermediate interpolated data values for each display point and to the other of said signals RERR and OERR for each display point for deriving a final interpolated data value for each display point.
The present invention further provides scan conversion apparatus for deriving from analog data signals occurring along radial lines signals that may be used to modulate the intensity of a beam of light that successively scans through display points on parallel lines, the display points being arranged in rows and columns, said apparatus comprising an input to which said analog data signals may be applied, an analog-to-digital converter coupled to said input, a source of display point scanning control signals that define successive steps from one display point to the next along the rows and columns of display point in scanning from-a given display point to a selected display point so as to pass through display points contained between two radial lines, means for storing digital data samples that have been provided by said analog-to-digital converter during two radial lines and for storing digital data samples for a third radial line as they occur, means responsive to said scanning control signals for producing a signal representing the radius of the selected display point, means responsive to the signal representing the radius of the selected display point for making available data values on each of said radial lines having less radius than said selected display point and for making available data values on each of said radial lines having a greater radius than said selected display point, means responsive to said scanning control signals for producing a signal representing the angular position of said selected display point with respect to said radial lines, means for deriving a first intermediate interpolated data value from data values including a first pair of said data values that are radially or angularly on one side of said selected display point, said first intermediate data value being for a point between said first pair of data values, means for deriving a second intermediate interpolated data value from data values including a second pair of said data values that are on the opposite side of said selected display point as said first pair of data values, said second intermediate data value being for a point between said second pair of data values, and means for deriving a final interpolated data value for selected display point from said first and second intermediate data values.
The present invention further provides apparatus for deriving an interpolated data value for a display point from four data samples defining an area containing the display point, comprising means for deriving a first intermediate interpolated data value at least in part from a first pair of said data samples and for a point between them, means for deriving a second intermediate interpolated data value at least in part from a second pair of said data samples and for a point between them, said points for said first and second intermediate interpolated data samples and said display point being on a substantially straight line, and means for interpolating said first and second intermediate interpolated data values so as to derive a final interpolated data value for the point in the said straight line where the display point is located.
In apparatus as set forth in the last preceding paragraph, it is preferred that said first pair of data samples lie on a first radial line and said second pair of data samples lie on a second radial line.
in apparatus as set forth in the last preceding paragraph, it is preferred that the data samples of said first and second pair of data samples respectively have the same radial distances from the origin of said radial lines and the points for which said first and second intermediate intepolated data values are derived are the same radial distance from the origin of said radial lines as said display point.
The present invention further provides apparatus for deriving from data samples occurring at the intersections of a set of radial lines within a sector of a set of concentric arc lines having a spacing s between adjacent arc lines and the same origin as said radial lines, a final interpolated data value to be displayed at a selected one of a plurality of display points arranged in orthogonal rows and columns, there being a separation KX between said columns and a separation K, between said rows, the apparatus comprising means for making simultaneously available data samples occurring at intersections of two radial lines with two concentric arc lines, which lines define an area containing said selected one of said plurality of display points; means for providing a first position signal representing the angular position of said selected one of said plurality of display points with respect to said two radial lines; means for providing a second position signal representing the radial position of said selected one of said plurality of display points with respect to said two concentric arc lines; interpolating means responsive to a selected one of said first and second position signals for deriving from data samples lying on one side of said selected display point a first intermediate interpolated data value at the position of said selected display point; interpolating means responsive to the selected position signal for deriving from data samples lying on the other side of said selected display point a second intermediate interpolated data value at the position of said selected display point; interpolating means responsive to the other of said first and second position signals for deriving from said first and second intermediate interpolated data values a final interpolated data value for said selected display point.
In apparatus as set forth in the last preceding paragraph, it is preferred that said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the angular position of said selected display point with respect to said pair of radial lines, said latter means comprising means for providing scanning control signals controlling a sequence of steps along-the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point, means for providing a third signal representing the value resulting from multiplication of K, and the absolute value of the difference between the tangents of the angles of said pair of radial lines with respect to a column of display points, an accumulator for deriving a first sum equal to the distance between said pair of radial lines measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive value represented by said third signal for each step of K, taken along a column of display points away from the origin of the sector, the negative value represented by said third signal for each step taken along a column of display points closer to the origin of the sector, the first sum being the distance between the radial lines along the row of display points including the selected display point, means for providing a fourth signal representing the value of K, times the absolute vaiue of the tangent of the angle between a column of display points and one of said radial lines, an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points including said given display point to said selected display point; +Kx for each step of Kx along a row of display points toward the other radial line of said pair, Kx for each step of KX along the row in the opposite direction, the positive value represented by said third signal for each step of K, along a column of display points in a direction away from the origin of the sector and the negative of the value of said third signal for each step of K, along the column toward the origin of the sector if the angle is for the outer radial line, the sign of the value represented by said third signal being reversed if the angle is for the inner radial line, the second sum being the distance, as measured along the row of display points including the selected display point, between the selected display point and the radial line corresponding to the angle used, and the ratio of said second sum to said first sum being the relative angular position of the selected display point.
In apparatus as set forth in the last preceding paragraph, it is preferred that said rows and columns of display points are orthogonal and said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the radial position of said selected display point with respect to concentric arc lines on opposite sides of said selected display point, said latter means comprising an accumulator for deriving a third sum equal to the radial distance of said given display point from said origin plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive of the absolute value of KxSinO for each step of Kx along a row of display points in a direction away from the origin, the negative of the absolute value of K,SinO for each step of Kx along a row of display points in a direction toward the origin, the positive of the absolute value of K,,Cos0 for each step of K, along a column of display points in a direction away from the said origin, and the negative of the absolute value of K,,Cos0 for each step of K, along a column of display points toward said origin, the angle O being the angle between a column of display points and a selected radial line close to the angular center of said two radial lines, the third sum thereby being the radius of said selected display point, and means for obtaining the difference between the radius of the selected display point and one of said concentric arc lines, the said difference being the radial position of said selected display point with respect to said concentric arc line.
In apparatus as set forth in the last preceding paragraph, it is preferred that said selected radial line is one of the said radial lines.
In apparatus as set forth in either one of the last two immediately preceding paragraphs, it is preferred that the accumulator for deriving said third sum is digital, Kx=K,,=5 and the means for obtaining-the difference between the radius of the selected display point and one of said arc lines are the conductors of the fractional bits of said third sum.
The present invention further provides apparatus for deriving the relative angular position of a selected display point in a field of display points with respect to outer and inner radial lines within a sector lying in said field, said field of display points being disposed in orthogonal rows and columns, the rows being separated by a value Kyt the columns being separated by a value Kx, comprising means for providing scanning control signals indicating the sequence of steps from one display point to the next along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point, means for providing a first signal representing the value resulting from multiplication of K, and the absolute value of the difference between the tangents of the angles of said radial lines with respect to a column of display points, an accumulator for deriving a first sum equal to the distance between said radial lines measured along the x axis and passing through said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive value represented by said first signal for each step taken along a column of display points away from the origin of the sector, the negative value represented by said first signal for each step taken along a column of display points closer to the origin of the sector, the final sum in the accumulator being the value of XHAT for the selected display point, means for providing a second signal representing the value of K, times the absolute value of the tangent of the angle between a column of display points and one of said radial lines, an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point;; +Kx for each step along the x axis toward the other of said radial lines, Kx for each step a long the x axis in the opposite direction, the positive value represented by said second signal for each step of K, along a column of display points in a direction away from the origin of the sector and the negative of the value of said second signal for each step toward the origin of the sector if the angle is for the outer radial line, the sign of the value represented by said second signal being reversed if the angle is for the inner radial line, and the ratio of said first sum to said second sum being the relative angular position.
The present invention further provides apparatus for deriving the radius of a display point selected from a field of display points arranged in rows and columns, the rows being separated by a dimension K, and the columns being separated by a dimension Kx, the radius being measured from the origin of a sector lying within said field comprising means providing scanning signals indicating the sequence of steps from one display point to the next along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point, an accumulator for deriving a third sum equal to the radial distance of said given display point from said origin plus the net of the positive of the absolute value of KxSinS for each step along a row of display points in a direction away from the origin, the negative of the absolute value of KxSinS for each step along a row of display points in a direction toward the origin, the positive of the absolute value of K,,SinO for each step along a column of display points in a direction away from the said origin, and the negative of the absolute value of K,,Sin0 for each step along a column of display points toward said origin, the angle 0 being the angle between a column of display points and a selected radial line close to the angular center of said two radial lines, the third sum thereby being the radius of said selected display point.
The present invention further provides apparatus for deriving an interpolated data value for a display point from four data samples defining an area containing the display point, comprising means for deriving a first intermediate interpolated data value in part from a first pair of said data samples and for a point between them, means for deriving a second intermediate interpolated data value at least in part from a second pair of said data samples and for a point between them, said points for said first and second intermediate interpolated data samples and said display point being on a substantially straight line, and means for interpolating said first and second intermediate, interpolated data values so as to derive a final interpolated data value for the point in the said straight line where the display point is located.
In apparatus as set forth in the last preceding paragraph, it is preferred that said first pair of data samples lie on a first radial line and said second pair of data samples lie on a second radial line.
The present invention further provides apparatus for deriving from data samples occurring at the intersections of a set of radial lines within a sector with a set of concentric arc lines having a spacing s between adjacent arc lines and the same origin as said radial lines, a final interpolated data value to be displayed at a selected one of a plurality of display points arranged in orthogonal rows and columns, there being a separation Kx between said columns and a separation K, between said rows, comprising means for making simultaneously available at least four data samples respectively occurring at the intersections of at least two radial lines and at least two concentric arc lines, two of said radial lines and two of said arc lines defining an area containing said selected one of said plurality of display points, first data selection means for selecting data samples lying along one of said radial line and arc line directions and on one side of said selected display point in the other direction, first interpolating means for deriving a first intermediate interpolated data value from the data samples selected by said first data selection means, second data selection means for selecting data samples lying along said one of said radial line and arc line directions and on the other side of said selected display point in the said other direction, second interpolating means for deriving a second intermediate interpolated data value from the data samples selected by said second data selection means, and third interpolating means for deriving from said first and second intermediate interpolated data values a final interpolated data value for said selected display point.
In apparatus as set forth in the last preceding paragraph, it is preferred that said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the angular position of said selected display point with respect to said pair of radial lines, said latter means comprising means for providing scanning control signals controlling a sequence of steps along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point, means for providing a third signal representing the value resulting from multiplication of K, and the absolute value of the difference between the tangents of the angles of said pair of radial lines with respect to a column of display points, an accumulator for deriving a first sum equal to the distance between said pair of radial lines measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive value represented by said third signal for each step of K, taken along a column of display points away from the origin of the sector, the negative value represented by said third signal for each step taken along a column of display points closer to the origin of the sector, the first sum being the distance between the radial lines along the row of display points including the selected display point, means for providing a fourth signal representing the value of K, times the absolute value of the tangent of the angle between a column of display points and one of said radial lines, an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; +Kx for each step of Kx along a row of display points toward the other radial line of said pair, Kx for each step of Kx along the row in the opposite direction, the positive value represented by said third signal for each step of K, along a column of display points in a direction away from the origin of the sector and the negative of the value of said third signal for each step of K, along the column toward the origin of the sector if the angle is for the outer radial line, the sign of the valve represented by said third signal being reversed if the angle is for the inner radial line, the second sum being the distance, as measured along the row of display points including the selected display point, between the selected display point and the radial line corresponding to the angle used, and the ratio of said second sum to said first sum being the relative angular position of the selected display point.
In apparatus as set forth in the last preceding paragraph, it is preferred that said rows and columns of display points are orthogonal and said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the radial position of said selected display point with respect to concentric arc lines on opposite sides of said selected display point, said latter means comprising an accumulator for deriving a third sum equal to the radial distance of said given display point from said origin plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive of the absolute value of KxSinO for each step of Kx along a row of display points in a direction away from the origin, the negative of the absolute value of KxSinO for each step of Kx along a row of display points in a direction toward the origin, the positive of the absolute value of K,,CosO for each step of K, along a column of display points in a direction away from the said origin, and the negative of the absolute value of K,,Cos() for each step of K, along a column of display points toward said origin, the angle O being the angle between a column of display points and a selected radial line close to the angular center of said two radial lines, the third sum thereby being the radius of said selected display point, and means for obtaining the difference between the radius of the selected display point and one of said concentric arc lines, the said difference being the radial position of said selected display point with respect to said concentric arc line.
In apparatus as set forth in the last preceding paragraph, it is preferred that said selected radial line is one of said radial lines.
In apparatus as set forth in either one of the last two immediately preceding paragraphs, it is preferred that the accumulator for deriving said third sum is digital, Kx=K,,=5 and the means for obtaining the difference between the radius of the selected display point and one of said arc lines are the conductors of the fractional bits of said third sum.
Apparatus as set forth in the last preceding paragraph may further comprise means for providing a first position signal representing the position in the direction of an arc line of said selected display point with respect to the two radial lines defining said sub-slice, means for providing a second position signal representing the position in a radial direction of said selected display point with respect to said radial arc lines defining said sub-slice, and wherein said first and second interpolating means for deriving said first intermediate interpolated data sample value are responsive to one of said first and second position signals to derive said first and second intermediate interpolated data sample values at the position of said selected display point indicated by said one of said first and second position signals, and wherein said third interpolating means is responsive to the other of said first and second position signals to derive said final interpolated data value from said first and second intermediate data values at the position of said selected display point indicated by the other of said first and second position signals.
The present invention further provides apparatus for deriving from data samples occurring at the intersections of a set of radial lines within a sector with a set of concentric arc lines having a spacing s between adjacent arc lines and the same origin as said radial lines, a final interpolated data value to be displayed at a selected one of a plurality of display points arranged in rows and columns, there being a separation Kx between said columns and a separation K, between said rows, the apparatus comprising means providing a first signal identifying a radial line, means providing a second signal identifying a display point, means responsive to said first and second signals for providing signals representing data values at intersections of at least a pair of said radial lines with at least a pair of said arc lines, which intersection define an area containing said display point, and means responsive to said first and second signals and to said signals representing said data values for providing a final interpolated data value for said display point.
In apparatus as set forth in the last preceding paragraph, it is preferred that said means providing said signal identifying said display point includes means for providing a signal representing the position of said display point.
In apparatus as set forth in the last preceding paragraph, it is preferred that said rows and columns of display points are orthogonal and said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the angular position of said selected display point with respect to said pair of radial lines, said latter means being comprised of means for providing scanning control signals controlling a sequence of steps along the row and columns of display points that defines a path followed in scanning from a given display point to the selected display point, means for providing a third signal representing the value resulting from multiplication of K, and the absolute value of the difference between the tangents of the angles of said pair of radial lines with respect to a column of display points, an accumulator for deriving a first sum equal to the distance between said pair of radial lines measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point, the positive value represented by said third signal for each step of K, taken along a column of display points away from the origin of the sector the negative value represented by said third signal for each step taken along a column of display points closer to the origin of the sector, the first sum being the distance between the said radial lines along the row of display points including the selected display point, means for providing a fourth signal representing the value of K, times the absolute value of the tangent of the angle between a column of display points and one of said radial lines, an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals scanning from said given display point to said selected display point; +Kx for each step of Kx along the row in the opposite direction, the positive value represented by said third signal for each step of K, along a column of display points in a direcion away from the origin of the sector and the negative of the value of said third signal for each step of K, along the column toward the origin of the sector if the angle is for the outer radial line, the sign of the value represented by said signal being reversed if the angle is for the inner radial line, the second sum being the distance, as measured along the row of display points including the selected display point, between the selected display point and the radial line corresponding to the angle used, and the ratio of said second sum to said first sum being the relative angular position of the selected display point.
Instead of translating data samples from points in the sector to selected points in the display memory, this invention provides means for selecting samples located at points on different radial lines that define an area or sub-slice, and deriving from those selected samples an interpolated data value for each display point contained in the sub-slice so as to form a true reconstruction of the image throughout the area. Generally but not necessarily, the samples selected are located at the intersections of two concentric arcs with two radial lines so that the area referred to as inner and outer radial boundaries and angular boundaries.First and second intermediate interpolated data values are derived at the radial position of each display point from the pair of samples respectively along each radial line or at the angular position of each display point from the pairs of samples respectively along each arc. If these first and second intermedaite data values are derived at the radial position of a display point, a final interpolated data value is derived from them at the angular position of the display point; and if the first and second intermediate data values are derived at the angular position of a display point, a final interpolated data value is derived from them at the radial position of the display point.The radial position of a display point is its radial location with respect to the arcs that are on either side of it, and its angular position is its angular location with respect to the radial lines that are on either side of it. As will be explained, more than a pair of data samples can be used to derive the first and second intermediate interpolated data values. The interpolation in either or both the radial or the angular direction may be performed with an arbitrary choice of interpolation function; that is, we have chosen a "straight-line" function but, for example, a "cosine" function, such as a Hanning window, could be used.
When the areas of an image are reconstructed in this manner, the problems of moiré and other artifacts previously referred to simply disappear, provided every display point in the sector is addressed.
As there are about 125,000 display points in a sector it is apparent that the determination of their radial and angular positions and the interpolations referred to cannot be performed in the thirtieth of a second during which the sector is being scanned by straightforward calculations based on the x,y coordinates of the display points and the R,0 positions of the data samples.
Therefore, an important part of this invention is the provision of means whereby all these calculations can be done in real time.
Basically, this is accomplished by dividing the sector into slices that respectively lie between successive radial lines and providing display point scanning control signals that represent a step-bystep scanning along the rows and columns of display points in each slice in succession.
The radial position of each display point within a sub-slice is determined by recursive addition to or substraction from the known radius of a previously scanned display point a stored value for each step along a row of display points and a different stored value for each step along a column of display points. After normalization the fractional part of the recursive addition is the radial weighting desired and is called RERR.
The angular position of each display point within a sub-slice is determined by recursive addition to a known distance called COUNT of a previously scanned display point from one of the radial lines of a slice as measured along a row of display points in which the display point is located of a stored value for each step along a row of display points and a different stored value for each step along a column of display points so as to derive the signal or value COUNT for each display point. Another recursive addition is made to the known distance between the radial lines of a slice along a given row of display points of a given stored value for each step along a column of display points so as to derive a signal or value XHAT for each display point. The signals COUNT for each display point may be divided by the signal XHAT for that point so as to derive a signal or value SERR representing the angular position.
Minimal error is involved with respect to the true angular position expressed as a ratio of arc lengths between a display point and the radial lines of the slice if the angle between the radial lines is small.
The saving in time for these calculations results from the small time required for each recursive addition as opposed to the time that would otherwise be required for a straightforward calculation of radius and angle. See the RERR and 6ERR calculations below.
Where the data samples represent brightness, as in an ultrasound system, only five bits are required to represent the thirty-two possible brightness levels that can be reproduced on a cathode ray tube. Thus, only five bits are required to represent the final values of RERR, COUNT, XHAT and OERR. In making the recursive addition, however, a larger number of bits, such as twelve, are used in order to reduce the amount of accumulated error to a tolerable level.
The interpolations can be effected in a very short time by multiplying with ROMs, and ROMs of a reasonable size can be used because both the brightness samples and the values of RERR and OERR that are used in the interpolations have only five bits.
Basis of Recursive Calculations and the Stored Values Used For ease of notation, the center radial line is defined as 0 degrees. All angles are referenced to this and considered positive, i.e., the +45 radial line lies along both sides of a 900 section. Also, when referring to a slice, the "outer" radial line Ro has the larger angle labelled 62 and the "inner" radial line R, has the smaller angle labelled fl1.
RERR If the movement is in the x direction, left or right, then Key=0 Conversely, if the movement is in the y direction, up or down, then Kx=O If the movement in x is towards the center line of the sector, then Kx is positive, resulting in an incremental decrease by KxSinS2 of the radius. Conversely, for an outward movement in x, Kx is negative, resulting in an incremental increase by KSin62. If the movement in y is away from the sector apex, then K, is positive; and if the movement in y is towards the apex, K, is negative.
The error weightings RERR and OERR, which are required at each display point, ostensibly require, the explicit calculation of the radius R and the angle 6, where 6 is the angle between a vertical line through the center of the sector and a line through the display point to the apex of the sector slice.That is, for the jth display point
where (xpyl) are the rectangular coordinates of the jth display point, and (2) #j = tan-1 xj yj However, it can be shown that equation (1) may be alternatively computed from a recursive approximation resulting from a Taylor series approximation given by (3) Ri+1=Ri-KxSin#2+KvCos#2 where 62 represents the angle of the outer ray of the two radial rays making up the sector slice.
The recursive relationship adjusts the previous radius value by an incremental amount determined by the direction traversed between the previous point (j) and the new point (J+1).
OERR It will be shown that the stored value AXHAT that is added for each step of the scanned paths along a column of display points to derive XHAT for each display point is tan62-tan61 where 62 is the angle between the ray 6=00 and the outer radial line of a slice, and 0, is the angle between the ray 6=00 and the inner radial line of a slice. Thus, (4) XHATI+,=XHATI+AXHAT Kye It will also be shown that (5) COU NTI+,=COU NTI+ Kx+ Kvta n02, the value of tan62 being stored for each slice.
There now follows a detailed description which is to be read with reference to the accompanying drawings of several embodiments of the present invention; it is to be clearly understood that these embodiments have been selected for description to illustrate the invention by way of example and not by way of limitation.
In the accompanying drawings: Figure 1 illustrates the basic components of a scan converter system; Figures 1 A, 1 B and 1 C are graphic illustrations of the functions of the components of Figure 1 : Figure 2 is an illustration of radial lines and a field of display points arranged in rows and columns that is used in explaining the interpolations to be performed in accordance with the invention; Figure 3 shows two pairs of radial lines used in explaining the basic calculations used in the invention; Figure 4 is a general block diagram of a scan conversion system incorporating the invention; Figure M, shown in Figure 7, illustrates the orientation of Figures 5, 6, 7, 8 and 10 to form a complete diagram of the preferred embodiment of the invention:: Figures 5, 6, 7, 8 and 10 illustrate the details of a preferred embodiment of the invention; Figure 4A illustrates an alternative interpolation means that can be used in Figure 4; Figure 5A illustrates one form of digital information that may be provided by a scanner; Figures 6A and 6B are truth tablets for the multiplexers of Figure 6; Figure 7A illustrates the details of an address control counter used in Figure 7; Figure 7B, 7B1, 7B2 and 7B3 illustrate the operation of a translation ROM of Figure 7; Figure 8A is a truth table for the ROM of Figure 8 used in computing the radial position of a display point; Figure 8B illustrates the details of a radius counter of Figure 8;; Figure 8C is a truth table for a ROM of Figure 8 used for computing the angular position of a display point; Figure 9 graphically illustrates the operation of the preferred embodiment of the invention; Figures 1 1 and 12 are graphs illustrating the timing of various signals; Figure 1 3 illustrates an alternative embodiment of the invention wherein fewer components are used to perform the interpolation; Figure 14 illustrates another alternative embodiment of the invention employing a single ROM for performing the interpolation; and Figure 1 5 illustrates another alternative embodiment of the invention in which the values of RERR and BERR as well as the interpolation are determined by a single ROM.
The block diagram of Figure 1 illustrates the basic components of a digital scan conversion system of the type to which this invention pertains. A scanner 20 transmits acoustic pulses into the body of a patient by means not shown and produces an analog signal representing the amplitudes of echoes received from structures of the body located along a number of radial lines of a sector shown in Figure 1 A. Only a few radial lines are shown. As the analog signal is being received, uniformly spaced digital samples indicated by the dots in Figure 1 A are derived from it along each radial line by an A/D converter 22 and applied to a scan conversion system 24.Generally, as may occur in a system employing this invention, the first data sample is at the origin 0 of the sector and the other samples are at the intersections of the radial lines of the sector with equally spaced radial arcs so that data samples are also distributed along the radial arcs.
As pointed out in the discussion of the background of the invention, the function of a scan conversion system 24 is to write-digital data values derived from the data samples into appropriate display points of a display memory 26 that are effectively located along orthogonal rows and columns as indicated by the +'s in Figure 1 B. In order to do this, the scan conversion system provides the data value to be written and the x,y coordinates of the display point on the display memory 26 where it is to be placed. Once stored in the digital memory 26, the data can be read out from appropriate x,y coordinate points by a reading device 28 and placed into corresponding coordinate points of a display means 30 that are indicated by the +'s of Figure 1 C.
Basic Principles of the Invention Figure 2 is an enlarged view of a portion of the sector shown in Figure 1 A in which the data sample points are shown as dots appearing along radial lines R2 to R5 at intersections of these radial lines with radial arcs A10 to A13 that are uniformly spaced by a distance s. Each data sample point is indicated by a letter S having a subscript equal to the radial line on which it appears and a superscript equal to the radial arc on which it appears. The data sample points are thus also distributed along the radial arcs. The display points of a display memory such as 26 of Figure 1 are indicated by +'s located in orthogonal rows and columns that are respectively parallel to x and y axes.In order to shorten the drawing, portions of the radial lines R2 to R5 have been omitted but, although not shown, the x axis passes through the origin 0 at which there is a display point. The spaces between rows of display points are K,,, and the spaces between columns of display points are Kx.
In order to determine a final interpolated data value to be used at a display point such as DP, a signal or value RERR' representing the radial distance between DP and the radial arc A11 and a signal or value 0ERR' representing the angular displacement between DP and the radial line R3 are derived.
Thus, RERR' and 0ERR' represent the radial and angular positions respectively of the display point DP relative to All and R3. A first intermediate interpolated data value 1I can be derived at the radial position of DP along the radius R3 by linearly interpolating between the data samples at S3Il and S312 in accordance with the following expression in which an * indicates the value of a data sample:
Similarly, a second intermediate interpolated data value 12 can be derived at the radial position of DP along the radius R4 by linearly interpolating the data samples at S4Il and S412 in accordance with the following expression::
The final interpolated data value FDP for DP can be derived at its angular position by linearly interpolating the first and second intermediate interpolated data values 1, and 12 in accordance with the expression:
Instead of calculating 0ERR', a value COUNT, which is the distance between DP and R3 as measured along the row of display points through DP and a value of XHAT which is the distance between R3 and R4 measured along the same row of display points are determined. It can be shown that COUNT is proportional to XHAT as 0ERR' is proportional to A0.Thus, the final interpolated data value at the display point DP can be determined from the following expression in which XHAT replaces AO of equation (8) and COUNT replaces 0ERR':
The final interpolated data value for the display point DP could just as easily be derived by reversing the order of interpolation, i.e., a first intermediate interpolated data value 11t could be derived at the angular position of DP along the radial arc A11 by using the formula:
and a second intermediate interpolated data value 12' could be attained at the angular position of DP along the arc A12 by using the formula:
so that the final interpolated value FDP is given by the following expression::
As will become apparent, the calculations of these equations can be more easily performed if the radial position is represented by a signal RERR=RERR'/s and the angular position is represented by a signal OERR=COUNT/XHAT. RERR is the fractional position of DP between A11 and A12 and OERR is the fractional position of DP between the radial lines R3 and R4.Thus, for example, equation (6) becomes (6') l1=S311*(1-RERR)+8312* RERR and equation (1) becomes (9') FDP=l1(1-0ERR)+l2. OERR It will be noted in either method of calculation that the first intermediate interpolated data value is derived by interpolating data samples along one of the radial and angular directions that are on one side of DP in the other direction and that the second intermediate interpolated data value is derived by interpolating data samples that are on the other side of DP in the same one of the radial and angular directions.In the first method, the first intermediate interpolated value I, was derived by finding an interpolated value of 5311 and S3'2*, which are on the left side of DP in an angular direction; and the second intermediate interpolated data value 12 was derived by interpolating 5411 and 5412 that are on the right side of DP in an angular direction. When the angle between R3 and R4 is small 1"12 and DP are in a substantially straight line as there is little difference between the chord and the arc.Similarly, in the second method, 1,' was derived by interpolating 5311 and 5411 that are along the arc A,1 and on one side of DP in a radial direction: and 12' was derived by interpolating 5312 and 5412 that are along the arc A12 and on the other side of DP in the radial direction.
Whereas the above description describes one way in which a scan conversion system incorporating this invention could operate, other ways will readily come to mind such as deriving II by interpolating four data samples along R3 and deriving 12 by interpolating four data samples along R4 or in the second method by interpolating four data samples along the arc A11 to derive 11' and by interpolating four data samples along the arc A12 to derive 12'. Another method is to derive additional interpolated values 11B and 11C in the same manner as 11 and 12 were derived and to interpolate all of them in the angular direction to derive a final interpolated value at DP.Similarly, interpolated values 11A' could be derived from the data samples along A10 and 12B could be derived from the data samples along A13 and these could in turn be interpolated in the radial direction to derive the final interpolated data value at DP. Another method is to use data samples at four sample points farther away from DP, such as S2' , So10; 5213 and 5513 that define an area containing DP.
A straight line function has been illustrated for the interpolation described, but any nonlinear method of interpolation may be used to obtain an interpolated value at the radial or angular position of DP. The type of interpolation used merely changes the weighting factor to be given to the data samples.
Basis of Calculation As previously pointed out, calculations of all the final interpolated display values in a sector by straightforward methods would require far too much time to permit real time operation for instruments such as an ulstrasound scanner that scan one sector in a thirtieth of a second. Reference is now made to Figure 3 for an explanation of the basis on which the calculations are made in accordance with the invention.Two radial lines from a scanner, an outer line Ro and an inner line R, that define a slice are illustrated as making angles of O2 and O1 respectively with a column of display points along the y axis which is the central line of the sector. in order to be able to illustrate the concepts involved, the angle 0201 between the lines Re and R, has been greatly exaggerated, being about 100 rather than the 3/40 or 130 generally employed.
Calculation of RERR The basis for the calculation of RERR can be understood by starting with a display point DP1 of Figure 3 that happens to be on the outer radial line Ro and noting what occurs when a step is made along the x axis toward the origin 0 to an adjacent display point DP2 that is the distance Kx from the display point DP1. If a perpendicular is dropped from Ro through DP2, the acute angle of the right triangle thus formed is O2 and the side of the triangle opposite 02 is KSinO2. Subtraction of this amount from the radius of the display point DP1, whatever it is, yields in our calculation the lesser radius of the display point DP2 that is indicated by the radial length R2.That this is not precisely correct is clear from the fact that the true radial distance of DP2 is the hypotenuse of the right triangle of which R2 is one side and therefore less than the actual radius. If the step were from DP2 to DPr, i.e., away from the origin 0, the amount KxSinS2 would be added to whatever radius was calculated for DP2. A step in the +y direction of a length K, to DP3 adds, in accordance with the method of calculation, a length of KyCosO2, but this too can be seen to be slightly inaccurate because the radius, R3 of DP, is less than the true radius. The fact is, however, that these errors are negligibly small of 12201 S 1 E 1+0 or as as usual.
Although the formulae and apparatus constructed in accordance with them utilizes the angle O2 of the outer radial line of each slice in making the radius calculation, one could alternatively choose another angle "close to" O2 in that it differs from O2 by an amount less than AS. Such a choice guarantees that errors within acceptable tolerances are maintained.
The radius at the origin 0 is zero. Therefore, if the display point scanning signals previously referred to cause a step-by-step scanning of the display points of the slice Ro R, starting with the origin O as indicated by the dashed line 31, and if the value of KxSind2 is subtracted for each step to the right and added for each step to the left, and if K,,CosO2 is added for each step along the y axis away from the origin, the radius of any display point in the scanning path can be determined with sufficient accuracy consistent with the quantitative errors for a display point lying within the slice bounded by Rot R,.
Whereas the value of the radius of a display point may be used in a manner to be described to prevent the writing-of data into the display memory, its more important function is to determine RERR so that the interpolations along the radial direction that were previously described can be performed.
With a format where jKJ=IKyl=lsl=1, RERR is merely the fractional part of the number representing the radius, but if Kx is different from K, and from s, then normalization techniques can produce radius values measured in units of s so that the fractional part is still RERR. Thus, we have (12) R+1=R,-KSin02+K,,Cos02.
Calculation of XHAT XHAT has previously been defined as the distance between radial lines of a slice such as Ro and R, of Figure 3 measured along a row of display points or along the x axis. If a perpendicular 32 is drawn from the y axis at the position of a display point 34, the value of XHAT for display points in the same row can be derived as follows. If the number of increments of K, between the origin 0 and the display point 34 is n, then as shown in Figure 3.
(13) x=nK,,tan02 and (14) x'=n K,ta n 8, and (1 5) XHAT=x-x'=nK,,tan02-nK,,tanO1.
From inspection, it can be seen that the value of XHAT increases a constant amount AXHAT for each change of K, along the y axis so that
Calculation of COUNT As used in the system to bsdescribed, COUNT is the distance from the outer radial line such as Ro to a display point as measured along a row of display points containing the display point for which a value of COUNT is sought. Since DP1 of Figure 3 is on the outer line Rot its value of COUNT is zero. The value of COUNT for DP2 is Kx. Thus, any step along a row of display points toward the central line of the sector increases the value of COUNT by Kx, see DP4 and DP4, of Figure 3, and any step away from it decreases the value of COUNT by Kx.When, however, the step is along a column of display points, or along the y axis, in a direction away from the origin 0, such as a step from DP1 to DP3, the value of COUNT is increased by K,,tan02.
The value of COUNT for the display point at the origin is zero. Therefore, if the values of +Kx,Kx and K,,tan02 are selected as noted above, the value of COUNT will be attained. Note that we are inside the sector slice whenever O < COUNT < XHAT at any display point.
By dividing COUNT by XHAT, a fractional measure, OERR of the angular position of a display point between the radial lines Ro and R, of a slice is determined. Since RERR is a fraction measure of the radial distance of a display point between two data sample points, OERR and RERR can be used in angular and radial interpolations in the same way.
When the value of COUNT is being determined for slices in the right half of the sector, COUNT is still measured from the outer line, but as can be seen from Figure 3, the outer line Rot is to the right of R,' rather than to the left of it as in the case of Ro and R,. By still measuring COUNT from the outside radial line Rot, the same calculation will apply.
This is not to say, however, that the fractional angular position of a display point must be measured from the outer line Ro or Rot. It could, for example, always be measured with respect to the left radial line, which is Ro in the left half of the sector and R, in the right half. The calculations would be the same as just described for the left half, but in the right half, +Kx and Kx would have to be interchanged and -tanO2 would be used in place of +tanS2. The latter could be added to a ROM, as will be explained.
Whereas the final interpolated data values for display points close to the origin are generally unimportant it is essential to obtain the values of RERR and OERR for these points as these values are needed in the recursive addition to derive the value of RERR and SERR required for calculating the final interpolated data values for display points that are of interest.
General System The block diagram of Figure 4 generally illustrates a scan conversion system incorporating the various aspects of this invention. Its function is to calculate on a real-time basis the final interpolated data value for each of the approximately 125,000 display points of a display memory that lie within a ninety-degree sector such as indicated in Figure 1 A that is scanned about thirty times a second by a radial scanner such as 20 of Figure 1. This is accomplished by determining the final interpolated data values for each display point of a slice, i.e., those display points on or between a pair of radial lines, and repeating the operation for each successive slice.
In Figure 4, a radial scanner 33 supplies analog data obtained along each successive radial line to an A/D converter 35 that provides digitized samples of the data occurring at uniformly spaced points along the radial lines as illustrated by the samples S11, S12, S13 on the radius Ro and the samples S10', Sly', S1z', and S13' on the radius Rt of Figure 3. Inasmuch as the data used in the calculations for each slice are different, a line identification means 36 is provided for deriving from the scanner 33 signal an identification of the line being scanned.This can be effected in a number of ways such as by assigning a digital number to each line or by identifying a given line in a sector and counting the lines as they are scanned. However derived, the line identification signal is used by a write control means 38 to direct the digital data samples from the A/D converter 35 to storage points in a memory 40 in such manner that their radial positions along the lines are identifiable.
The following description relates to a means for deriving the signals RERR and OERR that represent the radial and angular positions respectively of a display point that are used in the interpolation process as well as the means for obtaining data samples from the memory 40 that define an area containing the display point.
Means 42 derives from the radial scanner 33 a signal STRTL indicating the time when the scanner starts scanning along a radial line. In response to each signal STRTL, a means DPSG provides display point scanning control signals that represent the sequence of steps in one of the directions +x, -x, +y or -y that are to be taken from a given display point, such as one at the origin of the radial lines, in scanning through the display points of the slice corresponding to the line identified by the signal provided by a line identification means 36.
Although the sequence of steps would normally include those in +x, -x, and +y directions as indicated by the display point scanning path illustrated by the dashed line 31 of Figure 3, it would be possible for steps to be made in the -y direction as well. Means 46 respectively provides a signal indicating that a step is taken along the x axis, means 48 provides a signal indicating whether the step is in the +x or -x direction, means 50 provides a signal indicating that a step is taken along the y axis, and means 52 provides a signal indicating whether the step is in the +y or -y direction.By applying the outputs of the means 46 and 48 to an x address counter 54, the x coordinate of the display point for which a final interpolated data value is to be calculated in a manner to be explained is identified with respect to the x coordinate of the initial display point; and by applying the outputs of the means 50 and 52 to a y address counter 56, the y coordinate of the same display point is identified with respect to the y coordinate of the initial display point. The outputs of the x and y counters 54 and 56 are respectively applied to address lines of a display memory DM so as to direct the final interpolated data value FDP for that point when it is determined to the proper location.
Calculation of Radii Determination of the radius of each display point identified by the display point scanning signal provided by the generator DPSG may be effected as follows. The signal from the means 36 that identifies the line along which the radial position is to be determined in combination with the display point scanning control signal from the generator DPSG select from a memory 58, which may or may not be a ROM, the appropriate one of values +KxSinS,KxSinS, +K,,Cos0 or -K,,Cos0, as was discussed in connection with Figure 3, for application to one input of an adder 60. The angle 0 is the angle of a radial line that is reasonably close to the center angle of the slice. How close is determined by the amount of error that can be tolerated in the angular position.The output of the adder 60 is applied to a latch 62 that is operated whenever there is a step along the x or y axis, regardless of its direction, by connection of its clock input to the output of an OR gate 64 having its inputs respectively connected to the outputs of the x counter device 46 and the y counter device 50. The output of the latch 62 is connected to another input of the adder 60.Together, the adder 60 and latch 62 form an accumulator that produces a signal at the output of the latch 62 representing the radius of the display point by adding all of the values of +K,SinO, --K,SinO, +K,,CosO or -K,,CosO that were produced in response to each former step in the +x, -x, +y and -y directions along the scanning path determined by the scanning control generator DPSG.
Choice of Display Points At this point, it should be noted that inasmuch as a final interpolated data value may be derived for each display point in the scanning path determined by the signals provided by DPSG, the time for making this computation for display points that are outside of the slice, hereinafter called overhead, should be minimzed by using the following rules.
1. At sector apex, increment outside the outside line in the x direction.
2. If outside the outside line and heading outwards, drop vertically and reverse traverse direction in the x direction (change XDIR).
3. If heading towards the outside of a slice and no more points are within the slice farther out on the currently traversed raster and no farther points are on the succeeding line to be traversed, then drop vertically and reverse direction (change XDIR). If, however, another point is within the slice on the succeeding line, then continue traversal on the current line for another point, then follows Rule 2.
4. If heading towards the center of the sector, continue until you are within slice or inside inner line, drop vertically and reverse direction (change XDIR) after addressing the last display point within the current traversal which lies within the slice.
For points lying outside the slice, the final interpolated data value for such point should not be entered into the display memory DM because they may well be incorrect and may be read by a display memory scanner 66 and applied to display apparatus 68. It would be consistent with the invention to disable the means for calculating the final interpolated data value for the display points outside the slice instead of calculating the values and preventing the incorrect data from being stored in the display memory DM, but no time would be saved. These considerations apply to all the calculations.
Use of Radius R As previously described, the value of the radius R of the display point designated by DPSG appears at the radius R of the display point designated by DPSG appears at the output of the latch 62.
Bits representing R are applied to a magnitude comparator 70 where it is compared with the value of maximum radius RMAX which establishes the outer radial boundary for the sector. If this comparison shows that the radius R of a display point is less than RMAX. the comparator 70 provides a signal ROK to one input of an AND gate 72, the output of which is applied to an enable input of the display memory DM. In a manner to be described, a signal THETOK, indicating that the display point is in the current slice, is derived and applied to the other input of the AND gate 72. Thus, both signals ROK and THETOK must be affirmative if the data value is to be written into DM.The signal ROK is not as important as THETOK because incorrect final interpolated daga values for a few display points at the end of a slice do not present as much problem as an incorrect data value in the interior of the slice. The main advantage of ROK is that it smoothes the outer periphery of the sector.
Calculation of RERR The value of R cannot be used directly for interpolation as reference to equation (6) shows that some signal must be derived that represents the relative radial position of the display point with respect to data sample points that are being used in the interpolation, e.g., the relative radial position of the display point DP of Figure 2 with respect to the data sample points 5311 and 5312 when calculating the intermediate interpolated values 11 and lz to derive a signal representing the radial distance between the outer data sample points 5312 and DP for use in the interpolation of the invention, or to derive a signal RERR' representing the radial distance between DP and the inner data sample point e 11 In the preferred embodiment of the invention to be described at a later point, K,=K,=s so that the fractional part of the values appearing at the output of the latch 62 is RERR, i.e., the ratio of the distance between the display point and the inner arc to the distance s between the adjacent arcs. In the general case, however, Kx and K, can be different from each other and s.In this event, it is easier if Kx and K, are each less than s because a change of Kx or K, occurring in going from one display point to the next could change the calculated radius by an amount greater than 2s and thus make it necessary to take this. fact into account in calculating RERR'.
In the general case illustrated in Figure 4, Ky Kx and s may all have different values. The signal R at the output of the latch 62 is applied to one input of a difference calculator 74 and the output of a latch 76 is applied to the other. At the start of each radial line all latches are cleared by application of the signal STRTL to their clear terminals so that the initial output of the latch 76 is zero. A difference signal RERR', equal to the value of R minus the output of the latch 76, appears in one output 78 of the difference calculator 74, and a signal RDIR indicating whether R is increasing or decreasing appears on another output 80. The difference signal RERR' is applied to one input of a magnitude compare unit 81 and a value equal to s is applied to the other input.When RERR' > s, the magnitude compare unit 81 outputs a signal CROSSs or when RERR' > O, unit 81 also outputs signal CROSSs, indicating that the value of RERR' is passing through an integral multiple of s in respectively increasing and decreasing directions. Thus, for example, a signal CROSSs would be produced either by scanning from display point DP4 of Figure 2 to display point DP3, both of which are between the radial lines R2 and R3 or in scanning in the reverse direction from DP3 to DP4.
The input of the latch 76 is connected to the output of an ADD/SUBTRACT device 83 which has one input connected to the output of the latch 76, another input connected to receive a value of s, and a control input connected to receive the signal RDIR. Whenever RDIR indicates that R is increasing, the 'ADD/SUBTRACT device 83 produces at its output and at the input of the latch 76 the sum of the output of the latch 76 and s: and whenever RDIR indicates that R is decreasing, the ADD/SUBTRACT device 83 produces at its output and at the input of the latch 76 the difference between the output of the latch 76 and s. The clock input of the latch 76 is connected to receive the signal CROSSs so that when CROSSs occurs, the input of the latch is transferred to its output and to one input of the difference calculator 74.
The signal RERR representing the fractional distance of a display point such as DP of Figure 2 between A1, and A,2 is derived by dividing RERR' by s in a divider 77. But if s=Ky=Kx, RERR is simply the fractional part of R at the output of the latch 62 in which case the latch 76, the ADD/SUBTRACT device 83, the difference calculator 74, the magnitude compare device 81 and the divider 84 are not required.
Calculation of XHAT The value of XHAT is the distance between radial lines measured along a row of display points including the one in question, such as illustrated in Figure 2 or more clearly seen for the display points DP4 and DP4, of Figure 3. XHAT equals the sum of +AXHAT, AXHAT being equal to tan02-tan61, for each step in the y direction away from the origin and -#XHAT for each step in the y direction away toward the origin. As the value of AXHAT varies for each slice, it is only necessary to apply the line identification signal from circuit 36 to a ROM 88 so as to select the value of AXHAT for that line.
The output of the ROM 88 is applied to an accumulator comprised of an adder 90 and a latch 92.
This accumulator works in a similar fashion to the adder 60 and the latch 62 which were used in the radius calculation. However, instead of being updated with every move in x and y, the latch 92 gets clocked (updated) only on movements in y.
Calculation of COUNT The signal COUNT can be a distance measured along a row of display points between a display point in that row and either radial line of a slice. The line identification signal from the circuit 36, the display point scanning control signal from DPSG and the y up-down signal from the circuit 52 are applied to a ROM 96 so as to select one of the values +Kx, Kx, +K,tanB or -K,,tan6 and apply it to the input of an adder 98.The line identification signal selects a term having a tan#2 corresponding to the angle 62 used for the slice, and the signal from the y U/D circuit 52 combined with the display scanning control signal from DPSG selects the appropriate one of +K,,tan6 and -Kvtan#. The value of +Kx or Kx is selected by the steps along the x direction made by the scanning control signal. The following tables indicate the input selection matrix for the ROM 96 under the state conditions. Remember that +x is a step to the right increasing value of x, -x is a step to the left along the x axis, -Y is a step toward the origin, and +y is a step away from its along the y axis.
COUNT Measured from the Outer Line in Both Quadrants
Left Quad # Right Quad LN&num; xDIR y DIR Selection Selection - -x - Kx < 0 Kx > 0 - +x - KX > O Kx < O - - +y Kytan#2 > 0 Kytan#2 > 0 - - -y Kytan#2 < 0 Kytan#2 < 0 COUNT Measured from the Left Line in Both Quadrants
Left Quad Right Quad LN&num; xDIR yDIR Selection Selection - -x - Kx < 0 Kx < 0 - +x - KX > O KX > O - - +y Kytan#2 > 0 Kytan#2 > 0 - - -y Kytan#2 < 0 Kytan#2 < 0 COUNT Measured from the Right Line in Both Quadrants
Left Quad | - Right Quad LN&num; xDIR yDIR Selection Selection - -x - Kx > 0 Kx > 0 - +x - kx < 0 Kx < 0 - - +y Kytan#2 > 0 Kytan#2 > 0 - - -y Kytan#2 < 0 Kytan#2 < 0 The output of the ROM 96 is applied to an adder 98 having its output connected to a latch 100 that is clocked by a step in either the y or x directions by connection of its clock input via a lead 102 to the output of the OR gate 64.The output of the latch 100 is connected to an input of the adder 98 so as to form an accumulator that produces at its output a signal COUNT equal to the sum of all changes in the value of COUNT including negative values resulting from all previous steps from one display point to another.
Determination of 6ERR Although the values of XHAT and COUNT could be used directly by interpolation circuits simply by making the angular distances used in the interpolation formula COUNT and XHAT-COUNT, see equations (9), (10), (11) and (11'), it is generally simpler to derive a signal 6ERR that represents the fractional distance of a display point from one line to the other, the particular one depending on the selection made above, by dividing COUNT by XHAT in a divider 104. Equation 9 becomes equation 9' using OERR.
Is Display Point Between Radial Lines of a Slice7 In order to determine whether a given display point is between the radial lines of a slice, the following means is provided. The most significant bit of COUNT at the output of the latch 100 is applied via an inverter 106 to one input of an AND gate 108. As is well known, this bit goes to "1" when the digital signal of COUNT becomes negative so that the output of 106 goes to a low state. In addition, the values of XHAT and COUNT are applied to a decision block 1 10 that outputs a high state if COUNT is less than XHAT and a low state if COUNT is greater than XHAT. Thus, if COUNT is negative or is greater than XHAT, a situation that occurs only if the display point is angularly outside the slice, the output THETOK? from the AND gate 108 is in a low state.THETOK? is applied to an input of the AND gate 72 which, it will be remembered, has ROK? applied to its other input. Thus, only if THETOK? is in a high state indicating that the display point is angularly inside the slice and ROK? is also in a high state indicating that the display point radius is less than RMAX will the AND gate 72 output a high state so as to cause the display memory DM to store a final interpolated data value supplied to it at the x,y address indicated.
Interpolation A read control 82 obtains a plurality of data samples from a plurality of radial lines from the memory 40 under the control of RDIR and CROSSs and makes them simultaneously available at the inputs of interpolators 1 12 and 1 14. Two of the data points are located where a radial arc of less radius than the display point intersects the radial line of a slice, and two of the data points are located where a radial arc of greater radius intersects the radial lines of a slice. When the display point scanning control signal from DPSG causes the display point scan to cross the outer or inner radial arc, the signal CROSSs informs the read control 82 that a crossing has been made and the signal RDIR determines whether the crossing is in an outward or an inward radial direction.The read control then selects the proper data points so that the four data samples always define an area containing the display point.
The newly selected data points can be the same as before, further out or close in towards the apex of the sector depending on RDIR and the value of s. For example, if the initial four data display samples were S,'1', S312*, 511*, and S4:2* of Figure 2 and the display point scan crossed from a display point within the area defined by these points to a point outside of the radial arc Al2, the read control 82 would drop the inner data samples S3ll^ and S4ll^, retain the samples S312* and S4'2* and add the data samples S313* and S4t3*. Should the scan recross line Al > , the original four data samples are used.The intermediate interpolated values provided by 1 12 and 114 are applied to an interpolator 1 16.
With switches st and S2 in the position shown, 1 12 and 1 14 interpolate radially, 1 16 interpolates angularly and 93 applies data samples on R3 to 1 12 and data samples R4 to 1 14. With s, and 52 in the other positions, the order of interpolation is reversed and s3 applies inner data samples to 1 12 and outer samples to 1 14.
If the interpolations involving other or additional display points such as described in connection with Figure 2 are to be made, it is apparent that more interpolators than 1 12 and 1 14 would be required and that the read control 82 would have to obtain the data samples from the memory 40 and make appropriate ones of them simultaneously available to the interpolators. As one skilled in the art would readily provide the required data sample selection and interpolation means, only one other combination, the one in Figure 4A, is illustrated. In Figure 4A the first and second intermediate interpolated data values are derived from the data samples at four data sample points along each of the radii R3 and R4 of Figure 2.Data samples S31 *, S3'3* are applied to an interpolator 11 8; data samples 5311*, S312* to an interpolator 120; data samples S4' *, S4'3* to an interpolator 122; data samples S4ll*, S4'2* to an interpolator 124; and the signal RERR is applied to all the interpolators. The outputs of the interpolators 11 8 and 120 are connected to an adder 126 that produces a first intermediate interpolated data value Ii, and the outputs of the interpolators 122 and 124 are applied to an adder 128 that outputs a second intermediate interpolated data value. The interpolators 11 8 and 122 can take into account the different distances of the inner and outer data samples from DP as well as different weighting factors that are to be applied to them if such are desired.
Preferred Embodiment The Scanner Bus Signal In view of the fact that the various trigonometric functions used in making the interpolations in accordance with this invention require information as to angles related to the radial line along which a scanner is producing data, it is essential that some means be provided for identifying the line being scanned. Various ways, such as producing a pulse on the first line of a sector and providing a count that is updated each time the scanner transmits an acoustic pulse into the body of a patient, could be used but in order to be able to format the sector under software control, each angle is uniquely labelled with a seven-bit word just prior to the receipt of data for that angle. The data is quantized to five bits.In order to minimize the number of distinct signal busses between a scanner and the scan converter of this invention, the angle and data bits share a common data transfer bus 133 as indicated in Figure 5 which is twelve bits wide. The output of scanner 134 of Figure 5 is illustrated in Figure 5A wherein it is seen that when the MSB has a value of 1, the bits 2 to 8 represent the line number; and when it has a value of 0, the bits 2 to 6 represent one of thirty-two levels for a data sample. In order to reduce the amount of trigonometric data that must be stored in the ROMs, advantage is taken of the angular symmetry about the central radial line of the sector and therefore bit number 1 is arbitrarily made to have a value of 1 when the line is in the left half of the sector and a value of 0 when it is in the right half.The center line of the sector has the bit set to 1. The LSB, but number 11 in this case, contains pulses termed "STROBE" that occur during the time when the word contains line identification information as well as during the time when the word represents the value of a data sample.
Timing Signals The scan conversion system is clocked by pulses CLK produced by a clock 136, but in order to provide sufficient time for each circuit to perform its function, the frequency of the output of the clock 136 is cut in half by a divider 138 so as to derive a signal ENABL. The negative of this signals, NENBL, is provided by connecting an inverter 140 to the output of the divider 138.
Because the clock of the scanner.134 may not be in synchronism with the clock 136 of the scan converter, the LSB, STROBE, from the scanner 134 is applied to a synchronizer 135. The synchronizer may take a number of forms, but is herein comprised of a pair of D flip-flops 1 32,139 and an AND gate 141 coupled as shown. In order to control the sequence of operation of various portions of the scan converter circuit with respect to a word received from the scanner 134, the output of the AND gate 141, identified as INENABLE, is a synchronized STROBE and is applied to a shift register 142 that is clocked by pulses CLK.If the frequency of the clock 136 is 12.4 MHz, STROBE is made to have an active high for at least 80 ns and an active low of at least 80 ns so that the sequential pulses NINENO, NINEN1 and NINEN2 at the output of the register are synchronous with the CLK. Each pulse is 80 ns low with the three pulses lasting not more than 240 ns. The inverted forms from INENO, INEN1 and INEN2 are respectively derived by inverters 144,146 and 148. As will be seen, NINENO or INENO are used for enabling latches; NINEN 1 or INEN 1 are used for controlling writing functions; and NINEN2 or INEN2 are used for controlling counters.
Identifying the Line Number The output INENABLE from the AND gate 141 is applied via an inverter 150 to an enable input of a latch 152 so as to latch the word present at the time on the scanner output. Bit number 1, SIGN, indicative of the half-sector in which the line is, and bits numbered 2 to 8 indicative of the line number, are conducted to a latch 154 so that when the latch 154 is enabled, the bits representing the line number L&num; appear on one output and the SIGN bit appears on the other.
Inasmuch as the bits numbered 2 to 6 represent line identification information at one time and the value of a data sample at another, it is essential that the latch 1 54 be enabled only when these bits represent the line number. This is accomplished by "ANDING" in a NAND gate 1 58 the MSB. herein designated as HDR1, with ENABLE and the output of an OR gate 1 56 to which INEN 1 and INEN2 are applied. The reason for using INEN 1, INEN2 in this manner is because INEN 1 may come up to one of two stable states relative to the ENABL signal. ENABLE has a period of 160 ns whereas INENO is 80 ns wide. Therefore, in order to insure that the line number gets latched synchronously with the ENABLE signal, both the INENO and INEN 1 are needed. Also notice that the STRTL signal is generated in a similar manner. This signal will become clearer later. The reason for using ENABLE is to establish the overall pipeline timing for the hardware. By essentially dividing the 12.4 MHz clock by 2, a 1 60 ns pipeline time is estabished. Thus, each synchronous operation has 160 ns to achieve set-up, propagation delay, and hold time. The NAND gate 158 can only produce the low output required to enable the latch 154 when HDR1, the most significant bit, is 1. The data then present at the input of 154 is the scanning line information.
Extracting the Data Bits numbered 2 to 6 are connected to the input of a latch 160 that is enabled by NINENO so that whether they represent line information or the value of data samples, they are transferred as DATA to a data bus 162. When these bits represent line information, they are prevented from being written into the line memories of Figure 6 in a manner to be explained by a qualifying signal SWE which is derived by connecting an inverter 164 between a line 166 carrying HDR1 and one input of an AND gate 168, the other input of which is connected to INEN1. When the word from the scanner 134 represents line information, HDR1 is high so that SWE must be low; but when the word represents data, HDR1 is low so that SWE can become high when INEN1 occurs.
The Start of a Line As previously pointed out, the calculation of RERR and 6ERR that are used for the interpolation function are derived by successive addition or subtraction of certain stored values to respectively known initial values. Although these known initial values may be those for any display point, it is easier to use the origin of the sector as the starting point because the known values for RERR and 6ERR at the origin are zero. However this is done, it is essential to know the data sample occurring at the start of a line. Since HDR1 occurs at each line start, it can be used to generate a signal STRTL (START LINE). One way is to connect an inverter 1 70 between the output of the NAND gate 1 58 and the input of a latch 172.While data is being received, HDR1 is low so that the output of the latch 172 is also low, but when a L&num; is being received, HDR1 is high so that when NENBL enables this latch, a high output STRTL will appear at its output. STRTL is used in Figure 10 to initiate the calculations referred to.
Writing the Data Samples Reference is now made to Figure 5 and Figure 6 for an explanation of one way of storing the data samples. In Figure 6, the data bus 162 from Figure 5 is connected to tri-state buffers or gates 174,176 and 178 that are respectively connected to the l/O of digital line memories 180, 1 82 and 184. Each line memory can store the 396 data samples along a line, and it is desired that data samples from one radial line of the scanner 134 be written into one memory while the two previously written radial lines are being read to provide the data samples required for interpolation. The tri-state buffers require application of a low state to their enabling inputs for them to pass data to the line memories. One means for deriving the appropriate enabling signal NLD is shown in Figure 5.HDR1 from the lead 166 is applied to one input of a NAND gate 186, INENO is applied to the other and the output is applied to a low state activated MOD 3 counter 188 that outputs a high state on one of its three output lines Ml, M2 or M3. Each HDR1 received causes the NAND gate 186 to output a signal NLD to the MOD3 counter and causes it to shift the high state to the next output line. Thus, after three HDR1 's the sequence repeats.
Enabling of the line memories 1 80, 1 82 and 1 84 so that data presented at their I/O can be written into them requires a low state to be applied to their write-enable terminals. Derivation of such signals is effected by respectively applying Ml, M2 and M3 to inputs of NAND gates 190, 192 and 194 and applying SWE to their other inputs. It will be recalled that SWE is high only when data samples are on the data bus 1 62 so that the outputs of the NAND gates 1 90, 1 92 and 194 can go low and permit data to be written into the line memories only when data samples are on the data bus.
This prevents line number data from being written into the memories 180, 1 82 and 184. Whichever of Ml, M2 or M3 is high will cause its NAND gate to output a low state and enable the associated line memory to be written into. Thus, if M1 is high, the line memory 180 is enabled to receive data.
But because each line memory has a common l/O, it is also required that the output channel be disabled by application of a high state to its output enable terminal OE while that memory is receiving data samples. This is effected by applying Ml, M2 and M3 respectively to the OE terminals of the line memories 1 80, 1 82 and 184. If, for example, Ml has a high state, the output channel of the line memory 180 is disabled.
Summarizing, Ml, M2 and M3 become high in sequence. If Ml is high, the tri-state buffer 174 permits data samples to reach I/O of the line memory 180, but the tri-state buffers 1-76 and 178 prevent data samples from reaching the I/O of their respective line memories 1 82 and 184. At the same time, the write-enable input of the line memory 180 receives a low state so that data samples can be written into the line memory 180. The output channel of the line memory 180 is disabled while the output channels of the line memories 182 and 184 are enabled. Thus, with Ml high, data samples can be stored only on the line memory 180, and M2 and M3 are low so that data samples previously stored in the line memories 182 and 184 can be read.
The question arises as to how to store the samples at sequentially arranged addresses. This is controlled by up/down counters 196, 198 and 200. In the first place, it should be noted that the signal NLD at the output of the NAND gate 186 is applied to a load input of the counters so as to make them all revert to zero count at the beginning of each line.
In order for these counters to be able to count at all, a low state must be present at both inverting inputs ENT and ENP. Assume, for example, that data samples are to be written into line memory 180 so that Ml is high. Under this condition, the input ENP of the counter 1 96 is low for the entire line because a signal Ml +SHlFT, to be described, is coupled to ENP by an inverter 195. M1 is a constant high during the line, it makes the state of SHIFT irrelevant. When writing, the count aiways increases so that UND1 should be high. UND1, UND2 and UND3 are derived by respectively connecting M1, M2 and M3 to one input of OR gates 202, 204 and 206 and a signal NMDECR, to be described, to the other inputs.Since M1 is high, the output of the OR gate 202 is high regardless of the state of NMDECR and the counter 196 counts up. The actual counting occurs in response to the signal NM 1 +ADDEN applied via an inverter 193 to the ENT input of the counter 196. Since NM 1, the inverse of Ml, is low and cannot make the counter 196 input ENT low, a count takes place each time ADDEN goes high.
NM1 +ADDEN, NM2+ADDEN and NM3+ADDEN are derived as follows. HDR1 is applied via an inverter 203 to one input of an AND gate 205 so that this input is high during the time data samples are being received. Each data sample is accompanied by a STROBE that produces the synchronized STROBE INENABLE which in turn produces INEN2. When INEN2 goes high, the output of the AND gate 205, which is the signal ADDEN, also goes high. ADDEN is applied to one input of each of the OR gates 207, 208 and 210, and signals NM1, NM2 and NM3 are respectively applied to the other inputs. The latter signals are derived by application of Mi, M2 and M3 to inverters 212, 214 and 216.When writing into the line memory 180, Ml is high and NM 1 low for the entire line and the output ADDEN of the AND gate 205 goes high in response to each INEN2 so that the counter 196 counts. Since, as has been explained, UND1 is high, it counts up. The effect of the various signals on the other line memories and counters will be explained in a section on reading data samples from the lines.
In the example just given, data samples were being written into the line memory 180. During the same time, data samples are read from the line memories 1 82 and 1 84. If the sequence of reading were always in one direction, the reading function would be explained at this point, but inasmuch as this is not the case, it is necessary to explain how signals INCR, DECR and SHIFT that control the reading function are derived.
Display Point Scanning Control Signal In order to determine the signals just mentioned, means are provided for generating display points scanning control signals representing the step-by-step scanning along the rows and columns of display points that are required for proceeding from a given display point, such as the one at the origin of the sector, through the display points in a slice corresponding to a given line number. As previously noted, the display point scanning control signals may take different forms as a result of different sequences of x and y movements and can be generated by a computer or derived from a memory as in this illustration.The apparatus of Figure 7 that is to be described includes a state machine 220 that provides a series of single bits that indicate by a 0 that the step is along the x axis and along a row of display points and by a 1 that the step is away from the origin along the y axis and along a column of display points. In this particular embodiment of the invention, the first step from the origin of the sector is to the left for a slice that is in. the left half of the sector as indicated by the scanning path 31 of Figure 3 and to the right for a slice in the right half of the sector as indicated by the scanning path 31 ' of Figure 3.The scanning algorithm uses the concept that each time the y address is changed, the direction for the x counter is changed from its last setting, i.e., after the first y address change in path 31, the XDIR is changed such as to cause the x counter to count up, i.e., move closer to the center of the sector. Note that the y movements can be concatenated successively; however, each movement in y is an implied change in the XDIR so that when the state machine outputs a 0 (x movement), the x counter moves in the direction of the last implied x direction. Also, for slices on either side of the center line, y axis, by the same angle, the scanned paths are identical except that the direction of corresponding steps along the x axis are opposite, but the 1's and 0's from the state machine 220 are identical.A signal XDIR that is 0 for a step towards the center and 1 for a step towards the outside of the sector along the x axis is derived by an address counter control 222 from the output of the state machine 220 and the SIGN bit from latch 230. The address counter control 222, the details of which will be shown in Figure 7A, also supplies a signal YlNC/ilrrepresenting the steps in x or y.
Refer now to Figure 7 in detail. The bits L&num; representing the line number and the bit representing SIGN at the output of the latch 154 of Figure 5 are connected to a scanner latch buffer 224 that is enabled by the signal STRTL from the latch 172 of Figure 5 to pass the bits for these signals to a fifo buffer 226 that stores two line numbers since two successive radial lines of the scanner must be stored in two of the line memories 1 80, 1 82, and 1 84 of Figure 6 before a slice is defined and ready for readout. As each STRTL signal of a radial line occurs, the L&num;s in the fifo 226 are moved along. On the third STRTL of the sector, the L&num; for the first line of the sector is moved into a L&num; translation ROM 228. Its output is applied to a latch 230.
The purpose of the Lç translation ROM 228 can be understood from a consideration of Figures 7B1, 7B2 and 7B3. In the particular format used in this embodiment of the invention, the radial lines are assigned even numbers starting with the outer line in the left half of the sector being 1/120, as in Figure 7B, where the 1 is the SIGN bit indicating that the line is in the left half, and 120 is the line number. Arbitrarily, the center line is line 1/0. The outermost line in the right half of the sector, not shown, is 0/120. Figure 7B shows the outermost slice in the left half of the sector formed by radial lines 1/120 and 1/1 1 8. While data samples are being read from the two of the line memories 180, 182 and 184 of Figure 6 in which the data samples of lines 1/120 and 1/118 were stored, data samples from the dashed line 1/116 are being written into the third line memory. The various angular measurements used in the determination of RERR, COUNT and XHAT in a manner to be described are, in this particular embodiment, based on the angle between the outer radial line Ro and the y axis.
The line translation ROM 228 is necessary for the following reason. All trigonometric functions are referenced to the outside line, i.e., on the left side of the sector this means the oldest line number in the fifo 226. When the current output slice is as shown in Figure 7B1 the current output from the fifo 226 is line 1/2 which implies that the current angle is that of line 1/2.When the center line is crossed, Figure 7B2, the output of fifo 226 is 1/0; but the angle of 0/2 should be used because it has the same angle as 1/2 of Figure 7B1. In order to achieve this result, the line translation ROM 228 adds to the line number, Figure 7B3, and changes the sign to 0, i.e. 0/2 is outputted from the ROM 228 instead of 1/0 and has the same L&num; as 1/2 of Figure 7B . The SIGN bit has no effect on the L&num; to be used but is delayed in the same way as the line number for reasons which will be explained later. The remaining lines on the right side have 2 added to them. All lines on the left side, excluding the center line, are transparent through the translation ROM 228.
The State Machine 220 The three most significant of the six bits at the output of the latch 230 that represent the line numbers are applied to a ROM select 232 so as to select one of eight ROMs used in the state memory 234. Each ROM in the state memory contains up to eight slices. The three least significant bits are applied to the memory 234 to select the portion within the selected ROM related to the particular slice.
Each slice contains 256 eight-bit words so as to have a total of 2048 bits for the slice. Each bit corresponds to one step in the path to be scanned through the display points. It is 0 if the step is in either direction along the x axis, and it is 1 if the step is along the y axis. Remember that the particular x direction is determined by the total number of y movements since the origin.
The signal STRTL at the output of the scanner latch buffer 224 is applied so as to start a state machine address counter 236 to output an eleven-bit address at the rate of the ENABLE pulses (the pipeline time). Eight of these eleven bits are applied so as to select one of the 256 eight-bit words of each slice in sequence in the memory 234 and supply them to a latch 238. The three LSBs of the eleven bits at the output of the state machine address counter 236 are ANDed with ENABLE in an AND gate 240 to enable the latch 238 to pass the eight-bit word applied to it from the state machine memory 234 to a multiplexer 242 which selects the bits of the word in sequence under the control of the 3 LSBs and applies them to the address counter control 222. The output of the multiplexer 242 is a signal YINC/XINC.
State Address Decoder The eleven-bit word at the output of the state machine address counter 236 is applied to a state address decoder 246 which is a ROM so as to develop certain timing signals. When the count represented by the eleven-bit word reaches a predetermined value occurring at a time such that the calculation of 6ERR and RERR of Figure 8 will have been carried out in a manner to be explained, a signal STRTí, start interpolating. is sent to the reset input of a latch 248 in Figure 5, the purpose of which will be explained subsequently. At an appropriate time, the decoder 246 sends, for reasons to be set forth, a signal NACCCLR to clear a counter and three latches in the circuits of Figure 8 that determine R, RERR, COUNT and XHAT.The decoder 246 also outputs a signal NINTL that is connected to the address counter control 222 so as to initialize its output at a proper time and a signal CTRLD that repeatedly sets an x address counter 249 to the x address of the origin of the sector as determined by a source 250 and sets a y address counter 252 to the y count of the origin as determined by a source 254 at the beginning of each line.
Address Control As will be explained in connection with Figure 7A, the address counter control 222 provides a signal XCNT to the counter 249 for each 0 in the output of the multiplexer 242 and a signal YCNT to the y counter 252 for each 1 in the output of the multiplexer 242. The address counter control 222 also supplies a signal XU/D to the x counter 249. In addition, the address counter control 222 provides a signal XDIR that together with YINC/5(iR from the multiplexer 242 defines paths such as 31 and 31' of Figure 3 in response to the output of the multiplexer 242 and the signal SIGN from the latch 230.
XDIR and YlNC XlNC are used in a manner to be explained to identify the value of the trigonometric function used by the circuits of Figure 8 that determined the values R, RERR, XHAT and COUNT. A signal ACCCLK provided by the address counter control 222 clocks the latches of accumulators of Figure 8 used in determining the value of R and COUNT, and a signal THETCLK provided by the control 222 is used to clock a latch of an accumulator of Figure 8 used in determining the value of XHAT.
Refer now to Figure 7A. At the start of every line and therefore at the start of a new slice, the signal NINTL from the state address decoder 246 of Figure 7 goes low and is applied to the preset input of a D flipflop 256 so as to make XDIR go to a high state signalling a step along the x axis toward the outside radial line, but the direction with respect to the origin has not been determined. NINTL also clears an eight-stage delay 258 having its output connected to one input of an XOR gate 260 and an input connected to the output of the flip-flop 256 where XDIR is. The other input of the XOR gate 260 is connected so as to receive the SIGN bit from the latch 230 of Figure 7. The output of the XOR 260 is XUP/DN. If the line is in the left half of the sector, SIGN is high so that the output of the XOR 260 is low signifying a count down, i.e., to the left.If the line is in the right half of the sector, SIGN is low so that the output of the XOR 260 is high signifying a count up.
Control of XDIR is achieved as follows. YIN CXlNC from the multiplexer 242 of Figure 7 is applied to one input of an AND gate 262 and ENABLE is applied to the other. If the next step is still outward, YlNCFXINC is 0 so that the output of the AND gate 262 is low. This output is applied to one input of an XOR 264 and the other input is connected to XDIR at the output of the D flip-flop 256. Since XDIR is high for an outward movement, the output of the XOR 264 is high and XDIR remains high. But if YlNC/XlNC is 1, indicating a movement away from the origin along the y axis, the output of the AND gate 262 is now high when an ENABLE occurs, causing the output of the XOR 264 to become low and make XDIR low signifying a step toward the center of the sector with the next movement in x.
Now that the direction of a step along the x axis and XUP/ciN is known, it remains to provide the signal XCNT for every step in x. To do this, YINC/XINC is applied to a nine-stage delay 266 that is also cleared by NINTL. The output of the delay 266 is connected to one input of an AND gate 268 and to an inverting input of an AND gate 270, and ENABL is applied to the other inputs of both. If YINC/XINC is low, the output of the AND gate 268 is low so that there is no count in y, but the output of the AND gate 270 is high so that XCNT is high and causes the sector x address counter to count up or down, depending on whether XUP/Ó is high or low.
If YINC/5a7 is high indicating a step in y, the output of the AND gate 268 goes high causing the sector y address counter to count up, the only way it can go in this particular embodiment.
The purpose of the delays 258 and 266 is to allow for previous data to clear through the interpolators of Figure 10. They are clocked by CLK after ENABLE qualifications. However, the D flipflop 256 is clocked by CLK only.
CLK is also applied to the clock input of a synchronizer 272 having one D input connected to ENABL so as to produce a signal ACCCLK at the corresponding output. Another D input of the synchronizer 272 is connected to the output of the AND gate 262, the corresponding Q output is connected to a third D input, and its corresponding Q output provides the signal THETCLK.
The outputs of the x and y address counters 249 and 252 of Figure 7 are respectively connected to latches 274 and 276 that, in turn are respectively connected to buffers 278 and 280, all of which have ENABLE applied to their enable inputs. Thus at each ENABLE, the X and Y addresses are respectively applied to leads 282 and 284 that pass long the bottom of Figure 10 to a display memory DM' of Figure 11.
Determination of R and RERR Reference is now made to Figure 8. The L&num; bits from the output of the latch 230 of Figure 7 and the display point scanning control signals XDIR and YlNCiulNC from the address counter control 222, also of Figure 7, are supplied to-the input addresses of a ROM 286 which has stored therein values of +Sin6, -SinO and +cosy for the angle fl to be used with each L&num;. Figure 8A illustrates the truth table for a given line that shows the outputs of the ROM 286 for the different combinations of the bit values of XDIR and YINC/XINC. The ROM can be programmed to supply the appropriate twelve-bit output.The twelve bits are used to define the fractional numbers emerging from the ROM 286 and are applied to the input of a latch 288 and its output is applied to one input of an adder 290. A latch 292 is coupled between the output of the adder 290 and another input thereof so as to form an accumulator. The output of latch 292 thus contains the fractional portion of the current radius of which the five MSB bits are the desired signal RERR. It is expressed with five bits as that has proven sufficiently accurate, but the addition has used all twelve bits so as to avoid too great an accumulative error, a situation that can exist since there are over a thousand sines and cosines to be added and/or subtracted.Note that the latch 292 is cleared at the beginning of a line by NACCCLR that is derived from the state address decoder 246 of Figure 7 and that it is clocked by ACCCLK derived from the address counter control 222 of the same figure. As seen in Figure 7A, NACCCLR is derived from ENABLE which controls the rates at which the steps through the display points are taken. Thus, every movement in x and y causes an incremental amount (+SinO, +Cos9) to be added to the past calculations of radius. As will be shown, the integer part of the radius calculation is kept in a radius counter 294 under command of the accumulator carry, XDIR and YlNC/iNC.
The values of Kx, K, and the separation between data samples along the radial lines are all equal to unity in this particular example, so that the connection of the signals YINC/5(iNC and the carry output of the adder 290 to the radius counter 294 will cause it to count the number of carries and produce a signal R equal to the integer number of data sample separations in the radius of each display point.
The radius counter 294 also outputs a signal INCR when the radius R increases through an integral value of R and a signal DECR when the radius decreases through the integral value of R. The signal R is compared in a comparison circuit 296 with a radius limit signal from a source 298 so as to produce a high state whenever the radius R of a display point exceeds the specified limit. The output of the comparison circuit is ROK7 The signals RERR, INCR, DECR and ROK7 are passed through latches 300 and 302. The signal RERR is shown passing to interpolation means of Figure 10 and ROK7 is passed via delay stages 304 to one input of a NAND gate 306. A signal THETOK7 which is derived in a manner to be explained indicates, when high, that a desiplay point is in the slice. THETOK is applied via the delay stages 304 to the other input of the NAND gate 306.The output of the gate 306 is applied to a latch 308, and its output is applied to a buffer 210. Thus, if either ROK? or THETOK7 are low, the outpout NVALD? of the buffer 310 will be high. NVALD? is conducted to a display memory DM' of Figure 10. If NVALD? is low, the final interpolated data value that is derived for the display point by the interpolation means of Figure 10 is entered into the display memory DM'. The signals INCR and DECR are used to control the reading function of two of the line memories 1 80, 1 82 or 1 84 of Figure 6 via circuits in Figure 5.
The Radius Counter 294 Figure 8B illustrates one arrangement of logic circuits for deriving from YINC/X and the carry signal from the adder 290 the signals R, INCR and DECR. The carry signal is 1 if the radius in the adder 290 is increasing and passes through an integer value; the carry signal is O if the radius is increasing and does not pass through an integer value. Conversely, the carry signal is 0 if the radius in the adder 290 is decreasing and does pass through an integer value, and the carry signal is 1 if the radius is decreasing and does not pass through an integer value. If the fractional part of the radius were zero, then the radius counter output indicates the radius of a display point which would equal the radius of one of the data sample points.
YINC/XINC is applied via a delay 312 of two stages to one input of an OR gate 314, and XDIR passes through a delay 31 6 to the other input of the OR gate 314. The output of the OR gate 314 is connected to an up/down control input of an up/down counter 318 and to one input of an XOR 320.
The other input of XOR 320 is connected to the carry output of the adder 290 and the output of XOR 320 is connected to inverting inputs of AND gates 322 and 324 different from the inputs to which OR 314 is connected. The output of the OR gate 314 is connected to a different inverting input of the AND gate 324 and to a non-inverting input of the AND gate 322. NENBL from Figure 5 is applied to the P enabling input of the counter 318, and the output of the XOR 320 is connected to the T enabling input of the same counter. The signal INCR is at the output of a two-stage delay 326 connected to the output of the AND gate 322, and the signal DECR is at the output of a two-stage delay 328 connected to the output of the AND gate 324.CLK is applied to the clock inputs of the delays 312,316,326 and 328 as well as to the clock input of the up/down counter 318, and NACCCLR is applied to the L input (load) of the counter. If the radius does not pass through a radial boundary such as the radial arcs of Figure 3, both INCR and DECR will be 0, but if it increases through a radial boundary, INCR will be 1 and DECR will be 0; and if it decreases through a radial boundary, INCR will be 0 and DECR will be 1.
Determination of XHAT Refer again to Figure 8. The values of AXHAT which are equal in this embodiment to tanO2-tanO1, where 2 is the angle from the center of the sector to the outer line of a slice and 01 is the angle of the inner line, are stored in a ROM 330 for each radial line. Application of the L;&num; signal from the output of the latch 230 of Figure 7 to the address input of the ROM 330 selects the corresponding value of AXHAT. The output of the ROM 330 lasts for an entire line and is applied to the input of an adder 332.
The output of the adder 332 is applied to a latch 334 that is cleared by NACCCLR from the state address decoder 246 and is clocked by THETCLK from the address counter control 222, both of which are in Figure 7. The output of the latch 334 is connected back to another input of the adder 332 so as two form an accumulator that produces at the output of the latch 3334 the value of XHAT which is the sum of AXHAT for each step in y since THETCLK clocks the accumulator with every y movement. A larger number of bits are used in the feedback to the adder 332 so as to prevent too great an accumulated error. Sixteen bits are used in this accumulator which accounts for the facts that four MSB bits are used for the integer part of XHAT.
Determination of COUNT The signals representing the L;S from the latch 230 of Figure 7 and the signals YINC/54nX from the address counter control 222 of the same figure are applied to a ROM 336 so as to select one of the value +1,--1 and tan02 as indicated in Figure 8C. The angle 02 is the angle between the outer line of a slice and the central line of the sector and therefore, the value of +tan02 depends on the L&num; selected.
A latch 338 is connected between the output of the ROM 336 and the input of an adder 340, and the output of the adder 340 is conducted to a latch 342. The latch 342 is cleared by NACCCLR from the state address decoder 246 of Figure 7 and is clocked by a signal ACCCLK from the address counter control 222 of Figure 7. The output of the latch 342 is connected to another input of the adder 340 so as to sum all the values selected from the ROM 336 for each step indicated by the display point scanning control signals YINC/XlNC and XDIR. This is the value COUNT as measured from the outer line of a slice whether it is in the left half or the right half of the sector. Sixteen bits are used in the feedback loop as compared to eight for the sum so as to reduce accumulated error. Four bits are used for the integer portion of COUNT.Unlike RERR and XHAT, however, COUNT can have a negative value when the display point is outside the outer line of a slice. Therefore, the MSB bit is provided at the output of the latch 342 to indicate whether the value of COUNT is plus or minus.
Determination of OERR OERR is actually COUNT/XHAT as previously explained. This division could be done directly but this would involve a sixteen-by-sixteen bit division. Since this accuracy is not needed in this embodiment, five-bit accuracy being sufficient, an appropriately selected five-bit field from both COUNT and XHAT will provide the necessary bit resolution in the divider. Since XHAT is the larger of the two numbers and non-negative, it is simply left-shifted until the MSB is non-zero, simple magnitude scaling. COUNT is then shifted the same amount. The purpose of 344, 346 and 348 is to provide the capability to shift from 0 to 3 shifts.The five-bit outputs of the ROMs 346 and 348 are passed through a latch 350 to a divider ROM 352 that divides the scaled COUNT by the scaled XHAT and applies the result to a latch 354 that outputs the desired signal OERR which is conducted to the interpolation pipeline of Figure 10.
In order to derive the signal THETOK7 that indicates whether the display point is angularly within the slice, the bit representing the sign of COUNT is conducted through an inverter 349 and the latch 350 to an AND gate 356. If COUNT is positive, this bit is high to indicate that the display point is not outside the outer line ( 2); but if the COUNT is negative, the input to 356 is low deasserting THETOK7 A comparison circuit 358 is connected to receive COUNT and XHAT and outputs a high bit if COUNT is less than XHAT, thereby indicating that the display point is not inside the inside line of the slice, and a low bit if COUNT is greater than XHAT indicating that the display point is inside the inside line. This bit at the output of. the comparison circuit 358 passes through the latch 350 and is connected to another input of the AND gate 356.Its output is passed through the latch 354 to provide the signal THETOK? which is, as previously noted, passes through the delay stages 304 to a different input of the NAND gate 306 than the input to which ROK7 was applied.
Reading from the Line Memories As previously noted, the final interpolated data value for each display point is derived in accordance with this embodiment of the invention by interpolating two pairs of data samples that define the sub-slice in which the point is located. Thus as illustrated in Figure 9, the final data values of DP, and DP6 are derived from data samples S2, S3, S21 and S,' defining one sub-slice, but the final data value for DP7 is derived from data samples S1, S2, S,' and S21 that define the previous sub-slice.
Inasmuch as DP8 is in the same sub-slice as DP5 and DP6, its final data value is derived from the same data samples that they were, namely, S2, S3, S2/ and Sin Thus, the means for reading the data samples from the line memories 180, 1 82, and 184 of Figure 6 must be capable of retaining, advancing or retarding the data samples selected along each radial line of a slice.
Selection of the two of the line memories 180, 1 82 and 1 84 from which data samples are to be read is determined by which two of the signals Mi, M2 and M3 are low. In Figure 6, the signals Mi, M2 and M3 are respectively applied to the output enable terminals of the line memories 1 80, 1 82 and 184. If Ml is high, the line memory 1 80 is enabled to receive data, data is permitted to flow to it and its output channel is blocked so that data cannot be read from it. M2 and M3 are low so as to prevent the line memories 182 and 184 from receiving data. But M2 and M3 do open the output channel of the -line memories 182 and 184 so as to permit data to be read from them at the address set by the counters 198 and 200.
It will be noted that the outer radial line is at the left in the left half of a sector and at the right in the right half. In this particular embodiment of the invention, the signal COUNT is always referenced to the outer line so that the data samples from the outer line must be separated from the data samples of the inner line. This function is performed by multiplexers 360 and 362. Different inputs of each multiplexer are respectively connected to the I/O channels of each of the line memories 180, 1 82 and 184 and are controlled as described below so that the multiplexer 360 directs data samples from the outer radial line to a bus OL and the multiplexer 362 directs data samples from the inner radial line to a bus IL.
The control for the multiplexer 360 is comprised of an inverter 363 connected between a source of the signal M2 and one input of an AND gate 366, an inverter 368 coupled between the output of an XOR370 and the other input of the AND gate 366, the XOR 370 having the signals SIGN and M1 respectively applied to its inputs. The output of the XOR 370 is also applied to one input of an AND gate 372, and the signal M3 is applied to the other input of the AND gate 372 via an inverter 374. The output of the AND gate 366is is applied to the LSB, select A, input of the multiplexer 360 and the output of the AND gate 372 is applied to the MSB, select B, input of the multiplexer 360. With these connections, the outer lines will be selected as indicated in the table of Figure 6A and applied to the outer line bus OL.
The control for the multiplexer 362 is comprised of an inverter 376 connected between a source of the signal M3 and one input of an AND gate 378, an inverter 380 connected between a source of M2 and one input of an AND gate 382, an XOR 383 having one input connected to a source of SIGN and the other input connected to a source of M1, the output of the XOR 383 being connected to an input of the AND gate 382 and also being connected via an inverter 384 to an input of the AND gate 378. The output of the AND gate 378 is connected to the MSB, select B, input of the multiplexer 362 and the output of the AND gate 382 is connected to the LSB, select A, input of the multiplexer 362.
With these connections, the inner line will be selected as indicated in Figure 6B and applied to the inner line bus IL.
As can be seen in Figure 10, the output lead OL from the multiplexer 360 is connected to the input of a shift register 386 and the output lead IL from the multiplexer 362 is connected to a shift register 388. The QA and QB outputs of the shift register 386 respectively provide successive data points on the outer line means to be described for deriving a first intermediate interpolated data value, and the QA and QB outputs of the shift register 388 respectively provide successive data points on the inner line to means to be described for deriving a second intermediate interpolated data value.
Selection of Data Samples from Line Memories The signals INCR and DECR provided by the radius counter 294 of Figure 8 are used to respectively cause the pair of counters 196,198 and 200, shown in Figure 6, that are connected to the line memories being read to advance, stay at the same point or retard. It will be recalled that INCR is high if the radius of a display point becomes greater than that of a data sample, as in stepping from DP7 to DP, of Figure 9, and that DECR becomes high if the radius of a display point becomes less than that of a data sample, as in stepping from DP, to DP7. When the integer portion of the radius remains unchanged, as in stepping from DP5 to DP6, both INCR and DECR remain low so that the counters do not change.As will be explained, the counters cannot change until a signal SHIFT is asserted in a manner to be explained. SHIFT is asserted in response to each high state of INCR and DECR.
At the start of a line, there is a special situation because, as can be seen from Figure 3, INCR and DECR will both be low until a display point has a radius greater than that of the data samples S11 and Six'. Therefore, neither INCR or DECR can cause the signal SHIFT required to change the counters associated with the two of the memories of Figure 6 that are being read. In these circumstances, the counters are controlled as follows.
At the beginning of each line of data received from the scanner 134, a signal STRTL is produced at the output of the latch 172 of Figure 5 and is used to initiate the scanning of display points as discussed in connection with Figure 7. The STRTL signal is also applied to the set input of the latch 248 and to a two-stage shift register 392. The register 392 is enabled by NENBL so that it outputs two successive high state pulses STRT1 and STRT2 to separate inputs of an OR gate 396. Essentially, the STRTL gets delayed in the shift register 392 to produce two delayed versions of STRTL for input to OR gate 396.
The output of the OR gate 396 is applied to one input of an AND gate 398 and ENABLE is applied to the other, so that coincidence of the two causes the AND gate 398 to output a high level known as SHIFT so that the counters can count.
When sufficient time has elapsed for the signals RERR and OERR to be developed for the first two samples of each line of a slice that occur at the same times as STRT1 and STRT2, the first sample of each line being at the origin, a signal STRT1, start interpolating, is sent from the state address decoder 246 of Figure 7 to the reset input of the latch 248. The latch 248 was set for STRTL and STRTI clears it. The time between STRTL and STRTI is indicated by WAIT. When STRTI occurs, the latch 248 enables a latch 399 to which the signals INCR and DECR from the radius counter 294 of Figure 8 are applied. After INCR and DECR pass through the latch 399, they become MINCR and MDECR respectively and are applied to separate inputs of the OR gate 396 and produce a signal SHIFT at the output of the AND gate 398 when high. In addition, MDECR is applied to inverter 395 to produce a signal NMDECR.
Controlling the Counters with SHIFT For the counters 196, 198 and 200 to be able to count, their inputs ENT and ENP must be at a low state. Assume that data samples are being written into the line memory 180 so that Ml is high and M2 and M3 are both low. In explaining the writing function, it was noted that Ml being high would cause the ENP input of the counter 196 for the line memory 180 to be in a low state for an entire line so that its count was advanced each time the signal ADDEN, which is applied to the ENT inputs, occurred. For the counters 1 98 and 200, NM2 and NM3 are high for an entire line, and since they are applied to-the respective ENT inputs via inverters 197 and 199, these inputs are kept in low state during the line.
Signals M2 +SHIFT and M3 +SHIFT are respectively applied to the ENP inputs of the counters 198 and 200 via the inverters 400 and 402. M2 and M3 are low for the entire line so that they cannot make the ENP inputs low. Thus only SHIFT can cause the counters 198 and 200 to count. The signals M1 +SHIFT, M2+SHIFT and M3+SHIFT are respectively derived by applying M1, M2 and M3 to an input of OR gates 408, 410 and 412 and applying SHIFT to their other inputs.
When a line memory 180, 182 or 184 is being read and the corresponding counters 196, 198 and 200 count in response to the signal SHIFT as just explained, the counters respectively count up when signals UND1, UND2 and UND3 are in a high state and count down when UND1, UND2 and UND3 are in a low state. Assume, as was done in considering the writing function, that the display samples are being written into the line memory 180 so that M1 is high and M2 and M3 are low.
Assume further that NMDECR is high. Under these conditions, the output UND1 of the OR gate 202 of Figure 5 is high with the result that the counter 196 for the line memory that is being written into counts up as desired. The output UND2 of the OR gate 204 and the output UND3 of the OR gate 206 are also high so that the counters 198 and 200 are set to count up, but if NMDECR is low, they are set to count down.
As the counters 198 and 200 are counting up and down, the display samples at the corresponding addresses of the line memories 1 82 and 1 84 are placed in the QA section of the shift registers 386 and 388 of Figure 10. SHIFT also controls the shift registers 386 and 388 via the following logic circuit of Figure 10. SHIFT is applied to one input of and AND gate 409 and to one input of an AND gate 411, and MDECR is applied to the other input of the AND gate 409 and via an inverter 413 to the other input of the AND gate 411. The output of the AND gate 409 is connected to the shiftleft inputs of the shift registers 386 and 388, and the output of the AND gate 411 is connected to their shift-right inputs.When SHIFT goes high and MDECR is low, the AND gate 411 causes the registers to shift the data samples in them to the right and accept the new data samples at the inputs. But if SHIFT goes high and MDECR goes high, the AND gate 409 causes the data samples in the registers 386 and 388 to shift left, i.e., replacing QA with QB,QB with Qc, etc. The shift registers 386 and 388 are eight words long providing the capability to back up by six data samples and still leave two words in the registers. SHIFT is asserted twice at the start of each line due to the action of STRT1 and STRT2 present at the input to OR gate 396 of Figure 5.This action puts the first two data points Sio, Stl of Figure 3 for the line Ro and S1O', S ' for the line R1, into the QB and QA sections of their respective shift registers 386 and 388.
The interpolation can now proceed but no further change in the four data samples occurs until the display point scanning signals YlNC/XlNC, XDIR cause a step to a display point that has a radius greater than that of the display point S", S"' at which point the signal INCR becomes high, causing SHIFT to go high and advancing the counters 198 and 200 as well as moving the shift registers to the right so as to apply data samples S" and S12 at the outputs QB and Qua of the shift register 386 and data samples Sa1' and S,2' at the outputs QB and QA of the shift register 388.
Now assume that the display point scanning signal causes a step to a display point that has a radius less than that of S1, and S"', i.e., a step back over the current inner radial boundary. The signal DECR will now be high as will MDECR, and remembering that M2 and M3 are low, it is seen that the signals UND2 and UND3 are low so as to set the counters 198 and 200 to count down. SHIFT causes the counters to count down and; in combination with MDECR, causes the shift registers 386 and 388 to shift left, bringing the display points S1O, S,1 and S10', S1-1' back into QB and QA locations of the registers 386 and 388 respectively.Should the step to the next display point cause a third crossing of the arc line on which S11 and Sa,' are, samples S,2 and S,2' having been lost from the registers causes no problem because the next points from the line memories 1 82 and 1 84 are samples S12 and S,2' since the read address is controlled by SHIFT as previously described.
Interpolation Refer now to Figure 10. The data samples at the Q,, and QB outputs of the shift register 386 are applied to multiplying ROMs 414 and 41 6 respectively, the display samples at the QA and QB outputs of the shift register 388 are applied to multiplying ROMs 418 and 420 respectively, and the signal RERR representing the radial position of the display point is applied to all four ROMs after being latched in 415. The data samples are represented by five-bit numbers, as is the signal RERR which, of course, is a fraction. The ROMs are programmed to perform the appropriate multiplication of RERRxQA value in 416 and 420 and by (1-RERR)xQ8 data value in 41 4 and 41 8.The output of the ROM 41 4 is passed through latch 414' to one input of an adder 422, and the output of the ROM 416 is passed through a latch 41 6' to another input of the adder 422 so that its output is the first intermediate interpolated data value. Similarly, the outputs of the ROMs 418 and 420 are passed through latches 418' and 420' respectively to inputs of an adder 424 so that its output is the second intermediate interpolated data value.
The first and second intermediate interpolated data values 1, and 12 are applied via latches 422' and 424' to inputs of multiplying ROMs 426 and 428 respectively. The signal OERR from the output of the latch 354 of Figure 8 is applied to the multiplying ROMs 426 and 428 after passing through latches 430, 432 and 434 so as to produce at the outputs of the ROMs 426 and 428 the respective contributions of the first and second intermediate interpolated data values to the final data value. ROM 426 performs the multiplication of 1OERR times the output of latch 422', and ROM 428 performs the multiplication of OERR times the output of latch 424'. Latches 426' and 428' are respectively connected between the outputs of the ROMs 426 and 428 and different inputs of an adder 436 so as to produce the final interpolated data value at its output. After passing through latches 438 and 440 and a buffer 441, the final interpolated data value is applied to the x, y addresses in the display memory DM' that-are determined by the x and y sector address counters 249 and 252 of Figure 7, providing the display point is angularly and radially within the slice, a fact indicated by NVALD at the output of the AND gate 306 of Figure 8 being high. Memory DM' is scanned by a DM' read control 442 in any desired manner, and the signals supplied to a display 444 so as to form an image free from moirés and other troublesome artifacts that are present in the images of other scan conversion systems.
Summary of Operation The following chart displays the values of the radius, COUNT and XHAT as well as the states of the display point scanning control signals XDIR and YlNC/-XlNC, and INCR, DECR, XUP/DN, XCNT and YCNT for the display points DP, to DP14 illustrated in Figure 9 wherein DP, is the initial display point having initial values radius, COUNT and XHAT of Rj, C, and XH,. Ordinarily, the initial display point is at the origin of the sector at which all these values are zero, but the recursive addition could start from any display points for which the values are respectively known.As previously stated, XDIR=1 indicates a step away from the center of the sector, YlNCrlNC=O indicates a step along the x axis and YlNC/XlNC=1 indicates a step along the y axis away from the origin. INCR and DECR can both be O when steps from one display point to another do not cross the radial boundary of a sub-slice, but if either is 1, the step crosses such a boundary. Values of 1 for XCNT and YCNT indicate a step along the respective axis.
As a further aid in understanding the operations of the preferred embodiment of Figures 5,6,7,8 and 10, Figures 11 and 12 are presented to show the timing of various signals to be used. The points in the circuit where these signals appear are indicated by corresponding encircled letters.
YINC DP Radius COUNT XHAT X Y XDIR XINC INCR DECR XUP/DN XCNT YCNT 5 Ri Ci XHi xi yi 0 0 0 0 1 1 0 6 Ri-Sin#2 Ci + 1 XHi xi + 1 yi 0 0 0 0 1 1 0 7 Ri-2Sin#2 Ci + 2 XHi xi + 2 yi 0 1 0 1 1 0 1 8 Ri-2Sin#2 + Cos#2 Ci + 2 + tan#2 XHi + #XHAT xi + 2 yi + 1 1 0 1 0 0 1 0 9 Ri-Sin#2 + Cos#2 Ci + 1 + tan#2 XHi + #XHAT xi + 1 yi + 1 1 0 1 0 0 1 0 10 Ri+Cos#2 Ci + tan#2 XHi + #XHAT xi yi + 1 1 0 0 0 0 1 0 11 Ri+Sin#2+Cos#2 Ci - 1 + tan#2 XHi + #XHAT xi - 1 yi + 1 1 1 0 0 0 0 1 COUNT is neg. 12 Ri+Sin#2+2Cos#2 Ci - 1 + 2tan#2 XHi +2#XHAT xi - 1 yi + 2 0 0 1 0 1 1 0 13 Ri+2Cos#2 Ci + 2tan#2 XHi +2#XHAT xi yi + 2 0 0 0 0 1 1 0 14 Ri-Sin#2+2Cos#2 Ci + 1 + 2tan#2 XHi +2#XHAT xi + 1 yi + 2 0 1 0 0 0 0 1
Alternative Embodiments and Methods of Operation In order to increase the resolution of a portion of the image such as the center, the radial lines of the scanner may be made closer together in that portion. The scan conversion system of the invention could accommodate such a format by changing the l's and O-s in the memory of the state machine of Figure 7 so as to provide scanning control signals for selecting appropriate display points and by changing the stored values of the various trigonometric functions.
At the present time, the sampling rate of A/D converters is such as to make it desirable to interpolate along the radial direction, but the advance in the solid state art is such that much higher sampling rates can be expected so that this interpolation may not be required. In such event, it would still be necessary to determine INCR and DECR so that proper display samples, one from each radial line, could be selected; and it would still be necessary to make the angular interpolation. The systems described would operate in this fashion if the signal RERR is set equal to zero.
Figure 13 illustrates a modification of the system wherein the ROMs 414 and 416 of Figure 10 are replaced by a ROM 446, the ROMs 41 8 and 420 are replaced by a ROM 448, and the ROMs 426 and 428 are replaced by a ROM 448, and the ROMs 426 and 428 are replaced by a ROM 450. The latches have been omitted in the interest of clarity. The ROMs 446, 448 and 450 are identical. Each contains a different stored output for all combinations of the error signal, whether it is RERR or OERR, and the possible values of the data samples.As shown, the signal RERR is applied to the ROMs 446 and 448 and the signal OERR is applied to the ROM 450 so that the first intermediate interpolated data values I, and 12 are derived at the radial position of each display point, and the final interpolated data value FDP is derived at the angular position of the display point. In this case, the data samples S1 and S2 would be those along one radial line of a slice, and the data samples S3 and S4 would be along the other radial line. As previously described, however, the signal OERR could be applied to the ROMs 446 and 448, and the signal RERR could be applied to the ROM 450 so that the first and second intermediate interpolated data values 1,' and 11' are at the angular position of the display point.In this case, S1 and S2 would be along a radial arc, and S3 and S4 would be along another radial arc.
Figure 14 illustrates a single solid state device 452 that performs internally all of the functions of the three devices 446, 448 and 450 of Figure 13.
Figure 15 illustrates an embodiments of the invention wherein the signals RERR and OERR are not actively derived as the display points of a slice are being scanned because the values of RERR and OERR for each display point have been previously determined and stored in a ROM 454. The display point scanning control signals XDIR and YINC/5aNC are provided by means 456, and the x,y address of each display point is determined by counters 458 and 460 in a manner previously explained. The signal STRTL is applied to the ROM 454 and, in order to reduce the number of pins required, the word representing the first line of a sector could be used by means 462 to produce a signal at the beginning of each sector scan so as to achieve synchronization.From the x,y address of a display point, the ROM 454 selects the appropriate stored values of INCR and DECR that are used as explained in the discussion of Figures 5, 6, 8 and 10 to select the correct data samples S1, S2,S3 and S4 from the line memories. Stored in the ROM 454 are the final data values for all possible combinations of RERR, OERR for each display point and DATA. The appropriate final data value is selected from the digital values of - RERR, OERR and DATA for each point. Thus, the ROM 454 is a means responsive to the data sample and the display point scanning control signals for determining the final interpolated data value for each display point.
The scan conversion system of this invention lends itself to enlarging a selected portion of the image that lies between any two radial lines and within a given radial range. As will be explained in a continuing patent application, this can be done by providing means that may include a cursor for identifying the radial lines and the radial range, means for dividing RERR for each display point in the smaller portion of the image by a magnification factor m, and means for multiplying XHAT and COUNT for each display point in the smaller portion by m. It would also be possible to scan the smaller portion of the image more rapidly in order to attain clearer images of rapidly moving objects.
Instead of using a single radial position one could calculate two radial positions in the following manner. Two constants called AR2 and.AR1 would be selected for every line within the sector. l\R2 would feed one accumulator and AR1 a second accumulator. The two accumulators would be updated every time a movement in y is indicated by the display point scanning signal. The first accumulator would use 62 in calculating the radius corresponding to the distance from the sector apex along the outer line to the intersection of the row where the current display point DP resides.The second accumulator would use 0, in calculating the radius corresponding to the distance from the sector apex along the inner line to the intersection of the same row as described above. Each radius counter would produce their own signals INCR and DECR to respectively move the two shift registers appropriately such that the data present at the Q, and QB outputs from each shift register bounded their respective radius calculation. The two radius calculations in turn would generate two RERR signals called RERR", for the outer line and RERR", for the inner line. These signals would be used to interpolate the data present at each shift register. The end result of the above would be two intermediate interpolated data values, each bounded by two sample data values that do not necessarily have the-same radial displacement from the apex. The intermediate interpolated data values would be at the intersection of the current output display row and two scan lines currently being read out from the line memories.
These two intermediate data values would then be used in a manner analogous to the present way of correcting for OERR mainly using the signals COUNT and XHAT. The end result would be a final data value derived by using COUNT and XHAT to interpolate intermediate interpolated data values at the intersection of the current row of display points with the radial lines of a slice.
As will be described in a continuing application, expansion of a selected area can be effected by multiplying OERR for each display point in the area by a magnification factor m and dividing RERR by m.
Instead of scanning the display points contained within a pair of radial lines, it would be possible to identify display points in any desirable sequence by their x,y addresses and apply these addresses to a ROM which is programmed with OERR, RERR, L&num; and the data sample number. The L&num; and data sample number are applied to a ROM in which the data samples are stored so as to obtain the proper four data samples for interpolation. These and the values of OERR and RERR are applied to an interpolation ROM which has programmed in it the final interpolated data value for any combination of the four data samples and any combination of OERR and RERR. Thus it is noted that the intermediate interpolated data values never appear although they are used in programming the interpolation ROM.
Another way of using ROMs is to apply the x,y address of each display point to a ROM having 0ERR, RERR, INCR and DECR stored in it. The data samples are stored in a three-line buffer as has been described and INCR and DECR are applied by an up/down counter to the buffer so as to provide a proper sequence of data samples for each radial line to a different shift register. INCR and DECR are then used to operate the shift register as has been described to provide the proper four data samples to the interpolation ROM. OERR and RERR are also applied to the interpolation ROM and it has been programmed so as to yield all possible combinations of the four data sample values and OERR and RERR.
In all of the embodiments of the invention thus far described, the signals that control the sequence in which the display points are scanned are derived first and the respective data samples from which the final interpolated data values for the display points are to be derived are selected in response to the scanning signals, but one skilled in the art can readily appreciate that the data samples could be selected first and the display points for which final interpolated data values are to be derived could be selected in response to the data samples. It is only necessary that the data samples and the display points have a relationship such that the data samples to be used in deriving the final interpolated data value for a display point define an area containing that display point.

Claims (13)

Claims
1. Apparatus for deriving interpolated values from data samples occurring at the intersections of a a set of radial lines forming a sector with a set of equally. spaced radial arc lines having the same center as said radial lines, the interpolated values to be displayed at display points arranged in orthgonal rows and columns that are respectively parallel to x and y axes, there being a separation Kx between said columns and a separation Ky between said rows, comprising:: means for making simultaneously available at least four data samples at the intersection of two radial lines with two radial arc lines, the said four data samples defining a sub-slice; means for providing first signals representing the radial position of a selected display point with respect to said radial arc lines of the sub-slice; means for providing second signals representing the angular position of said selected display point with respect to the two radial lines of said sub-slice; means responsive to a selected one of said first and second signals for deriving at least one intermediate interpolated data value at one of said radial and angular positions from display samples on one side of said display point;; means responsive to the selected one of said first and second signals for deriving at least another intermediate interpolated data value at the said one of said radial and angular positions from data samples on the other side of the display point; and means responsive to the other of said first and second signals and to said intermediate interpolated data values. for deriving a final interpolated data value for said selected display point at the other of said radial and angular positions.
2. Apparatus according to claim 1 wherein: said means for deriving said at least one intermediate interpolated data value is responsive to said first signals representing the radial position of said display point and to available data samples along at least one radial line on one side of said selected display point; said means for deriving at least another interpolated data value is responsive to said first signals representing the radial position of said display point and to available data samples along at least one radial line on the other side of said selected display point; and said means for deriving a final interpolated data value is responsive to said second signals which represent the angular position of said display point.
3. Apparatus according to either one of claims 1 and 2 wherein: said means for deriving said at least one intermediate interpolated data value is responsive to said second signals representing the angular position of said selected display point and to available data samples along at least one radial arc line on one side of said display point: said means for deriving at least another interpolated data value is responsive to said second signals representing the angular position of said selected display point and to available data samples along at least one radial arc line on the other side of said display point; and said means for deriving a final interpolated data value is responsive to said first signals which represent the radial position of said display point.
4. Apparatus according to any one of the preceding claims wherein said means for providing said first signals representing the radial position of a display point comprises: means for providing scanning control signals indicating steps from one display point to the next along the x or y axes that result in scanning from a given display point to a selected display point; and an accumulator responsive to said scanning control signals for adding to the known radius of a given display point the net of the following values resulting from steps taken in scanning from said given display point to said selected display point; +Kx I SinO I for each step along the x axis farther from the center of the sector, Kx I SinO I for each step along the x axis closer to the center of the sector, and +Kv I CosO I for each step along the y axis farther from the center of the sector, the angle 8 being an angle between the center line of the sector and a radial line close to the center of said two radial lines.
5. Apparatus according to claim 4 wherein said means for providing said second signals representing angular position of a display point comprises: means providing a signal AXHAT representing the value I tan02-tan01 I, wherein 8, is the angle between the central radial line of said sector and the outer one of said at least two radial lines, and 01 is the angle between the central radial line of said sector and the inner one of said at least two radial lines;; an accumulator responsive to said scanning control signals for adding to a known distance, XHAT, between the outer and inner radial lines measured along the x axis and passing through a given display point, a value of +AXHAT for each step taken along the y axis farther from the origin of the sector in scanning from said given display point to said selected display point, the final sum in the accumulator being the value XHAT for the selected display point; means providing the value of tanS2; an accumulator responsive to said scanning control signals for adding to a known distance, COUNT of a given display point from the outer radial line as measured along the x axis the net of the following values resulting from the steps taken in scanning from the latter given display point to the selected display point;; +Kx for each step along the x axis closer to the central radial line of the sector, Kx for each step along the x axis farther from the central radial line of the sector, and +KytanS2 for each step along the y axis that is farther from the origin of the sector, the final sum in said latter accumulator being the value of COUNT for the selected display point, the values of XHAT and COUNT for the selected display point defining the angular position of the selected display point between the outer and inner radial lines.
6. Apparatus for deriving a signal representing the distance from a given display point to a selected display point in a field of display points disposed in orthogonal rows and columns, the rows being parallel to an x axis and being separated by a value Kv the columns being parallel to a y axis and being separated by a value Kx, comprising:: means for providing scanning signals indicating display point to display point steps in the +x and -x directions as well as in a +y direction that are to be made in moving from the given display point to a selected display point for which the distance is sought; accumulator means responsive to said scanning signals for successively adding the value of KxSinO for each move from one display point to the next in the +x direction, a value of -K,SinB for each move from one display point to the next in the -x direction, and a value of +KvCosS for each rnove from one display point to the next in the +y direction, being the angle between the y axis and a radial line passing through the origin of the x and y axes and close to the selected display point.
7. Apparatus for deriving the angular position of a selected display point in a field of display points with respect to outer and inner radial lines passing through said field, said field of display points being disposed in orthogonal rows and columns, the rows parallel to an x axis and being separated by a value Ky, the columns being parallel to a y axis and being separated by a value Kx, the outer radial line forming an angle O2 with the y axis that is greater than the angle 01 formed between the inner radial line and the y axis, comprising: : means for providing scanning control signals that indicate movements from one display point to the next in +x, -x and +y directions that are made in moving from a given display point, the said given display point having a known angular position with respect to the outer and inner radial lines, to the selected display point; means for providing a signal XHAT representing the value of I tan02-tan61 I; an accumulator responsive to said scanning control signals for successively adding a value of AXHAT to a known value of XHAT for said given display point, XHAT being the distance between said radial lines measured along the row including the given display point; means providing the value of tanS2;; an accumulator responsive to said scanning control signals for adding to a known distance, COUNT, of a given display point from the outer radial line as measured along the x axis the net of the following values resulting from the steps taken in scanning from the given display point to the selected display point; +Kx for each step along the x axis closer to the center radial line of the sector, Kx for each step along the x axis farther from the center radial line of the sector, and +tan8, for each step along the y axis that is farther from the origin of the radial lines, the final sum in said latter accumulator being the value of COUNT for the selected display point, the values of XHAT and COUNT for the selected display point defining the angular position of the selected display point between the outer and inner radial lines.
8. Apparatus for deriving the angular position of a selected display point in a field of display points with respect to two radial lines of a sector passing through said field, said field of display points being disposed in orthogonal rows and columns, the rows being parallel to an x axis and being separated by a value Ky, the columns being parallel to a y axis and being separated by a value Kx, comprising:: means for providing scanning control signals indicating steps from one display point to the next along the x and y axes that result in scanning from a given display point to the selected display point; means for providing a signal AXHAT representing the value of I tan02-tan61 l. wherein O2 is the angle between the y axis and one radial line and 01 is the angle between the y axis and the other radial line; an accumulator responsive to said scanning control signals for deriving the sum of a known distance, XHAT, between the two radial lines measured along the x axis and passing through a given display point and the net of the following values resulting from the steps taken in scanning from said given display point to said selected display point; +AXHAT for each step taken along the y axis farther from the center of the sector, -AXHAT for each step taken along the y axis closer to the center of the sector, the final sum in the accumulator being the value of XHAT for the selected display point; means for providing values of tanS2;; an accumulator responsive to said scanning control signals for deriving the sum of a known distance, COUNT, between the one of said radial lines and said given display point as measured along the x axis the net of the value +Kx for each step along the x axis in one direction, Kx for each step along the x axis in the opposite direction, +tanS2 for each step along the y axis in one direction and -tanO2 for each step along the y axis in the opposite direction as the step-by-step scanning proceeds from said given display point to said selected display point, the sum in said latter accumulator at that time being the value of COUNT for the selected display point defining the angular position of the selected display point between the two radial lines.
9. A scan conversion system for translating analog data obtained by successively scanning along radial lines at a given line scanning rate to an addressable display memory having display points disposed in orthogonal rows and columns, the rows being parallel to an x axis and having a separation of Ky and the columns being parallel to a y axis and having a separation of Kx, comprising:: an analog-to-digital converter coupled to said source for providing digitized data samples derived at uniformly spaced points along each radial line having like distances respectively from the origin of the radial lines; first, second and third line data memories, each capable of storing the digital samples from the scansion of a s;ngle line; means for coupling said source of data samples to said first, second and third digital memories in repeated sequence, the change in coupling occurring at said line scanning rate; means for addressing said digital memory to select the x,y coordinate of a display point therein that is to coincide with the origin of the radial lines;; a source of display point scanning control signals indicating at a given rate the display point to display point steps that are to be taken along the +x, -x and +y directions to scan from the display point at the origin of the radial lines through all the display points in each slice; means for causing said source to start outputting the control signals for the next slice at each line start; means coupled to said source of scanning control signals for incrementing the x address of the display memory each time the scanning control signal indicates a step in the +x direction, decrementing the x address of the display memory each time the scanning control signal indicates a step in the -x direction, and incrementing the y address of the display memory each time the scanning control signals indicate a step in the +y direction;; a first memory having stored therein the values of +Sin, -Sin and +Cos for the angle between each of said radial lines and the central radial line of the sector; means responsive to the start of the scanning of each line for making the corresponding +Sin, Sin and +Cos values stored in said first memory available at respectively different outputs throughout the scanning of the line; a first accumulator coupled to said latter means;; means responsive to said display point scanning control signals for causing the value of -Sin to be applied to said accumulator for each step along the x axis toward the center line of the sector, the value of +Sin to be applied to said accumulator for each step in the x axis away from the central line of the sector and the value of +Cos for each step along the y axis away from the origin of the sector, the sum in said accumulator being the radial distance of the current display point from the origin; data selection control means responsive to the output of said accumulator for producing a signal INCR whenever the radial distance increases through the radial distance of a data sample point and for producing a signal DECR whenever the radial distance decreases through the radial distance of a data sample;; radial error detection means responsive to the output of said accumulator for deriving a signal RERR representing the fraction of the spacing between data samples that a display point is beyond the inner sample; a second memory having stored therein the value of AXHAT, tan02-tanO1 for the outer and inner lines of each slice respectively; a second accumulator coupled to said second memory; means responsive to said display point scanning control signals for applying to said second accumulator the value AXHAT for each step along the y axis away from the origin; a third memory having stored therein +Kx,Kx and tanS,0 being the angle between the center line of the sector and each radial line; a third accumulator; means for selecting the tangent 0 for the outer radial line;; means responsive to the display point scanning control signals for causing the value +Kx to be applied to said third accumulator for each step in the +x direction, the value of Kx to be applied to said third accumulator for each step in the -x direction, and the value of the selected tangent 6 to be applied to said third accumulator for each step in the +y direction thereby making the sum at the output of said third accumulator be a signal COUNT representing the distance of a display point from the outer radial line; data sample selection means for separately obtaining from each of said line memories not coupled to said source of data signals a pair of inner and outer data samples;; means for causing said data sample selection means to advance by one data sample in each line memory whenever said data selection control means outputs a signal INCR so that the inner data samples are the previous outer data samples and for causing said data selection means to retreat by one data sample in each line memory whenever said data selection control means outputs a signal DECR so that the outer data samples are the previous inner data samples; means responsive to the data samples obtained by said data sample selection means from one of said line memories and to the signal RERR provided bysaid radial error detection means for deriving an intermediate interpolated data value at the radial position of each display point indicated by the display point scanning control signals;; means responsive to the data samples obtained by said data sample selection means from the other of said line memories and to the signal RERR provided by said radial detection means for deriving another intermediate interpolated data value at the radial position of each display point indicated by the display point scanning control signals; and means responsive to said intermediate interpolated data values for each indicated display point and to the values of the signals COUNT and XHAT for each display point for deriving a final interpolated data value at the angular position of the display point.
10. A scan conversion system for translating analog data obtained from a scanner that scans along radial lines of a sector in sequence and at a given rate for application to a display memory having display points effectively disposed in orthogonal rows parallel to an x axis and columns parallel to a y axis, the rows being separated by Ky and the columns being separated by Kx, comprising:: sampling apparatus for providing samples of the analog data occurring at sample points along said radial lines that are equally spaced from each other and have the same respective radial distances from the origin of the sector; memory means coupled to the output of said sampling apparatus; a source of display point scanning control signals for indicating the sequence of display point to display point steps of Kx along the x axis or steps of Ky along the y axis in order to scan the display points between the radial lines forming each slice of the sector; means coupled to said source of display point scanning control signals for updating the x and y addresses of said display memory; ; means for deriving the radial position of a display point of a slice comprising an accumulator responsive to said display point scanning signals for deriving the sum of the radius of a given display point and +KSin0, -KSinO and KyCosO for scanning steps from said given display point that are respectively along the x axis and farther from the origin of the sector, along the x axis and closer to the origin, and along the y axis and farther from the origin, the angle O being between the y axis and a radial line close to the center of the slice; means responsive to an increase in the output of said accumulator beyond a radius of any sample point to produce a signal INCR and to each decrease in said output below a radius of any sample point to produce a signal DECR;; means providing a signal representing AXHAT equal to the absolute value of the difference between the tangents of the angles between the respective radial lines defining a slice and the y axis; means for deriving a signal XHAT for each display point of a slice, XHAT being equal to the distance along the x axis between the radial lines defining the slice and passing through the display point, said means comprising an accumulator responsive to the display point scanning control signal for adding to the known value of XHAT for a previously scanned display point a value of AXHAT for each step of Ky in scanning from that display point to the display point for which the value of the signal XHAT is sought; means for providing the value KytanO where 0 is the angle between one radial line of a slice and the y axis;; means responsive to said display point scanning signals for deriving a signal COUNT, which is the distance along the x axis of a display point from one of the radial lines of a slice, by combining values of Kx for steps along the x axis and values of KytanO for steps along the y axis; data sample selection means for obtaining from said memory data samples from the radial lines of a slice having the same radius, said radius being less than that of a display point for which the signals RERR, COUNT and XHAT are available and two data samples from the same radial lines having the same radius, said radius being greater than that of the display point;; first interpolating means responsive to the signal RERR and to the data samples on one radial line of a slice for deriving a first intermediate interpolated data value at a radial distance along said radial line equal to that of said display point: second interpolating means responsive to the signal RERR and to the data samples on the other radial line of the slice for deriving a second intermediate interpolated data value at the radial distance along the radial lines equal to that of said display point;; third interpolating means responsive to the signals COUNT and XHAT and to said first and second intermediate interpolated data values a final interpolated data value for said display point at the angular position of said display point between the radial lines of the slice, and means for causing said data sample selection means to advance by one data sample in response to a signal INCR and to retreat by one data sample in response to a signal DECR.
11. A scan conversion system according to claim 10 wherein: said first interpolating means is responsive to the signals COUNT, XHAT and the data samples of less radius than the display point for deriving a first intermediate interpolated data value at the angular position of said display point between the radial lines of the slice; said second interpolating means is responsive to the signals COUNT, XHAT and the data samples of greater radius than the display point for deriving a second intermediate interpolated data value at the angular position of said display point between the radial lines of the slice; and said third interpolating means is responsive to the signal RERR and to the first and second intermediate interpolated data values for deriving a final interpolated data value for said display point at the radial position of said display point.
1 2. A scan conversion system for translating analog data obtained from a scanner that scans along radial lines of a sector in sequence and at a given rate for application to a display memory having display points effectively disposed in orthogonal rows parallel to an x axis and columns parallel to a y axis, the rows being separated by Ky and the columns being separated by Kx, comprising:: sampling apparatus for providing samples of the analog data occurring at sample points along said radial lines, said sample points being equally spaced from each other and having the same respective radial distances from the origin of the sector; memory means coupled to the output of said sampling apparatus; a source of display point scanning control signals for indicating the sequence of display point to display point steps Kx along the x axis or Ky along the y axis in order to scan the display points for each slice of the sector; means coupled to said source of display point scanning control signals for updating the x and y addresses of the display memory; means providing a signal representing AXHAT equal to the absolute value of the difference between the tangents of the angles between the respective radial lines defining a slice and they axis;; means for deriving a signal XHAT for each display point of a slice, XHAT being equal to the distance along the x axis between the radial lines defining the slice and passing through the display point, said means comprising an accumulator responsive to the display point scanning control signal for adding to the known value of XHAT for a previously scanned display point a value of AXHAT for each step of Ky in scanning from that previously scanned display point to the display point for which the value of the signal XHAT is sought; means for providing the value K,,tan0 where O is the angle between one radial line of each slice and the y axis:: means responsive to said display point scanning signals for deriving a signal COUNT which is the distance along the x axis of a display point from one of the radial lines of a slice, by combining values of Kx for steps along the x axis and values of KytanO for steps along the y axis; means for obtaining from said memory a data sample on each of two radial lines, said samples having the same radius; and interpolating means responsive to the signals COUNT and XHAT and said data samples for deriving an interpolated data value for said display point at the angular position of said display point between the radial lines of the sector.
13. Scan converter apparatus substantially as hereinbefore described with reference to the accompanying drawings.
13. Apparatus for translating data samples at equally and uniformly spaced points along radial lines to display points of a display memory that are effectively arranged in rows separated by K, and cplumns separated by Kx, one of said columns coinciding with a radial line of said sector, comprising:: means for generating display point scanning control signals representing the step-by-step scanning along the rows and columns of display points for slices between successive radial lines; means for storing the values of +KxSiO0 andKxSinO, said O having values equal to the angles between a column of display points and a radial line near the center of each slice; means responsive to said scanning control signals for each slice for recursively adding values of +KxSinS and --K,SinB for that slice to the known radius of a given display point occurring earlier in the scan so as to derive the value of the radius for each display point; means for deriving the fractional part of the radius for each display point which derives a signal RERR for that point;; means for storing values of AXHAT for each slice; means responsive to said scanning control signals for each slice for recursively adding for each step along a column a value AXHAT for that slice to the known value of XHAT for a display point occurring earlier in the scan so as to derive the value of XHAT for each display point; means for storing the values of +Kx, Kx and tanO where the values of O are the angles between said column and one of the radial lines of each slice; means responsive to said scanning control signals for recursively adding at each step in the scan one of the values stored by said latter means to a known value of COUNT for display points occurring earlier in the scan so as to derive the value of COUNT for each display point;; means for dividing the signal COUNT for each display point by the signal XHAT for that point so as to derive a signal OERR for that display point: means for selecting data samples located at the intersection of radial arcs with the radial lines of a slice; first interpolating means responsive to a pair of said selected data samples and to one of said signals RERR and BERR for each display point for deriving a first intermediate interpolated data value for that display point; second interpolating means responsive to another but similar pair of said selected data samples and to said one of the signals RERR and OERR for each display point for deriving a second intermediate interpolated data value for that display point; and means responsive to said first and second intermediate interpolated data values for each display point and to the other of said signals RERR and OERR for each display point for deriving a final interpolated data value for each display point.
14. Scan conversion apparatus for deriving from analog data signals occurring along radial lines signals that may be used to modulate the intensity of a beam of light that successively scans through display points on parallel lines, the display points being arranged in rows and columns, said apparatus comprising:: an input to which said analog data signals may be applied; an analog-to-digital converter coupled to said input; a source of display point scanning control signals that define successive steps from one display point to the next along the rows and columns of display points in scanning from a given display point to a selected display point so as to pass through display points contained between two radial lines; means for storing digital data samples that have been provided by said analog-to-digital converter during two radial lines and for storing digital data samples for a third radial line as they occur; means responsive to said scanning control signals for producing a signal representing the radius of the selected display point;; means responsive to the signal representing the radius of the selected display point for making available data values on each of said radial lines having less radius than said selected display point and for making available data values on each of said radial lines having a greater radius than said selected display point; means responsive to said scanning control signals for producing a signal representing the angular position of said selected display point with respect to said radial lines; means for deriving a first intermediate interpolated data value from data values including a first pair of said data values that are radially or angularly on one side of said selected display point, said first intermediate data value being for a point between said first pair of data values; ; means for deriving a second intermediate interpolated data value from data values including a second pair of said data values that are on the opposite side of said selected display point as said first pair of data values, said second intermediate data value being for a point between said second pair of data values; and means for deriving a final interpolated data value for selected display point from said first and second intermediate data values.
1 5. Apparatus for deriving an interpolated data value for a display point from four data samples defining an area containing the display point, comprising: means for deriving a first intermediate interpolated data value at least in part from a first pair of said data samples and for a point between them; means for deriving a second intermediate interpolated data value at least in part from a second pair of said data samples and for a point between them; said points for said first and second intermediate interpolated data samples and said display point being on a substantially straight line; and means for interpolating said first and second intermediate interpolated data values so as to derive a final interpolated data value for the point in the said straight line where the display point is located.
16. Apparatus according to claim 1 5 wherein said first pair of data samples lie on a first radial line and said second pair of data samples lie on a second radial line.
1 7. Apparatus according to claim 1 6 wherein the data samples of said first and second pair of data samples respectively have the same radial distances from the origin of said radial lines and the points for which said first and second intermediate interpolated data values are derived are at the same radial distance from the origin of said radial lines as. said display point.
18. Apparatus for deriving from data samples occurring at the intersections of a set of radial lines within a sector with a set of concentric arc lines having a spacing s between adjacent arc lines and the same origin as said radial lines, a final interpolated data value to be displayed at a selected one of a plurality of display points arranged in orthogonal rows and columns, there being a separation Kx between said columns and a separation Ky between said rows, the apparatus comprising:: means for making simultaneously available data samples occurring at intersections of two radial lines with two concentric arc lines, which lines define an area containing said selected one of said plurality of display points; means for providing a first position signal representing the angular position of said selected one of said plurality of display points with respect to said two radial lines; means for providing a second position signal representing the radial position of said selected one of said plurality of display points with respect to said two concentric arc lines; interpolating means responsive to a selected one of said first and second position signals for deriving from data samples lying on one side of said selected display point a first intermediate interpolated data value at the position of said selected display point;; interpolating means responsive to the selected position signal for deriving from data samples lying on the other side of said selected display point a second intermediate interpolated data value at the position of said selected display point; interpolating means responsive to the other of said first and second position signals for deriving from said first and second intermediate interpolated data values a final interpolated data value for said selected display point.
1 9. Apparatus according to claim 18 wherein said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the angular position of said selected display point with respect to said pair of radial lines, said latter means comprising:: means for providing scanning control signals controlling a sequence of steps along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point; means for providing a third signal representing the value resulting from multiplication of Ky and the absolute value of the difference between the tangents of the angles of said pair of radial lines with respect to a column of display points; an accumulator for deriving a first sum equal to the distance between said pair of radial lines measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive value represented by said third signal for each step of Ky taken along a column of display points away from the origin of the sector, the negative value represented by said third signal for each step taken along a column of display points closer to the origin of the sector, the first sum being the distance between the radial lines along the row of display points including the selected display point; means for providing a fourth signal representing the value of Ky times the absolute value of the tangent of the angle between a column of display points and one of said radial lines;; an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points including said given display point plus the net of the following values resulting from steps taken, in accordance with said scanning control signals in scanning from said given display point to said selected display point; +Kx for each step of Kx along a row of display points toward the other radial line of said pair, Kx for each step of Kx along the row in the opposite direction, the positive value represented by said third signal for each step of Kv along a column of display points in a direction away from the origin of the sector and the negative of the value of said third signal for each step of Kv along the column toward the origin of the sector if the angle is for the outer radial line, the sign of the value represented by said third signal being reversed if the angle is for the inner radial line, the second sum being the distance, as measured along the row of display points including the selected display point, between the selected display point and the radial line corresponding to the angle used; and the ratio of said second sum to said first sum being the relative angular position of the selected display point.
20. Apparatus as set forth in claim 1 9 wherein said rows and columns of display points are orthogonal and said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the radial position of said selected display point with respect to concentric arc lines on opposite sides of said selected display point, said latter means comprising: an accumulator for deriving a third sum equal to the radial distance of said given display point from said origin plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive of the absolute value of KxSinS for each step of Kx along a row of display points in a direction away from the origin, the negative of the absolute value of KxSinS for each step of Kx along a row of display points in a direction toward the origin, the positive of the absolute value of KyCosS for each step of K, along a column of display points in a direction away from the said origin, and the negative of the absolute value of KvCO50 for each step of K, along a column of display points toward said origin, the angle O being the angle between a column of display points and a selected radial line close to the angular center of said two radial lines, the third sum thereby being the radius of said selected display point; and means for obtaining the difference between the radius of the selected display point and one of said concentric arc lines, the said difference being the radial position of said selected display point with respect to said concentric arc line.
21. Apparatus according to claim 20 wherein said selected radial line is one of said radial lines.
22. Apparatus according to either one of claims 20 and 21 wherein the accumulator for deriving said third sum is digital Kx=K,,=5 and the means for obtaining the difference between the radius of the selected display point and one of said arc lines are the conductors of the fractional bits of said third sum.
23. Apparatus for deriving the relative angular position of a selected display point in a field of display points with respect to outer and inner radial lines within a sector lying in said field, said field of display points being disposed in orthogonal rows and columns, the rows being separated by a value K,, the columns being separated by a value Kx, comprising:: means for providing scanning control signals indicating the sequence of steps from one display point to the next along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point; means for providing a first signal representing the value resulting from multiplication of K, and the absolute value of the difference between the tangents of the angles of said radial lines with respect to a column of display points; an accumulator for deriving a first sum equal to the distance between said radial lines measured along the axis and passing through said given display point plus the net of the following yalues resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point: the positive value represented by said first signal for each step taken along a column of display points away from the origin of the sector, the negative value represented by said first signal for each step taken along a column of display points closer to the origin of the sector, the final sum in the accumulator being the value of XHAT for the selected display point; means for providing a second signal representing the value of K, times the absolute value of the tangent of the angle between a column of display points and one of said radial lines;; an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; +Kx for each step along the x axis toward the other of said radial lines, Kx for each step along the x axis in the opposite direction, the positive value represented by said second signal for each step of K, along a column of display points in a direction away from the origin of the sector and the negative of the value of said second signal for each step toward the origin of the sector if the angle is for the outer radial line, the sign of the value represented by said second signal being reversed if the angle is for the inner radial line; and the ratio of said first sum to said second sum being the relative angular position.
24. Apparatus for deriving the radius of a display point selected from a field of display points arranged in rows and columns, the rows being separated by a dimension K, and the columns being separated by a dimension Kx, the radius being measured from the origin of a sector lying within said field comprising: means providing scanning signals indicating the sequence of steps taken from one display point to the next along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point:: an accumulator for deriving a third sum equal to the radial distance of said given display point from said origin plus the net of the positive of the absolute value of KxSinS for each step along a row of display points in a direction away from the origin, the negative of the absolute value of KxSinS for each step along a row of display points in a direction toward the origin, the positive of the absolute value of KySinS for each step along a column of display points in a direction away from the said origin, and the negative of the absolute value of KySinS for each step along a column of display points toward said origin, the angle 0 being the angle between a column of display points and a selected radial line close to the angular center of said two radial lines, the third sum thereby being the radius of said selected display point.
25. Apparatus for deriving an interpolated data value for a display point from four data samples defining an area containing the display point, comprising: means for deriving a first intermediate interpolated data value in part from a first pair of said data samples and for a point between them; means for deriving a second intermediate interpolated data value at least in part from a second pair of said data samples and for a point between them; said points for said first and second intermediate interpolated data samples and said display point being on a substantially straight line; and means for interpolating said first and second intermediate interpolated data values so as to derive a final interpolated data value for the point in the said straight line where the display point is located.
26. Apparatus according to claim 25 wherein said first pair of data samples lie on a first radial line and said second pair of data samples lie on a second radial line.
27. Apparatus for deriving from data samples occurring at the intersections of a set of radial lines within a sector with a set of concentric arc lines having a spacing s between adjacent arc lines and the same origin as said radial lines, a final interpolated data value to be displayed at a selected one of a plurality of display points arranged in orthogonal rows and columns, there being a separation Kx between said columns and a separation K, between said rows, comprising:: means for making simultaneously available at least four data samples respectively occurring at the intersections of at least two radial lines and at least two concentric arc lines, two of said radial lines and two of said arc lines defining an area containing said selected one of said plurality of display points; first data selection means for selecting data sampleslying along one of said radial line and arc line directions and on one side of said selected display point in the other direction; first interpolating means for deriving a first intermediate interpolated data value from the data samples selected by said first data selection means; second data selection means for selecting data samples lying along said one of said radial line and arc line directions and on the other side of said selected display point in the said other direction;; second interpolating means for deriving a second intermediate interpolated data value from the data samples selected by said second data selection means; and third interpolating means for deriving from said first and second intermediate interpolated data values a final interpolated data value for said selected display point.
28. Apparatus according to claim 27 wherein said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the angular position of said selected display point with respect to said pair of radial lines, said latter means comprising:: means for providing scanning control signals controlling a sequence of steps along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point; means for providing a third signal representing the value resulting from multiplication of K, and the absolute value of the difference between the tangents of the angles of said pair of radial lines with respect to a column of display points; an accumulator for deriving a first sum equal to the distance between said pair of radial lines measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive value represented by said third signal for each step of K, taken along a column of display points away from the origin of the sector, the negative value represented by said third signal for each step taken along a column of display points closer to the origin of the sector, the first sum being the distance between the radial lines along the row of display points including the selected display point; means for providing a fourth signal representing the value of K, times the absolute value of the tangent of the angle between a column of display points and one of said radial lines;; an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; +Kx for each step of Kx along a row of display points toward the other radial line of said pair,Kx for each step of Kx along the row in the opposite direction, the positive value represented by said third signal for each step of Kv along a column of display points in a direction away from the origin of the sector and the negative of the value of said third signal for each step of Kv along the column toward the origin of the sector if the angle is for the outer radial line, the sign of the value represented by said third signal being reversed if the angle is for the inner radial line, the second sum being the distance, as measured along the row of display points including the selected display point, between the selected display point and the radial line corresponding to the angle used; and the ratio of said second sum to said first sum being the relative angular position of the selected display point.
29. Apparatus as set forth in claim 28 wherein said rows and columns of display points are orthogonal and said means for providing a signal representing the position of said selected display point includes means for providing a signal representing the radial position of said selected display point with respect to concentric arc lines on opposite sides of said selected display point, said latter means comprising: an accumulator for deriving a third sum equal to the radial distance of said given display point from said origin plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive of the absolute value of KxSinO for each step of Kx along a row of display points in a direction away from the origin, the negative of the absolute value of KxSinO for each step of Kx along a row of display points in a direction toward the origin, the positive of the absolute value of KySinS for each step of Kx along a row of display points in a direction toward the origin, the positive of the absolute value of KyCosO for each step of K, along a column of display points in a direction away from said origin, and the negative of the absolute value of KvCosS for each step of K, along a column of display points toward said origin, the angle 8 being the angle between a column of display points and a selected radial line close to the angular center of said two radial lines, the third sum thereby being the radius of said selected display point; and means for obtaining the difference between the radius of the selected display point and one of said concentric arc lines, the said difference being the radial position of said selected display point with respect to said concentric arc line.
30. Apparatus according to claim 29 wherein said selected radial line is one of said radial lines.
31. Apparatus according to either one of claims 29 and 30 wherein the accumulator for deriving said third sum is digital, Kx=Ky=s and the means for obtaining the difference between the radius of the selected display point and one of said arc lines are the conductors of the fractional bits of said third sum.
32. Apparatus according to claim 27 further comprising: means for providing a first position signal representing the position in the direction of an arc line of said selected display point with respect to the two radial lines defining said sub-slice; means for providing a second position signal representing the position in a radial direction of said selected display point with respect to said radial arc lines defining said sub-slice; and wherein said first and second interpolating means for deriving said first intermediate interpolated data sample value are responsive to one of said first and second position signals to derive said first and second intermediate interpolated data sample values at the position of said selected display point indicated by said one of said first and second position signals; and wherein said third interpolating means is responsive to the other of said first and second position signals to derive said final interpolated data value from said first and second intermediate data values at the position of said selected display point indicated by the other of said first and second position signals.
33. Apparatus for deriving from data samples occurring at the intersections of a set of radial lines within a sector with a set of concentric arc lines having a spacing s between adjacent arc lines and the same origin as said radial lines, a final interpolated data value to be displayed at a selected one of a plurality of display points arranged in rows and columns, there being a separation Kx between said columns and a separation K, between said rows, the apparatus comprising: means providing a signal identifying a radial line; means providing a second signal identifying a display point; means responsive to said first and second signals for providing signals representing data values at intersections of at least a pair of said radial lines with at least a pair of said arc lines, which intersection define an area containing said display point; and means responsive to first and second signals and to said signals representing said data values for providing a final interpolated data value for said display point.
34. Apparatus according to claim 33 wherein said means providing said signal identifying said display point includes means for providing a signal representing the position of said display point.
35. Apparatus as set forth in claim 34 wherein said rows and columns of display points are orthogonal and said means for providing a signal representing the position of said.selected display point includes means for providing a signal representing the angular position of said selected display point with respect to said pair of radial lines, said latter means being comprised of:: means for providing scanning control signals controlling a sequence of steps along the rows and columns of display points that defines a path followed in scanning from a given display point to the selected display point; means for providing a third signal representing the value resulting from multiplication of K, and the absolute value of the difference between the tangents of the angles of said pair of radial lines with respect to a column of display points; an accumulator for deriving a first sum equal to the distance between said pair of radial lines measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; the positive value represented by said third signal for each step of K, taken along a column of display points away from the origin of the sector, the negative value represented by said third signal for each step taken along a column of display points closer to the origin of the sector, the first sum being the distance between the said radial lines along the row of display points including the selected display point; means for providing a fourth signal representing the value of K, times the absolute value of the tangent of the angle between a column of display points and one of said radial lines;; an accumulator for deriving a second sum equal to the distance between one of said radial lines and said given display point as measured along a row of display points including said given display point plus the net of the following values resulting from steps taken in accordance with said scanning control signals in scanning from said given display point to said selected display point; +Kx for each step of Kx along a row of display points toward the other radial line of said pair, Kx for each step of Kx along the row in the opposite direction, the positive value represented by said third signal for each step of K, along a column of display points in a direction away from the origin of the sector and the negative of the value of said third signal for each step of K, along the column toward the origin of the sector if the angle is for the outer radial line, the sign of the value represented by said third signal being reversed if the angle is for the inner radial line, the second sum being the distance, as measured along the row of display points including the selected display point, between the selected display point and the radial line corresponding to the angle used; and the ratio of said second sum to said first sum being the relative angular position of the selected display point.
36 Apparatus for deriving from data samples at the intersections of radial lines of a sector with arcs having a spacing s and the same origin as the radial lines a final interpolated data value to be used at display points within said sector, said display points being arranged in rows and columns, there being a separation Kx between the columns and a separation K, between the rows, the said apparatus comprising:: an input to which data samples such as described may be applied; memory means coupled to said input for storing at least some of said data samples; selection means for deriving data samples from said memory means and identifying a series of display points, the display points and data samples being related in that at least four of said data samples for a display point define an area containing each display point, two of said data samples being on an arc of less radius than the display point and two of said data samples being on an arc of greater radius than the display point, and means for deriving from said data samples a final interpolated data value for each identified display point.
37. Apparatus as set forth in claim 36 wherein said memory means includes means for storing data samples of one radial line of said sector as they are received and for retaining data samples from two previous radial lines, and wherein: said selection means provides scanning signals identifying a succession of display points including those that are between said previous radial lines, and said means for deriving said final interpolated data value includes:: means for providing a signal representing the radial position of each identified display point with respect to an arc on which two of said data samples for the display point are located; means for providing an intermediate interpolated data value from at least the two of said data samples on one of said previous radial lines at the radial position of each identified display point; means for providing an intermediate interpolated data value from at least the two of said data samples on the other of said previous radial lines at the radial position of each identified display point; means providing a signal representing the angular position of each identified display point with respect to said previous radial lines; and means for providing a final interpolated data value at the angular position of each identified display point from intermediate interpolated data values having the same radial position as the display point.
38. Apparatus as set forth in claim 36 wherein said memory means includes means for storing data samples of one radial line of said sector as they are received and for retaining data samples from two previous radial lines, and wherein: said selection means provides scanning signals identifying a succession of display points including those that are between said previous radial lines; said means for deriving said final interpolated data value includes:: means for providing a signal representing the angular position of each identified display point with respect to said previous radial lines; means for providing an intermediate interpolated data value at the angular position of said identified display point from at least the two of said data samples for the display point that are on one of said arcs; means for providing an intermediate interpolated datapvalue at the angular position of said display point from at least the two of said data samples for said display point that are on the other of said arcs; means providing a signal representing the radial position of each display point with respect to said arcs; and means for providing a final interpolated data value at the radial position of an identified display point from said intermediate interpolated data values having the same angular position as said display point.
39. Apparatus as set forth in each of claims 37 and 38 wherein the rows and columns of said display points are orthogonal and wherein said means for providing a signal representing the radial position of an identified display point is comprised of: means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known radius of a given display point in scanning from the said given display point to the identified display point:: KxSinO for each step from one display point to the next along a row in a direction away from the center line of the sector, -K,SinB for each step from one display point to the next along a row in a direction toward the center line of the sector, +K,CosB for each step from one display point to the next along a column in a direction away from the origin, -K,Cos9 for each step from one display point to the next along a column in a direction toward the origin, 9 being the angle between a column of display points and a radial line that is angularly close to the selected display point; and means for determining the difference between suid sum and the radius of one of the arcs on either side of each identified display point.
40. Apparatus as set forth in claim 39 wherein Kx and K, are in terms of s so that the said difference is the fractional part of said sum.
41. Apparatus as set forth in claim 37 and 38 wherein said means for providing a signal representing the angular position of an identified display point comprises: means for providing a signal, AXHAT, representing the difference between the tangents of the angles between said previous radial lines and a column of display points; means for deriving a sum of the known distance between said previous radial lines as measured along a row including a given display point, and the value of AXHAT times the net number of rows crossed in scanning between said given display point and each identified display point, the same sum being XHAT;; means for deriving the sum equal to the distance of a given display point from one of said previous radial lines as measured along the row of display points including said latter given display point and the net of the following values in scanning from said latter given display point to the identified display point: +Kx for each step from one display point to the next along a row in a direction away from the said one of said previous radial lines, Kx for each step of the scan from one display point to the next along a row in a direction toward the said one of said previous radial lines, +K,tan0 for each step of the scan along a column in a direction away from the origin, and -K,tan9 for each step toward the origin if the said one previous radial line is the one making the greater angle with a column of display points, 9 being the angle between the latter radial line and a column, --K,tanB' for each step of the scan along a column of display points in a direction away from the origin and +K,tanB' for each step toward the origin if the said one of said previous radial lines is one making the lesser angle with a column, O' being the angle of the latter radial line with the y axis.
42. Apparatus for deriving the radial position of an identified display point in a field of display points arranged in orthogonal rows and columns with respect to data samples at intersections of radial lines of a sector with arcs having a spacing s and the same origin as the radial lines, the identified display point being between a pair of radial lines and there being a separation of Kx between the columns of display points and a separation of K, between the rows of display points, the said apparatus comprising: means providing scanning signals indicating the steps to be taken from one display point to the next along a row or a column in scanning from a given display point for which the radius is known to the selected display point within the radial lines; an accumulator responsive to said scanning signals for deriving a sum equal to the radius of said given display point plus: : +KxSinO for each step from one display point to the next along a row in a direction away from the center of the sector, --K,SinB for each step from one display point to the next along a row in a direction toward the center of the sector, +K,Cos9 for each step from one display point to the next along a column in a direction away from the origin, -K,CosO for each step from one display point to the next along a column in a direction toward the origin, 9 being the angle between a column of display points and a radial line that is angularly close to the identified display point; means for determining the difference between the sum provided by said accumulator and the radius of one of the arcs on either side of said display point; and means for providing a signal equal to the said difference divided by s.
43. Apparatus as set forth in claim 42 wherein said last means includes means for deriving the fractional part of the sum provided by said accumulator and Kx and K, are in terms of s.
44. Apparatus for deriving a signal representing the angular position of a selected display point in a field of display points disposed in orthogonal rows and columns, the columns being separated by Kx and the rows by K,, the said angular position, being with respect to a pair of radial lines of a sector of radial lines having an origin at a predetermined position with respect to said rows and columns, said apparatus comprising:: means providing scanning signals indicating the steps to be taken from one display point to the next along a row or a column in scanning from a given display point for which the angular position is known to a selected display point within said radial lines; means for providing a signal, AXHAT, representing the difference between the tangents of the angles between said pair of radial lines and a column; an accumulator responsive to said scanning signals for deriving a sum equal to the addition of the following values to the known distance between said radial lines as measured along a row of display points including said given display point: a value of +AXHAT for each step from one display point to the next along a column in a direction away from the origin andAXHAT for each step from one display point to the next along a column in a direction toward the origin, the same sum being XHAT; an accumulator responsive to said scanning signals for deriving a sum equal to the addition of the following values to the known distance of a given display point from one of said radial lines as measured along the row of display points including said latter given display point: +Kx for each step of the scan along a row of display points toward the center line of the sector, Kx for each step of the scan along a row of display points away from the center line of the sector, +K,tan9 for each step of the scan along a column away-from the origin and -K,tan9 for each step of the scan along a column toward the origin if the said one radial line is the one making the greater angle 9 with a column; +Kx for each step of the scan along a row of display points away from the center line of the sector, Kx for each step of the scan along a row of display points toward the center line of the sector, -K,tan9' for each step of the scan along a column away from the origin, and +K,tan9' for each step of the scan along a column toward the origin if the said one of said radial lines is the one making the lesser angle O' with a column, the latter sum in either case being COUNT; and means for providing the value of COUNT divided by XHAT.
45. Apparatus for deriving from data samples at the intersections of radial lines of a sector with arcs having a spacing s and the same origin as the radial lines a final interpolated data value to be used at display points within said sector, said display points being arranged in rows and columns, the said origin having a given location with respect to said rows and columns, there being a separation Kx between the columns and a separation K, between the rows, the said apparatus comprising:: an input to which data samples may be applied; memory means coupled to said input for storing at least some of the said data samples; selection means identifying a display point and deriving at least four data samples, at least two from one radial line and at least two from another radial line, the identified display point and the data samples being related in that the locations of said at least four data samples define an area containing the identified display point; and means for deriving from said at least four data samples a final interpolated data value for said identified display point.
46. Apparatus according to claim 45 wherein said means for deriving said final interpolated data value includes: means for deriving a first intermediate interpolated data value from at least the two of said four data samples on one side of an identified display point; means for deriving a second intermediate interpolated data value from at least the two of said data samples that are, on the opposite side of said identified display point; and means for interpolating said first and second intermediate interpolated data values.
47. Apparatus according to claim 46 including means for deriving a signal representing the angular position of said identified display point and wherein: said means for deriving said first intermediate interpolated data value responds to at least the two of said data samples on one of said radial lines and derives said first intermediate interpolated data value at a location that is radially between said latter data samples; said means for deriving said second intermediate interpolated data value responds to at least the two of said data samples on the other of said radial lines and derives said second intermediate interpolated data value at a location that is radially between said latter data samples; and said means for interpolating said first and second intermediate interpolated data values responds to said signal representing the angular position of said identified display point so as to derive a final interpolated data value at said angular position.
48. Apparatus according to claim 47 including means for deriving a signal representing the radial position of said identified display point and wherein: said means for deriving said first and second intermediate interpolated data values respond to said latter signal so as to respectively derive said data values at the radial position of said identified display point.
49. Apparatus according to claim 46 including means for deriving a signal representing the radial position of said identified display point and wherein: said means for deriving said first intermediate interpolated data value responds to at least the two of said data samples on different radial lines that are closer to the origin than the other two data samples and derives said first intermediate interpolated data value at a location that is angularly between the latter data samples; said means for deriving said second intermediate interpolated data value responds to at least the other two of said data samples and derives said second intermediate interpolated data value at a location that is angularly between the latter data samples; and said means for interpolating said first and second intermediate interpolated data values responds to the signal representing the radial position of said identified display point so as to derive a final interpolated data value at said radial position.
50. Apparatus according to claim 49 including means for deriving a signal representing the angular position of said identified display point and wherein: said means for deriving said first and second intermediate interpolated data values respond to said latter signal so as to derive said data values at the angular position of said identified display point.
51. Apparatus according to either one of claims 48 and 49 wherein the rows and columns of said display points are orthogonal, and wherein said means for providing a signal representing the radial position of an identified display point comprises: means included in said selection means for providing display point scanning signals identifying successive display points in a scanned path from a given display point for which the radius is known to said identified display point; means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known radius of said given display point for the indicated steps in the scanned path;; K,SinB for each step from one display point to the next along a row in a direction away from the center line of the sector, -K,SinB for each step from one display point to the next along a row in a direction toward the center line of the sector, +K,CosB for each step from one display point to the next along a column in a direction away from the origin, and --K,CosB for each step from one display point to the next along a column in a direction toward the origin O being the angle between a column of display points and a radial line that is angularly close to the identified display point; and means for determining the difference between said sum and the radius of one of the arcs on either side of said identified display point as a fraction of s.
52. Apparatus according to claim 51 wherein Kx and K, are in terms of s so that the said difference as a fraction of s is the fractional part of said sum.
53. Apparatus according to any of claims 47, 48; and 50 wherein said means for providing a signal representing the angular position of an identified display point comprises: means included in said selection means for providing display point scanning signals identifying successive display points in a scan from a given display point for which the radius is known to said identified display point; means for providing a signal AXHAT representing the product of K, and the difference between the tangents of the respective angles between said radial lines and a column of display points; means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known distance between said radial lines as measured along a row including a given display point in scanning from said given display point to the identified display point;; AXHAT for each step from one row to the next in a direction away from the origin, andAXHAT for each step from one row to the next toward the origin, the said sum being XHAT; means for deriving a sum equal to the addition of the following values to the known distance of a given display point from one of said radial lines as measured along the row of display points including said latter given display point in scanning from said latter given display point to the identified display point; ; +Kx for each step along a row from one display point within the radial lines to the next display point in a direction away from the said one of said radial lines, Kx for each step along a row from one display point within said radial lines to the next display point in a direction toward the said one of said radial lines, +K,tanB for each step along a column from one display point within said radial lines to the next display point in a direction away from the one radial line, --K,tanB for each step along a column from one display point within said radial lines to the next display point in a direction toward one radial line, O being the angle between the said one radial line and a column, the said values being the same for steps in the same direction with respect to the rows and columns from display points outside the radial lines.
54. Apparatus for deriving the radial position of an identified display point in a field of display points arranged in orthogonal rows and columns with respect to data samples at intersections of radial lines of a sector with arcs having a spacing s in the same origin as the radial lines, the origin having a predetermined location with respect to said rows and columns and there being a separation of Kx between the columns of display points and a separation of K, between the rows of display points, the said apparatus comprising:: means providing display point scanning signals identifying successive display points in a scan from a given display point for which the radius is known to said identified display point; mean responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known radius of said given display point in scanning from the said given display point to the identified display point;; KxSinO for each step from one display point to the next along a row in a direction away from the center line of the sector, -K,SinO for each step from one display point to the next along a row in a direction toward the center line of the sector, +K,CosO for each step from one display point to the next along a column in a direction away from the origin, and -K,Cos(3 for each step from one display point to the next along a column in a direction toward the origin,0 being the angle between a column of display points and a radial line that is angularly close to the identified display point; and means for determining the difference between said sum and the radius of one of the arcs on either side of said identified display point as a fraction of s.
55. Apparatus according to claim 54-wherein Kx and K, are in terms of s so that the said difference as a fraction of s is the fractional part of said sum.
56. Apparatus for deriving a signal representing the angular position of a selected display point in a field of display points disposed in orthogonal rows and columns, the columns being separated by Kx and the rows by K,, the said angular position being with respect to a pair of radial lines of a sector of radial lines having an origin at a predetermined position with respect to said rows and columns, said apparatus comprising; identifying successive display points in a scan from a given display point for which the angular position is known to an identified display point; means for providing a signal, AXHAT, representing the product of K, and the difference between the tangents of the respective angles between said radial lines and a column of display points;; means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known distance between said radial lines as measured along a row including a given display point in scanning from said given display point to the identified display point; AXHAT for each step from one row to the next in a direction away from the origin, andAXHAT for each step from one row to the next toward the origin, the said sum being XHAT; means for deriving a sum equal to the addition of the following values to the known distance of a given display point from one of said radial lines as measured along the row of display points including said latter given display point in scanning from said latter given display point to the identified display point;; +Kx for each step along a row from one display point within the radial lines to the next display point in a direction away from the said one of said radial lines, Kx for each step along a row from one display point within said radial lines to the next display point in a direction toward the said one of said radial lines, +K,tanB for each step along a column from one display point within said radial lines to the next display point in a direction away from the one radial line, --K,tanB for each step along a column from one display point within said radial lines to the next display point in a direction toward the one radial line,0 being the angle between the said one radial line and a column, the said values being the same for steps in the same direction with respect to the rows and columns from display points outside the radial lines.
57. Scan converter apparatus substantially as hereinbefore described with reference to the accompanying drawings.
New Claims or Amendments to Claims filed on Superseded Claims: All.
New or Amended Claims:
1. Apparatus for deriving from data samples at the intersections of radial lines of a sector with arcs having a spacing s and the same origin as the radial lines a final interpolated data value to be used at display points within said sector, said display points being arranged in rows and columns, the said origin having a given location with respect to said rows and columns, there being a separation Kx between the columns and a separation K, between the rows, the said apparatus comprising:: an input to which data samples may be applied; memory means coupled to said input for storing at least some of the said data samples; selection means identifying a display point and deriving at least four data samples, at least two from one radial line and at least two from another radial line, the identified display point and the data samples being related in that the locations of said at least four data samples define an area containing the identified display point; and means for deriving from said at least four data samples a final interpolated data value for said identified display point.
2. Apparatus according to claim 1 wherein said means for deriving said final interpolated data value includes: means for deriving a first intermediate interpolated data value from at least the two of said four data samples on one side of an identified display point; means for deriving a second intermediate interpolated data value from at least the two of said data samples that are on the opposite side of said identified display point; and means for interpolating said first and second intermediate interpolated data values.
3. Apparatus according to claim 2 including means for deriving a signal representing the angular position of said identified display point and wherein: said means for deriving said first intermediate interpolated data value responds to at least the two of said data samples on one of said radial lines and derives said first intermediate interpolated data value at a location that is radially between said latter data samples; said means for deriving said second intermediate interpolated data value responds to at least the two of said data samples on the other of said radial lines and derives said second intermediate interpolated data value at a location that is radially between said latter data samples; and said means for interpolating said first and second intermediate interpolated data values responds to said signal representing the angular position of said identified display point so as to derive a final interpolated data value at said angular position.
4. Apparatus according to claim 3 including means for deriving a signal representing the radial position of said identified display point and wherein: said means for deriving said first and second intermediate interpolated data values respond to said latter signal so as to respectively derive said data values at the radial position of said identified display point.
5. Apparatus according to claim 2 including means for deriving a signal representing the radial position of said identified display point and wherein: said means for deriving said first intermediate interpolated data value responds to at least the two of said data samples on different radial lines that are closer to the origin than the other two data samples and derives said first intermediate interpolated data value at a location that is angularly between the latter data samples; said means for deriving said second intermediate interpolated data value responds to at least the other two of said data samples and derives said second intermediate interpolated data value at a location that is angularly. between the latter data samples; and said.means for interpolating said first and second intermediate interpolated data values responds to the signal representing the radial position of said identified display point so as to derive a final interpolated data value at said radial position.
6. Apparatus according to claim 5 including means for deriving a signal representing the angular position of said identified display point and wherein: said means for deriving said first and second intermediate interpolated data values respond to said latter signal so as to derive said data values at the angular position of said identified display point.
7. Apparatus according to either one of claims 4 and 5 wherein the rows and columns of said display points are orthogonal, and wherein said means for providing a signal representing the radial position of an identified display point comprises: means included in said selection means for providing display point scanning signals identifying successive display points in a scanned path from a given display point for which the radius is known to said identified display point; means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known radius of said given display point for the indicated steps in the scanned path; ; KxSinO for each step from one display point to the next along a row in a direction away from the center line of the sector, --K,SinB for each step from one display point to the next along a row in a direction toward the center line of the sector, +K,CosB for each step from one display point to the next along a column in a direction away from the origin, and -K,Cos0 for each step from one display point to the next along a column in a direction toward the origin O being the angle between a column of display points and a radial line that is angularly close to the identified display point; and means for determining the difference between said sum and the radius of one of the arcs on either side of said identified display point as a fraction of s.
8. Apparatus according to claim 7 wherein Kx and K, are in terms of s so that the said difference as a fraction of s is the fractional part of said sum.
9. Apparatus according to any of claims 3, 4, and 6 wherein said means for providing a signal representing the angular position of an identified display point comprises: means included in said selection means for providing display point scanning signals identifying successive display points in a scan from a given display point for which the radius is known to said identified display point; means for providing a signal AXHAT representing the product of K, and the difference between the tangents of the respective angles between said radial lines and a column of display points; means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known distance between said radial lines as measured along a row including a given display point in scanning from said given display point to the identified display point;; AXHATfor each step from one row to the next in a direction away from the origin, andåXHAT for each step from one row to the next toward the origin, the said sum being XHAT; means for deriving a sum equal to the addition of the following values to the known distance of a given display point from one of said radial lines as measured along the row of display points including said latter given display point in scanning from said latter given display point to the identified display point;; +Kx for each step along a row from one display point within the radial lines to the next display point in a direction away from the said one of said radial lines, Kx for each step along a row from one display point within said radial lines to the next display point in a direction toward the said one of said radial lines, +K,tanB for each step along a column from one display point within said radial lines to the next display point in a direction away from the one radial line, -K,tan6 for each step along a column from one display point within said radial lines to the next display point in a direction toward one radial line. 8 being the angle between the said one radial line and a column, the said values being the same for steps in the same direction with respect to the rows and columns from display points outside the radial lines.
10. Apparatus for deriving the radial position of an identified display point in a field of display points arranged in orthogonal rows and columns with respect to data samples at intersections of radial lines of a sector with arcs having a spacing s in the same origin as the radial lines, the origin having a predetermined location with respect to said rows and columns and there being a separation of Kx between the columns of display points and a separation ofK, between the rows of display points, the said apparatus comprising:: means providing display point scanning signals identifying successive display points in a scan from a given display pointfor which the radius is known to said identified display point; means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known radius of said given display point in scanning from the said given display point to the identified display point;; Kx SinO for each step from one display point to the next along a row in a direction away from the center line of the sector. --K,SinB for each step from one display point to the next along a row in a direction toward the center line of the sector, +K,CosO for each step from one display point to the next along a column in a direction away from the origin, and -K,cosO for each step from one display point to the next along a column in a direction toward the origin, S being the angle between a column of display points and a radial line that is angularly close to the identified display point; and means for determining the difference between said sum and the radius of one of the arcs on either side of said identified display point as a fraction of s.
11. Apparatus according to claim 10 wherein Kx and K, are in terms of s so that the said difference as a fraction of s is the fractional part of said sum.
12. Apparatus for deriving a signal representing the angular position of a selected display point in a field of display points disposed in orthogonal rows and columns, the columns being separated by Kx and the rows K,, the said angular position being with respect to a pair of radial lines of a sector of radial lines having an origin at a predetermined position with respect to said rows and columns, said apparatus comprising:: means providing display point scanning signals identifying successive display points in a scan from a given display point for which the angular position is known to an identified display point; means for providing a signal, AXHAT, representing the product of K, and the difference between the tangents of the respective angles between said radial lines and a column of display points; means responsive to said display point scanning signals for deriving a sum equal to the addition of the following values to the known distance between said radial lines as measured along a row including a given display point in scanning from said given display point to the identified display point;; AXHAT for each step from one row to the next in a direction away from the origin, andåXHAT for each step from one row to the next toward the origin, the said sum being XHAT; means for deriving a sum equal to the addition of the following values to the known distance of a given display point from one of said radial lines as measured along the row of display points including said latter given display point in scanning from said latter given display point to the identified display point;; +Kx for each step along a row from one display point within the radial lines to the next display point in a direction away from the said one of said radial lines, Kx for each step along a row from one display point within said radial lines to the next display point in a direction toward the said one of said radial lines, +K,tanB for each step along a column from one display point within said radial lines to the next display point in a direction away from the one radial line, --K,tanO for each step along a column from one display point within said radial lines to the next display point in a direction toward the one radial line, fl being the angle between the said one radial line and a column, the said values being the same for steps in the same direction with respect to the rows and columns from display points outside the radial lines.
GB8132991A 1980-11-03 1981-11-02 Scan converter apparatus Expired GB2089537B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US20374680A 1980-11-03 1980-11-03

Publications (2)

Publication Number Publication Date
GB2089537A true GB2089537A (en) 1982-06-23
GB2089537B GB2089537B (en) 1985-10-02

Family

ID=22755153

Family Applications (5)

Application Number Title Priority Date Filing Date
GB8132991A Expired GB2089537B (en) 1980-11-03 1981-11-02 Scan converter apparatus
GB08418007A Expired GB2141848B (en) 1980-11-03 1984-07-16 Scan converter apparatus
GB848418006A Pending GB8418006D0 (en) 1980-11-03 1984-07-16 Scan converter apparatus
GB08432555A Expired GB2149541B (en) 1980-11-03 1984-12-21 Scan converter apparatus
GB08506834A Expired GB2153120B (en) 1980-11-03 1985-03-15 Scan converter apparatus

Family Applications After (4)

Application Number Title Priority Date Filing Date
GB08418007A Expired GB2141848B (en) 1980-11-03 1984-07-16 Scan converter apparatus
GB848418006A Pending GB8418006D0 (en) 1980-11-03 1984-07-16 Scan converter apparatus
GB08432555A Expired GB2149541B (en) 1980-11-03 1984-12-21 Scan converter apparatus
GB08506834A Expired GB2153120B (en) 1980-11-03 1985-03-15 Scan converter apparatus

Country Status (5)

Country Link
JP (1) JPS57108681A (en)
CA (1) CA1173966A (en)
DE (2) DE3143429A1 (en)
FR (1) FR2493649B1 (en)
GB (5) GB2089537B (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2127593A (en) * 1982-01-19 1984-04-11 Hewlett Packard Co Scan converter system
US4581636A (en) * 1984-04-02 1986-04-08 Advanced Technology Laboratories, Inc. Scan conversion apparatus and method
WO2000019234A1 (en) * 1998-09-28 2000-04-06 Boston Scientific Limited Ultrasound imaging with zoom having independent processing channels
WO2007073751A1 (en) * 2005-12-23 2007-07-05 Barco Orthogon Gmbh Radar scan converter and method for transforming
US7327309B2 (en) 2005-12-23 2008-02-05 Barco Orthogon Gmbh Radar scan converter and method for transforming

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59218145A (en) * 1983-05-26 1984-12-08 株式会社東芝 Ultrasonic examining apparatus
JPS6041956A (en) * 1983-08-19 1985-03-05 株式会社東芝 Ultrasonic diagnostic apparatus
JPS6272341A (en) * 1985-09-26 1987-04-02 株式会社東芝 Ultrasonic diagnostic apparatus
FR2589265B1 (en) * 1985-10-28 1989-10-27 Descartes Paris V Universite R DIGITAL ECHOGRAPHIC IMAGE PROCESSOR, INTERPOLATING
FR2593009B1 (en) * 1986-01-10 1988-10-07 Thomson Csf METHOD FOR HOMOGENEIZING AN IMAGE FROM A CONVERSION OF COORDINATES AND DIGITAL IMAGE TRANSFORMER USING SUCH A METHOD
JPS63296734A (en) * 1987-05-29 1988-12-02 Yokogawa Medical Syst Ltd Digital scanning converter
JPS6488280A (en) * 1987-07-13 1989-04-03 Sperry Marine Inc Scan conversion method and apparatus
JP2606417B2 (en) * 1990-07-30 1997-05-07 松下電器産業株式会社 Ultrasound diagnostic equipment
DE4206139C2 (en) * 1992-02-28 1994-08-04 Schimmelpfennig Karl Heinz Process for the precise evaluation of tachograph diagrams
DE4223424A1 (en) * 1992-07-16 1994-01-20 Hell Ag Linotype Method and device for generating circular courses

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4002827A (en) * 1975-05-15 1977-01-11 General Electric Company Polar coordinate format to a cartesian coordinate format scan converter
US4174514A (en) * 1976-11-15 1979-11-13 Environmental Research Institute Of Michigan Parallel partitioned serial neighborhood processors
JPS53137691A (en) * 1977-05-07 1978-12-01 Toshiba Corp Sca nning conversion system
JPS6024429B2 (en) * 1977-08-15 1985-06-12 沖電気工業株式会社 Digital scan conversion method
JPS5481095A (en) * 1977-12-12 1979-06-28 Toshiba Corp Computer tomography device
US4241412A (en) * 1979-03-16 1980-12-23 Diasonics, Inc. Polar to cartesian mapping apparatus and method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2127593A (en) * 1982-01-19 1984-04-11 Hewlett Packard Co Scan converter system
US4581636A (en) * 1984-04-02 1986-04-08 Advanced Technology Laboratories, Inc. Scan conversion apparatus and method
EP0158920B1 (en) * 1984-04-02 1991-01-30 Advanced Technology Laboratories, Inc. Scan conversion apparatus
WO2000019234A1 (en) * 1998-09-28 2000-04-06 Boston Scientific Limited Ultrasound imaging with zoom having independent processing channels
US6217517B1 (en) 1998-09-28 2001-04-17 Scimed Life Systems, Inc. Ultrasound imaging with zoom having independent processing channels
WO2007073751A1 (en) * 2005-12-23 2007-07-05 Barco Orthogon Gmbh Radar scan converter and method for transforming
US7327309B2 (en) 2005-12-23 2008-02-05 Barco Orthogon Gmbh Radar scan converter and method for transforming

Also Published As

Publication number Publication date
DE3153416C2 (en) 1989-07-06
GB8418006D0 (en) 1984-08-22
GB2141848A (en) 1985-01-03
JPH0372295B2 (en) 1991-11-18
GB8432555D0 (en) 1985-02-06
GB8418007D0 (en) 1984-08-22
DE3143429C2 (en) 1988-09-01
GB2089537B (en) 1985-10-02
GB2149541A (en) 1985-06-12
DE3143429A1 (en) 1982-10-28
GB2141848B (en) 1985-10-02
GB8506834D0 (en) 1985-04-17
GB2153120B (en) 1986-01-29
GB2149541B (en) 1986-02-05
FR2493649A1 (en) 1982-05-07
JPS57108681A (en) 1982-07-06
FR2493649B1 (en) 1989-04-28
GB2153120A (en) 1985-08-14
CA1173966A (en) 1984-09-04

Similar Documents

Publication Publication Date Title
US4471449A (en) Scan converter system
US4468747A (en) Scan converter system
GB2089537A (en) Scan Converter Apparatus
US4809345A (en) Method of and apparatus for enlarging/reducing two-dimensional images
US4402012A (en) Two-dimensional digital linear interpolation system
US4581636A (en) Scan conversion apparatus and method
JPS58500044A (en) Table lookup of nonlinear functions using small read-only memory
GB2119197A (en) Video processing system for picture rotation
JPH03127282A (en) Radon transforming method of digital image
US4797806A (en) High speed serial pixel neighborhood processor and method
JPH04372285A (en) Electronic zooming system utilizing image buffer
GB2150797A (en) Graphic display system
JPH0812702B2 (en) Pixel generation method and system
US4896283A (en) Iterative real-time XY raster path generator for bounded areas
EP0070311A1 (en) Table look-up of non-linear functions using reduced-sized rom
Yao et al. Run-length slice algorithms for thescan-conversion of ellipses
US4442545A (en) Compaction of television display graphics in phantom-raster-scanned image memory
JPH09231351A (en) Method for resizing picture and computer program product for the method
SU1495843A1 (en) Device for generation of dynamic images
JP2003299651A (en) Digital scan converter
JP2829429B2 (en) Data interpolation circuit
JPH0344772B2 (en)
SU905850A1 (en) Information displaying device
SU805298A1 (en) Graphic information displaying device
KR950009274B1 (en) Ultrasonic waves scan system based on constant rate display interpolator

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 19961102