Method for generating variably scaled displays

Abstract: Portions of an image generated on an electronic display device are magnified for closer examination while other areas are compressed so that no material is lost from the total viewing area. To achieve this, the image is divided into segments with some assigned scaling functions having values greater than one and others assigned scaling functions having values less than one in a manner such that the mean value of the scaling functions across the screen is one. A transformation function is generated for each segment as a function of the assigned scaling functions. Each image point is then transformed using the appropriate transformation function and a rescaled image is generated from the rescaled image points. The variably scaled image can be generated on a touch screen device such that an area to be magnified can be designated by touching the screen at the desired location and the value of the scaling function can be set as a function of the length of time that the screen is touched.

Description: This invention relates to generating visual displays of spatially related material, such as schematic diagrams and flow charts, on electronic display devices such as cathode ray tubes, and, more particularly, to magnifying portions of such displays without changing the boundaries of the total viewing area and without losing the spatial relationship between the material that is magnified and the remaining material. The display of large area illustrations on limited area devices such as cathode ray tubes poses the dilemma of having to chose between display of the total area at reduced magnification or display of partial areas at normal or increased magnification. An example of this predicament is the display of schematic diagrams or flow charts where it is desired to see the overall layout and structure and, on the same display, to have sufficient magnification to see local detail and annotation. The conventional solution to this problem is to have separate displays of different magnifications and an observer must then switch between displays to satisfy the need for both detailed information and overall structure and context. This solution is not only aggravating but requires the observer to remember information from one display while using another. When the needed information extends over several partial area displays of normal magnification, the observer's work load and memory requirements can be such that the displays become unusable. It is a primary object of the invention to provide a method for expanding selected portions of an image presented in a display area of fixed dimensions without eliminating any of the presented image. Reference is made to prior art document GB-A-2139846 which describes a method of variably scaling an image composed of a plurality of image points for display within a display area of fixed dimensions, without altering the boundaries of the total image area displayed, which comprises the steps of: dividing the total image into image area segments; assigning a scaling function to each image area segment; generating a transformation function for each image area segment as a function of the associated scaling functions; transforming image points for each image area segment in accordance with the associated transformation function; and generating on said display device a rescaled image utilising the transformed image points. The invention consists in a method of variably scaling an image composed of a plurality of image points for display within a display area of fixed dimensions, without altering the boundaries of the total image area displayed, the method including: dividing the total image into image area segments, assigning a scaling function to each image area segment, generating a transformation function for each image area segment as a function of the associated scaling functions, transforming image points for each image area segment in accordance with the associated transformation function, and generating on said display device a rescaled image utilising the transformed image points, characterized in that said scaling functions are assigned such that the scaling function values in at least one segment are greater than one and the scaling function values in at least another segment are smaller than one, but the mean scaling function value over the total image area is equal to one in all directions. The above and other objects are realized by variably scaling an image such that the entire image or a part thereof includes portions which are shown at increased magnification and other portions which are shown at reduced magnification, but with the mean magnification across the entire image remaining equal to one. More particularly, the image area can be divided into image area segments. Each image area segment is assigned a scaling function such that the mean value of the scaling functions across the entire viewing area equals one. A transformation function is generated for each image area segment as a function of the associated scaling function. Image points for each image area segment are transformed in accordance with the associated transformation function. A rescaled image is then generated utilizing the transformed image points. As an alternative to dividing the image area into segments, each with its own scaling function, a single, continuously variable scaling function which has a mean value of one, such as a trigonometric function, can be applied to the entire image area or a portion thereof. This variable scaling may be applied in only one coordinate or both. In any event the mean value of the scaling function across the entire image must be equal to one. In order to eliminate distortion in the area to be examined in greater detail, a scaling function having a constant value greater than one can be applied to the desired portion of the image. Since the remaining area of the image must be compressed to stay within the fixed viewing area, it is desirable to have the magnitude of the scaling function which is greater than one be an inverse function of the size of the image area segment to be magnified. This will limit the distortion of the compressed area having scaling function values less than one. In fact, a preferred arrangement is to select the size of the image area segment to be magnified such that the area covered by it when magnified remains a constant for all values of the scaling function. Thus, by selecting the scaling function, the area to be magnified is set, or vice versa. This arrangement may be implemented by generating the image on a touch screen. The area to be magnified may be designated, for instance, by touching the image at the desired center of the area. The value of the scaling function, and therefore also the size of the area to be magnified, can be set as a function of the length of time that contact is maintained with the touch screen at the center of the area to be magnified. In a preferred embodiment of the invention, the image area segment to be magnified by a scaling function having a constant value is circular. The value of the scaling function by which the remaining area of the image is compressed varies as a function of the radial distance between the center of the magnified area and the edge of the total image area for all angular positions around the circular magnified area. The shorter the radial distance, the greater the compression. Thus, where the magnified image area segment is close to one corner of a rectangular image, the area between the magnified segment and the nearby edges is more highly compressed than other portions of the image outside the magnified area. To reduce distortion at the boundary between an area of constant magnification and the surrounding area, a transition area can be provided around the magnified area with a scaling function having a value between those of the scaling function with a constant value and the scaling function for the remainder of the image. While the technique of variably scaling an image will produce some distortion, this distortion can be reduced as indicated, and in any event, for diagrams such as schematics or flow charts, where layout is a matter of convenience, this distortion produces no loss of information or intelligibility. The preferred embodiment of the invention will be described, by way of example, with reference to the accompanying drawings in which: Figure 1 is a diagram illustrating a piecewise linear scaling transformation in accordance with the teachings of the invention; Figure 2 illustrates a display generated using the transformation of Figure 1; Figure 3 is an illustration of a display generated using a continuously variable scaling transformation; Figure 4 is a diagram illustrating a trigonometric scaling function used to generate the display of Figure 3; Figure 5 is an illustration of a display using a constant scaling function having a value greater than one in a circular image area; Figure 6 is an illustration of a display using a transition area with variable scaling around the circular area to which a constant scaling function having a value greater than one is applied to reduce distortion at the boundary with the compressed area; Figure 7 is a schematic diagram of a system constructed in accordance with the invention for generating variably scaled displays; and Figure 8 is a flow chart illustrating operation of the system of Figure 7 in accordance with the invention. The invention will be described, for example, as applied to displaying a flow chart or a schematic diagram. In carrying out the invention, selected segments of the viewing area are magnified. When a segment of the illustration is enlarged, other segments must be compressed by an equivalent amount in order to contain the total image within a fixed display area. This is accomplished through a scaling of coordinate values such that the mean value of the scaling function S, over the total viewing area equals one. In this regard, the scaling transformations can be represented in Cartesian coordinates by the equations: where x′ = the new location of the x coordinate of an image point, y′ the new location of the y coordinate, and f(x,y) and g(x,y) represent the pointwise scaling functions in the two axes. The mean values of the scaling functions S x and S y for the x and y axes respectively, which must both equal one, are then defined by the equations: An example of a piecewise linear scaling transformation in the x axis only is shown in Figure 1. In this example, the scaling is invariant (scale factor is 1) for x≦x₀ and x≧x₀+8. For x₀<x<x₀+2, and x₀+6<x<x₀+8, the scaling transformation is one of compression (the value of the scaling function is less than 1) and for x₀+2<x<x₀+6 the scaling transformation is that of expansion (the value of the scaling function is greater than 1). More specifically the values of the scaling functions are as follows: S₀ = 1 x≦x₀ S₁ = 1-(x-x₀) x₀<x≦x₀+1 S₂ = x-(x₀+1) x₀+1<x≦x₀+2 S₃ = 0.5(x-x₀-2)+1 x₀+2<x≦x₀+4 S₄ = 2-0.5(x-x₀-4) x₀+4<x≦x₀+6 S₅ = 1-(x-x₀-6) x₀+6<x≦x₀+7 S₆ = x-(x₀+7) x₀+7<x≦x₀+8 S₇ = 1 x₀+8≦x where the expressions for S₀ through S₇ are the equations for the line segments in Figure 1. As can be appreciated from Figure 1, the mean value of the scaling functions across the range x₀≦x≦x₀+8 is equal to one. This can be shown by the following: The transformation created by this example is illustrated in Figure 2. Lines are provided at each half unit on the x axis to more clearly illustrate the compressions which occur between x₀ and x₀+2 and between x₀+6 and x₀+8 and the expansion that occurs between x₀+2 and x₀+6. The amount that each line is transformed depends upon how much the other lines have been transformed. Thus, using equation (1) and the scaling functions set forth above, the amount that each line is shifted can be calculated. For example, in the case of the line x₀+2: where x₂′ equals the transformed position of the original line x₀+2. Then: Thus, the line x₀+2 is shifted to the left in Figure 2 to the position formerly occupied by the line x₀+1. This shift is indicated in Figure 2 by the designation, x₀+2, below the x axis which indicates the original location, and the line with the notation "x2′=x₀+1" which indicates its transformed location. Each of the lines between x₀ and x₀+8 is shifted in a similar manner. The relative distances between adjacent lines illustrates the areas of compression and expansion. The fractions across the middle of the figure indicate the fractional distance between adjacent half lines. Thus the distance between x₂′ (originally x₀+2) and x 3/2 ′ (originally x₀ + 3/2) is 3/8 units while the distance to x′ 5/2 (originally x₀ + 5/2) is 9/16. Since these distances were originally 1/2 unit, it can be seen that the portion of the figure to the left of the line x₂′ is compressed while the area to the right is expanded, which agrees with the scaling established in Figure 1. In this example, variable scaling was only applied in the x axis of the Cartesian coordinate system. It can be appreciated that similar variable scaling, although not necessarily the same function, can be applied in the y direction. A scale transformation that is a function of both Cartesian coordinates is illustrated in Figure 3. This transformation modifies the value of the scaling function within the area 0≦x≦10, 0≦y≦10 in accordance with the trigonometric function below, where the scaling functions for the x and y axes respectively are: f x (x,y) = 1-sin πy 10 cos 2π 10 x g y (x,y) = 1-sin πx 10 cos 2π 10 y And the transformed locations are as follows: Such a transformation provides continuously variable scaling in both axes over the image area segment to which the transformation functions are applied. Figure 4 illustrates the trigonometric scaling function of the example, for instance for the x coordinate at the location where y=5, i.e. the mid-point vertically of the transformed area in Figure 3. The effect of this transform is some distortion in the transformed area. Vertical and horizontal straight lines in the original illustration follow the contours established in Figure 3. This is not a serious drawback in displaying schematics and flow charts where it is the relative relationships of component parts which is relevant. It is desirable in some instances, however, to employ a scaling function with a constant value across the magnified image area segment so that there is no distortion in the portion of the illustration which is to be examined more closely. An example of such an arrangement is depicted in Figure 5. For illustrative purposes, the magnified viewing area segment is circular, although any shaped area can be used. The portion of the original viewing area which is expanded is defined by the circle 10. This area is expanded by a scaling function of constant value, a factor of 5 in the example, to the area defined by the circle 12. The area outside of the circle 10 must be compressed to maintain a mean value of one of the scaling function across the entire viewing area. Since the area 10 selected for expansion in this example is below and to the right of the center of the illustration, it is evident from viewing Figure 5, that the portion of the illustration below and to the right of the expanded area will be more highly compressed than the portions above and to the left. Thus, the area outside of the expanded area is subjected to a variable compression scaling function. The transformation for this example is best carried out in polar coordinates. A radial line 14 is drawn from the center of the expanded area, which is at x₀,y₀, through each point to be transformed, x₁,y₁. Let: r a = radius of area to be expanded: A = the value of the scaling function for the area to be expanded (A>1). C = the value of the scaling function for the portion of the line 14 to be compressed (C<1). r m = distance from center of area to be expanded to edge of viewing area along the line 14. Thus, when the area A is expanded r m = Ar a + C(r m -r a ) and C = r m - Ar a r m -r a Since A is a constant, and r a is fixed for a given expansion of the area 10, it can be seen that, C, the value of the scaling function for compression is a function of the distance, r m ≧Ar a between the center of the area to be expanded and the edge of the illustration. Thus, the smaller r m is, i.e. the closer the expanded area is to the edge of the viewing area, the greater the compression (the smaller C is). If: r i = unscaled radius of point x,y, R i = scaled radius of point x,y, r c = portion of r i subject to compression. Then: r i = r a + r c for points along line 14 outside the expanded area and the transforms for such points is: R i = Ar a + Cr c . The transform for points inside the expanded area is: R i = Ar i . These transformations can be carried out in polar coordinates as indicated and then converted to Cartesian coordinates for presentation on a conventional display device. Such transforms cause some distortion which is most pronounced on the compressed area side of the boundary between the expanded and compressed areas. This distortion is illustrated in Figure 5 by the lines 16′ and 18′ respectively after the transformation. In order to avoid excessive distortion, caused by the expanded area taking up too much of the viewing area, the expanded area may be limited in size, for example, to one fifth the maximum dimension of the viewing area. Thus, Ar a = 1/5 max and it can be seen that the larger the area to be expanded (the larger r a is) the smaller the value (A) of the scaling function can be. Figure 6 illustrates an example of an application of the invention which reduces the distortion exhibited in Figure 5 at the boundary between the area of constant magnification and the area of compression. As in the example of Figure 5, constant magnification (hence linear scaling) is applied about a selected point. The required compression to retain the total display content is applied to all areas not affected by the constant magnification. A transition region of variable scaling exists between the areas of magnification and compression to smooth the transition. In Figure 6, a scaling function having a value of two is applied to a circular area 20 having a radius r a =1 centered on the point 6.5, 3.5 such that the undistorted magnified or expanded region is a circle 22 of radius two (Ar a ). The transition region to which a variable scaling function is applied, extends radially outward a distance of r b around the circle 20. In the example, r b was selected to be equal to r a so that with a scaling function having a value of 2 the extremity of the region to which the transition scaling function is applied falls on the circle 22 which delineates the boundary of the circle 20 when magnified by the scaling function value A although this will obviously not always be the case. The transition region, when transformed, extends radially outward from the circle 22 a variable distance dependent upon the radial distance from the center of the circles 20,22 to the boundary of the total area displayed. The integer valued grid lines 23 in Figure 6 reveal the distortion imposed on the remaining display areas by the compression and transition scaling. The scaling functions and transformation functions for the example of Figure 6, expressed in polar coordinates, are as follows: Let: r i , r a , r m , R i and A represent the same parameters as in the example of Figure 5. r b = the radial length of the transition area. C = the constant level of compression along a particular radial outside of the expansion and transition areas equal to (r m -1.5Ar a )/(r m -1.5r a ) based on the fact that r m = r a +r b +r c Ar a +(A+C)r b /2+Cr c =r m and the condition that r a =r b . B = a transitional scaling function between A (the constant level of magnification) and C equal to A + (C-A)(r i -r a )/r b . Then: if r i ≦r a R i =Ar i if r a < r i ≦(r a +r b ) if r₁>r a + r b In the example illustrated in Figure 6, A=2 as mentioned, and r a = r b = 1. It is evident from a comparison of Figures 5 and 6 that the use of a transition area between the area of constant magnification and the area of compression greatly reduces the distortion created by variable scaling. Figure 7 illustrates a system for practicing the invention. The system includes a digital computer 24 having a memory 26 and a central processing unit 28. Electrical signals x i y i representative of the image points required to define the image to be displayed are stored in the memory 26. A display generator 30 receives signals from the computer over lines 32 directing the form of the image to be displayed and converts the received signals into signals which produce the desired image on a visual display device 34 having a display screen 36 of fixed dimensions. The display generator 30 may be an integral part of the visual display device 34 or a separate unit. The display device 34 includes means such as a keypad 38 or a touch screen by which the user can input desired parameters and instructions into the system. The manner in which the system of Figure 7 operates to generate the variably scaled displays is shown by the flow chart of Figure 8. Initially, the desired parameters are entered as indicated by block 40. The input variables include the areas to be magnified, and the desired magnification scaling function. In some instances, such as the example of Figure 6, all that needs to be entered is the location of the center of the circular area to be magnified and the magnification desired. Certain adjustable parameters stored in the computer memory, such as the size of the area to be magnified as a function of the desired magnification scaling function and the size of the transition area relative to the size of the magnified area need not be entered each time the system is used, but can be changed as desired. Next, the total image area is divided into image area segments by scaling function type as indicated in block 42 and the scaling function for each segment is determined in block 44. This involves selecting the scaling function for each segment so that the mean value of the scaling functions across the entire image is equal to one. The transformation function for each image area segment, is generated taking into account the respective scaling functions. The appropriate transformation function is then applied as in block 46 to each of the image point signals x i y i stored in memory to generate transformed image point signals x i ′y i ′. These signals are transformed to the display device coordinates in block 48 before being transmitted to the display generator 30 which used them to generate display signals Dx,y which are appropriate to produce the rescaled image on the screen of the display device 34. While the invention is useful in generating variably scaled displays in many applications, one particular application is in generating variably scaled displays for the control or surveillance of complex process plants. For instance, a nuclear power plant is a complex power plant with many systems which must be continually monitored. These systems can be depicted schematically on cathode ray tube displays to aid the operator in visualizing the topography of the system for analyzing system status and the effects that action taken will have on the system. As an example, the chemical and volume control system of a pressurized water reactor includes a large number of tanks, pumps, valves and other components which control the concentration of boric acid in the reactor coolant. This is a rather complex system so that the scale of a display that presents the overall system is restricted. By utilizing the present invention, the scale of a selected portion of the system display can be enlarged so that detail data presented, such as component status and parameter values for the portion of interest can be seen more readily without losing the relationship of that portion to the remainder of the system. For such an application of the invention, data for the image points for generating on the display device 34 of Figure 7 a schematic flow diagram of the selected system 50 of the nuclear power plant 52 are stored in the memory 26 of digital computer 24. A monitor system 54 monitors the status of the various components and the values of selected parameters such as temperatures, flows etc., in the selected system 50 and feeds the data to the digital computer 24 for inclusion on the visual display of the system. The system operates as described above to generate the desired variable scaling for the display.

Claims: A method of variably scaling an image generated on an electronic display device composed of a plurality of image points for display within a display area of fixed dimensions, without altering the boundaries of the total image area displayed, the method including: dividing the total image into image area segments, assigning a scaling function to each image area segment, generating a transformation function for each image area segment as a function of the associated scaling functions, transforming image points for each image area segment in accordance with the associated transformation function, and generating on said display device a rescaled image utilising the transformed image points, characterized in that said scaling functions are assigned such that the scaling function values in at least one segment are greater than one and the scaling function values in at least another segment are smaller than one, but the mean scaling function value over the total image area is equal to one in all directions. The method of claim 1 characterized by the step of dividing the total image area into image area segments including dividing the total image area into a first image area segment which is to be magnified and at least a second image area segment which is to be compressed and wherein the step of assigning scaling functions includes assigning a first scaling function having values greater than one to said first image area segment and assigning a second scaling function having values less than one to said second image area segment. The method of claim 2 characterized by the first scaling function assigned to said first image area segment being a constant over the entire segment. The method of claim 3 characterized by the size of the first image area segment being selected as an inverse function of the magnitude of the first scaling function. The method of claim 4 characterized by the size of said first image area segment being selected relative to said first scaling function such that the area covered by the first image area segment when magnified is a constant for all values of said first scaling function. The method of claim 5 characterized by including the step of providing means for selecting said first scaling function which thereby determines the size of said first image area segment. The method of claim 3 characterized by the step of selecting said first image area segment including selecting a circular image area segment and wherein the step of selecting a scaling function for the second image area includes selecting a scaling function which varies as a function of the radial distance from the center of the circular first image area segment to the edge of said total image area for all angular positions around said first circular image area segment. The method of claim 7 characterized by the radius of the circular first image area segment being selected as an inverse function of the magnitude of the first scaling function. The method of claim 8 characterized by the radius of the first image area segment being selected relative to said first scaling function to maintain the radius of the first image area segment when magnified by the first scaling function at a preselected constant value such that the radius of the first image area segment is selected by selection of the first magnification function. The method of claim 9 characterized by the step of selecting said circular first image area segment including selecting the location of the center thereof and selecting the desired first scaling function. The method of claim 10 characterized by said display being generated on a touch screen and said circular first image area segment being selected by touching said touch screen at the desired location of the center thereof. The method of claim 11 characterized by the value of said first scaling function being selected as a function of the length of time that the touch screen is touched to select the location of the center of the first image area segment. The method of claim 2 characterized by said first scaling function, which has a value greater than one, being a constant over the entire first image area segment; said step of dividing the total image area into a first, and at least a second image area segment including dividing the total image area into a first, a second and a third image area segment with said third image area segment surrounding said first image area segment; and said step of assigning scaling functions including assigning a scaling function to said third image area segment which has a mean value between the values of said first and second scaling functions. The method of claim 13 characterized by said total image area being divided into a circular first image area segment, a ring shaped third image area segment concentric with and adjacent to said first image area segment and a second image area segment which surrounds the third image area segment, and said second and third scaling functions assigned to said second and third image area segments respectively being functions of the radial distance between the center of the circular first image area segment and the edge of the total image area for all angular positions around said first image area. The method of claim 1 characterized by said step of generating a transformation function for each image area segment being limited to generating scaling functions which vary in only one Cartesian coordinate.

Inventors: RAMAGE WILLIAM WALTER, RAMAGE, WILLIAM WALTER
Applicants: WESTINGHOUSE ELECTRIC CORP, WESTINGHOUSE ELECTRIC CORPORATION
Application year: 1987
Main classification: G06F15
IPC codes: G06F3, G06T3, G09G5