A METHOD FOR SPECIFYING A VIDEO WINDOW'S BOUNDARY COORDINATES TO PARTITION A VIDEO SIGNAL AND COMPRESS ITS COMPONENTS

Abstract: A method for specifying a video window's boundary coordinates (98) directly from a multi-color video signal (20) to separate the signals high (32) and low (35) variance components. The method converts the analog multi-color video signal into respective color sequences of digital frames (30) and transforms them into another sequence of digital frames (49) that represent the intensity of the multi-color video signal. The method generates difference frames (51) between successive transformed intensity frames and computes a row activity measure (81) and a column activity measure (82) from at least one of the difference frames. The video window's approximate boundary coordinates are determined from said row and column activity measures.

Description: λ METHOD FOR SPECIFYING λ VIDEO WINDOW*8 BOUNDARY COORDINATES TO PARTITION A VIDEO SIGNAL AND COMPRESS ITS COMPONENTS BACKGROUND OF THE INVENTION Field of the Invention The present invention generally relates to the field of screen recorders, and more specifically to a method for specifying a video window's boundary coordinates to sepa¬ rate the video signal into high and low variance components and compress the respective components. Description of the Related Art Conventional color televisions and display monitors produce relatively low resolution and bandwidth red, green and blue (RGB) video signals, e.g. 400-600 lines per frame at 25-30 frames per second, that conform to one of several international standards. Three of the most common stan- dards are: the National Television Systems Committee (NTSC) standard with 525 lines per frame at 30 frames per second, the Sequential Chrominance Signal & Memory (SECAM) standard with 625 lines per frame at 25 frames per second and the Phase Alternating Line (PAL) standard with 625 lines per frame at 25 frames per second. These standards are fairly flexible in that the number of scan lines actually used by a display may be significantly less than the specified sta¬ ndard. For these low resolution signals, video recording devices, such as video cassette recorders (VCRs) , record the analog signal directly onto a magnetic tape. For high resolution workstation monitors having 1280 or greater scan lines per frame, or high definition televi¬ sion (HDTV) , , it is not currently feasible to record the analog video signals directly onto the tape in an analog format at the same high resolution. The storage require¬ ments and bandwidth of the video signals exceed the capa¬ bilities of analog recording devices. For example, a 1280 x 1024 video signal at 3 bytes per pixel and 30 frames per second recorded for 3 hours would require 1274 Gbytes of memory and a bandwidth of 943 Mbps. As a result, in a cur¬ rent approach a scan converter is used to convert the high resolution video signal into one of the low resolution sta¬ ndard formats, which is recorded onto the tape. The down conversion is done by averaging adjacent scan lines or sim- ply skipping scan lines, and results in a substantial loss of resolution when the recorded tapes are played back. The "RGB/Videolink 1600U", RGB Spectrum of Berkeley, Califor¬ nia, 1991 is described in a product bulletin as one example of a scan converter. The loss of resolution is particular- ly bothersome in a multimedia workstation, a typical dis¬ play includes text, graphics, pictures, audio and motion picture video data. The graphic icons and text are dist¬ orted by converting the high resolution signal to the rela¬ tively coarse low resolution signal. This system sacrific- es image quality to maintain manageable storage require¬ ments and bandwidth. For applications where the replayed information is required to faithfully reconstruct events, e.g., air traffic control displays, or is critical to liti¬ gation, the loss of fidelity may make the recording unusea- ble. SUMMARY OF THE INVENTION The present invention seeks to provide a method for specifying a video window's boundary coordinates directly from a multi-color video signal to separate the signals high and low variance components. This is accomplished by converting the analog multi¬ color video signal into respective color sequences of digi¬ tal frames and transforming them into another sequence of digital frames that represent the intensity of the multi¬ color video signal. The method generates difference frames between successive transformed intensity frames and com¬ putes a row activity measure and a column activity measure from at least one of the difference frames. The video win- dow's approximate boundary coordinates are determined from said row and column activity measures. For a better understanding of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a high resolution comput¬ er workstation and a digital screen recorder; FIG. 2 shows a typical multimedia display; FIG. 3 shows a difference frame for the display of FIG. 2; FIG. 4 is a flowchart of a hybrid video compression algorithm; FIG. 5 is a flowchart of the lossless compression al¬ gorithm; FIG. 6 is a flowchart of the lossy compression algo¬ rithm; FIG. 7 is a flowchart of the video window detection algorithm; FIGs. 8a-8d illustrate the steps of the detection al¬ gorithm of FIG. 7; and FIGs. 9a-9d show typical video windows, their projec¬ tions and corresponding transition codes. DETAILED DESCRIPTION OF THE INVENTION High resolution multimedia computer workstations oper¬ ate in a windowing environment that consists of several text and graphics windows, a motion video window, icons, a cursor and possibly audio signals, and in some applications live sensor images such as radar may also be present. A typical display has a resolution of at least 1280 x 1024 pixels and is refreshed at a rate of 30 frames or higherper second, although the invention is applicable for arbitrary resolutions and frame rates. FIG. 1 shows a high resolu¬ tion multimedia computer workstation 10 that is electrical¬ ly connected through a screen recorder 12 to a monitor 14. Typical workstations have a single video output for the monitor, and thus to display the video signal in real time and store it as a compressed digital signal for future playback, the monitor and screen recorder are connected in a "loopthrough" configuration that is similar to a TV/VCR connection. The workstation internally generates high res¬ olution digital RGB video frames 16 in a machine dependent format in response to the windowing environment, graphics, text or motion video applications and uses a D/A converter 18 to convert them into an analog RGB video signal 20. The frames' resolution and rate are included as sideband infor¬ mation in the video signal. The analog video signal 20 modulates the intensity of a cathode ray tube (CRT) 22 in the monitor 14 to raster scan the RGB images 16 onto the display at the given frame rate. The screen recorder 12 captures the video signal 20 and stores it as a compressed digital signal. The screen recorder can be a stand-alone, workstation independent unit as shown, or it can be integrated into the workstation. In the preferred embodiment, the screen re¬ corder is connected to only the video and/or audio outputs of the workstation's digital display system and does not require information from the internal components of the display. Thus, the screen recorder is not dependent on the implementation of any specific display and may be applied to a variety of devices. The screen recorder includes a high resolution frame grabber 24, a digital video compres¬ sion unit 26 and a mass digital storage device 28. The frame grabber converts the analog RGB video signal 20 in real time into another sequence of RGB digital frames 30 in a machine independent format. A suitable frame grabber, HI*DEF 111, is described in a new product bulletin from IMAGRAPH of Chelmsford, Massachusetts anc claims a 160 Mhz bandwidth for capturing standard and non-standard video signals with up to 16K x 16K resolution. The compression unit 26 compresses the video frames 30 at a ratio of appr¬ oximately 250:1 with only slight visual degradation and maintains reasonable bandwidths and memory requirements. The compressed digital video signal is stored in the stor¬ age device 28, which can be a conventional hard drive, an optical drive or a portable device such as a digital tape. In the invention, the multimedia display is separated into high and low variance portions for the purpose of com¬ pressing the digital video signal 30. The high variance portion 32 is defined by a video window 34 in which some type of motion picture video signal is being played, while the low variance portion 35 is everything else: graphics 36, text 38, icons 40 and the background 42. FIG. 2 shows a typical multimedia display and FIG. 3 shows the differ¬ ence between successive displays. As shown in these fig¬ ures, the high variance data 32 and low variance data 35 are differentiated by a stark disparity in their temporal (interframe) and spatial (intraframe) variances. Because the motion picture video data's spatial and temporal vari¬ ances are relatively high, at a given encoding rate the error in its reconstructed image will be greater than the reconstruction errors in the graphics, text, icons and background data. However, motion picture (high variance) imagery can be compressed such that encoding errors only slightly distort the image's visual quality or are com¬ pletely imperceptible. Conversely, the low variance data is highly correlated temporally and spatially and is thus easy to compress, but any encoding errors are easily visi¬ ble and distort the fine structure of the icons, graphics and text. Improved overall compression and reconstructed image quality is achieved by using separate lossy and loss¬ less encoding algorithms for the high and low variance da¬ ta, respectively. In a perfect lossless algorithm the de¬ compressed images equal the digital images 30 provided by the frame grabber without distortion or error, while in a lossy algorithm the decompressed algorithm has some amount of distortion or error relative to the original. FIG. 4 is a flowchart of the hybrid video compression algorithm. To achieve the necessary speed, the video com¬ pression unit 26 implements the algorithm in hardware, al¬ though future advances in computer speed may allow a soft¬ ware implementation. In step 44, the frame grabber 24 pro¬ vides the compression unit with 24-bit RGB images 30 at 8 bits per pixel for each frame extracted from the video sig¬ nal 20. In the next step 46, the capture errors of the frame grabber are eliminated by masking off a number of the least-significant-bits (lsbs) , e.g., one lsb per image pix¬ el. Each successive set of RGB frames 30 is then transf¬ ormed in step 48, using a YUV transform to produce Y lumi¬ nance and UV chrominance components 49. The YUV transform is disclosed on pages 14 and 17 of a new product informa¬ tion sheet "Programmable Color Space Converter and Color Corrector", Brooktree Corporation of San Diego, California, 1990. An alternative or slightly modified transform denot¬ ed generally as an XYZ transform could be used to provide an X intensity (luminance) component. In the next step 50, the Y, U and V digital frames are subtracted from their respective successive YUV frames to form YUV difference images 51, which are integer valued and can be represented exactly by a digital codeword. In step 52, the video win¬ dow's boundary coordinates are extracted from the Y differ¬ ence image (see FIGs. 7-9 for details) and passed to the lossless and lossy compression algorithms. The window's boundary coordinates are also included in the sideband in¬ formation 53 sent to the decoder. The video window can be computed for each difference image or for some period in accordance with the requirements of the specific compres¬ sion algorithms. In step 54 the low variance portion of each successive digital frame is compressed using a lossless algorithm (see FIG. 5 for details) , and in step 56 the high variance por¬ tion is encoded using a lossy algorithm (see FIG. 6 for details) ; these two steps produce respective bitstreams. The accompanying audio track is compressed in step 58 and its bitstream is multiplexed with the compressed high and low variance video data and sideband information bitstreams in step 60. In step 62, the multiplexed digital data 63 is written to the storage device 28. To playback the digitally stored video signal, a de¬ coder 64 demultiplexes the data 63, performs the respective inverse transforms on the compressed high and low variance signals and audio signals and adds the decoded images back together to produce a sequence of reconstructed digital images 65. A D/A converter 66 converts the reconstructed images 65 into an analog RGB video signal 67 to playback the stored multimedia session. Depending on the display's content and the size of the video window, the compression algorithm can realize compressions of approximately 250:1 with no distortion in the low variance portions and only slightly perceptible distortion in the high variance motion picture portion. FIG. 5 illustrates a preferred embodiment of the loss¬ less compression algorithm for encoding the multimedia dis- play's low variance portion 35. The lossless algorithm is initiated by encoding the first YUV digital frames 49 and thereafter encoding the YUV difference frames 51 computed in step 50. To decode the sequence of compressed frames, the first frame must be transmitted so that the successive frames can be recursively reconstructed by decoding the next difference frame and adding it to the previous frame. It may be desirable to reset the encoding algorithm period¬ ically by directly coding a YUV frame every n frames, e.g., 200 frames, to prevent error propagation due to noise. Instead of completely removing the pixels in the video window and only encoding the low variance data pixels in the lossless algorithm, those pixels inside the video win¬ dow can be set equal to zero and encoded with the low vari¬ ance data. Since the pixels inside the window are all set to a constant value, their information content and effect on the compression of the frame is negligible. Alterna¬ tively, the windowed pixels could be removed and the algo¬ rithms modified to keep track of the video window. This approach could provide slightly better compression but would be substantially more complicated. In step 68 of FIG. 5, the algorithm checks the reset condition and selects either the YUV frames 49 or the dif¬ ference frames 51. In the former case, the pixel values for the respective YUV frames 49 inside the video window 34 are set to zero (step 69) and each frame is compressed with the Joint Bi-level Image Group (JBIG) algorithm (step 70) to produce the encoded bitstream. The JBIG algorithm is described in the September 16, 1991 "CCIT Draft Recommenda¬ tion T.82 ISO/IEC Committee Draft 11544 Coded Representa¬ tion of Picture and Audio Information-Progressive Bi-level Image Compression". When the difference frames 51 are se¬ lected, the respective YUV difference frames' pixels inside the window are set to zero (step 71) and the frames are encoded using run length codes (step 72) to produce another bitstream. Run length codes are described in Jayant and Noll, Prentice-Hall, "Digital Coding of Waveforms", 1984, pp. 465-485. Other lossless algorithms could be employed in place of the JBIG and run length codes without departing from the scope of the invention. FIG. 6 is a flowchart of the lossy compression algo¬ rithm for the high variance portion 32 of the multimedia display. The Motion Pictures Expert Group (MPEG) algorithm described in "Information Technology - Generic Coding of Moving Pictures and Associated Audio, Recommendation H.262, ISO/IEC 13818-2", November 25, 1993 is preferably used to compress the data inside the video window and the audio track, although other video compression algorithms are also applicable. MPEG reads 16 x 16 blocks of pixel data and processes groups of successive frames, e.g., 12-15. To accommodate the standard, the coordinates of the video win¬ dow are updated for the first image of each group (FIG. 2, step 52) and modified in step 74 to extend the window to fit the MPEG block size. In step 75, the YUV images 49 are converted into a 4:2:0 format to be compatible with the MPEG algorithm. For every 2 x 2 block of pixels the Y lu¬ minance value is the value of each pixel and the U and V values equal the average of the four pixels from their re¬ spective frames. In step 76, the 4:2:0 formatted pixels inside the extended window are encoded with the MPEG algo¬ rithm to produce the bitstream. The decoder strips out the additional pixels prior to reconstructing the display. FIG. 7 is a flowchart of a suitable video window de¬ tection algorithm, which utilizes the standard rectangular geometry of the workstation's windowing environment and the contrast in signal characteristics between the motion pic¬ ture and graphics, text, icons and background portions of the display. In step 78, the algorithm receives the Y difference image. An activity measure, e.g., the variance, is computed in step 80 for each row and each column, with the variances 81, 82 projected onto the vertical and hori¬ zontal axes, respectively. The variance of each row or column is given by: σ 2» — (ij-jn) 2 where o 2 is the variance, 1, is the pixel luminance value, m is the mean and n is the number of pixels in the row or column. The mean m of the difference images is normally approximately zero. The variance projections have sharp transitions at the video window's edge coordinates 83, 84, 85, 86 and at the interi¬ or coordinates 87, 88 where the window's width with respect to the particular axis changes, as shown in FIG. 8a. The coordinates of a bounding rectangle 89 for the video window 34 are extracted from the first (83,85) and last (84,86) transitions of each projection (step 90) and specify the size and location of the window, as shown in FIG. 8b and denoted by a "0". In step 91, the interior row transition coordinates (87) are matched to the interior column transi¬ tion coordinates (88) to specify the interior corner points 92, as shown in FIG. 8c and denoted by an "X". To identify the window's shape, the projections' tran¬ sitions are coded (step 93) with a 10-digit transition code 94. The code's format restricts the number of transitions to five or less in each projection 81 and 82; any projec¬ tion with more than five will default to the bounding rect¬ angle. A transition from low to high is indicated by a "1" and from high to low as a "0". Since the first transition of each projection is always a "1" and the last is always a "0", only the interior transitions are coded. The first two flags specify the number of row projection interior transitions (0-3), flags 3-5 specify the transitions, flags 6-7 specify the number of column projection interior tran¬ sitions and flags 8-10 specify the transitions. Any unused flags in positions 3-5 and 8-10 are designated by an "X". For example, a simple rectangular window would be coded "00XXX00XXX". In step 95, a look-up-table (LUT) which contains the codes for a number of common shapes outputs a shape identi¬ fier 96 and a set of instructions 97 that specify how the interior corner points 92 are used to define the video win¬ dow's boundary coordinates 98, as shown in FIG. 8d. If the code 94 isn't included in the LUT, the window defaults to the bounding rectangle 89. The boundary coordinates, inte¬ rior points and shape identifier are sent to a buffer 99 that holds the video window descriptors for a few frames, e.g., 3. If the video window is approximately constant over the frames, it is output to the compression algorithm. If a window is identified for only 1 or 2 frames it is dis¬ carded. This prevents the opening of a graphics or text window or an icon, which would cause a large variance in a single difference image, from causing the algorithm to mis- identify a video window. FIGs. 9a-d illustrate -four common video window shapes, their variance projections, boundary coordinates, transi¬ tion codes and interior points. FIG. 9a shows an upper- left occluded window 100 with row and column variance pro¬ jections 102 and 104 respectively, interior point 106, tra¬ nsition code 108 and boundary coordinates 110. FIG. 9b shows a video window 112 having a rectangular void in the middle with row and column variance projections 114 and 116 respectively, interior points 118, transition code 120 and boundary coordinates 122. FIG. 9c shows a video window 124 having a notch in its upper side with row and column vari¬ ance projections 126 and 128 respectively, interior points 130, transition code 132 and boundary coordinates 134. FIG. 9d shows an irregularly shaped video window 136 with row and column variance projections 138 and 140 re¬ spectively, interior points 142, transition code 144 an boundary coordinates 146. The bounding rectangle's coordi nates, the interior points' coordinates and the window' shape identification are included in the sideband informa tion. The decoder 64 is provided with a table that matches the window ID with the proper set of instructions for pro¬ cessing the interior points 92. This algorithm identifies the video window's size, location and shape and produces its boundary coordinates directly from the sequential dif¬ ference images without receiving any input from the workst¬ ation's window manager. This approach makes the screen recorder a workstation independent device. In the described embodiment, the screen recorder is used in conjunction with a high resolution multimedia work¬ station to digitally record and compress work sessions while maintaining the original high resolution display. The screen recorder can be used for applications such as educa¬ tion/training, communication, archiving, investigation and product marketing. The screen recorder can also be used to digitally record the analog RGB video signal for high defi¬ nition television (HDTV) by making the video window encom¬ pass the entire display. For improved performance, a more advanced algorithm may be developed for separating the rel¬ atively constant and varying portions of the video signal throughout the display could be employed. While several illustrative embodiments of the inven¬ tion have been shown and described, numerous variations and alternate embodiment will occur to those skilled in the art. Such variations and alternate embodiments are contem¬ plated, and can be made without departing from the spirit and scope of the invention as defined in the appended claims.

Claims: 1. A method for determining a set of approximate boundary coordinates (98) for a video window (34) of a high resolution multimedia computer workstation (10) that pro¬ duces an analog multi-color video signal (20) and displays the video signal, comprising: converting the analog multi-color video signal into respective color sequences of digital frames (44) ; transforming the color sequences of digital frames into another sequence of digital frames that repre¬ sent the intensity of the multi-color video signal (48) ; generating difference frames between successive transformed intensity frames (50) ; computing a row activity measure (81) and a col¬ umn activity measure (82) from at least one of the differ¬ ence frames (80) ; and determining the approximate boundary coordinates (98) from said row and column activity measures (90, 91, 93, 95). 2. The method of claim 1, wherein said activity mea¬ sures have distinct transitions at the window's boundaries, and the boundary coordinates (98) are determined by match¬ ing the respective coordinates of the row and column activ¬ ity measures' first and last transitions to specify a bounding rectangle (89) for the video window (34) . 3. The method of claim 2, wherein said activity mea¬ sures have distinct interior transitions where the video window's width changes, and the step of determining the boundary coordinates further comprises: matching the respective coordinates of the row and column activity measures' interior transitions to iden¬ tify interior corner points (91) ; assigning a code to the row and column measures based on their respective interior transitions (93) ; and looking up said code in a look-up-table to iden¬ tify the window's shape and select a set of instructions for processing the interior points in accordance with the shape to determine the window's boundary coordinates (95). 4. A method for recording an analog multi-color vid¬ eo signal for use with a high resolution multimedia comput¬ er workstation that displays high variance data inside a video window and low variance data, and produces the multi¬ color video signal to modulate its display, the method com¬ prising: converting the analog multi-color video signal into sequences of color digital frames (44) ; transforming the sequences of color digital frames into an equal number of transformed digital sequenc¬ es with one of the transformed sequences representing the multi-color video signal's intensity (48); generating sequences of difference frames between successive transformed frames for the respective trans¬ formed sequences (50) ; computing a row activity measure and a column activity measure from at least one of the intensity differ¬ ence frames (80) ; determining a set of boundary coordinates for the video window from said row and column activity measures (90, 91, 93, 95); compressing a portion of the respective differ¬ ence frames inside the video window with a lossy co pres- sion algorithm to form a first compressed signal (56) ; compressing another portion of the respective difference frames outside the video window with a lossless compression algorithm to form a second compressed signal (54) ; and storing the first and second compressed digital signals (60, 62) . 5. The method of claim 4, wherein said activity mea¬ sures have distinct transitions at the window's boundaries, and the boundary coordinates are determined by matching the respective coordinates of the row and column activity meas¬ ures' first and last transitions to specify a bounding re¬ ctangle for the video window. 6. The method of claim 5, wherein said activity mea¬ sures have distinct interior transitions where the video window's width changes, and the step of determining the boundary coordinates further comprises: matching the respective coordinates of the row and column activity measures' interior transitions to iden¬ tify interior corner points (91) ; assigning a code to the row and column measures based on their respective interior transitions (93) ; and looking up said code in a look-up-table to iden¬ tify the window's shape and select a set of instructions for processing the interior points in accordance with the shape to determine the window's boundary coordinates (95). 7. The method of claim 4, wherein the multi-color video signal is a red, green and blue (RGB) signal and said color digital sequences are red, green and blue sequences respectively. 8. The method of claim 7, wherein the step of trans¬ forming the RGB digital sequences comprises applying a YUV transform to the digital sequences to produce the Y inten¬ sity sequence and UV chrominance sequences (48).

Inventors: KRUTSICK STANLEY, WILLIAMS JIM C, YANG CHAO-KUNG, KRUTSICK, STANLEY, WILLIAMS, JIM, C., YANG, CHAO-KUNG
Applicants: HUGHES AIRCRAFT CO, HUGHES AIRCRAFT COMPANY
Application year: 1995
Main classification: H04N5
IPC codes: G06F3, G06T7, G09G5, H04N5, H04N7, H04N11