IP Library Granted Patent US 7,668,965
Granted Patent B2
US 7,668,965 · App. 12/057,122 · Granted Feb 23, 2010

Systems, methods, and media for managing an interactive streaming image system

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,668,965
App. No.
12/057,122
Granted
Feb 23, 2010
Kind
B2
Abstract

Systems, methods and media for managing an interactive streaming image system are disclosed. More particularly, hardware and/or software for generating, encoding, and transmitting image frames to an interactive client are disclosed. One embodiment provides a method for streaming images from a server to a client. Embodiments may include receiving from the client via a network client information and generating a new image frame based on the received client information. Embodiments may also include comparing the new image frame and a previous image frame and setting a new compression level based on the comparison between the new image frame and the previous image frame. Embodiments may also include encoding the new image frame based on the new compression level and transmitting the encoded new image frame and an indication of the new compression level to the client via the network.

Claims (44)

1. A computer-implemented method for streaming images from a server to a client, the method comprising:

receiving by the server from the client via a network client information;

generating by the server a new image frame based on the received client information;

comparing by the server the new image frame and an immediately previous image frame;

setting by the server a new compression level based on the comparison between the new image frame and the immediately previous image frame;

encoding by the server the new image frame based on the new compression level and transmitting by the server the encoded new image frame and an indication of the new compression level to the client via the network;

wherein comparing the new image frame and the immediately previous image frame comprises one or more of comparing the compression sizes of the new image frame and the immediately previous image frame, using vector processing of bit maps of the image frames, using an indexed vector processing algorithm, and using a scene tracking algorithm;

in response to determining a content change between the new image frame and the immediately previous image frame:

performing a smoothing heuristic on the new image frame to decrease quality, and

setting the new compression level based on the smoothing heuristic; and

in response to determining no content change between the new image frame and the immediately previous image frame:

performing a smoothing heuristic on the new image frame to increase quality, and

setting the new compression level based on the smoothing heuristic.

2. The method of claim 1 , wherein the client information comprises an indication of one or more of client location information, client directional information, or client preferences.

3. The method of claim 1 , wherein setting by the server a new compression level comprises:

determining by the server an initial compression level for the new image frame; and

setting by the server a new compression level based on the initial compression level and the comparison between the new image frame and the previous image frame.

4. The method of claim 1 , wherein encoding by the server the new image frame based on the new compression level comprises accessing a lookup table associated with the new compression level.

5. A machine-accessible medium containing instructions effective, when executing in a data processing system, to cause said data processing system to perform operations comprising:

receiving by a server from a client via a network client information;

generating by the server a new image frame based on the received client information;

comparing by the server the new image frame and an immediately previous image frame;

setting by the server a new compression level based on the comparison between the new image frame and the immediately previous image frame;

encoding by the server the new image frame based on the new compression level and transmitting by the server the encoded new image frame and an indication of the new compression level to the client via the network;

wherein comparing the new image frame and the immediately previous image frame comprises one or more of comparing the compression sizes of the new image frame and the immediately previous image frame, using vector processing of bit maps of the image frames, using an indexed vector processing algorithm, and using a scene tracking algorithm;

in response to determining a content change between the new image frame and the immediately previous image frame:

performing a smoothing heuristic on the new image frame to decrease quality, and

setting the new compression level based on the smoothing heuristic; and

in response to determining no content change between the new image frame and the immediately previous image frame:

performing a smoothing heuristic on the new image frame to increase quality, and

setting the new compression level based on the smoothing heuristic.

6. The machine-accessible medium of claim 5 , wherein the client information comprises an indication of one or more of client location information, client directional information, or client preferences.

7. The machine-accessible medium of claim 5 , wherein setting by the server a new compression level comprises:

determining by the server an initial compression level for the new image frame; and

setting by the server a new compression level based on the initial compression level and the comparison between the new image frame and the previous image frame.

8. The machine-accessible medium of claim 5 , wherein encoding by the sever the new image frame based on the new compression level comprises accessing a lookup table associated with the new compression level.

9. An interactive streaming image system, the system comprising:

a communications module, the communications module being adapted to receive client information from a client, the communications module being further adapted to transmit an encoded image frame to the client;

a content generator in communication with the communications module, the content generator being adapted to generate a new image frame based on received client information;

a content change detector in communication with the content generator, the content change detector being adapted to compare the new image frame with an immediately previous image frame and wherein the content change detector is adapted to use one or more of a comparison algorithm, a vector processing algorithm, an indexed vector processing algorithm, or a scene tracking algorithm;

a smoothing module in communication with the content change detector, the smoothing module being adapted to select a new compression level based on the comparison of the new image frame and the previous image frame, wherein, in response to a difference between the new image frame and the previous image frame, the smoothing module is adapted to select a lower compression level as the new compression level and wherein, in response to no difference between the new image frame and the previous image frame, the smoothing module is adapted to select a higher compression level as the new compression level; and

a content encoder in communication with the smoothing module and the communications module, the content encoder being adapted to encode the new image frame based on the selected compression level.

10. The system of claim 9 , further comprising one or more multiplier lookup tables in communication with the content encoder, the one or more multiplier lookup tables each being associated with a level of compression.

11. The system of claim 9 , wherein the client information includes an indication of one or more of client location information, client directional information, or client preferences.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: AYRES, KENNETH JAMES, JR.; SWISTUN, SZYMON; TO, VAN DUNG DANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043686/0024 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DROPBOX, INC.
Reel/Frame 043938/0489 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →