GB2271043A - Oscilloscope display enhancement technique - Google Patents
Oscilloscope display enhancement technique Download PDFInfo
- Publication number
- GB2271043A GB2271043A GB9219945A GB9219945A GB2271043A GB 2271043 A GB2271043 A GB 2271043A GB 9219945 A GB9219945 A GB 9219945A GB 9219945 A GB9219945 A GB 9219945A GB 2271043 A GB2271043 A GB 2271043A
- Authority
- GB
- United Kingdom
- Prior art keywords
- data
- display
- values
- intensity
- compressed
- 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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/20—Cathode-ray oscilloscopes
- G01R13/22—Circuits therefor
- G01R13/34—Circuits for representing a single waveform by sampling, e.g. for very high frequencies
- G01R13/345—Circuits for representing a single waveform by sampling, e.g. for very high frequencies for displaying sampled signals by using digital processors by intermediate A.D. and D.A. convertors (control circuits for CRT indicators)
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
- G01R13/0218—Circuits therefor
- G01R13/0227—Controlling the intensity or colour of the display
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
When an oscilloscope display is time-base-compressed detail is lost in the displayed waveform. To overcome this the enhancement technique comprises modulating display pixel brightness in accordance with the number of data samples compressed onto each display pixel. Thus highly detailed segments of the compressed waveform are increased in brightness. An analog input waveform 50' is sampled to give data samples D1 - D10. Local MAX and MIN values are determined and a vertical bar 50'' is displayed with its brightness modulated according to the local density of data samples. The bar is brighter where local MAX and MIN ranges overlap (see fig 6). <IMAGE>
Description
TITLE: DISPLAY RESOLUTION ENHANCEMENT
USING DATA COMPRESSION
Technical Field
The present invention relates generally to a system for displaying data, and more
particularly to a display resolution enhancement system using data compression and
overlapping techniques.
Background of the Invention
Information displays such as raster displays, liquid crystal displays (LCDs), plasma
displays, etc., are known in the art. Information displays provide a means for displaying an image based on a collection of data points stored in memory or the like. The.image can be a waveform, a computer-assisted drawing, or any other type of image which can be represented by a collection of data points.
Unfortunately, there are several drawbacks associated with existing methods for displaying data on an information display. For example, a raster display, as well as other types of information displays, has limited resolution as is known. Typically the resolution is defined in terms of the number of horizontal and vertical lines in the display or the number of picture elements (pixels). Using conventional display techniques, an image formed by a collection of data points typically will appear rough and will not include the desired amount of visual detail unless a very high resolution display is available or some type of enhancement is provided.
For example, Fig. la illustrates the display of a single waveform using conventional raster display techniques. The vertical axis represents the amplitude of the waveform and the horizontal axis represents time. In Fig. la, the waveform is reconstructed from 100 data points, each having a respective data value. The manner in which these data points are obtained is not critical to the discussion of the prior art or to the present invention and can be, for example, the output of an analog-to-digital converter. As another example, the data points can be the result of a digital calculation.
Regardless, the data points in Fig. la are displayed using conventional vertical "dot- join" lines connecting adjacent pairs of data points. As is shown, the conventional "dot-join" lines result in the waveform having a discontinuous or "steppy" appearance. The discontinuous appearance of the waveform is typically the result of the limited resolution of the raster display. For example, a typical raster display can display only 500 to 1000 horizontal positions. Most digital oscilloscopes, for example, will display only between 500 to 1000 data points. While displays with increased resolution are available, there are still limitations. For example, displays providing VGA resolution offer an improved minimum resolution of 640 horizontal positions, and displays with XGA resolution increase the minimum number of horizontal positions to 1024.However, at most an improvement in horizontal resolution of only two-fold or three-fold can be expected as technology advances.
Attempts have been made in the past to improve the appearance of the image displayed on the raster display. According to one approach, additional data points are displayed per horizontal position. For example, Fig. ib shows the same waveform shown in Fig. la with the same horizontal resolution. However, the first third of the waveform in
Fig. ib is displayed using an enhancement technique where four data points are displayed per horizontal position rather than a single data point. For each horizontal position, one of the displayed data points corresponds to the original data point shown in Fig. la, whereas the remaining data point positions are based on interpolation. Alternatively, the four data points per horizontal position may be the result of 4x sampling, for example.Most importantly, because the viewer's eye cannot easily distinguish between adjacent horizontal positions on the display, the waveform will better resemble the output of a real-time oscilloscope (RTO) if enough separate points can be displayed.
The above-described approach of adding additional data points per horizontal position is satisfactory for waveforms or other images which do not include discontinuities.
However, there are still several drawbacks associated with displaying waveforms or images which include discontinuities. In Fig. ic the above-mentioned technique of providing additional data points per horizontal position is used to display a square wave. The data points located on the tops and bottoms of the square wave are actually groups of four data points all displayed at the same horizontal and vertical position; however, depending on the slope of the edges of the squarewave, some of the data points may actually be displayed (as is shown on the edge 20), whereas none of the data points may be displayed on another edge such as the edge 21. The thin dotted line which appears in Fig. ic has been added for clarity to show where the waveform edges should be displayed.
Thus, the horizontal resolution of the raster display need not limit the number of data points which are actually displayed and, with respect to some waveforms or images, displaying more data points per horizontal position on the raster display can give acceptable results as is illustrated in Fig. ib. However, the same approach is not satisfactory for discontinuous or fast moving waveforms as is shown in Fig. ic.
Another problem associated with existing techniques for displaying an image on a raster display or other type information display involves the loss of image clarity when the data is compressed. For example, Fig. 2a shows a waveform having several cycles of various amplitudes. For sake of illustration, the waveform is displayed at a much higher horizontal resolution as compared to the example shown in Fig. la. In Fig. 2b, the horizontal "timebase" has been compressed (or slowed down) so that the data points making up the waveform of Fig. 2a occupy only 1/10 of the horizontal display. Using conventional "maximum-minimum" technology, the data points can be compressed to 10:1 and can be displayed without losing the corresponding positive and negative peaks as is shown.
However, the detail between the positive and negative peaks of the waveform is lost. In Fig.
2c, the timebase is reduced even further so that the compression ratio becomes 50:1.
Although the waveform displayed in Fig. 2c indicates that a signal occurred and indicates the maximum and minimum excursions of the waveform, not much more information can be gleaned from the display.
In a real time oscilloscope (RTO) display, on the other hand, there are variations in the displayed intensity of the waveform which relate to the speed and/or slope of the signal involved. More particularly, at slow timebase speeds using an RTO, a waveform's vertical excursions occur with relatively little horizontal motion. As a result, the display elements on the RTO display are retraced and appear brighter as compared to the remainder of the waveform. On the other hand, with a conventional raster display the waveform has a uniform intensity as represented in Fig. 2c and does not provide any indication of signal speed, etc., as a result of variations in the display intensity of the waveform.
Another problem associated with displaying data points on a raster display involves displaying overlapping images. As an example, two or more images, each comprising a separate waveform for example, may overlap on the raster display. In the past, it has been difficult to discern image information from the raster display at the locations where the waveforms overlap or intersect. Because such overlap typically is displayed at the same intensity or color as the remainder of the respective waveforms themselves, it has been difficult to determine relative information regarding the waveforms as is discussed below with respect to Fig. 10.
In view of the aforementioned shortcomings associated with existing techniques for displaying data points on an information display such as a raster display, there is a strong need in the art for an apparatus and method for displaying such data points so as to provide an image which appears more continuous, even for fast-moving waveforms. Furthermore, there is a strong need in the art for a method and apparatus for displaying such data after being compressed while retaining the useful types of information which otherwise are not provided using conventional techniques such as with a raster display.
In addition, there is a strong need in the art for an apparatus and method for displaying data points representing multiple images on an information display to illustrate more clearly the relative overlap of such images. Even further, there is a strong need in the art for an apparatus and method for generating a raster display, for example, which better resembles a display on a real-time oscilloscope. There is a strong need for a raster display which does not appear "steppy" and instead provides a smoother, more continuous looking waveform. In addition, there is a strong need for a method and apparatus which enables a user to distinguish more easily settled levels in a waveform, particularly in the presence of noise, and to differentiate overlapping waveforms.
Summary of the Invention
According to one particular aspect of the invention, a method is provided for displaying digital data, the method including the steps of compressing the data; determining the local density of the compressed data; and displaying the compressed data on a display so as to have an optical characteristic which is a function of the local density of the compressed data.
According to another aspect of the present invention, a method for displaying digital data is provided, the method comprising the steps of compressing a first set of digital data representing a first image; compressing a second set of digital data representing a second image which overlaps the first image at least in part; determining the local density of each of the first and second sets of compressed digital data; and displaying the first and second sets of compressed digital data on a display so as to have respectively an optical characteristic related to the corresponding local density.
Further, according to another aspect of the present invention, a method is provided for displaying digital data comprising a sequence of data values, the method comprising the steps of calculating a first range of values as a function of a first pair of the data values in the sequence; calculating a second range of values as a function of a second pair of the data values in the sequence; determining a degree of overlap of the first and second ranges of values; and representing the first and second pairs of data values on a display, whereby an optical characteristic of the pairs of data values as represented on the display is a function of the degree of overlap.
Still further, according to another aspect of the present invention, a display enhancement apparatus for displaying digital data is provided, the apparatus comprising means for compressing the data; means for generating at least one control instruction representative of the local density of the compressed data; and means for displaying the compressed data on a display as a function of the control instruction such that an optical characteristic of the compressed data is based on the local density.
Still even further, according to another aspect of the present invention, a display resolution enhancement apparatus for displaying digital data representing an image is provided, the apparatus comprising memory means for storing the digital data, the digital data comprising a plurality of data values; and means for comparing pairs of the data values and for producing an output corresponding to each of the pairs which is a function of the range of values defined by the respective pair of data values; means for accumulating the output of the comparator means to generate a plurality of control instructions for controlling an optical characteristic of the image as produced on a display, each of the control instructions representing a degree of overlap of at least two of the ranges of values.
Still even further, according to another aspect of the present invention, a display resolution enhancement apparatus for displaying digital data comprising a plurality of data values is provided, the apparatus comprising means for compressing the data values; means for counting the number of the compressed data values corresponding to each particular display element on the display; and means for generating at least one control instruction to be provided to the display to control an optical characteristic of the compressed data values on the display.
To the accomplishment of the foregoing and related ends, the present invention, then, comprises the features hereinafter fully described and particularly pointed out in the claims.
The following description and the annexed drawings set forth in detail certain illustrative embodiments of the invention. These embodiments are indicative, however, of but a few of the various ways in which the principles of the invention may be employed. Other objects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
Brief Description of the Drawings
In the annexed drawings:
Fig. la is a display of a waveform using conventional data display techniques, wherein actual data points are displayed together with vertical "dot-join" lines;
Fig. ib is a display of a waveform using, in part, another conventional data display technique, wherein multiple data points are displayed per horizontal display position;
Fig. ic is a display of a square-wave waveform using the conventional data display technique referred to with respect to Fig. lb; Fig. 2a is a display of the waveform shown in Fig. la except with a substantially higher horizontal resolution;
Fig. 2b is a display of the waveform of Fig. 2a compressed at a ratio of 10::1 and using conventional maximum-minimum display technology;
Fig. 2c is a display of the waveform of Fig. 2a compressed at a ratio of 50:1 and using conventional maximum-minimum display technology;
Fig. 2d is a block diagram of a display resolution enhancement system in accordance with an embodiment of the invention;
Fig. 2e is a block diagram of another embodiment of a display resolution enhancement system in accordance with an embodiment of the invention;
Fig. 3a is a display of a waveform without display resolution enhancement;
Fig. 3b is a display of the waveform of Fig. 3a with data compression and display resolution enhancement in accordance with an embodiment of the invention;
Fig. 3c is a display of the waveform of Fig. 3b with additional data compression and display enhancement in accordance with an embodiment of the invention; ;
Figs. 4a-4d provide a schematic representation of a display resolution enhancement technique using compressed data in accordance with an embodiment of the invention;
Fig. 5a is an operational flowchart of the display enhancement processor according to an embodiment of the present invention;
Fig. 5b is a memory map for the enhancement processor memory;
Figs. 6a-6d provide a schematic representation of the formulation of an intensity control instruction using the embodiment of the present invention represented in Figs.
5a and 5b;
Fig. 6e is a flowchart illustrating an output operation for generating a display according to an embodiment of the invention;
Fig. 6f is a block diagram of a multi-channel embodiment of the present invention for a monochrome display;
Fig. 6g is a block diagram of a multi-channel embodiment of the present invention for a color display;
Fig. 7 is a block diagram of the display enhancement processor according to another particular embodiment of the invention;
Fig.-8 is a detailed schematic diagram of the display enhancement processor of Fig. 7 in accordance with an embodiment of the invention;
Fig. 9 is a block diagram of another particular embodiment of the display enhancement processor according to an embodiment of the invention;;
Fig. 10 is a photograph of an actual raster display output, wherein the top portion shows multiple overlapping waveforms displayed using conventional display techniques, and the bottom portion shows the same multiple overlapping waveforms displayed in accordance with an embodiment of the invention.
Description of the Preferred Embodiments
Embodiments of the invention will now be described with reference to the drawings wherein like reference numerals are used to refer to like elements throughout.
Referring initially to Fig. 2d, a block diagram of display resolution enhancement system 30 is shown in accordance with one embodiment. The system 30 includes a central processing unit (CPU) 32 which provides the overall control within the system. The CPU 32 is coupled to an enhancement processor 34 via a control/data bus 36.
The enhancement processor 34 is used to compress and process the data to be displayed and provides a set of control instructions based thereon to the CPU 32 via the bus 36. Each control instruction represents one or more optical characteristics of the compressed data.
The CPU 32 uses the control instructions to drive a raster display 38 via a bus 39 in order that an image or images will be displayed on the raster display 38. The system 30 and raster display 38 can be Part of an oscilloscope, for example. It will be noted, however, that although the embodiment is described herein primarily in the context of a display resolution enhancement system for a raster display, other embodiments are equally suited for use with virtually any type of information display, particularly of the type having addressable display elements (e.g., pixels) as will be appreciated.
The data to be displayed includes a plurality of data points or data values ("data values" and "data points" being used interchangeably herein) and is preferably digital data stored in a memory such as a random access memory (RAM) 40 which is connected to the
CPU 32 by way of a bus 42. The data stored in the RAM 40 can represent any one or more electronically stored images such as a waveform, computer-assisted drawing, video image, alpha-numeric characters, etc. The data stored in the RAM 40 is accumulated therein using conventional techniques. For example, the data can be the result of an analog waveform 44 being sampled and digitized using an analog-to-digital converter (ADC) 46. The digitized data representing the analog waveform 44 is output from the ADC 46 and serves as an input to the CPU 32 via a bus 48.The CPU 32 proceeds to store the data representing the analog waveform 44 in the RAM 40 via the bus 42.
The data points stored in the RAM 40 need not be limited to sampled data values from the analog waveform 44. Additional data values may be obtained via interpolation, etc., between the sampled data values. Alternatively, the data values stored in the RAM 40 may be computer generated by the CPU 32 for example. Regardless of how the data stored in the RAM 40 is obtained initially, the embodiment is concerned primarily with the display of such data on the raster display 38.
Typically, the data points to be displayed on the raster display 38 will be the function of at least two parameters. If the data stored in the RAM 40 represents an analog waveform, for example, the data points will usually be a function of amplitude versus time. In a different application such as the display of health related data, the data points may be a function of population versus height, for example. It will be appreciated that the data can be a function of other parameters without departing from the scope of the invention. The system 30 will be described hereinafter primarily with respect to the display of data representing one or more waveforms. However, it will be appreciated that the system 30 can be used to display data points representing other types of images.In addition, it will be appreciated that the data stored in the RAM 40 need not come from the ADC 46, but can come from any source of display data. In fact, the CPU 32 can be used to generate and/or provide display data directly to the enhancement processor 34, thus bypassing the RAM 40 as will be appreciated. Moreover, while the system 30 is described with respect to a vertical scan raster display, it will be appreciated that the same concepts apply for a horizontal scan raster display.
Fig. 2e illustrates an alternate embodiment of the display resolution enhancement system designated 30'. In this particular example, the digitized data from the ADC 46 is input directly into the RAM 40 via a bus 49a rather than via the CPU 32. The enhancement processor 34 receives the digitized data directly from the RAM 40 via a bus 49b; and control instructions are sent directly from the enhancement processor 34 to the raster display 38 via bus 49c. The CPU 32 controls the ADC 46, RAM 40, enhancement processor 34 and raster display 38 via busses 48, 42, 36 and 49d, respectively. The embodiment of Fig. 2e represents primarily a hardware based system, whereas the embodiment of Fig. 2d can be predominantly software driven as will be appreciated. While the embodiment of Fig. 2e will typically be faster, the embodiment of Fig. 2d generally will have a lower cost.
The display resolution enhancement operation of the embodiments will be described initially with respect to Figs. 3a-3c and 4a-4c. Referring to Fig. 3a, a waveform 50 represented by data points stored in the RAM 40 is shown as it would appear on the
raster display 38 without any enhancement. It should be noted that the horizontal resolution
of the raster display 38 in Fig. 3a is much higher than that in Fig. la and is the same as the
horizontal resolution of that raster display in Fig. 2a. However, it will be appreciated that the present invention has application regardless of the particular resolution of the raster
display 38 or other type of information display. Fig. 3b illustrates the waveform 50 after
the data in the RAM 40 has been compressed 10:1 as described.
As is described in detail below, during the compression of the data stored in the RAM
40, the system 30 determines the local maximum and minimum data values in the waveform
50 so as to retain the positive and negative peaks in the waveform 50 as is shown. In
addition, the system 30 processes the data to develop a set of control instructions, preferably
for controlling intensity, which are used to drive the raster display 38. In the preferred
embodiment, the greater the number of data points that are compressed for display on a
given pixel or display element, the brighter that pixel or display element will be. This is
evident in Fig. 3b at the peaks 52 and valleys 53 of the waveform 50 where the intensity of
the pixels representing the waveform 50 is increased.At the steeper, sloped portions of the
waveform 50, such as along the edge 55, the respective pixels have a lower intensity which
causes that portion of the waveform to be dimmer as is shown.
Notably, the visual effect exhibited in Figs. 3b and 3c is the same visual effect that
occurs in a real time oscilloscope with a vector scan display . At slow timebase speeds
relative to the frequency of the input signal, the vertical excursions of the waveform occur
with relatively little horizontal motion. As a result, the display elements on the real time
oscilloscope display are re-traced and will appear brighter. At faster timebase speeds, the
vertical excursions of the waveform occur with relatively greater horizontal motion, thus
resulting in the display elements not being retraced and therefore appearing dimmer.
Figs. 4a-4d provide a graphical representation of how the system 30 actually
compresses and enhances the display of the data stored in the RAM 40 according to one
embodiment. Fig. 4a shows a portion 50' of the waveform 50, although the following process can be applied repeatedly across the entire waveform as will be appreciated. The
vertical lines shown in Fig. 4a represent the sampling times of the ADC 46. In Fig. 4b, the
sampled data values D 1-D 10 are shown, these sampled data values being the data which
would be stored in the RAM 40. The horizontal lines 52 in Fig. 4b have been added to represent the relative amplitudes of the data values. The data values Dl-D10 are stored in
the RAM 40 as mentioned above, preferably in temporal or contiguous order, along with the
other data values representing the remainder of the waveform 50.
In this particular example, it is desired that the system 30 compress and display
waveform 50' by a ratio of 10:1. Fig. 4c graphically represents such compression of the
waveform 50' with a series of three closely spaced vertical lines. The leftmost vertical line
extends from the amplitude level of the data value D1 to the amplitude level of the data value
D3, the data value D3 representing a local maximum. The center vertical line in Fig. 4c extends from the amplitude level of the data value D3 to the next in time local minimum at the amplitude level of the data value D7. The rightmost vertical line in Fig. 4c extends from the data value D7 to the next in time local maximum represented by the amplitude level of the data value D10.Accordingly, each of the vertical lines shown in Fig. 4c represent the range of data values extending between a successive maximum and minimum data value.
Fig. 4d represents how the waveform 50' would actually appear on the raster display
38. Because of the 10:1 compression, the display of the ten data values D1-D10 appears as a single vertical line 50" extending from the minimum value of the data value D7 to the maximum value of the data value D10. However, the intensity of the respective pixels forming the vertical line 50" varies as a function of the degree of overlap of the three vertical lines shown in Fig. 4c. For example, the vertical line 50" is formed of pixels having the highest intensity between the amplitude range defined by the data values D1 and D3, which is the range where all three of the vertical lines in Fig.
4c overlap. The vertical line 50" is formed of pixels displaying a medium intensity in the range defined by the data values D1 and D7, which is the range where only two of the vertical lines in Fig. 4c overlap. The vertical line 50" is formed of pixels exhibiting the lowest intensity in the range defined by the data values D3 and D10 which is the range where only one of the vertical lines in Fig. 4c exists.
Thus, Fig. 4d illustrates graphically how the system 30 is able to display compressed data while retaining useful information such as the local maximum and minimum excursions of the waveform. The variations in the intensity of the displayed waveform portion represented by the vertical line 50" permits the viewer to discern a local minimum 55 and local maximums 56. If a real time oscilloscope (RTO) were to display the waveform 50' at the same compression ratio of 10:1, the real time oscilloscope would produce a vertical trace with the same appearance as the waveform 50". The RTO would trace a portion of the compressed waveform three times (between D3 and D1), others (near the bottom) only twice, and a small peak at the top of the compressed waveform only once.As a result, the display of the RTO would appear to present a vertical trace with three levels of intensity.
It will be appreciated that several more data values representing the remainder of the waveform 50 can be compressed in the same manner for the same or different horizontal display positions in order to display an entire waveform 50 such as that shown in Figs. 3b or 3c. By processing the data values stored in the RAM 40 as described above in order to determine the degree of overlap between the data value ranges defined by the local maximum and minimum data values in the waveform, a set of intensity control instructions are formed by the enhancement processor 34. This set of intensity control instructions is delivered by the CPU 32 to the raster display 38 (Fig. 2d) to produce the compressed data display described herein. In the embodiment shown in Fig. 2e, the set of intensity control instructions are delivered directly from the enhancement processor 34 to the raster display 38.
In the example described above with respect to Figs. 4and, the relative intensity of the pixels (or display elements in the case of a vector scan display, for example) forming the displayed waveform is described as being a function of the overlap of the data value ranges between local maximum and minimum values; however, the relative intensity of the pixels
can also be described according to another predetermined criteria. For example, the pixel
intensity can be described as a function of the local density of the compressed data. As is
shown in Figs. 4a-4d, when the data values D1-D10 are compressed, there is a higher
density, e.g., number of data values, in the range defined by the amplitudes of the data values D1 and D3.Similarly, the densities of the data values in the ranges defined by the amplitudes of the data values D1 and D7, and D3 and D10, are lower and lowest, respectively. Thus, a set of intensity control instructions based on the density of the compressed data values can be used to drive the raster display 38 as is described more fully below.
Referring now to Fig. 5a, the data compression operation of the system 30 according to a first embodiment will be discussed. In this embodiment, the system 30 is predominantly software driven such that the CPU 32 performs the various steps shown in Fig. 5a. The data points stored in the RAM 40 in this embodiment, as well as in the other embodiments described herein, are stored preferably in temporal order, e.g., D1, D2, D3, ..., DT, where
T represents the total number of data points. In addition, the data points are grouped in the
RAM 40 in M groups of L contiguous data points, where M x L = T.
The enhancement processor 34 in this particular embodiment comprises an SRAM 34' (shown in Figs. 2d and 2e) or some other type of memory and which can be, for example, a portion of the RAM 40. Referring briefly to Fig. 5b, the SRAM 34' is divided (notionally) into M blocks 60. Each block 60 corresponds to a group of contiguous data points stored in the RAM 40, and adjacent blocks 60 correspond to contiguous groups of the data points stored in the RAM 40. In the exemplary embodiment in which the data is to be compressed relative to the horizontal (time) axis of the raster display 38, the number M of blocks 60 corresponds to the number M of horizontal positions on the raster display 38.
Each block 60 includes N memory locations 62, the number of memory locations 62 corresponding to the vertical resolution of the data to be displayed. Thus, the SRAM 34' forms an M x N memory array which can store information representative of an entire frame for the M x N raster display 38, where M is equal to the horizontal resolution and N is equal to the vertical resolution. The respective addresses of each memory location 62 are denoted by PxLn which corresponds directly to a pixel position on the raster display 38.
Referring again to Fig. 5a, in step 68 the digital data is stored in the RAM 40 as described above from the ADC 46, for example. In step 70, the system 30 is initialized such that all memory locations Pm,n in the respective blocks 60 are set to "O". In step 72, the values of m and t are initially set to "1", m representing a particular block 60 and t representing the particular data point in the sequence of data stored in the RAM 40. For a compression ratio of L: 1, L + 1 data points are read from the RAM 40 in sequence for each of the M horizontal positions on the raster display 38. As a result, each group of L contiguous data points stored in the RAM 40 will be compressed to form an intensity control instruction in a corresponding block 60 as follows.
The CPU 32 will read the data values from the RAM 40 in temporal order, e.g., D1,
D2, ... DT. In order to generate the set of intensity control instructions for driving the raster display 38, the CPU 32 proceeds to map the data values to the SRAM 34'. Basically, the mapping procedure utilizes line drawing techniques to identify the overlap of line segments or ranges of data values based on the data values acquired from the RAM 40.
Thus, in step 74 the CPU 32 determines whether t = mL + 1 which would indicate the end of a group of data. If not, the system 30 proceeds to step 76 where the next ordered data point Dt is read from the RAM 40. In step 78, the CPU 32 compares successive data values D,, (representing the previous data point in the sequence) and Dt in the group. If the successive data values Dt and D,, are compared in step 78 and the value of D,, is less than the value of Dt, then the two data points describe a line which is sloping upwards.If the successive data values D,, and D, are compared in step 78 and the value of Dt l is greater than or equal to the value of Dt, then the two data points describe a line which is sloping downwards or is horizontal. Thus, lines between successive data points D, and Dt.l can be described in this manner.However, as successive data points are evaluated it will be appreciated that if the next data point D,+l in what had been a non-decreasing series of data values D,.l and Dt, for example, were to be less than the previous data value Dt, then the data values Dt l, D, and D,+l are describing two lines which overlap.
According to this particular embodiment of the invention, such an overlap of lines is displayed using values which are mapped or otherwise written to the SRAM 34' to form the intensity control instruction to increase or decrease the intensity of the display line produced on the raster display 38 as a result of a vertical scan of the block 60 progressing from the lowest to highest address in the block 60. Thus, for example, if D, l is determined to be less than Dt in step 78, a "+1" is added by the CPU 32 in step 80 to the memory location Pm.n=x(t.l) in the corresponding block 60, x(t-i) representing the value of D". In addition, the CPU 32 adds a "-1" to the memory location Pm,n=x(t}+l in the corresponding block 60, x(t) representing the value of Dt.Thus, if the block 60 (designated by m) were to be vertically scanned from the lowest to highest address, the n + in would indicate the beginning of the line segment joining the data values D,, and Dt, and the "-1" would indicate the end of the line segment.
Following step 80, the system 30 proceeds to step 81 where t is incremented by one so that the next pair of successive data values in the group m is compared.
If, in step 78, the CPU 32 determines that D,l is greater than or equal to D, (indicating a downwardly sloping or horizontal line segment), the CPU 32 adds a " to the memory location Pm,n=X{t-1}+1 as is shown in step 82. Furthermore, the CPU 32 adds a "+1" to the memory location P=ffi.x(,) Again, the "+1" and " indicate, respectively, the beginning and end of the line segment joining the two data values, provided the block 60 is to be scanned vertically from the lowest to highest address. The system thereafter proceeds to step 81.It will be noted that the decrementing of a memory location Pm,n corresponding to the greater of the two data values Dt and D,, occurs where n is equal to the greater data value plus one, rather than the position where n is simply equal to the greater data value.
If the data values Dt and Dt-l are equal, Pm,n is decremented, where n equals the value of Dot+,. This "addition" of one to the value of n is a result of the SRAM 34' being scanned vertically from the lowest to highest address. In order to ensure that the line segment represented by the "+1" and "-1" includes the actual value of both data points, the "-l" (signalling the end of the line segment) is stored in the next higher memory location P=. in the block 60.
The system 30 then returns to step 74 and the next pair of successive data values are compared as described above. As a result, the line segments between successive pairs of data values Dt Dt, in the group m are determined and a series of "+l"s and "-l"s are accumulated in the respective memory locations in the corresponding block 60. The accumulated values in each block 60 represent the extent of overlap of the line segments and the relative intensity levels for a vertical scan line can be derived from the contents of the block as described below.
If t is equal to mL + 1 in step 74, thus indicating that the last data value in the particular group has been compared, the CPU 32 proceeds to check in step 84 to determine if there is additional data to be read. If t is not yet equal to ML+ 1 in step 84, the system 30 proceeds to step 86 where m is incremented so as to begin the formation of the next intensity control instruction in the next corresponding block. In step 88, the CPU 32 begins to read another group of data values from the RAM 40. In particular, the CPU reads the next two data points in the sequence, D,, and Dt, respectively. The above described process is then repeated beginning with step 78. If there is no more data to be read from the RAM 40, as determined in step 84 when t = ML + 1, the system 30 proceeds to step 90 whereby the compression operation is completed and the intensity control instructions stored in the blocks 60 can be outputted to the raster display 38 to generate a display frame. The CPU 32 can be programmed to perform all of the above steps and procedures using conventional programming techniques as will be appreciated by those having ordinary skill in the field of programming.
An exemplary application of the method shown in Fig. 5a is represented graphically in Figs. 6a-6d. The group of data to be compressed 4:1 consists of data values D1'-D4' whose relative values are related to their corresponding height as shown in Fig. 6a. Fig. 6a includes the line segments 90-92 (also referred to herein as the range of data values) formed between the successive pairs of data values D1'-D2', D2'-D3', and D3'-D4', respectively.
The value of the data point D1' is less than that of the data point D2' and, as a result, a "+1" is added to the memory location Pm in a block 60 corresponding to the value of the data point D1' as is represented in the column designated D1'-D2' in Fig. 6b. In addition, a "-1" is added to the memory location ')m.n which corresponds to the value of the data point
D2' as is shown in the same column. It will be noted that for the theoretical example presented in Figs. 6a-6d, the "-l" is added to the memory location corresponding to the value of the larger data, not the data value "plus one" as in steps 80 and 82 in Fig. 5a.
Otherwise, the procedure is identical to that shown in Fig. 5a. In practice, the "-1" is added preferably to the memory location corresponding to the larger data value "plus one" to ensure that the larger data value is included in a vertical scan from bottom to top of the block 60 as will be appreciated.
Comparing the next pair of successive data points D2' and D3', it can be seen that the value of D2' is greater than D3'. Therefore, a "-1" is added to the memory location Pm corresponding to the value of D2' and a "+1" is added to the memory location corresponding to the value of D3' as is represented in the column designated D2'-D3' in Fig.
6b. Finally, the next pair of successive data points D3' and D4' are compared wherein the value of D3' is less than that of D4' as is shown in Fig. 6a. As a result, a "+1" is added to the memory location corresponding to the value of D3' and a "-l" is added to the memory location corresponding to the value of D4' as is shown in the column designated D3'-D4' in Fig. 6b.
Accordingly, the group of data points D1'-D4' are mapped sequentially to the block 60. The CPU 32 adds the "+1" and " l "-1" pair to the corresponding memory locations PXk in the block for each line segment formed by the successive data points in the group. The additions of the "+lens and "-lns are accumulated in each particular memory location P=n such that after all the successive data pairs in the group have been compared, the contents of the block 60 will be as that shown in Fig. 6c. The contents of block 60 can then be used as an intensity control instruction for the raster display 38.
More particularly, after the data has been compressed the contents of each block 60 are accumulated by the CPU 32 so as to produce an output which controls the intensity of the raster display 38 during a vertical scan. This procedure is most easily explained graphically with respect to Figs. 6e and 6d. Beginning at the bottom of the block 60 in Fig.
6e (which corresponds to the bottom of the raster display 38 at a respective horizontal position), the accumulated output is initially zero and the corresponding intensity of the vertical trace is zero. Thereafter, the "+1" in the memory location corresponding to the value of the data point D1' is encountered and is accumulated to produce an output equal to 1 which is used to turn on the display intensity of the raster display 38 to a "level 1". The vertical trace remains at the "level 1" intensity until the "+2" value is encountered in the memory location corresponding to the value of the data point D3'. The accumulated output is incremented by two and is used to control the intensity of the vertical trace on the raster display 38 which is thereby increased to a "level 3" as is shown in Fig. 6d.The vertical trace will remain at the "level 3" intensity until the "-2" value is encountered in the memory location in the block 60 corresponding to the value of the data point D2'. As a result, the accumulated output is decremented by two and is used to control the raster display 38 such that the intensity of the vertical trace is reduced to a "level 1". The vertical trace then remains at the "level 1" until the " is encountered in the memory location corresponding to the value of the data point D4'. The accumulated output is decremented by one, or back to zero, such that the intensity of the vertical trace will return to zero.
Fig. 6e provides a flowchart illustrating the above-described output procedure for the intensity control instructions stored in the SRAM 34'. The accumulated output provided by the CPU 32 to the raster display via the bus 39 represents different levels of intensities, for example, and is calculated as follows. In step 91, the system 30 is initialized whereby m and n are set equal to "1" and the accumulated output is zeroed. The data values stored in the SRAM 34' are then read by the CPU 32 in the following manner.
In step 92 the system 30 determines whether n is equal to N, thus indicating the last, or highest, Pm,n value in a block 60 corresponding to the value of m. If not, the value of Pm is read from the SRAM 34' (step 93) and is accumulated with the previous PID,D values stored in the block 60 (step 94) to produce an "output" value. This output value is used to control the intensity of the vertical trace or vertical display elements as is described above. The value of n is incremented in step 95, and the system 30 returns to step 92.
If in step 92 n is equal to N, the system 30 proceeds to step 96 where m is incremented, n is set equal to "1", and the "output" value is reset to zero for the start of another vertical trace for the next horizontal position on the raster display 38. In step 97 it is determined whether m is equal to M, thereby indicating that all the values from the SRAM 34' have been read to generate a complete display frame. If yes, the system 30 proceeds to step 98 and exits the output routine of Fig. 6e. If m is not equal to M in step 97, the system 30 proceeds to step 92 whereby the control instruction for the next vertical trace is generated in the same manner described above.
A vertical trace is thereby generated on the raster display 38 at each of the M horizontal positions based on the intensity control instruction in the respective blocks 60, each compiled in the manner described above. In other words, each block 60 contains a string of N memory locations, the value stored in each location corresponding to grey scale increment/decrement information, for example, used to display a vertical scan line according to the present invention. Depending on the speeds of the RAM 40 and SRAM 34', how the above described method is partitioned between hardware and software (e.g., Figs. 2e and 2d, respectively, the number of data points being compressed, etc.), the overall display frame rate can be as fast as most CRT monitors, so that the display can appear live.
Embodiments have been described with respect to single channel operation thus far. However, multiple channels and/or color operation can be accomplished simply by repeating the above procedure for each channel and combining the results via a multiplexer or the like.
In particular, the embodirrents provide enhanced viewing of overlapping images produced on the raster display 38 or other type information display. For example, Figs. 6f and 6g illustrates how overlapping images can be displayed according to the present invention. In Fig. 6f, the respective intensity control instructions for two different channels of data (e.g., channel 1 and channel 2) stored in equivalent blocks 60a and 60b can be combined to result in a single intensity control instruction stored in a block 60'. The contents of the respective memory locations (e.g., a-g) in the corresponding blocks 60 for channels 1 and 2 are input into an adder 100 which adds the contents of the corresponding memory locations in each block.Thus, for example, the embodiment of Fig. 6f produces intensity control instructions which represent the overlapping images and which cause the raster display 38 to exhibit an intensity which is the summation, on a per pixel basis, of the individual intensities for the images from each channel. Alternatively, some other criteria can be utilized for displaying the overlapping images.
For example, Fig. 6g illustrates a multi-color, multi-channel embodiment wherein areas on the raster display 38 where the respective images overlap are displayed based on the intensity of the image having the highest intensity at the pixel or pixels where such overlap occurs. In this particular example, each channel is to be displayed in a respective color, e.g., red for channel 1 and blue for channel 2. It is desired that the image from the channel having the greater intensity have priority in the composite intensity control instruction stored in the block 60'. As a result, a comparator 102 is provided for determining the larger of the values in the corresponding memory locations in the blocks 60a and 60b from channels 1 and 2. The larger of the values (representing the higher intensity) is placed in the corresponding memory location in the block 60' as is shown.The composite intensity control instruction in the block 60' is then provided to the CPU 32 to generate an accumulated output for the raster display 38 in the same manner described above.
In addition, the comparator 102 (via the CPU 32 or other software/hardware), generates a color instruction 105 for each memory location in the block 60' indicating the color to be used in generating the actual display (e.g., 1 = red, 2 = blue), the color being the color of the channel having the highest intensity at that particular location. This color instruction can be provided simultaneously with the intensity control instruction to drive the raster display, the color instruction providing relevant color information on a per pixel basis.
It will be appreciated that the overlapping techniques described herein have application even when the compression ratio is 1:1 such that the system does not actually compress the data stored in the RAM 40. However, such overlapping techniques are still contemplated as being within the scope of the invention.
Referring now to Fig. 7, a hardware based implementation of the enhancement processor 34 is shown. In the exemplary embodiment a four channel device is illustrated.
The data representing the respective images for each channel 1-4 is read from the RAM 40 in order just as in the previous embodiment and is provided on lines L,-h. The values of each pair of successive data values from the RAM 40 are shifted into a set of data registers 110 and 111 for each channel. A four-to-one multiplexer 113 is connected to the outputs of respective sets of data registers 110 and 111 is used to select which particular channel the data is obtained from at a given time. For a single channel system, the multiplexer 113 would not be necessary as will be appreciated. The operation of the enhancement processor 34 is the same for each of the channels, and therefore the following description will be limited primarily to a single channel such as channel 1.
After the values of the first pair of successive data points (e.g., Dt and D,,) have been entered in the data registers 110 and 111 in channel 1, a comparator 115 determines whether the data value in the data register 110 is larger or smaller than the data value in the data register 111. Depending on the result of the comparison, the higher data value is presented to a thermometer "down" decoder bank 117 via an input line 118, and the lower data value is presented to a thermometer "up" decoder bank 119 via an input line 120. When the data values in the data registers 110 and 111 are equal, it does not matter which particular data value is presented to which decoder bank as the same value will be input to each.
In the exemplary embodiment, the data values stored in the RAM 40 are eight-bits in size which corresponds to a vertical resolution of 256. Accordingly, both the "down" decoder 117 and the "up" decoder 119 have 256line outputs 122 and 123, respectively.
Each output line in the outputs 122 and 123 represents a corresponding vertical position, and the respective outputs 122 and 123 are input to an AND gate array 125.
The "down decoder 117 produces a logical "1" output on each output line in the
output 122 ranging from the output line corresponding directly to the value of the input data value, down through the output line representing the zero vertical position. The remaining lines in the output 122 have a logical "0" as an output. Similarly, the "up" decoder 119 produces a logical "1" output on each output line in the output 123 ranging from the output line corresponding directly to the value of the input data value, up through the output line representing the 256th vertical position.
The corresponding output lines from the outputs 122 and 123 are ANDed together by the AND gate array 125 to produce an output on a bus 127 having 256 lines, again each line corresponding to a vertical position. As will be appreciated, the ANDing together of the outputs from the resective decoders 117 and 119 produces an output on bus 127 which represents the range of values between the two data values stored in the data registers 110 and 111. Stated another way, the output of the AND gate array 125 corresponds to a "dotjoin" line segment starting at the lower value of the two data points and extending to and including the higher value data point.
After each comparison of a pair of successive data values (e.g., D1-D2, D2-D3, etc.) in the data registers 110 and 111, the AND gate array output on bus 127 is clocked into a bank of counters 130 which includes a separate counter for each line in on the bus 127.
Thereafter, the next pair of successive data values in the RAM 40 are compared in the same manner. As a result, the data stored in the RAM 40 will be compressed and the value of each counter in the bank 130 will correspond to the number of times the pixel corresponding to that particular vertical position has been "written to" by the data being compressed.
The value of each respective counter in the preferred embodiment represents the relative pixel intensity. At the end of a compression cycle (50 successive data points if the compression ratio is 50:1), the accumulated pixel intensity values from the respective counters are strobed into an output register 132. The contents of the output register 132 represent an intensity control instruction for the corresponding horizontal position on the raster display 38. Each vertical pixel can then be displayed at an intensity corresponding to its corresponding counter value. After the values of the counters have been strobed into the output register 132, the counter values from the output register 132 are delivered by the CPU 32 to the raster display to generate a vertical trace.The counters are then reset and the process begins over again beginning with the next compression cycle (e.g., beginning with the 51st and 52nd data points).
Referring briefly to Fig. 8, a detailed embodiment of the enhancement processor 34 of Fig. 7 is shown. Although only a portion of the enhancement processor 34 is shown, it will be appreciated that a full implementation is simply more of the same combined in parallel using carry outputs 133 and carry inputs 134. Describing briefly the thermometer "down" and "up" decoders 117 and 119, each are split into thirty-six stages of seven outputs and one stage of four outputs. Each stage includes a predecoder 140 which eliminates the need for logic gates having more than eight inputs.
Thus, each stage of the "down" and "up" decoders 117 and 119 includes a bank of
AND gates 142 and OR gates 143 employing ripple-through logic to minimize gate delays.
The predecoder 140 breaks the total range of 256 possible data values into groups of not more than 7 at a time (so as to avoid the need for the AND gates 142 to have more than eight inputs, the eighth input being used for the carry bit). The predecoder 140 determines which of the 37 stages will be active by enabling the LSB outputs to the block which corresponds to the data value being decoded. All the other pixels below this value (for the "down" decoder) will be "set" by the action of the carry from the 8-input OR to all stages below it. Accordingly, the predecoder 140 is a 1 of 37 decoder operating on the most significant 6-data bits.
Because only one gate delay is added in each stage, the complete thermometer decoding process can be completed in about 38 nanoseconds, even for a data value representing full scale vertical position on the raster display. It will be appreciated, however, that different designs can be used for the decoders 117 and 119, keeping in mind the trade-offs involving complete parallelism and gate count.
In the particular embodiment shown in Fig. 8, an output readout counter circuit 146 is included for retrieving each intensity control instruction from the output register 132. The data from the output register 132 is ANDed (via AND gates 141) with a 1 of 256 enable from a vertical position counter 146 in an output circuit 147. The outputs of the AND gates 141 are ORed together by several levels of OR gates (represented by OR gates 148) so that a three-bit intensity level control word is formed corresponding to a vertical position on the raster display 38 based on the vertical position counter 146 output. The vertical position counter 146 runs synchronously with the vertical position counter (not shown) of the raster display 38 (Fig. 2d) in order to generate a display.Alternatively, each intensity control instruction from the output register 132 can be written to an intmnediate storage memory for subsequent display.
Exemplary technical data for the four channel embodiment of the enhancement processor 34 shown in Figs. 7 and 8 is as follows. The enhancement processor 34 handles 25,000 data points per channel per frame at a frame rate of 60 Hz. Data is processed at a 10 MHz rate to provide a 256 point serial intensity output with eight different levels of intensity. If four channels are not necessary, up to 100,000 data points from a single channel could be processed at the same overall output rate. Because of the four parallel inputs (via lines L1-L4) to the data registers 110 from the RAM 40, the display data can be read in parallel from four separate memory areas within the RAM 40 at a 2.5 MHz rate.
If color is required for the display, the output register 132 can be duplicated to provide separate parallel outputs for each trace (i.e., blue, green and red traces). The three bit counters used in the counter bank 130 to provide eight levels of intensity can be extended if desired to provide additional levels of intensity as will be appreciated. According to the exemplary embodiment, a four channel monochrome enhancement processor 34 would use approximately 14000 gates whereas a color version may require approximately 25000 gates.
Fig. 9 illustrates still another embodiment of the enhancement processor 34. In this exemplary embodiment, the data values stored in RAM 40 are eight bits in size which corresponds to a vertical resolution of 256. The enhancement processor includes a set of eight bit latches 160. The latches are used to store a set of L time ordered data values from the RAM 40 which are to be compressed into one of the M blocks 60 on the display.
Therefore, for a compression ratio of 50:1 there would be fifty latches 160. Fig. 9 illustrates only 5 such latches, although it will be appreciated that the remaining latches will be identical. The group of data values to be compressed are input to the enhancement processor 34 from the CPU 32 via the bus 36. Alternatively, for a system as shown in Fig.
2e, the group of data values to be compressed are input to the enhancement processor 34 from the RAM 40 via the bus 49b. The data values are preferably loaded in sequence into the respective latches 160 using the strobe lines 162. If required for speed of operation, two banks of latches can be used, one bank being loaded while the second bank is used to calculate the output.
Each latch 160 has associated therewith an eight bit comparator 164. The latch contents are compared with the output of an eight bit counter 168 which is incremented from
O to 255 by the clock 190, the count corresponding to the N respective positions of the raster display 38 having a resolution of 256 in this embodiment. When the contents of a particular latch 160 equal that of the counter 168, the output 170 of the comparator 164 goes active.
For each pair of outputs 170 there is an associated logic state machine 175 with three outputs which go active on first data value 192, on second data value 193, and on in-between data values 194. When either of the two inputs 170 goes active the output 192 or 193 corresponding that input goes active. If both inputs 170 go active at the same time, then both the outputs 192 and 193 will be active together. As the counter 168 counts up, if one of the inputs to the logic state machine 175 becomes active before the other, then on the next input from the clock 190 the in-between points output 194 will go active and remain so until the other input 170 becomes active.
The outputs from all the logic state machines are then summed by the binary adder network 180. Thus, the value output by the binary adder will provide a measure of the local density of the data values for each respective vertical position. This can be used as an intensity control instruction to control the relative intensity of each pixel in the vertical scan.
If required the 256 data points can be latched by the output latch 182. These intensity control values can then either be output directly to the display 38 or to the CPU 32 for later display.
This process is then repeated to generate the vertical scan for the next horizontal position. In order to provide multi-channel or color operation the enhancement processor could be used repeatedly to build the vertical scans for each channel, or the same circuit configuration shown in Fig. 9 could be repeated for each channel and/or color trace.
Fig. 10 provides a comparison of displays generated using a conventional data display technique and the technique represented in Fig. Sa. The upper portion of Fig. 10 shows four overlapping images, in this case waveforms, displayed using a conventional technique. In particular, data representing an overlapping noisy sine wave, pulses with ringing, a television frame waveform, and a relatively noise free sine wave is displayed in such manner where each pixel has a uniform intensity. It will be noted that it is very difficult to differentiate overlapping images or traces based on the conventional technique.
The lower portion of Fig. 10 shows the same four waveforms displayed using the present invention where the intensity of the traces is a function of the local density and/or overlap of the data and where the respective intensities of the overlapping traces are added.
It will be noted that it is much easier to differentiate overlapping traces. Referring to the pulses with ringing, it will be noted that the vertical edges appear to be finer than the brighter horizontal portions (better resembling a real-time oscilloscope). The ringing at the top and bottom of each pulse appears to be much smoother, and it is easier for the viewer to pick out the final settled level for the top and bottom pulses. With respect to the noisy sine wave, it is possible to see some structure within the noise that is not visible in the corresponding trace displayed in the upper portion. As for the television frame waveform, it is possible to see a baseline level and the voltage level of each of a pattern of grey bars (eight levels in this particular instance). Such resolution is not distinguishable using the conventional display technique.
Although the invention has been shown and described with respect to certain preferred embodiments, it is obvious that equivalents and modifications will occur to others skilled in the art upon the reading and understanding of the specification. The present invention includes all such equivalents and modifications, and is limited only by the scope of the following claims.
Claims (29)
1. A method for displaying digital data, said method comprising the steps of:
compressing said data;
determining the local density of said compressed data; and
displaying said compressed data on a display so as to have an optical characteristic which is a function of the local density of said compressed data.
2. The method of claim 1, wherein said optical characteristic comprises the intensity of said compressed data.
3. The method of claim 1, wherein said display is at least one of an oscilloscope display, a liquid crystal display, a plasma display, and a raster scan display.
4. The method of claim 1, wherein said data comprises sampled data and data interpolated from said sampled data.
5. The method of claim 1, wherein said data represents at least one waveform.
6. The method of claim 5, wherein said data is a function of at least two parameters, said parameters being related to time and amplitude.
7. The method of claim 6, wherein said data is compressed with respect to said time parameter.
8. A method for displaying digital data, said method comprising the steps of:
compressing a first set of digital data representing a first image;
compressing a second set of digital data representing a second image which overlaps said first image at least in part;
determining the local density of each of said first and second sets of compressed digital data; and
displaying said first and second sets of compressed digital data on a display so as to have respectively an optical characteristic related to the corresponding local density.
9. The method of claim 8, wherein said optical characteristic comprises the intensity of said compressed first and second sets of digital data as represented on said display.
10. The method of claim 9, wherein said overlap is displayed with an intensity as a function of an individual intensity of each of said first and second sets of compressed digital data.
11. The method of claim 10, wherein said overlap on said display has an intensity based on the individual intensity having the highest intensity at said overlap.
12. The method of claim 10, wherein said overlap on said display has an intensity which is a function of the summation of the individual intensities.
13. The method of claim 8, wherein said method provides an oscilloscope display.
14. A method of displaying digital data comprising a sequence of data values, said method comprising the steps of:
calculating a first range of values as a function of a first pair of said data values in said sequence;
calculating a second range of values as a function of a second pair of said data values in said sequence;
determining a degree of overlap of said first and second ranges of values; and
representing said first and second pairs of data values on a display, whereby an optical characteristic of said pairs of data values as represented on said display is a function of said degree of overlap.
15. The method of claim 14, wherein said optical characteristic comprises the intensity at which said first and second pairs of data values are represented on said display.
16. The method of claim 14, wherein each of said first and second pairs of data values comprise successive data values in said sequence.
17. The method of claim 14, wherein said digital data comprises sampled data and data interpolated from said sampled data.
18. The method of claim 14, wherein said digital data represents overlapping images.
19. The method of claim 14, wherein said method provides an oscilloscope display.
20. The method of claim 19, wherein said digital data represents at least one waveform.
21. A display enhancement apparatus for displaying digital data, said apparatus comprising:
means for compressing said data;
means for generating at least one control instruction representative of the local density of said compressed data; and
means for displaying said compressed data on a display as a function of said control instruction such that an optical characteristic of said compressed data is based on said local density.
22. The apparatus of claim 21, wherein said optical characteristic comprises the intensity of said compressed data on said display.
23. A display resolution enhancement apparatus for displaying digital data representing an image, comprising:
memory means for storing said digital data, said digital data comprising a plurality of data values;
means for comparing pairs of said data values and for producing an output corresponding to each of said pairs which is a function of the range of values defined by the respective pair of data values; and
means for accumulating the output of said comparator means to generate a plurality of control instructions for controlling an optical characteristic of said image as produced on a display, each of said control instructions representing a degree of overlap of at least two of said ranges of values.
24. The apparatus of claim 23, wherein said optical characteristic comprises the intensity of said image at a location on said display corresponding to a respective one of said control instructions.
25. The apparatus of claim 24, wherein said means for accumulating comprises a memory having address locations corresponding to each display element on said display.
26. The apparatus of claim 25, wherein each output from said comparing means is accumulated in a corresponding at least one of said address locations in said memory to generate said control instructions.
27. A multi-channel display resolution enhancement apparatus comprising at least two of the apparatus of claim 23.
28. A display resolution enhancement apparatus for displaying digital data, said digital data comprising a plurality of data values, said apparatus comprising:
means for compressing said data values;
means for counting the number of said compressed data values corresponding to each particular display element on said display; and
means for generating at least one control instruction to be provided to said display to control an optical characteristic of said compressed data values on said display.
29. The apparatus of claim 28, said optical characteristic comprising the intensity of said display elements on said display.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9219945A GB2271043B (en) | 1992-09-21 | 1992-09-21 | Display resolution enhancement using data compression |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB9219945A GB2271043B (en) | 1992-09-21 | 1992-09-21 | Display resolution enhancement using data compression |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| GB9219945D0 GB9219945D0 (en) | 1992-11-04 |
| GB2271043A true GB2271043A (en) | 1994-03-30 |
| GB2271043B GB2271043B (en) | 1996-05-22 |
Family
ID=10722253
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GB9219945A Expired - Fee Related GB2271043B (en) | 1992-09-21 | 1992-09-21 | Display resolution enhancement using data compression |
Country Status (1)
| Country | Link |
|---|---|
| GB (1) | GB2271043B (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2295948A (en) * | 1994-12-08 | 1996-06-12 | Tektronix Inc | Graded display of digitally compressed waveforms |
| EP0701137A3 (en) * | 1994-09-07 | 1996-09-18 | Fluke Corp | Method of displaying continuously acquired data on a fixed length display |
| EP0677746A3 (en) * | 1994-04-13 | 1996-10-23 | Tektronix Inc | Digital oscilloscope architecture for signal monitoring with enhanced duty cycle. |
| GB2271699B (en) * | 1992-10-13 | 1997-02-05 | Gould Inc | Display resolution enhancement |
| WO1997044677A1 (en) * | 1996-05-24 | 1997-11-27 | Lecroy, S.A. | Digital oscilloscope display and method therefor |
| EP0935233A3 (en) * | 1998-01-16 | 2000-11-22 | Honeywell Inc. | Display of visual data utilizing data aggregation |
| WO2008043420A1 (en) * | 2006-10-10 | 2008-04-17 | Rohde & Schwarz Gmbh & Co. Kg | Method and device for the illustration of ordinate/abscissa value pairs on a display unit |
| CN102998501A (en) * | 2012-12-28 | 2013-03-27 | 福建利利普光电科技有限公司 | Method for achieving data compression of digital oscilloscope based on field programmable gata array |
| CN109975589A (en) * | 2017-12-27 | 2019-07-05 | 北京金风科创风电设备有限公司 | Data processing method and device, display device, computer readable storage medium |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2214764A (en) * | 1988-01-29 | 1989-09-06 | Tektronix Inc | Pixel intensity modulation in a waveform display |
| EP0347901A2 (en) * | 1988-06-24 | 1989-12-27 | Anritsu Corporation | Digital waveform measuring apparatus having a shading-tone display function |
-
1992
- 1992-09-21 GB GB9219945A patent/GB2271043B/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2214764A (en) * | 1988-01-29 | 1989-09-06 | Tektronix Inc | Pixel intensity modulation in a waveform display |
| EP0347901A2 (en) * | 1988-06-24 | 1989-12-27 | Anritsu Corporation | Digital waveform measuring apparatus having a shading-tone display function |
Cited By (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2271699B (en) * | 1992-10-13 | 1997-02-05 | Gould Inc | Display resolution enhancement |
| EP0677746A3 (en) * | 1994-04-13 | 1996-10-23 | Tektronix Inc | Digital oscilloscope architecture for signal monitoring with enhanced duty cycle. |
| EP1074845A3 (en) * | 1994-04-13 | 2001-02-14 | Tektronix, Inc. | Digital oscilloscope architecture for signal monitoring with enhanced duty cycle |
| EP0701137A3 (en) * | 1994-09-07 | 1996-09-18 | Fluke Corp | Method of displaying continuously acquired data on a fixed length display |
| GB2295948A (en) * | 1994-12-08 | 1996-06-12 | Tektronix Inc | Graded display of digitally compressed waveforms |
| DE19545776A1 (en) * | 1994-12-08 | 1996-06-20 | Tektronix Inc | Graduated display of digitally compressed waveforms |
| US6151010A (en) * | 1996-05-24 | 2000-11-21 | Lecroy, S.A. | Digital oscilloscope display and method therefor |
| WO1997044677A1 (en) * | 1996-05-24 | 1997-11-27 | Lecroy, S.A. | Digital oscilloscope display and method therefor |
| EP1340987A3 (en) * | 1996-05-24 | 2004-05-12 | Lecroy S.A. | Digital oscilloscope display and method therefor |
| EP0935233A3 (en) * | 1998-01-16 | 2000-11-22 | Honeywell Inc. | Display of visual data utilizing data aggregation |
| WO2008043420A1 (en) * | 2006-10-10 | 2008-04-17 | Rohde & Schwarz Gmbh & Co. Kg | Method and device for the illustration of ordinate/abscissa value pairs on a display unit |
| US8228331B2 (en) | 2006-10-10 | 2012-07-24 | Rohde & Schwarz Gmbh & Co. Kg | Method and device for displaying ordinate-abscissa value pairs on a display device |
| CN102998501A (en) * | 2012-12-28 | 2013-03-27 | 福建利利普光电科技有限公司 | Method for achieving data compression of digital oscilloscope based on field programmable gata array |
| CN102998501B (en) * | 2012-12-28 | 2015-06-10 | 福建利利普光电科技有限公司 | Method for achieving data compression of digital oscilloscope based on field programmable gata array |
| CN109975589A (en) * | 2017-12-27 | 2019-07-05 | 北京金风科创风电设备有限公司 | Data processing method and device, display device, computer readable storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| GB9219945D0 (en) | 1992-11-04 |
| GB2271043B (en) | 1996-05-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0681280B1 (en) | Vertical filtering method for raster scanner display | |
| US4591897A (en) | System for generating a display of graphic objects over a video camera picture | |
| US6421090B1 (en) | Motion and edge adaptive deinterlacing | |
| EP1026630B1 (en) | Image downsampling using redundant pixel removal | |
| US5434593A (en) | Display resolution enhancement using data compression and overlapping techniques | |
| US6144770A (en) | Motion detection method and apparatus | |
| US5793379A (en) | Method and apparatus for scaling images having a plurality of scan lines of pixel data | |
| US7139426B2 (en) | Histogram data collector for applying progressively adjusted histogram equalization to an oscilloscope image | |
| US5454071A (en) | Method and apparatus for performing object sorting and edge calculation in a graphic system | |
| GB2271043A (en) | Oscilloscope display enhancement technique | |
| JPH11282394A (en) | Vector conversion method | |
| US5291188A (en) | Method and apparatus for allocating off-screen display memory | |
| US4389672A (en) | Display of pseudo-gray scale picture signals on multilevel displays | |
| JP3294867B2 (en) | Matrix screen image display method | |
| US4710764A (en) | Device for obtaining continuous plots on the screen of a display console controlled by a graphic processor | |
| DE2811699A1 (en) | Echo signal ultrasonic diagnostic appts. - uses processing circuit with sectional memory and scanning system between two converters | |
| US4777486A (en) | Video signal receiver for computer graphics system | |
| JPS62143555A (en) | Metod of improvemrnt of vertical resolution of output of optical scanner and optical scanner employing the method | |
| DE4331532C1 (en) | Method for digitising, storing and playing back (replaying) video images (pictures) | |
| JPH087093A (en) | Image display device | |
| HK1012458B (en) | Vertical filtering method for raster scanner display | |
| JP3411950B2 (en) | Motion detection device | |
| HK1013160B (en) | Vertical filtering method for raster scanner display | |
| JPS5844487A (en) | Image display | |
| HK1012457B (en) | Vertical filtering method for raster scanner display |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 732E | Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977) | ||
| PCNP | Patent ceased through non-payment of renewal fee |
Effective date: 20010921 |