Abstract:
A graphical user interface (GUI) is provided for use in a system, such as a video test and measurement instrument. The GUI provides a mechanism for a user to select one, or more, ranges of values. Embodiments of the GUI provide an ability to correlate ranges between a first sequence and second sequence, such that two ranges of values are related in some fashion.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Application No. 60/912,159 filed on Apr. 16, 2007, entitled Range Sliders with Linked Auto-Updating Spans, which application is hereby incorporated herein by reference. 
     
    
     BACKGROUND 
       [0002]    Embodiments of the present invention relate to user interfaces for setting ranges using sliders, and more particularly to setting ranges in test and measurement equipment, such as video test and measurement equipment. 
         [0003]    In products for which selecting a range of values is desired, it is useful from a user interface perspective to present controls that can be manipulated, for example using a mouse or other pointing device, and are aesthetically pleasing, and easily recognized. 
         [0004]    Several graphical user interface (GUI) design mechanisms have been developed for specifying a multiple value region of interest (ROI). Several examples of range sliders are shown in  FIGS. 1 through 3 . The slider shown in  FIG. 1  provides the ability to define a range of interest, along with linked text boxes to show values, possibly with greater precision. However, because the handles are inside the bar it is not possible to specify a zero range, and it is further not possible to reverse the ranges. The examples shown in  FIGS. 2 and 3 , do provide the ability to set a zero span range. However, they do not allow the start and stop values to be reversed. When generating GUIs it is generally desirable to provide a uniform look and feel throughout the application. It is further desirable to use those elements that are available as standard objects within the operating systems or design environment. While the example solutions provided have the ability to select a range in some way, they do not have the look of a standard OS. This may require the generation of custom bit maps, and additional coding to properly provide for these range defining objects. It would be desirable for example in a Windows XP environment to match the look and feel of single point sliders, as shown in  FIG. 4 . Unfortunately, most commonly recognized single pointer controls select the value corresponding to the midpoint of the slider icon, or its bit-map. 
         [0005]    In addition to the general desirability of an aesthetic user interface, test and measurement applications have additional considerations related to functionality. For example, products that compare ranges from two different sources should provide a way to set the range for each source. In the case of video or audio comparison, matching a reference sequence to a test sequence is problematic. After a reference sequence has been processed through a series of devices under test, the resulting captured test sequences may be distorted to such a degree that automated systems, such as that implemented in the TEKTRONIX® PQA200, may have difficulty determining the original start. Because of frame skipping, the need to control variables when refining compression algorithms and test speed considerations, users demand the ability to easily select test and reference sequence ranges. 
       SUMMARY 
       [0006]    Accordingly, embodiments of the present invention a GUI that has the look and feel of the operating system, or operating environment that the rest of the application uses. Further embodiments provide an ability to correlate ranges between a first sequence and second sequence, for example in the case of video measurements a reference sequence and a test sequence may be used. Additional embodiments allow the user to select all legal regions of interest ranges, while preventing requests for impossible measurements. 
         [0007]    A graphical user interface (GUI) is provided for use in a system, such as a video test and measurement instrument. The GUI provides a mechanism for a user to select one, or more, ranges of values. In a first embodiment, a single span control is provided having a rule line corresponding to a range of values for determining a span. A first slider is provided for selecting a starting point within the range of value. This slider is presented as an arrowhead offset from the rule line and pointing for example down at the rule line. A second slider is provided for selecting an ending point within the range of values. This second slider is presented as an arrowhead offset from the rule line and pointing for example up towards to the rule line. This enables the selection of the span to include the ability to select a zero span, wherein the start and ending points are the same. In the case of a video measurement, this might correspond to selecting a single frame for analysis. In some applications, it would be possible to provide an ending point that occurs prior to a starting point which would in effect span to be negative, corresponding to running a video sequence backwards, for example. 
         [0008]    In a further embodiment of the span control, two or more span controls are related such that changes in one span control causes changes in other span controls. For example in a video measurement, it may be desirable to maintain equivalent span lengths for a reference video sequence and a test video sequence. In this embodiment, a first span control may relate to a reference sequence and a second span control may relate to a test sequence. The two span controls are related such that the two span lengths adjust to maintain approximate equality of the spans as the sliders of each control are moved. 
     
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
         [0009]      FIG. 1  (Prior Art) shows a prior art range slider. 
           [0010]      FIG. 2  (Prior Art) shows a prior art range slider. 
           [0011]      FIG. 3  (Prior Art) shows a prior art range slider. 
           [0012]      FIG. 4  (Prior Art) shows a prior art range slider. 
           [0013]      FIG. 5  shows a range slider for defining a single range of values according to an embodiment of the present invention. 
           [0014]      FIG. 6  shows a pair of related range sliders according to an embodiment of the present invention. 
           [0015]      FIG. 7  shows a pair of related range sliders according to an embodiment of the present invention. 
           [0016]      FIG. 8  shows a pair of related range sliders according to an embodiment of the present invention. 
           [0017]      FIG. 9  shows a pair of related range sliders according to an embodiment of the present invention. 
           [0018]      FIG. 10  shows a pair of related range sliders according to an embodiment of the present invention. 
       
    
    
     DETAILED DESCRIPTION 
       [0019]      FIG. 5  shows an illustration of a simple range slider according to an embodiment of the present invention. The range slider uses a first slider  10  that corresponds to a standard single value range slider provided by the operating system. A second slider  20  is provided that corresponds to an inverted version of the first slider  10 . The second slider  20  is offset from the first slider  10 . As shown, the sliders are vertically offset. In other embodiments, the whole range could be rotated 90 degrees, such that the sliders were horizontally offset. In this example, the first slider  10  controls the start of a sequence, while the second slider  20  controls the end of the sequence. As shown in this example, the span between the two end-points of the dual sliders equals the distance between the midpoints of each slider, respectively. Since the first slider  10  and the second slider  20  are on opposite sides of a rule line  30 , it is possible to set a zero span range. Also since they can pass over, or under each other, it would be possible in some embodiments to provide start and stop points that would correspond to negative ranges, such that objects in the range would be run backwards for example. Since this would not be desirable in some applications, in other embodiments rules would be established to prevent the setting of negative ranges, such that the end point could never be prior to the start point. 
         [0020]    A further embodiment of the present invention is shown in  FIG. 6 . It is composed of two related sets of range sliders. The first set of range sliders  40  relates to the reference sequence, while the second set of range sliders relates to the test sequence  50 . The rules and relationships between the pairs of sliders  40  and  50  may be set according to the application as desired. 
         [0021]    In specific embodiments of the present invention, the pair of ranges may be used for example in connection with video testing. In video, or audio testing, the range would often correspond to time, either actual units of time such as seconds, minutes, or fractions thereof, or in terms of frames of video, which based upon the frame rate would correspond to time as well. In the example shown in  FIG. 6 , the reference sequence spans 870 frames, from 1 to 871, while the test sequence spans 869 frames, from 1 to 870. This illustrates a case in which the reference sequence is at 30 frames per second, while the test sequence is at 29.97 frames per second. In this example, although the range is provided in terms of frames, the actual time between the two is being maintained to a desirable level of accuracy. As those skilled in the art understand that all equalities are in terms of reasonable tolerances, or at least sufficiently equal for the desired level of accuracy, the term approximately equal refers to equal within acceptable tolerances in order to make measurements to a desired level of accuracy. In some cases, this will be equal numbers of frames, or as described in connection with  FIG. 6  equal in time given the constraints of different frame rates. Accordingly, the span between the two end-points of the top dual sliders equals the distance between the bottom two sliders, as expressed in time. 
         [0022]    In an embodiment of the present invention, it is desirable to preserve the equality of the length of the spans. This temporal equality in length of spans is preserved by automatically updating the position of other sliders. In the continuing example, the selected top/left slider  110  has been moved by the user to the right. In this example, manipulating the top/left slider allows the user to adjust the start point of one sequence without changing the start point of the other sequence. Because the paired bottom/right Reference slider  120  cannot move to the right, since it is at the Reference sequence endpoint, the bottom/right Test sequence slider  220  moves to the left reducing the paired Test Sequence span to maintain the temporal equality, as shown in  FIG. 7 . 
         [0023]    As shown in  FIG. 8 , when the bottom/right handle of the Reference sequence  120  is not constrained by the endpoint of the sequence, a user update of the top/left value will preserve the span by moving the bottom/right handle of the Reference sequence without changing the Test Sequence. In the running example above, the user has moved the selected top/left Reference slider  110  to the left, automatically updating the bottom/right Reference slider  120 . The Test Sequence controls are left untouched by this manipulation, yet the temporal equality is maintained. 
         [0024]    In the current example, user manipulation of the bottom/right (or endpoint) sliders behaves differently. The bottom/right sliders are intended to alter the span. Accordingly, user manipulation of the bottom/right slider does not automatically adjust the position of the top/left slider of the same sequence. Rather, when the user moves the bottom/right slider  220  for the Test sequence, for example to the right, the bottom/right slider  120  of the Reference sequence also moves to the right to preserve the span, as shown in  FIG. 9 . 
         [0025]    As shown in  FIG. 10 , when the corresponding top/left slider may move as required to maintain the span. For example, when the user moves the bottom/right slider  220  of the Test sequence until the bottom/right slider  120  of the Reference sequence reaches its limit, the top/left slider of the Reference sequence moves to the left instead to preserve the span equality. 
         [0026]    In the embodiments illustrated by  FIGS. 6 through 10 , the lower/right “to” control is constrained by not being able to move to the left of the upper/left “from” control. Note that sliders may also be referred to as handles, or controls. 
         [0027]    Although rules for the relationships between the sliders has been described in detail in connection with video test sequences, embodiments and aspects of the present invention have broader applicability to other applications. In these other applications, the relationships between the various sliders in two, or more, interrelated sliders, can be set by rules appropriate to that application. Also, in the case of video or audio test, the relationships between the sliders can be set to behave differently, while providing the desired preservation of the span.