Method and apparatus for caching, compressing and transmitting video signals
First Claim
1. A method of transmitting video signals over a keyboard, video and mouse (“
- KVM”
) network from one of a plurality of remote computers to one of a plurality of user workstations, said method comprising the steps of;
receiving at least one video signal from a remote computer;
digitizing said video signal;
dividing said digitized video signal into one or more pixel blocks;
comparing said pixel block to a previously stored pixel block;
transmitting an instruction to one of a plurality of the user workstations if the comparing does not exceed a threshold;
generating a code function to be associated with each of said pixel blocks if the comparing exceeds said threshold;
storing said code function in a cachecomparing said generated code function the previously stored code functions in the cache;
storing said pixel blocks in a first cache when the code function does not match any code function in the cache;
transmitting to one of the plurality of user workstations said pixel blocks when the compared code function does not match any code function in said cache; and
updating a second cache with said transmitted pixel blocks.
7 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a method and apparatus for transmitting video signals from a remote computer to a local computer over a network such as a LAN, WAN, the Internet, etc. The method receives and digitizes signals from the remote computer, conditions the signals, and compresses the signals for efficient transmission over the network connection. The method and apparatus also utilizes a cache of recently transmitted video to further decrease the data needed for transmission of the signals. The conditioning and caching use frame buffers of video signals that are divided into cells to reduce noise in the image, and to limit the portions of the video signals that must be transmitted. The present invention maybe used in conjunction with a keyboard video mouse switch to enable a user at the local computer to select one of a number of remote devices for remote operation.
109 Citations
21 Claims
-
1. A method of transmitting video signals over a keyboard, video and mouse (“
- KVM”
) network from one of a plurality of remote computers to one of a plurality of user workstations, said method comprising the steps of;receiving at least one video signal from a remote computer; digitizing said video signal; dividing said digitized video signal into one or more pixel blocks; comparing said pixel block to a previously stored pixel block; transmitting an instruction to one of a plurality of the user workstations if the comparing does not exceed a threshold; generating a code function to be associated with each of said pixel blocks if the comparing exceeds said threshold; storing said code function in a cache comparing said generated code function the previously stored code functions in the cache; storing said pixel blocks in a first cache when the code function does not match any code function in the cache; transmitting to one of the plurality of user workstations said pixel blocks when the compared code function does not match any code function in said cache; and updating a second cache with said transmitted pixel blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- KVM”
-
11. A method of transmitting video signals over a Keyboard, Video, Mouse (“
- KVM”
) network from one of a plurality of remote computers to one of a plurality of user workstations, said method comprising the steps of;receiving at least one video signal from a remote computer; digitizing said video signal; dividing said digitized video signal into one or more pixel blocks; comparing said pixel block to a previously stored pixel block; transmitting an instruction to one of a plurality of the user workstations if the comparing does not exceed a threshold; computing at least a first and second hash code for each of said pixel blocks if the comparison exceeds a threshold; comparing said first and second hash codes to a cache of stored hash codes; storing said one or more pixel blocks in a cache when said first and second hash codes are not found in the cache of stored hash codes; transmitting to a user workstation said pixel blocks when said first and second hash codes are not in said cache; and updating a second cache with said transmitted pixel blocks. - View Dependent Claims (12, 13, 14, 15)
- KVM”
-
16. A keyboard, video, and mouse system for selectively controlling a plurality of remotely located computers from a plurality of local user workstations comprising:
-
at least one remote computer; at least one user workstation; a transformation apparatus for compressing, analyzing and converting at least one video signal from said remote computer; a first and second frame buffer from said at least one remote computer; and
a cache of stored frame buffers;wherein said transformation apparatus compares said first frame buffer to said second frame buffer by utilizing a first threshold and a second threshold stage and transmits an instruction to at least one user workstations if the comparing does not exceed a threshold; wherein said transformation apparatus divides said frame buffers into current blocks and generates and stores a plurality of computed codes associated with each current block if the comparing exceeds said threshold, and wherein the transformation apparatus further compares said current blocks to said cache of stored frame buffers using the stored codes and when no match of said current blocks in said frame buffers to said cache of stored frame buffers occurs, the associated blocks are transmitted to the user workstation. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification