Patent ID: 7043745

Claim:
A method for recording a video session at a client, comprising: determining the processing capacity of the client; establishing a recording interval in response to the determined processing capacity, the recording interval indicating a time between a first recording time and a second recording time; recording a first video frame at the first recording time, the first video frame including first video data that comprises a plurality of video pixels arranged in a plurality of rows and a plurality of columns; recording a second video frame at the second recording time, the second video frame including second video data that comprises a corresponding plurality of video pixels arranged in a corresponding plurality of rows and a corresponding plurality of columns; and generating a video sub-frame comprising the second video data that is different from the first video data, wherein generating the video sub-frame comprises: sequentially comparing each row of video pixels associated with the second video data with a corresponding row of video pixels associated with the first video data until identifying a row of video pixels where the second video data is different from the first video data, wherein: sequentially comparing each row of video pixels is initiated from the first row of video pixels and performed until identifying a row of video pixels where the second video data is different from the first video data, the identified row defining a first boundary of the video sub-frame; and sequentially comparing each row of video pixels is also initiated from the last row of video pixels and performed until identifying a row of video pixels where the second video data is different from the first video data, the identified row defining a second boundary of the video sub-frame; and sequentially comparing each column of video pixels associated with the second video data with a corresponding column of video pixels associated with the first video data until identifying a column of video pixels where the second video data is different from the first video data, wherein: sequentially comparing each column of video pixels is initiated from the first column of video pixels and performed until identifying a column of video pixels where the second video data is different from the first video data, the identified column defining a third boundary of the video sub-frame; and sequentially comparing each column of video pixels is also initiated from the last column of video pixels and performed until identifying a column of video pixels where the second video data is different from the first video data, the identified column defining a fourth boundary of the video sub-frame.