Patent ID: 8312163
Filing Date: 2012-11-13
Classification: H04L,H04N

Abstract:
1. A method of transmitting data between a local computer and a remote computer, comprising: determining an amount of data capable of being transmitted per screen frame from the local computer to the remote computer; capturing a first screen frame of data from the local computer; determining a first quality level of the first screen frame of data; determining a first cell value and a second cell value, wherein each of the first cell value and the second cell value correspond to the first quality level of the first screen frame of data; capturing a second screen frame of data from the local computer; determining a size of blocks of data of the second screen frame of data for comparing with the blocks of data at the same locations of the first screen frame of data, wherein the size of the blocks of data is based on the first cell value and the second cell value; comparing the second screen frame to the first screen frame based on the first quality level associated with the first screen frame of data to determine a first amount of change in data between the second screen frame and the first screen frame, the first amount of change in data between the second screen frame and the first screen frame representing an amount of first data to be transmitted at the first quality level from the local computer to the remote computer, wherein the first amount of change in data between the second screen frame and the first screen frame is determined by comparing the blocks of data with of the second screen frame of data with the blocks of data at the same locations of the first screen frame of data, and wherein each of the blocks of data compared is the same determined size; determining whether the amount of the first data to be transmitted to the remote computer at the first quality level is greater than the amount of data capable of being transmitted per screen frame from the local computer to the remote computer; when the amount of the first data to be transmitted at the first quality level is greater than the amount of data capable of being transmitted per screen frame, then: discarding the second screen frame of data, capturing a third screen frame of data, comparing the third screen frame to the first screen frame based on a second quality level to determine an amount of change in data between the third screen frame and the first screen frame, the amount of change in data between the third screen frame and the first screen frame representing an amount of second data to be transmitted at the second quality level from the local computer to the remote computer, the second quality level lower than the first quality level, determining whether the amount of the second data to be transmitted to the remote computer at the second quality level is greater than the amount of data capable of being transmitted per screen frame from the local computer to the remote computer, and when the amount of the second data to be transmitted to the remote computer at the second quality level is less than or equal to the amount of data capable of being transmitted per screen frame, then transmitting the amount of the second data to the remote computer at the second quality level; and when the amount of the first data indicates no data change between the second screen frame of data and the first screen frame of data, then: