← Back to Patent Explorer
US20110150433A1 Active / In Force US ⏱️ 3.2 years remaining

Systems and methods for video-aware screen capture and compression

Assignee: GoTo Group Inc
•
Filing: 2009-12-22
•
Granted: —
•
Expires: 2029-12-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A new approach is proposed that contemplates systems and methods to support video-aware screen capture and compression. More specifically, the video-aware approach first detects whether or when video content is being actively played back on a screen of a hosting device. If the video content is actively being rendered, the approach separates (segments) the screen content into static (non-video) content and video content, The approach then applies video-specific capture and compression methods to the video content of the screen and other suitable compression methods to the non-video content of the screen. The compressed static and video content of the screen are separately and independently transmitted across the network to remote computing devices and are then decompressed and processed to reconstruct screen of its original content for display at the screens of the remote computing devices.

Inventors

  • 👤 Albert Alexandrov
  • 👤 Bernd Oliver Christiansen
  • 👤 Brian Green

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 11:43
CPC Classifications
H; H04; H04N; H04N19/00; H04N19/10; H04N19/102; H04N19/115; H04N5/00; H04N5/76; H04N5/91; H04N19/12; H04N19/129; H04N19/169; H04N19/17; H04N19/50; H04N19/503; H04N7/00; H04N7/14; H04N7/141; H04N7/147; H04N7/15; H04N5/765; H04N9/00; H04N9/79; H04N9/7921; H04N9/80; H04N9/82; H04N9/8205

Claims Analysis

Total Claims: 50
Claim 1
Independent Claim 94 words
1 . A system, comprising: a segmentation engine, which in operation, detects and separates video content being rendered on a screen of a hosting device from a non-video content rendered on the rest of the screen; a dynamic engine, which in operation, captures a plurality of screenshots of the video content; performs video compression on each of the plurality of screenshots of the video content; a static engine, which in operation, captures a plurality of screenshots of the non-video content; performs non-video compression on each of the plurality of screenshots of the non-video content.
Claim 2
Dependent Claim 94 words
1 . A system, comprising: a segmentation engine, which in operation, detects and separates video content being rendered on a screen of a hosting device from a non-video content rendered on the rest of the screen; a dynamic engine, which in operation, captures a plurality of screenshots of the video content; performs video compression on each of the plurality of screenshots of the video content; a static engine, which in operation, captures a plurality of screenshots of the non-video content; performs non-video compression on each of the plurality of screenshots of the non-video content.
Claim 3
Dependent Claim 48 words
2 . The system of claim 1 , further comprising: a video decompression engine, which in operation, decompresses each of the compressed plurality of screenshots of the video content; a non-video decompression engine, which in operation, decompresses each of the compressed plurality of screenshots of the non-video content.
Claim 4
Dependent Claim 66 words
3 . The system of claim 2 , further comprising: a screen recomposition engine, which in operation, reconstructs a set of screenshots of content of the screen of the hosting device from the decompressed screenshots of the video and the non-video content, respectively; renders the set of screenshots of content of the screen of the hosting device on a screen associated with a remote computing device.
Claim 5
Dependent Claim 32 words
4 . The system of claim 1 , wherein: the hosting device is a computing device, a communication device, a storage device, or any electronic device capable of running a software component.
Claim 6
Dependent Claim 29 words
5 . The system of claim 1 , wherein: the video content includes one or more of a video clip, a Flash® application, an animation, or a simulation application.
Claim 7
Dependent Claim 22 words
6 . The system of claim 1 , wherein: the non-video content includes text and image and other types of non-video content.
Claim 8
Dependent Claim 28 words
7 . The system of claim 1 , wherein: the segmentation engine enables a user to manually select the regions of static and/or video content on the screen.
Claim 9
Dependent Claim 26 words
8 . The system of claim 1 , wherein: the segmentation engine performs automatic video detection to identify the video and/or non-video content on the screen.
Claim 10
Dependent Claim 28 words
9 . The system of claim 1 , wherein: the segmentation engine identifies location and size of an application window through which the video content is being rendered.
Claim 11
Dependent Claim 23 words
10 . The system of claim 1 , wherein: the segmentation engine identifies whether the video content is being actively rendered or paused.
Claim 12
Dependent Claim 31 words
11 . The system of claim 10 , wherein: the segmentation engine does not separate the video content from the rest of the screen content if the video content is paused.
Claim 13
Dependent Claim 36 words
12 . The system of claim 1 , wherein: the segmentation engine detects the video content being rendered on the screen by identifying a specific application window of video-oriented application that is running on the host.
Claim 14
Dependent Claim 30 words
13 . The system of claim 12 , wherein: the video-oriented application is one of Windows® Media Player, QuickTime®, RealPlayer®, Adobe Flash®, and a video embedded inside a web browser.
Claim 15
Dependent Claim 44 words
14 . The system of claim 1 , wherein: the segmentation engine detects the video content being rendered on the screen by constantly monitoring the screen for changes in content and looking for an area of the screen whose content change pattern resembles video.
Claim 16
Dependent Claim 52 words
15 . The system of claim 14 , wherein: the segmentation engine detects the video content being rendered on the screen by capturing a plurality of screenshots of the screen and monitoring changes in the area of the screen at the pixel level of the screenshots over a certain period of time.
Claim 17
Dependent Claim 40 words
16 . The system of claim 15 , wherein: the segmentation engine determines changes in the area of the screen if pixels of the screenshots within the area change more than a predetermined threshold over the certain period of time.
Claim 18
Dependent Claim 27 words
17 . The system of claim 1 , wherein: the segmentation engine detects content that although is constantly changing, but should still be characterized as non-video content.
Claim 19
Dependent Claim 46 words
18 . The system of claim 1 , wherein: the segmentation engine detects the video content being rendered on the screen based on a combination of identifying a video-oriented application window and monitoring changes of content rendered on the screen for patterns resembling the video content.
Claim 20
Dependent Claim 38 words
19 . The system of claim 1 , wherein: the dynamic engine captures the plurality of screenshots of the video content at a higher frequency than the static engine captures the plurality of screenshots of the non-video content.
Claim 21
Dependent Claim 44 words
20 . The system of claim 1 , wherein: the dynamic engine delays for several frames after the video content starts before starting to capture the video content in order to confirm that the video content is indeed being actively rendered on the screen.
Claim 22
Dependent Claim 30 words
21 . The system of claim 1 , wherein: the dynamic engine performs high frame rate but low quality/fidelity per individual screenshot compression on the screenshots of the video content.
Claim 23
Dependent Claim 24 words
22 . The system of claim 1 , wherein: the video compression is one of H.263, H.264, Motion JPEG, On2's VP6, VP7 and VP8.
Claim 24
Dependent Claim 30 words
23 . The system of claim 1 , wherein: the static engine performs low frame rate but high quality/fidelity per individual screenshot compression on the screenshots of the non-video content.
Claim 25
Dependent Claim 32 words
24 . The system of claim 1 , wherein: the static engine performs multiple non video compression each operable to process and compress the screenshots of a specific type of non-video content.
Claim 26
Dependent Claim 24 words
25 . The system of claim 1 , wherein: the non-video compression is one or a combination of PNG, GIF, BMP, JPEG, and TIFF.
Claim 27
Dependent Claim 40 words
26 . The system of claim 1 , wherein: the dynamic engine and/or the static engine each packages the compressed screenshots of the video and/or the non-video content of the screen in a format for transmission over a communication network.
Claim 28
Dependent Claim 74 words
27 . A computer-implemented method, comprising: detecting and separating video content being rendered on a screen associated with a hosting device from a non-video content of the screen; capturing a plurality of screenshots of the video content; performing video compression on each of the plurality of screenshots of the video content; capturing a plurality of screenshots of the non-video content; performing non-video compression on each of the plurality of screenshots of the non-video content.
Claim 29
Dependent Claim 74 words
27 . A computer-implemented method, comprising: detecting and separating video content being rendered on a screen associated with a hosting device from a non-video content of the screen; capturing a plurality of screenshots of the video content; performing video compression on each of the plurality of screenshots of the video content; capturing a plurality of screenshots of the non-video content; performing non-video compression on each of the plurality of screenshots of the non-video content.
Claim 30
Dependent Claim 34 words
28 . The method of claim 27 , further comprising: decompressing each of the compressed plurality of screenshots of the video content; decompressing each of the compressed plurality of screenshots of the non-video content.
Claim 31
Dependent Claim 59 words
29 . The method of claim 28 , further comprising: reconstructing a set of screenshots of content of the screen of the hosting device from the decompressed screenshots of the video and the non-video content, respectively; rendering the set of screenshots of content of the screen of the hosting device on a screen associated with a remote computing device.
Claim 32
Dependent Claim 26 words
30 . The method of claim 27 , further comprising: enabling a user to manually select the regions of static and/or video content on the screen.
Claim 33
Dependent Claim 24 words
31 . The method of claim 27 , further comprising: performing automatic video detection to identify the video and/or non-video content on the screen.
Claim 34
Dependent Claim 26 words
32 . The method of claim 27 , further comprising: identifying location and size of an application window through which the video content is being rendered.
Claim 35
Dependent Claim 21 words
33 . The method of claim 27 , further comprising: identifying whether the video content is being actively rendered or paused.
Claim 36
Dependent Claim 28 words
34 . The method of claim 33 , further comprising: not separating the video content from the rest of the screen content if the video content is paused.
Claim 37
Dependent Claim 34 words
35 . The method of claim 27 , further comprising: detecting the video content being rendered on the screen by identifying a specific application window of video-oriented application that is running on a host.
Claim 38
Dependent Claim 42 words
36 . The method of claim 27 , further comprising: detecting the video content being rendered on the screen by constantly monitoring the screen for changes in content and looking for an area of the screen whose content change pattern resembles video.
Claim 39
Dependent Claim 50 words
37 . The method of claim 36 , further comprising: detecting the video content being rendered on the screen by capturing a plurality of screenshots of the screen and monitoring changes in the area of the screen at the pixel level of the screenshots over a certain period of time.
Claim 40
Dependent Claim 38 words
38 . The method of claim 37 , further comprising: determining changes in the area of the screen if pixels of the screenshots within the area change more than a predetermined threshold over the certain period of time.
Claim 41
Dependent Claim 25 words
39 . The method of claim 27 , further comprising: detecting content that although is constantly changing, but should still be characterized as non-video content.
Claim 42
Dependent Claim 37 words
40 . The method of claim 27 , further comprising: detecting the video content being rendered on the screen based on a combination of identifying video-oriented application window and monitoring changes of content rendered on the screen.
Claim 43
Dependent Claim 36 words
41 . The method of claim 27 , further comprising: capturing the plurality of screenshots of the video content at a higher frequency than the static engine captures the plurality of screenshots of the non-video content.
Claim 44
Dependent Claim 42 words
42 . The method of claim 27 , further comprising: delaying for several frames after the video content starts before starting to capture the video content in order to confirm that the video content is indeed being actively rendered on the screen.
Claim 45
Dependent Claim 28 words
43 . The method of claim 27 , further comprising: performing high frame rate but low quality/fidelity per individual screenshot compression on the screenshots of the video content.
Claim 46
Dependent Claim 28 words
44 . The method of claim 27 , further comprising: performing low frame rate but high quality/fidelity per individual screenshot compression on the screenshots of the non-video content.
Claim 47
Dependent Claim 26 words
45 . The method of claim 27 , further comprising: performing multiple non video compressions each on the screenshots of a specific type of non-video content.
Claim 48
Dependent Claim 33 words
46 . The method of claim 27 , further comprising: packaging the compressed screenshots of the video and/or the non-video content of the screen in a format for transmission over a communication network.
Claim 49
Dependent Claim 86 words
47 . A machine readable medium having software instructions stored thereon that when executed cause a system to: detect and separate video content being rendered on a screen associated with a hosting device from a non-video content of the screen; capture a plurality of screenshots of the video content; perform video compression on each of the plurality of screenshots of the video content; capture a plurality of screenshots of the non-video content; perform non-video compression on each of the plurality of screenshots of the non-video content.
Claim 50
Dependent Claim 86 words
47 . A machine readable medium having software instructions stored thereon that when executed cause a system to: detect and separate video content being rendered on a screen associated with a hosting device from a non-video content of the screen; capture a plurality of screenshots of the video content; perform video compression on each of the plurality of screenshots of the video content; capture a plurality of screenshots of the non-video content; perform non-video compression on each of the plurality of screenshots of the non-video content.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag