IP Library Granted Patent US 8,760,366
Granted Patent B2
US 8,760,366 · App. 13/641,665 · Granted Jun 24, 2014

Method and system for remote computing

Inventors: Simon Edward Morris (Kirkland, WA); James Peter Walch (Sheffield, GB)
Assignee: RealVNC Ltd.
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 8,760,366
App. No.
13/641,665
Granted
Jun 24, 2014
Kind
B2
Abstract

A remote computer having a processor and a display, said remote computer being connected via a network to a local computer having a processor and a display, wherein the processor of the remote computer is configured to divide at least part of the remote computer display into a grid having a plurality of tiles, determine whether each tile represents image data or text data, encode each tile representing text data using a lossless compression, encode each tile representing image data using a lossy compression, and transmit display data comprising said lossy encoded image data and said lossless encoded text data from said remote computer to said local computer, whereby a user is able to view said remote computer display on said local computer display.

Claims (48)

1. A method of transmitting display data from a remote computer to a local computer having a display whereby a user is able to view said remote computer display data on said local computer display, the method comprising:

dividing at least part of the remote computer display data into a plurality of tiles;

determining whether each tile represents image data or text data by applying a color reduction algorithm to each said tile to produce a color-reduced tile and comparing each tile with its corresponding color reduced tile;

encoding each tile representing text data using a lossless compression; and

encoding each tile representing image data using a lossy compression;

wherein said transmitted display data comprises said lossy encoded image data and said lossless encoded text data; and

wherein said determining step comprises:

compressing each said tile using a lossless compression to produce a first encoded copy;

compressing said color reduced tile with said lossless compression used in said first encoding step to produce a second encoded copy; and

comparing said first and second encoded copies to determine whether said tile represents image data or text data, wherein a tile represents image data if the size of the first encoded copy is large relative to the size of the second encoded copy and a tile represents text data if the sizes are approximately equal.

2. A method according to claim 1 , wherein said determining step comprises determining whether each tile represents image data or text data by considering color data for each tile.

3. A method according to claim 1 , wherein said comparing step comprises determining whether the difference in size between said first encoded copy and said second encoded copy is greater than a threshold value, wherein a tile represents image data if the threshold value is exceeded and a tile represents text data if the threshold value is not exceeded.

4. A method according to claim 3 , wherein said display data is in the form of pixel data with n being the total number of bits used to represent each pixel in the original pixel data and wherein said threshold value is determined from n.

5. A method according to claim 1 , wherein said lossless compression used in each said compressing step is TRLE.

6. A method according to claim 1 , wherein said display data is in the form of pixel data with n being the total number of bits used to represent each pixel in the original pixel data and wherein said color-reduction algorithm reduces the total number of bits used to represent each pixel.

7. A method according to claim 1 , wherein said lossless compression in said encoding step is a variation of RLE.

8. A method according to claim 7 , wherein said variation is ZRLE.

9. A method according to claim 1 , wherein said lossy compression is JPEG.

10. A method according to claim 1 , wherein said plurality of tiles form a grid.

11. A method according to claim 1 , comprising determining which regions of the remote computer display data have changed and wherein said at least part of the remote computer display data comprises said regions which have changed.

12. A method according to claim 11 , comprising discarding said changes that have been superseded by newer changes, until a request is received from said local computer.

13. A method of controlling a remote computer from a local computer, the method comprising linking said local computer and said remote computer, inputting commands in said local computer, transmitting said commands from said local computer to said remote computer to take effect on said remote computer, and transmitting display data from said remote computer as claimed in claim 1 .

14. A non-transitory carrier carrying processing code for implementing the method of claim 1 on a computer.

15. A remote computer comprising a processor which is configured to create display data for said remote computer, said remote computer being connected via a network to a local computer comprising a processor and a display, wherein the processor of the remote computer is configured to:

divide at least part of the remote computer display data into a plurality of tiles;

determine whether each tile represents image data or text data by applying a color reduction algorithm to each said tile to produce a color-reduced tile and comparing each tile with its corresponding color reduced tile;

encode each tile representing text data using a lossless compression;

encode each tile representing image data using a lossy compression; and

transmit display data comprising said lossy encoded image data and said lossless encoded text data from said remote computer to said local computer, whereby a user is able to view said remote computer display data on said local computer display;

wherein said determining step comprises:

compressing each said tile using a lossless compression to produce a first encoded copy;

compressing said color reduced tile with said lossless compression used in said first encoding step to produce a second encoded copy; and

comparing said first and second encoded copies to determine whether said tile represents image data or text data, wherein a tile represents image data if the size of the first encoded copy is large relative to the size of the second encoded copy and a tile represents text data if the sizes are approximately equal.

16. A remote computing system comprising:

a local computer having a processor and a display;

a remote computer having a processor; and

a network linking said local computer and said remote computer, wherein the processor of the remote computer is configured to:

create display data for said remote computer;

divide at least part of the remote computer display data into a plurality of tiles;

determine whether each tile represents image data or text data by applying a color reduction algorithm to each said tile to produce a color-reduced tile and comparing each tile with its corresponding color reduced tile;

encode each tile representing text data using a lossless compression;

encode each tile representing image data using a lossy compression; and

transmit display data comprising said lossy encoded image data and said lossless encoded text data from said remote computer to said local computer;

wherein said processor of said local computer is configured to decode said transmitted display data and to display on said local computer display said remote computer display; and

wherein said determining step comprises:

compressing each said tile using a lossless compression to produce a first encoded copy;

compressing said color reduced tile with said lossless compression used in said first encoding step to produce a second encoded copy; and

comparing said first and second encoded copies to determine whether said tile represents image data or text data, wherein a tile represents image data if the size of the first encoded copy is large relative to the size of the second encoded copy and a tile represents text data if the sizes are approximately equal.

Assignments (3)
CHANGE OF ASSIGNEE ADDRESS Recorded Jul 23, 2025
From: REALVNC LTD
To: REALVNC LTD
Reel/Frame 072206/0448 →
CHANGE OF ASSIGNEE ADDRESS Recorded Apr 14, 2022
From: REALVNC LTD
To: REALVNC LTD
Reel/Frame 059717/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2013
From: MORRIS, SIMON EDWARD; WALCH, JAMES PETER
To: REALVNC LTD.
Reel/Frame 030042/0402 →
Priority Claims (1)
GB 1021259.5 · Dec 14, 2010 · national
Continuity (1)
Related Publication 20130249774A1 · Sep 26, 2013