A improvement to video compression techniques is described in which blocks of video input information are compared in their respective pixel values to corresponding blocks of immediately preceding frames. The blocks are analyzed to determine whether change has occurred in accordance with two tests. First, the pixel values of the block are compared to the pixel values of a preceding block and if a threshold number of pixel values in the block exceed their counterparts by a threshold amount, then the block is assumed to have changed and is communicated via a standard communication protocol, compression technique and media. Second, even if the threshold number of pixels in the block has not changed, the pixel values are compared with their prior frame counterparts to determine if any one pixel value has changed in magnitude more than a second threshold amount. Again, one such pixel is identified, then the block is assumed to have changed and is communicated.

Patent
   9560371
Priority
Jul 30 2003
Filed
Jul 30 2003
Issued
Jan 31 2017
Expiry
Dec 25 2029
Extension
2340 days
Assg.orig
Entity
Large
1
241
currently ok
5. A video encoder comprising:
a pixel value analyzer analyzing pixel values within a current block of a frame of video information to determine changes in pixel values between frames;
a comparator testing:
(i) whether a change in pixel value determined by the pixel value analyzer for any one of the pixels in the current block exceeds a override threshold, and
(ii) whether a plural number of pixels in the current block that changed in pixel value by at least a noise threshold is equal to or greater than a block change threshold, and
a transmitter transmitting information identifying the pixel values within the block if the comparator determines either condition (i) or condition (ii) is true, and if the comparator determines both conditions (i) and (ii) are not true, then communicating a no change condition in the current block comprising communicating nothing regarding the current block.
1. A computer-implemented method in a data processing system for communicating video information as the video information changes from one frame to another, comprising:
a. determining changes in pixel values within a current block of a frame of the video information;
b. testing:
(i) whether a change in pixel value determined in step (a) for any one of the pixels in the current block exceeds an override threshold, and
(ii) whether a plural number of pixels in the current block that changed in pixel value by at least a noise threshold is equal to or greater than a block change threshold; and
c. if the test of either step b.i. or step b.ii. is true, then communicating information identifying the pixel values within the block;
d. if both conditions of steps b.i. and b.ii. are not true, then communicating a no change condition in the current block comprising communicating nothing regarding the current block; and
decoding the video information by writing current blocks for which nothing is communicated as unchanged compared to a corresponding block in a previous frame.
2. The method according to claim 1, wherein said block change threshold is equal to the number of pixels in the current block.
3. The method according to claim 1, wherein said noise threshold is greater than one.
4. The method according to claim 1, wherein the step of transmitting comprises transmitting the information identifying the pixel values within the block to a compressor for compression prior to transmission over a communication channel.
6. The video encoder according to claim 5, wherein said block change threshold is equal to the number of pixels in the current block.
7. The video encoder according to claim 5, wherein said noise threshold is greater than one.
8. The video encoder according to claim 5, wherein the transmitter further comprises a compressor for compressing the pixel values within the block prior to transmission over a communication channel.

This invention relates to video signal compression techniques.

In its raw form, video is a high volume form of data. Communication bandwidth in its variety of forms can be quickly consumed by the transmission of raw video information. Video compression techniques are known that attempt to retain the highest reproducibility of the original video while reducing the data volume required to transmit the information.

One form of video compression involves run length encoding in which patterns of pixels in a serial run of pixel information are identified, encoded, and transmitted by the code rather than by the individual pixels. U.S. patent application Ser. No. 10/260,534, entitled “Video Compression System,” filed on Oct. 1, 2002 (the '534 patent application) describes in some detail various kinds of run length encoding combined with some other types of novel pattern encoding. The entire contents of the '534 patent application are incorporated herein by reference. The algorithms referred to in the '534 patent application are sometimes referred to herein as “DVC compression.”

Another form of video compression divides video information into larger blocks of pixels and then transmits information about the block of pixels, rather than about the individual pixels themselves. In such systems, video received by a computer or other video source is usually loaded into a frame buffer. From there, blocks of information are compared to corresponding prior frame blocks to determine whether changes have occurred within the blocks. Video compression occurs because information about blocks without detected change need not be transmitted to the receiving end. Instead, the receiving end, employing the known compression algorithm used at the compression end, assumes that the pixels within a block remain the same from frame-to-frame until told otherwise by the compression end.

In an example block-by-block algorithm 8-bit video is captured and divided into 64×16 bit blocks of video for comparison with corresponding prior blocks. When video in a block is detected as changed, the information for that block is communicated to the receiving end. If no change is detected, no transmission occurs with respect to that block.

Such algorithms are presently employed in the computer environment to permit remote access to computer systems from non-proximate workstations. Keyboard, mouse and other (low volume) serial device information is communicated from the workstation to the remote computer via a communication link, and resultant (potentially high volume) video information is communicated back from the computer to the workstation via the communication link. Such systems and the methods they employ for such communications are by now well-known to the artisan.

In that computer environment, it is important that the computer video not “lag” behind the user's keyboard and mouse movements. It is unacceptable for a user to hit a key or move a mouse and see the results of that on the workstation monitor with any perceptible lag. In the remote computer environment, that means that the serial device information must communicated to the remote computer (usually a relatively easy task due to the low data volume), the computer's video processor must act on the information to create new video, and the computer's communication system must communicate the video back to the user—all before the user can detect lag between the moment the keyboard/mouse is used and the moment the resultant video is returned.

The block-by-block video encoding is one way that the video from the computer to the workstation is moved quickly back to the workstation such that no perceptible lag exists to the user. In the computer environment, many blocks within the computer screen of information may not change from frame to frame (such as on a desktop background, word processing document background, or other “inactive” location of the computer screen). With the block-by-block encoding, such blocks could be effectively ignored by the computer when sending the video information to the workstation because the workstation would assume that the blocks were not changed unless specifically told that they had been.

Block analysis occurred by evaluating pixel values within the block. One method provided a transmission of the block whenever a block change was detected, but a more improved method provided a number of pixels that had to change before the block transmission occurred. Thus, in the situation where blocks were 64×16, for example, a threshold number of six of the 1024 pixels had to change before the block was considered different enough to warrant the block transmission. The threshold gave the system room to accommodate a noise floor such that blocks could be ignored unless a change in the number of pixels exceeded a number that might be expected in a typical, noisy environment.

The block analysis was very effective in eliminating lag between keyboard/mouse entry and the corresponding video presentation. A problem developed, however, in which blocks would experience an important substantive pixel change that would go unreported to the workstation because the substantive pixel change did not cause the block to the exceed the noise threshold of, for example, six pixels changed. Examples of such occurrences included the tip of a mouse pointer moving through one or two pixels of a block. Because the number of pixels in the block that changed (the one or two pixels defining a piece of the mouse tip, or perhaps even three or four pixels once some noisiness was taken into consideration) failed to exceed the threshold, the block changes were unreported to the workstation. The effect was a lack of clarity in the mouse tip displayed at the workstation. The same situation occurred with respect to characters in a word processing document or on the desktop. If a two or three pixels of a changed character, such as the end of the hook in an “r” stretched into a block that was otherwise unchanged, the pixels would not be communicated and the end of the “r” would be deleted.

So, if the number of pixels changed within the block was set to one for the changes to be communicated, noise within the system would cause truly unchanged blocks to be communicated anyway. But, if the number of pixels changed within the block was set to more than one, potentially important pixel changes were lost.

Pixels are defined as N-bits of code defining the red hue, N-bits defining the green hue, and N-bits defining the blue hue of the pixel. In the prior system, if the block analysis detected any change in any of the N-bits of any of the three hues of any of the pixels in the block (for example, 1000 pixels in the 64×16 block), then the pixel was counted as changed for purposes of meeting the threshold number of pixels that had to change before the block was communicated. In the present embodiment, two different analyses are conducted on each block. First, a traditional delta is applied to the number of pixels in a block that change. The delta is referred to herein as a block change threshold and describes the number of pixels within a defined block that change from one reference (such as a frame) to another point (such as a subsequent frame). Thus, if any of the 3N bits in the RGB code change, the pixel is considered changed and counted for purposes of calculating the block change. If the block change exceeds a threshold, the block change is communicated to the receiving end.

The second analysis evaluates the contrast change of each independent pixel within the block. This second delta is referred to herein as a pixel change threshold and describes the extent in value to which a pixel change occurs. High contrast pixel changes will cause a block to be communicated to the receiving end—even though the block change threshold is not met.

The two-part analysis solves both of the problems characteristic of prior block analyses. First, if change occurs in a block solely because of pixel noise, the pixel change should be of low value and will register as a single pixel change for purposes of the block change calculation. If it is the only pixel change, the block change threshold will not be met, nor will the pixel change threshold (because the change in value is low contrast, i.e., low value). Accordingly, the noise will not cause the block to be transmitted, thereby conserving bandwidth. But, if the only pixel change is a high contrast change, then the block change threshold will not be met but the pixel change threshold will. Accordingly, the block will be transmitted even though the block change threshold was not met. Similarly, if a sweeping subtle color change occurs in the corner of a block, the pixel change threshold will not be met but the block change threshold (for number of changed pixels) will. Accordingly, the block will be appropriately communicated to reflect the subtle color change.

FIG. 1 is a schematic representation of an example system into which the present invention can have application;

FIG. 2 is an example video frame; and

FIG. 3 is an example embodiment of the present invention.

In the computer system 10 of FIG. 1, keyboard and mouse information 17 is entered at the client 12, processed by the processor 19 at the client 12, and communicated to the server 11 via the communication channel 16. The communication channel can be a telephone line, a LAN, a WAN, the Internet, a fiber link, a wireless link or any other suitable communication system. The server 11 receives the keyboard and mouse information 17, processes it in processor 13 in accordance with an application of the server 11 and prepares an appropriate video response. The video information 18 is communicated to the client 12, which receives it, processes it in processor 19 and displays it for the client user.

The typical client user will not tolerate much delay between the time the user strikes a key or moves the mouse and the time that that user sees the resultant video on the monitor (not shown) of the client 12. Thus, the loop of information between the client 12 and server 11, together with the above-described processing, must not introduce perceptible lag. Fortunately, hardware and software for processors 19 and 13 are available to rapidly process the keyboard, mouse and video information, without introducing delay perceptible to the user. The communication channel 16, on the other hand, may impose perceptible delay unless the video information 18 is satisfactorily compressed.

For that reason, video encoder 14 and video decoder 15 are provided at, respectively, the server 11 and client 12. The video encoder 14 and decoder 15 can be a system such as that described in the '534 patent application referred to in the background above, with modifications in accordance with the following descriptions.

As described above, the encoder 14 can be a block encoder in which blocks of video information are analyzed for change to determine whether communication of the block is necessary for a particular frame. In accordance with the present invention, that determination occurs on two fronts, one based on a pixel change threshold and the other based on a block change threshold.

In the block change threshold determination, the number of pixels that change in value within the block are counted and compared to a threshold. If the number exceeds the threshold, the block is considered sufficiently changed to warrant transmission.

In the pixel change threshold determination, the value of change in each pixel is analyzed and the change values compared to a threshold. If the change value of any pixel in the block exceeds the threshold, the block is considered sufficiently changed to warrant transmission.

Transmission of “the block” can take a variety of forms, all of which are encompassed within the present invention. In the basic form, the raw pixel values for the block are communicated in serial fashion. In a more preferable form, the serial pixel values for the block are passed through the DVC compression technique of the '534 patent application for further compression. Other forms of compression are equally plausible. The present invention is not limited to any particular manner in which the block (once identified as a candidate for transmission) is transmitted from the server 11 via the channel 16 to the client 12.

FIG. 2 illustrates an example of why the present invention can be so valuable. In FIG. 2, a video screen 20 is shown in small part, with a mouse cursor 21 illustrated on the screen 20. Internally to the present system, the screen of information is divided into blocks, such as blocks 22-25. Assuming for the purpose of illustration only, that the cursor 21 is the only thing to be changed on the client user's screen and that it is moving straight upward (in the direction of the arrow shown). Assume also that in the frame shown in FIG. 2, the portion 21A of the cursor 21 just entered block 25 for the first time. That portion 21A is shown in greater detail in the bottom of FIG. 2, where the point of the cursor is drawn by pixels 29, 30, 32 and 33. Surrounding pixels 26, 27, 28, 31, 34 and 35 can be assumed to remain unchanged. As described, the block 25 would ideally have four and only four pixel changes, namely pixels 29, 30, 32 and 33 would change from background color to cursor color.

If the system used the prior art block analysis, the block 25 would not qualify for transmission because the number of changed pixels (four) would not meet the threshold (six) required for the server 11 to communicate the block change. The result means that the user of the client 12 will receive video on the monitor with block 25 unchanged, i.e., the potion 21A of the cursor 21 will be cut off. Such rounded pointer tips and other flaws in the clarity of characters are characteristic of block analysis systems.

The present invention solves that problem by combining the block threshold analysis with a substantially simultaneous pixel contrast analysis. In accordance with the preferred embodiment, the block 25 of FIG. 2 is compared to determine whether enough pixels changed, and if not, each pixel in the block 25 is evaluated to determine whether any one pixel changed enough to merit transmission of the block. In FIG. 2, the pixels 29, 30, 32, and 33, would all qualify under pixel contrast limits (assuming that the background color is not indistinguishably close to the cursor color).

The present invention is not delimited by actual number for the block count threshold. As described above, a threshold of six pixels per 64×16 block can be useful. But, so too can thresholds of less than a 6/1000 ratio, even to a threshold of 2 pixels per block of many tens or hundreds of thousands of pixels per block. The actual number is not delimiting, since the artisan with the understanding gained from this disclosure will recognize that more or less sensitivity can be achieved as desired by increasing or decreasing the threshold. Thus, the threshold that provides high noise suppression, such as requiring all of the pixels changed per block before the block is transmitted can be envisioned if, for example, the block is defined as a relatively small 2×2. The present invention is intended to cover all such threshold values, from two pixels to 100% of the pixels in a block.

Similarly, the actual pixel change threshold is not a limiting factor of the present invention in its broadest forms. Since the transmission decision is a function of both the block change threshold and the pixel change threshold, the two values should preferably be chosen to compliment each other. A relatively lower pixel change threshold causes lower contrast changes in a single pixel to trigger block transmission. A relatively higher pixel change threshold will reduce the possibility of block transmission. Design choices can be made based on such criteria as the noise floor, nominal noise spikes, the number of bits per color component, and the like such that substantive pixel changes are communicated while noise changes are not. The present invention is intended to cover all such threshold values, from a low pixel contrast delta of value=1 to a high pixel contrast delta of 50% or more of the pixel color value.

FIG. 3 illustrates an example system and methodology for implementing the two-part threshold. Input video 41 is communicated (in 15 bit video in the example illustration of FIG. 3) to FIFO 42. FIFO 42 releases the input video to the reference memory 57 where it is stored as frames of video information. Reference memory 57 may be in this example a 1M×16 memory. The reference memory 57 stores the video information until released by the memory controller 58 via the address and control lines shown. One location that the memory controller 58 releases a frame of information to is the Pixel Difference calculator 43. In the example embodiment where one frame of information is compared to its immediately preceding frame, the memory controller 58 releases the prior frame of information from the memory 57 to the Pixel Difference calculator 43 as the FIFO 42 also communicates the current 15 bit video frame to the Pixel Difference calculator. As corresponding pixels arrive, the Pixel Difference calculator compares the absolute value of a current pixel with its counterpart in the immediately preceding frame. The value of that difference is communicated by the Pixel Difference calculator 43 to the threshold blocks 44 and 46.

Pixel Threshold Block 44 receives a noise threshold 45 which is compared to each pixel difference value received from the Pixel Difference Block 43. That is, as each pixel difference value (indicating the extent of contrast between the three 5-bit color component values of the current pixel compared to its counterpart in the immediately preceding frame) is received from the Pixel Difference Block 43, it is compared to the noise threshold to determined whether a change in the pixel value is going to be deemed to have occurred. Delta values from the Pixel Difference block 43 that fall below the noise threshold 45 will be presumed to have been unchanged, i.e., system induced rather than substantive screen image changes. The noise threshold can be a five bit signal to evaluate each of the three five bit color component values received as the difference signal from the Pixel Difference Block 43. Block 44 responds with a positive output signal to the Threshold Block Counters 50 each time the difference value received from the Pixel Difference block 43 exceeds the noise threshold. The output signal cnt++ is a count signal received by the Threshold Block Counters 50 which count the number of such signals received.

Meanwhile, the same delta value for the current pixel is received from the Pixel Difference Block 43 by the Pixel Threshold Block 46. The Pixel Threshold Block 46 compares the delta to another threshold, the “Override Threshold” 47, which it receives as the threshold over which the pixel will be said to have changed so substantively that it must be communicated to the client 12 regardless of other pixel changes within the block. When the Pixel Threshold Block 46 receives a pixel delta value that exceeds that override threshold, the block 46 communicates a number of signals to the Threshold Block Counters 50 equal to the “Count Threshold Number” 52 at which the system will send the block to the client. In other words, in the example of FIG. 3, the Threshold Block Counter 50 is tricked into counting the existence of more excessive pixel deltas than really occurred (the “true” number will still be reported by the block 44 to counter 50 although the outcome—block transmission—will have already been predestined by the block 46 report to the counter 50).

The Counter 50 counts all of the pixel reports from both the Block 44 and the Block 46 for a full block. When the block of pixels begins at the Pixel Difference Block 43, the processor (not shown in FIG. 3) enables the counter via enable line 48. At the conclusion of a block, the processor resets the counter to zero by the reset line 49. Thus, the Counter 50 is always counting the excess deltas (or the pseudo-excesses reported by the Block 46 as the case may be) in one block of video information.

The number of excess deltas counted by the Counter 50 is reported to the Comparators 51, which determine whether the counted number of excess deltas exceeded the count threshold 52 for the block reported. If they did, the Comparators 51 report the block condition (changed or unchanged) to the Block Update Memory 55, which sets a flag for each block that requires updating, i.e., communication to the receiving end. When the frame of input video 41 is completed, the Block Update Memory communicates the block identities that require communication (based on the set flags) to the memory controller 58 which causes a download of those blocks from the Reference Memory to the DVC Compression Block 59.

Once a block is identified for transmission, the memory 57 provides the blocks that require communication to the DVC Compression Block 59. The DVC Compression Block 59 receives the requisite blocks, compresses the blocks of information (per the '534 patent application disclosure), and releases the compressed stream to Output FIFO 60. The compressed stream of video can then go on the Processor Bus 61 for transmission via, for example, a communication channel interface, to the communication channel 16.

The structure of FIG. 3 is not the only embodiment into which the broad aspects of the invention can be incorporated. The structures of FIG. 3 can be completely incorporated into software modules, hardware, or a combination of both. The calculations, counting, comparisons and other functions can be performed by discrete units as shown or can be performed as a processing method within a single or multiple processing elements. The present invention is not limited to the particular kind of structure chosen to incorporate the two-threshold analysis.

Nor is the method of tricking the Counter 50 into a maximum count the only method envisioned by the present invention for determining when a block will be transmitted prior to the true count of pixel changes reaching the count threshold. Other methods could envision a direct reporting of that condition to the memory controller, or a completely independent path of processing elements for analyzing the block count versus the pixel value count.

While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embodiment, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

Johnson, Timothy A., Blackwell, Steven R.

Patent Priority Assignee Title
11527191, Jun 15 2018 Samsung Electronics Co., Ltd. Display driver circuit and method for reducing influence of noise or dither
Patent Priority Assignee Title
3710011,
3925762,
3935379, May 09 1974 GDE SYSTEMS, INC Method of and system for adaptive run length encoding of image representing digital information
4005411, Dec 30 1974 International Business Machines Corporation Compression of gray scale imagery to less than one bit per picture element
4134133, Jul 21 1976 Kokusai Denshin Denwa Kabushiki Kaisha Method for interline-coding facsimile signal
4142243, May 20 1977 Amdahl Corporation Data processing system and information scanout employing checksums for error detection
4369464, Jul 09 1979 Digital video signal encoding and decoding system
4384327, Oct 31 1978 Honeywell Information Systems Inc. Intersystem cycle control logic
4667233, Sep 17 1984 NEC Corporation Apparatus for discriminating a moving region and a stationary region in a video signal
4764769, Oct 19 1983 VEGA PRECISION LABORATORIES, INC A CORP OF VIRGINIA Position coded pulse communication system
4774587, Jun 02 1987 Eastman Kodak Company; EASTMAN KODAK COMPANY, ROCHESTER, NEW YORK, A NEW JERSEY CORP Still video transceiver processor
4816901, Apr 27 1988 PAOLO VISUAL DATA LLC Method and system for compressing color video data
4855825, Dec 05 1985 VISTA COMMUNICATION INSTRUMENTS INC Method and apparatus for detecting the most powerfully changed picture areas in a live video signal
4873515, Oct 16 1987 Evans & Sutherland Computer Corporation Computer graphics pixel processing system
4959833, Mar 08 1989 ICS ELECTRONICS CORPORATION, 2185 OLD OAKLAND RD , SAN JOSE, CA 95131 A CORP OF CA Data transmission method and bus extender
5046119, Mar 16 1990 Apple Inc Method and apparatus for compressing and decompressing color video data with an anti-aliasing mode
5083214, May 02 1990 Eastman Kodak Company Apparatus and methods for extracting data from a scanned bit-mapped data strip
5235595, May 06 1987 Micron Technology, Inc Packet switching
5251018, Jan 29 1991 SAMSUNG ELECTRONICS CO , LTD Color signal contour compensator for matching the rise times of color and luminance signals of a video signal to produce sharper images
5325126, Apr 01 1992 INTEL CORPORATION, A DELAWARE CORP Method and apparatus for real time compression and decompression of a digital motion video signal
5339164, Dec 24 1991 Massachusetts Institute of Technology; MASSACHUSETTS INSTITUTE OF TECHNOLOGY, THE Method and apparatus for encoding of data using both vector quantization and runlength encoding and using adaptive runlength encoding
5387947, Jul 03 1992 Samsung Electronics Co., Ltd. Motion vector detecting method of a video signal
5418952, Nov 23 1988 PARALLEL SIMULATION TECHNOLOGY, LLC Parallel processor cell computer system
5430848, Aug 14 1992 Loral Fairchild Corporation Distributed arbitration with programmable priorities
5465118, Dec 17 1993 LENOVO SINGAPORE PTE LTD Luminance transition coding method for software motion video compression/decompression
5497434, May 05 1992 AVAGO TECHNOLOGIES GENERAL IP SINGAPORE PTE LTD Image data compression
5519874, Mar 13 1990 Hitachi, Ltd.; Hitachi Microcomputer System, Ltd. Application execution control method and system for servicing subscribers via a switchboard connected to a computer using an application management table
5526024, Mar 12 1992 AVAYA Inc Apparatus for synchronization and display of plurality of digital video data streams
5566339, Oct 23 1992 Avocent Huntsville Corporation System and method for monitoring computer environment and operation
5572235, Nov 02 1992 SAMSUNG ELECTRONICS CO , LTD Method and apparatus for processing image data
5630036, Nov 02 1992 Fujitsu Limited Image data compression method involving deleting data in areas where predicted color value, based on color change between adjacent pixels, is small, and image data processing device implementing same method
5659707, Oct 07 1994 Transpacific IP Ltd Transfer labeling mechanism for multiple outstanding read requests on a split transaction bus
5664029, May 13 1992 Apple Inc Method of disregarding changes in data in a location of a data structure based upon changes in data in nearby locations
5664223, Apr 05 1994 International Business Machines Corporation System for independently transferring data using two independently controlled DMA engines coupled between a FIFO buffer and two separate buses respectively
5721842, Aug 25 1995 AVOCENT REDMOND CORP Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch
5731706, Feb 18 1997 Fluke Corporation Method for efficient calculation of power sum cross-talk loss
5732212, Oct 23 1992 Avocent Huntsville Corporation System and method for remote monitoring and operation of personal computers
5754836, Sep 21 1995 Cisco Technology, Inc Split bus architecture for multipoint control unit
5757973, Jan 11 1991 Sony Corporation; Sony United Kingdom Limited Compression of image data seperated into frequency component data in a two dimensional spatial frequency domain
5764479, Sep 23 1996 LENOVO SINGAPORE PTE LTD Split system personal computer having floppy disk drive moveable between accessible and inaccessible positions
5764924, Aug 24 1995 TERADATA US, INC Method and apparatus for extending a local PCI bus to a remote I/O backplane
5764966, Jun 07 1995 SAMSUNG ELECTRONICS CO , LTD Method and apparatus for reducing cumulative time delay in synchronizing transfer of buffered data between two mutually asynchronous buses
5781747, Nov 14 1995 RATEZE REMOTE MGMT L L C Method and apparatus for extending the signal path of a peripheral component interconnect bus to a remote location
5784488, Dec 24 1993 Seiko Epson Corporation Image processing method and system
5796864, May 12 1992 Apple Inc Method and apparatus for real-time lossless compression and decompression of image data
5799207, Mar 28 1995 Transpacific IP Ltd Non-blocking peripheral access architecture having a register configure to indicate a path selection for data transfer between a master, memory, and an I/O device
5805735, Mar 02 1995 Apple Inc Method and apparatus for compression of digitized image data using variable color fidelity
5812169, May 14 1996 Eastman Kodak Company Combined storage of data for two printheads
5812534, Dec 02 1994 Multi-Tech Systems, Inc. Voice over data conferencing for a computer-based personal communications system
5828848, Oct 31 1996 SENSORMATIC ELECTRONICS, LLC Method and apparatus for compression and decompression of video data streams
5844940, Jun 30 1995 ARRIS Enterprises, Inc Method and apparatus for determining transmit power levels for data transmission and reception
5861764, Dec 31 1996 Hewlett Packard Enterprise Development LP Clock skew reduction using spider clock trace routing
5864681, Aug 09 1996 Hewlett Packard Enterprise Development LP Video encoder/decoder system
5867167, Aug 04 1995 Sun Microsystems, Inc. Compression of three-dimensional graphics data including quantization, delta-encoding, and variable-length encoding
5870429, Jun 17 1996 ARRIS Enterprises, Inc Apparatus method, and software modem for utilizing envelope delay distortion characteristics to determine a symbol rate and a carrier frequency for data transfer
5898861, Oct 18 1996 Hewlett Packard Enterprise Development LP Transparent keyboard hot plug
5929915, Dec 02 1997 QUARTERHILL INC ; WI-LAN INC Interlaced binary shape coding method and apparatus
5946451, Apr 07 1995 Heidelberger Druckmaschinen AG Method for generating a contone map
5948092, Oct 07 1997 LENOVO SINGAPORE PTE LTD Local bus IDE architecture for a split computer system
5967853, Jun 24 1997 COMMSCOPE, INC OF NORTH CAROLINA Crosstalk compensation for electrical connectors
5968132, Feb 21 1996 Fujitsu Limited Image data communicating apparatus and a communication data quantity adjusting method used in an image data communication system
5997358, Sep 02 1997 COMMSCOPE, INC OF NORTH CAROLINA Electrical connector having time-delayed signal compensation
6003105, Nov 21 1996 Hewlett-Packard Company Long-haul PCI-to-PCI bridge
6008847, Apr 08 1996 LOGITECH EUROPE, S A Temporal compression and decompression for video
6012101, Jan 16 1998 CLEARCUBE TECHNOLOGY, INC Computer network having commonly located computing systems
6016316, Apr 21 1995 Hybrid Patents Incorporated Hybrid access system employing packet suppression scheme
6032261, Dec 30 1997 Philips Electronics North America Corporation Bus bridge with distribution of a common cycle clock to all bridge portals to provide synchronization of local buses, and method of operation thereof
6038346, Jan 29 1998 Seiko Epson Corporation Runs of adaptive pixel patterns (RAPP) for lossless image compression
6040864, Oct 28 1993 Matsushita Electric Industrial Co., Ltd. Motion vector detector and video coder
6055597, Oct 30 1997 U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT Bi-directional synchronizing buffer system
6060890, Apr 17 1998 GLOBALFOUNDRIES Inc Apparatus and method for measuring the length of a transmission cable
6065073, Aug 17 1998 Jato Technologies, Inc. Auto-polling unit for interrupt generation in a network interface device
6070214, Aug 06 1998 SHAMROCK INNOVATIONS, LLC Serially linked bus bridge for expanding access over a first bus to a second bus
6084638, Oct 08 1996 Panasonic Corporation of North America Computer interface extension system and method
6094453, Oct 11 1996 ETIIP HOLDINGS INC Digital data compression with quad-tree coding of header file
6097368, Mar 31 1998 MATSUSHITA ELECTRIC INDUSTRIAL COMPANY, LTD Motion pixel distortion reduction for a digital display device using pulse number equalization
6124811, Jul 02 1998 Intel Corporation Real time algorithms and architectures for coding images compressed by DWT-based techniques
6134613, Jun 16 1997 HANGER SOLUTIONS, LLC Combined video processing and peripheral interface card for connection to a computer bus
6146158, Sep 14 1998 TAGNOLOGY, INC Self-adjusting shelf mounted interconnect for a digital display
6154492, Jan 09 1997 Matsushita Electric Industrial Co., Ltd. Motion vector detection apparatus
6195391, May 31 1994 International Business Machines Corp Hybrid video compression/decompression system
6202116, Jun 17 1998 AMD TECHNOLOGIES HOLDINGS, INC ; GLOBALFOUNDRIES Inc Write only bus with whole and half bus mode operation
6233226, Dec 14 1998 VERIZON LABORATORIES, INC System and method for analyzing and transmitting video over a switched network
6240481, Dec 22 1997 Konica Corporation Data bus control for image forming apparatus
6240554, Oct 20 1993 IGATE, INC Local area network for simultaneous, bi-directional transmission of video bandwidth signals
6243496, Jan 07 1993 Sony United Kingdom Limited Data compression
6304895, Aug 22 1997 AVOCENT REDMOND CORP Method and system for intelligently controlling a remotely located computer
6327307, Aug 07 1998 Google Technology Holdings LLC Device, article of manufacture, method, memory, and computer-readable memory for removing video coding errors
6330017, Oct 12 1994 Ricoh Co., Ltd. Light emitting diode array head including focusing lenses
6345323, Aug 25 1995 AVOCENT REDMOND CORP Computer interconnection system
6360017, Mar 05 1998 WSOU Investments, LLC Perceptual-based spatio-temporal segmentation for motion estimation
6370191, Nov 01 1999 Texas Instruments Incorporated Efficient implementation of error approximation in blind equalization of data communications
6373890, May 05 1998 NOVALOGIC, INC Video compression and playback process
6377313, Sep 02 1999 TECHWELL,INC Sharpness enhancement circuit for video signals
6377640, Jul 31 1997 Stanford Syncom, Inc.; STANFORD SYNCOM INC Means and method for a synchronous network communications system
6404932, Jul 31 1996 Matsushita Electric Industrial Co., Ltd. Apparatus and method of decoding an image using a statistical model based on pixels
6418494, Oct 30 1998 VERTIV IT SYSTEMS, INC ; Avocent Corporation Split computer architecture to separate user and processor while retaining original user interface
6425033, Jun 20 1997 National Instruments Corporation System and method for connecting peripheral buses through a serial bus
6453120, Apr 05 1993 Canon Kabushiki Kaisha Image processing apparatus with recording and reproducing modes for hierarchies of hierarchically encoded video
6470050, Apr 09 1999 SOCIONEXT INC Image coding apparatus and its motion vector detection method
6496601, Jun 23 1997 SIZMEK TECHNOLOGIES, INC System and method for asynchronous, adaptive moving picture compression, and decompression
6512595, Apr 27 1998 Canon Kabushiki Kaisha Data processing apparatus, data processing method, and medium
6516371, May 27 1999 Advanced Micro Devices, Inc. Network interface device for accessing data stored in buffer memory locations defined by programmable read pointer information
6522365, Jan 27 2000 Qualcomm Incorporated Method and system for pixel clock recovery
6539418, Aug 22 1997 AVOCENT REDMOND CORP Method and system for intelligently controlling a remotely located computer
6542631, Nov 27 1997 Seiko Epson Corporation Encoding method of a color image and its encoding device and a decoding method of the color image and its decoding device
6567464, Jul 24 1998 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Fast retrain based on communication profiles for a digital modem
6571393, May 27 1998 HONG KONG UNIVERSITY OF SCIENCE & TECHNOLOGY, THE Data transmission system
6574364, Mar 31 1998 Koninklijke Philips Electronics N V Pixel color value encoding and decoding
6584155, Dec 27 1999 Kabushiki Kaisha Toshiba Method and system for estimating motion vector
6590930, Jul 22 1999 CADENCE DESIGN SYSTEMS INC Local area network diagnosis
6661838, May 26 1995 Canon Kabushiki Kaisha Image processing apparatus for detecting changes of an image signal and image processing method therefor
6664969, Nov 12 1999 Hewlett Packard Enterprise Development LP Operating system independent method and apparatus for graphical remote access
6701380, Aug 22 1997 Avocent Redmond Corp. Method and system for intelligently controlling a remotely located computer
6754241, Jan 06 1999 SRI International Computer system for statistical multiplexing of bitstreams
6785424, Aug 13 1999 Canon Kabushiki Kaisha Encoding method and apparatus for compressing a data structure having two or more dimensions, decoding method, and storage medium
6829301, Jan 16 1998 DIGIMEDIA TECH, LLC Enhanced MPEG information distribution apparatus and method
6833875, Sep 02 1999 Techwell LLC Multi-standard video decoder
6871008, Jan 03 2000 TAMIRAS PER PTE LTD , LLC Subpicture decoding architecture and method
6898313, Mar 06 2002 Sharp Laboratories of America, Inc. Scalable layered coding in a multi-layer, compound-image data transmission system
6940900, Dec 27 2000 NEC Corporation Data compression, control program for controlling the data compression
6972786, Dec 30 1994 Pragmatus AV LLC Multimedia services using central office
6990148, Feb 25 2002 Samsung Electronics Co., Ltd. Apparatus for and method of transforming scanning format
7006700, Jun 25 2004 Vertiv Corporation Digital video compression command priority
7013255, Jun 09 2000 AVAYA Inc Traffic simulation algorithm for asynchronous transfer mode networks
7016413, Mar 20 1998 International Business Machines Corporation Adaptively encoding a picture of contrasted complexity having normal video and noisy video portions
7020732, Oct 30 1998 VERTIV IT SYSTEMS, INC ; Avocent Corporation Split computer architecture
7031385, Oct 01 1999 BASS AERO PTE LTD Method and apparatus for detecting scene change of a compressed moving-picture, and program recording medium therefor
7085319, Apr 17 1999 Altera Corporation Segment-based encoding system using segment hierarchies
7093008, Nov 30 2000 Intel Corporation Communication techniques for simple network management protocol
7143432, Oct 01 1999 ADAPTIVE STREAMING INC System for transforming streaming video data
7221389, Feb 15 2002 Vertiv Corporation Automatic equalization of video signals
7222306, May 02 2001 BITSTREAM INC Methods, systems, and programming for computer display of images, text, and/or digital content
7272180, Oct 01 2002 Vertiv Corporation Video compression system
7277104, Feb 26 2002 ADDER TECHNOLOGY LTD Video signal skew
7321623, Oct 01 2002 Vertiv Corporation Video compression system
7336839, Jun 25 2004 Vertiv Corporation Digital video compression command priority
7373008, Mar 28 2002 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Grayscale and binary image data compression
7457461, Jun 25 2004 Vertiv Corporation Video compression noise immunity
7466713, Oct 29 2004 Vertiv Corporation Service processor gateway system and appliance
7515632, Oct 01 2002 VERTIV IT SYSTEMS, INC Video compression system
7515633, Oct 01 2002 VERTIV IT SYSTEMS, INC Video compression system
7542509, Oct 01 2002 VERTIV IT SYSTEMS, INC Video compression system
7609721, Jul 23 2004 Citrix Systems, Inc Systems and methods for adjusting the maximum transmission unit for encrypted communications
7720146, Oct 01 2002 VERTIV IT SYSTEMS, INC Video compression system
7782961, Apr 28 2006 Vertiv Corporation DVC delta commands
7809058, Oct 01 2002 VERTIV IT SYSTEMS, INC Video compression system
7941634, Dec 01 2006 InterDigital VC Holdings, Inc Array of processing elements with local registers
20010048667,
20020118754,
20030005186,
20030048943,
20030202594,
20030231204,
20040017514,
20040062305,
20040064198,
20040122931,
20040228526,
20050005102,
20050025248,
20050057777,
20050069034,
20050089091,
20050108582,
20050135480,
20050157799,
20050198245,
20050231462,
20050249207,
20050286790,
20060039404,
20060092271,
20060120460,
20060126718,
20060126720,
20060126721,
20060126722,
20060126723,
20060161635,
20060262226,
20070019743,
20070165035,
20070180407,
20070248159,
20070253492,
20090290647,
EP270896,
EP395416,
EP495490,
EP780773,
EP844567,
EP899959,
GB2318956,
GB2350039,
GB2388504,
JP10215379,
JP10257485,
JP11184800,
JP11184801,
JP11203457,
JP11308465,
JP11313213,
JP1162480,
JP1303988,
JP2000125111,
JP2001053620,
JP2001148849,
JP2001169287,
JP2002043950,
JP2002165105,
JP2003174565,
JP2003244448,
JP2003250053,
JP2004032698,
JP2004220160,
JP3130767,
JP3192457,
JP62077935,
JP63108879,
JP64077374,
JP677858,
JP8033000,
JP8223579,
JP8263262,
JP9231672,
JP9233467,
JP9321672,
TW220036,
TW589871,
WO122628,
WO2062050,
WO3055094,
WO3071804,
WO2004032356,
WO2004064402,
WO2004081772,
WO9741514,
WO9826603,
WO9854893,
WO9950819,
///////////////////////////////////////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jul 30 2003Avocent Corporation(assignment on the face of the patent)
Aug 27 2003JOHNSON, TIMOTHY A Avocent CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0146450812 pdf
Aug 29 2003BLACKWELL, STEVEN R Avocent CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0146450812 pdf
Feb 28 2017Liebert CorporationJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Feb 28 2017EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Feb 28 2017AVOCENT REDMOND CORP JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Feb 28 2017ASCO POWER TECHNOLOGIES, L P JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017AVOCENT HUNTSVILLE, LLCJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Feb 28 2017AVOCENT FREMONT, LLCJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017AVOCENT HUNTSVILLE, LLCJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017AVOCENT REDMOND CORP JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017LIEBERT NORTH AMERICA, INC JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017ASCO POWER TECHNOLOGIES, L P JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Feb 28 2017Avocent CorporationJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Feb 28 2017Liebert CorporationJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017AVOCENT FREMONT, LLCJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Feb 28 2017Avocent CorporationJPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTABL SECURITY AGREEMENT0419410363 pdf
Feb 28 2017LIEBERT NORTH AMERICA, INC JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0419440892 pdf
Oct 31 2018Avocent CorporationVERTIV IT SYSTEMS, INC CHANGE OF NAME SEE DOCUMENT FOR DETAILS 0477880620 pdf
May 13 2019VERTIV ENERGY SYSTEMS, INC THE BANK OF NEW YORK MELLON TRUST COMPANY, N A SECOND LIEN SECURITY AGREEMENT0494150262 pdf
May 13 2019ELECTRICAL RELIABILITY SERVICES, INC THE BANK OF NEW YORK MELLON TRUST COMPANY, N A SECOND LIEN SECURITY AGREEMENT0494150262 pdf
May 13 2019VERTIV IT SYSTEMS, INC THE BANK OF NEW YORK MELLON TRUST COMPANY, N A SECOND LIEN SECURITY AGREEMENT0494150262 pdf
May 13 2019Vertiv CorporationTHE BANK OF NEW YORK MELLON TRUST COMPANY, N A SECOND LIEN SECURITY AGREEMENT0494150262 pdf
May 13 2019VERTIV NORTH AMERICA, INC THE BANK OF NEW YORK MELLON TRUST COMPANY, N A SECOND LIEN SECURITY AGREEMENT0494150262 pdf
Mar 02 2020JPMORGAN CHASE BANK, N A VERTIV IT SYSTEMS, INC F K A AVOCENT HUNTSVILLE, LLC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520650757 pdf
Mar 02 2020JPMORGAN CHASE BANK, N A VERTIV IT SYSTEMS, INC F K A AVOCENT CORPORATION RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520650757 pdf
Mar 02 2020JPMORGAN CHASE BANK, N A VERTIV CORPORATION F K A EMERSON NETWORK POWER, ENERGY SYSTEMS, NORTH AMERICA, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520650757 pdf
Mar 02 2020JPMORGAN CHASE BANK, N A VERTIV CORPORATION F K A LIEBERT CORPORATION RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520650757 pdf
Mar 02 2020JPMORGAN CHASE BANK, N A VERTIV IT SYSTEMS, INC F K A AVOCENT FREMONT, LLC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520650757 pdf
Mar 02 2020JPMORGAN CHASE BANK, N A VERTIV IT SYSTEMS, INC F K A AVOCENT REDMOND CORP RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520650757 pdf
Mar 02 2020VERTIV IT SYSTEMS, INC CITIBANK, N A SECURITY AGREEMENT0520760874 pdf
Mar 02 2020THE BANK OF NEW YORK MELLON TRUST COMPANY N A ELECTRICAL RELIABILITY SERVICES, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520710913 pdf
Mar 02 2020THE BANK OF NEW YORK MELLON TRUST COMPANY N A VERTIV IT SYSTEMS, INC RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520710913 pdf
Mar 02 2020THE BANK OF NEW YORK MELLON TRUST COMPANY N A Vertiv CorporationRELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS 0520710913 pdf
Mar 02 2020ELECTRICAL RELIABILITY SERVICES, INC CITIBANK, N A SECURITY AGREEMENT0520760874 pdf
Mar 02 2020ENERGY LABS, INC CITIBANK, N A SECURITY AGREEMENT0520760874 pdf
Mar 02 2020Vertiv CorporationCITIBANK, N A SECURITY AGREEMENT0520760874 pdf
Oct 22 2021Vertiv CorporationUMB BANK, N A , AS COLLATERAL AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0579230782 pdf
Oct 22 2021VERTIV IT SYSTEMS, INC UMB BANK, N A , AS COLLATERAL AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0579230782 pdf
Oct 22 2021ELECTRICAL RELIABILITY SERVICES, INC UMB BANK, N A , AS COLLATERAL AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0579230782 pdf
Oct 22 2021ENERGY LABS, INC UMB BANK, N A , AS COLLATERAL AGENTSECURITY INTEREST SEE DOCUMENT FOR DETAILS 0579230782 pdf
Dec 04 2024VERTIV IT SYSTEMS, INC Vertiv CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0696950620 pdf
Date Maintenance Fee Events
Jul 31 2020M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Jul 31 2024M1552: Payment of Maintenance Fee, 8th Year, Large Entity.


Date Maintenance Schedule
Jan 31 20204 years fee payment window open
Jul 31 20206 months grace period start (w surcharge)
Jan 31 2021patent expiry (for year 4)
Jan 31 20232 years to revive unintentionally abandoned end. (for year 4)
Jan 31 20248 years fee payment window open
Jul 31 20246 months grace period start (w surcharge)
Jan 31 2025patent expiry (for year 8)
Jan 31 20272 years to revive unintentionally abandoned end. (for year 8)
Jan 31 202812 years fee payment window open
Jul 31 20286 months grace period start (w surcharge)
Jan 31 2029patent expiry (for year 12)
Jan 31 20312 years to revive unintentionally abandoned end. (for year 12)