Efficient transmission of changing images using image caching
First Claim
1. A method, comprising:
- sharing a display of a source device with one or more viewer devices, the display divided into a plurality of identified blocks;
in response to changes in the display, determining an outer boundary of an updated region affected by the change, the updated region defining a plurality of update blocks of the identified blocks within the outer boundary;
comparing an image within each update block to a previous version of the corresponding update block to determine whether the block is changed or unchanged;
converting the image within unchanged update blocks to a different easily compressible image;
compressing the updated region having the converted unchanged update blocks; and
transmitting the compressed updated region from the source device to the one or more viewer devices, wherein the transmitted updated region is transmitted with instructions indicating converted unchanged update blocks within the transmitted update region and with instructions for the one or more viewer devices to use previous unconverted versions of the identified unchanged update blocks to replace the corresponding converted unchanged update blocks in the transmitted updated region to produce the shared display.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a display of a source device is shared with one or more viewer devices, e.g., of an online collaborative computing session, and the display is divided into a plurality of identified blocks. In response to changes in the display, the source device determines an outer boundary of an updated region affected by the change, where the updated region defines a plurality of “update blocks” of the identified blocks within the outer boundary. Images within each update block may then be compared to a previous version of the corresponding update block to determine if that individual update block is affected by the change. Any unchanged update blocks may be converted to an easily compressible image, and the source device may then compress and transmit the updated region to the viewer devices, where the transmitted updated region has instructions to use previous versions of unchanged converted update blocks.
63 Citations
19 Claims
-
1. A method, comprising:
-
sharing a display of a source device with one or more viewer devices, the display divided into a plurality of identified blocks; in response to changes in the display, determining an outer boundary of an updated region affected by the change, the updated region defining a plurality of update blocks of the identified blocks within the outer boundary; comparing an image within each update block to a previous version of the corresponding update block to determine whether the block is changed or unchanged; converting the image within unchanged update blocks to a different easily compressible image; compressing the updated region having the converted unchanged update blocks; and transmitting the compressed updated region from the source device to the one or more viewer devices, wherein the transmitted updated region is transmitted with instructions indicating converted unchanged update blocks within the transmitted update region and with instructions for the one or more viewer devices to use previous unconverted versions of the identified unchanged update blocks to replace the corresponding converted unchanged update blocks in the transmitted updated region to produce the shared display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. Non-transitory tangible computer-readable media of a memory device having software encoded thereon, the software when executed on a device operable to:
-
share a display of the device with one or more viewer devices, the display divided into a plurality of identified blocks; in response to changes in the display, determine an outer boundary of an updated region affected by the change, the updated region defining a plurality of update blocks of the identified blocks within the outer boundary; compare an image within each update block to a previous version of the corresponding update block to determine whether the block is changed or unchanged; convert the image within unchanged update blocks to a different easily compressible image; compress the updated region having the converted unchanged update blocks; and transmit the compressed updated region to the one or more viewer devices, wherein the transmitted updated region is transmitted with instructions indicating converted unchanged update blocks within the transmitted update region and with instructions for the one or more viewer devices to use previous unconverted versions of the identified unchanged update blocks to replace the corresponding converted unchanged update blocks in the transmitted updated region to produce the shared display. - View Dependent Claims (18)
-
-
19. An apparatus, comprising:
-
a display configured to display images; a network interface configured to transmit and receive data over a computer network; a processor configured to execute processes; and a memory configured to store previous versions of update blocks, the memory further configured to store an image sharing process, the image sharing process when executed by the processor operable to; share the display with one or more viewer devices, the display divided into a plurality of identified blocks; in response to changes in the display, determine an outer boundary of an updated region affected by the change, the updated region defining a plurality of update blocks of the identified blocks within the outer boundary; compare an image within each update block to a previous version of the corresponding update block to determine whether the block is changed or unchanged; convert the image within unchanged update blocks to a different easily compressible image; compress the updated region having the converted unchanged update blocks; and transmit the compressed updated region to the one or more viewer devices, wherein the transmitted updated region is transmitted with instructions indicating converted unchanged update blocks within the transmitted update region and with instructions for the one or more viewer devices to use previous unconverted versions of the identified unchanged update blocks to replace the corresponding converted unchanged update blocks in the transmitted updated region to produce the shared display.
-
Specification