IP Library Granted Patent US 7,103,099
Granted Patent B1
US 7,103,099 · App. 09/744,662 · Granted Sep 5, 2006

Selective compression

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,103,099
App. No.
09/744,662
Granted
Sep 5, 2006
Kind
B1
Abstract

A method of generating a compressed video stream, comprising: providing a plurality of display commands which represents a display; generating a plurality of quantized transform coefficients from said display commands, wherein said quantization is different for different display commands; and creating a compressed video stream utilizing said coefficients.

Claims (37)

1. In a server connected to a client over a network, a method of generating a compressed video stream of a user interface in order to provide said client with remote access to one or more computer programs running at said server, said method comprising:

executing a computer program at said server, said computer program providing a plurality of display commands which represent a user interface for said computer program;

drawing at least a portion of said user interface for said computer program on a virtual display at said server;

prior to compressing said user interface for remote display at said client, generating a plurality of quantized transform coefficients from said display commands, wherein one or more different quantized transform coefficients are generated for different display commands;

creating a compressed video stream or said user interface by utilizing said coefficients for said different display commands;

sending said compressed video stream to said client for remotely displaying said user interface at said client as a video stream as opposed to said plurality of display commands provided by said program;

receiving user input from said client that is directed to said user interface; and

based on the received user input from said client, sending a second compressed video stream to said client for remotely displaying a modified version of said user interface of said computer program.

2. A method according to claim 1 , wherein said generating comprises looking up coefficients in a table.

3. A method according to claim 1 , wherein said generating comprises calculating coefficients.

4. A method according to claim 1 , comprising determining a display requirement and wherein said quantization is responsive to said determination.

5. A method according to claim 1 , wherein said coefficients are generated quantized.

6. A method according to claim 1 , wherein said coefficients are generated unquantized and comprising quantizing said generated coefficients.

7. A method according to claim 6 , wherein said coefficients are quantized separately for different commands.

8. A method according to claim 6 , wherein said coefficients are quantized separately for different image blocks.

9. A method according to claim 6 , wherein said coefficients for an entire image are quantized together.

10. A method according to claim 6 , wherein said quantization is responsive to a desired bandwidth of said stream.

11. A method according to claim 6 , wherein said quantization is responsive to a desired quality of said stream.

12. A method according to claim 1 , wherein said coefficients are quantized differently responsive to an identification of the command type.

13. A method according to claim 1 , wherein said coefficients are quantized differently responsive to a display content generated by said command.

14. A method according to claim 1 , wherein said coefficients are quantized differently responsive to a spatial effect of said command.

15. A method according to claim 1 , wherein said coefficients are quantized differently, responsive to a frequency to which said coefficient corresponds.

16. A method according to claim 1 , wherein said commands are provided and coefficients generated sequentially for individual commands.

17. A method according to claim 1 , wherein said commands are provided and coefficients generated on a block-by-block basis.

18. A method according to claim 1 , wherein said commands are provided and coefficients generated on a frame-by-frame basis.

19. A method according to claim 1 , comprising varying said generation between corresponding commands on consecutive frames.

20. A method according to claim 19 , wherein said varying comprises generating a different effective refresh rate for different commands.

21. A method according to claim 1 , comprising preprocessing at least one or said commands prior to said generation.

22. A method according to claim 21 , wherein said preprocessing interacts with said generation to require achieving a lower bit-rate for said command.

23. A method according to claim 21 , wherein said preprocessing interacts with said generation to counteract visibility reducing effects of said generation.

24. A method according to claim 21 , wherein said pre processing interacts with said generation to increase a visibility of an effect of a command.

25. A method according to claim 1 , wherein providing said display commands comprises providing a plurality of sets of display commands, each corresponding to a different compressed stream.

26. A method according to claim 25 , wherein a same display command is compressed differently for the different sets.

27. A method according to claim 1 , wherein said plurality of display commands corresponds to an Internet browser user interface.

28. A method according to claim 1 , wherein creating said compressed video stream comprises creating a stream including both an effect of said commands and at least a portion of an additionally provided compressed video stream.

29. A method according to claim 1 , wherein a text display command is quantized using a finer quantization than a graphics command.

30. A method according to claim 1 , comprising broadcasting said generated video stream to a plurality of users, using a compressed video transport stream.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0001 →
MERGER Recorded Apr 11, 2006
From: WEBTV NETWORKS, INC.
To: MICROSOFT CORPORATION
Reel/Frame 017455/0320 →