IP Library Granted Patent US 7,606,314
Granted Patent B2
US 7,606,314 · App. 10/898,001 · Granted Oct 20, 2009

Method and apparatus for caching, compressing and transmitting video signals

Assignee: Raritan America, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,606,314
App. No.
10/898,001
Granted
Oct 20, 2009
Kind
B2
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.

Claims (48)

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.

2. A method according to claim 1 , wherein said code function generates at least one hash code for each said pixel block.

3. A method according to claim 1 , wherein said code function generates at least one cyclic redundancy check (CRC) code for each said pixel block.

4. A method according to claim 1 , wherein said comparing of code functions uses at least a first and second hash code.

5. A method according to claim 1 , wherein said comparing of code functions uses at least a first and second CRC code.

6. A method according to claim 1 , wherein said comparing of code functions uses at least a hash code and a CRC code.

7. A method according to claim 1 , wherein said comparing of code functions continues until a match indicative of a cache hit is found.

8. A method according to claim 7 , wherein a reference code is transmitted to said user workstation upon said cache hit.

9. A method according to claim 1 , wherein said comparing of code functions continues until comparison has been made to all of said stored code functions in said table.

10. A method according to claim 1 , wherein said first and second caches are synchronized.

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.

12. A method according to claim 11 , wherein said hash code comparing continues until a match indicative of a cache hit is found.

13. A method according to claim 12 , wherein a reference code is transmitted to said user workstation upon said cache hit.

14. A method according to claim 11 , wherein said comparing continues until comparison to all of said hash codes of said stored pixel blocks in said cache has occurred.

15. A method according to claim 11 , wherein said first and second caches are synchronized.

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.

17. A system according to claim 16 , wherein said computed codes are hash codes.

18. A system according to claim 16 , wherein said computed codes are CRC codes.

19. A system according to claim 16 , where said computed codes are a combination of hash codes and CRC codes.

20. A system according to claim 16 , wherein a reference code is transmitted to said user workstation upon a match of said current blocks in said frame buffers to said cache of stored frame buffers.

21. A system according to claim 16 , wherein said cache is updated upon said current blocks not being found in said cache.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 8, 2015
From: PNC BANK NATIONAL ASSOCIATION
To: RARITAN INC; RARITAN AMERICAS, INC.,; RARITAN TECHNOLOGIES, INC.,; RIIP, INC.
Reel/Frame 036819/0205 →
CHANGE OF NAME Recorded Sep 8, 2015
From: RARITAN COMPUTER, INC.
To: RARITAN AMERICAS, INC.
Reel/Frame 036564/0960 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2012
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: RARITAN, INC.; RARITAN AMERICAS, INC.; RIIP, INC.
Reel/Frame 028924/0272 →
SECURITY AGREEMENT Recorded Sep 10, 2012
From: RARITAN, INC.; RARITAN AMERICAS, INC.; RARITAN TECHNOLOGIES, INC.; RIIP, INC.
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 028924/0527 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded May 11, 2012
From: RARITAN AMERICAS, INC.; RARITAN, INC.; RIIP, INC.; RARITAN TECHNOLOGIES, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR BY MERGER TO WACHOVIA BANK, NATIONAL ASSOCIATION)
Reel/Frame 028192/0318 →
SECURITY AGREEMENT Recorded Feb 29, 2008
From: RARITAN, INC.
To: WACHOVIA BANK
Reel/Frame 020582/0270 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2005
From: COLEMAN, SCOTT; ANDERSON, SWEN
To: RARITAN COMPUTER, INC.
Reel/Frame 016199/0382 →
Continuity (2)
Continuation In Part 1023329900 · Aug 29, 2002
Related Publication 20050105608A1 · May 19, 2005