← Back to Patent Explorer
US6563517B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Automatic data quality adjustment to reduce response time in browsing

Assignee: GlobalFoundries Inc
•
Filing: 1999-01-29
•
Granted: 2003-05-13
•
Expires: 2019-01-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides methods, devices and systems for dynamically adjusting transcoding parameters so as to increase the benefits of transcoding. Methods of adaptation are designed to cope with the variability of network characteristics and of the size of transcoded images. The invention also provides a method and apparatus to enable the transcoding proxy to adjust a quality-size tradeoff on a per-image and/or a per-client basis. The adaptive transcoder chooses different parameters for each object, and provides performance improvements. The invention further provides a general framework for making policy decisions taking into account available bandwidth, content and type of image, and user preferences. The invention also includes methods for generating feedback about the choice of optimal transcoding parameters to the user.

Inventors

  • 👤 Pravin Bhagwat
  • 👤 Richard Yeh-whein Han
  • 👤 Richard Orville LaMaire
  • 👤 Todd William Mummert
  • 👤 James Rubas

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 14:08
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; H; H04; H04N; H04N21/00; H04N21/60; H04N21/65; H04N21/658; G06F16/00; G06F16/90; G06F16/95; G06F16/957; G06F16/9577; H04L; H04L67/00; H04L67/50; H04L67/56; H04L67/565; H04N19/00; H04N19/40; H04N21/63; H04N21/637; H04N21/6377; H04L67/2866; H04L67/30; H04L67/306; H04L67/60; H04L69/00; H04L69/24

Claims Analysis

Total Claims: 54
Claim 1
Independent Claim 148 words
A method for a transcoding proxy to facilitate browsing between a plurality of client devices and a plurality of servers connected via a communication network, the method comprising: receiving a request from one of the client devices for an object stored at one of the servers, forwarding the request for the object to said one of the servers, receiving the object from said one of the servers, examining preferences specified by a user of said one of the client devices, examining contents of the object, examining communication network characteristics, wherein the network characteristics includes bandwidth, and examining network characteristics includes estimating network bandwidth between said one of the servers and the proxy as well as between the proxy and said one of the clients, choosing a set of transcoding parameters, forming a transcoded form of the object, and sending the transcoded form to said one of the clients.
Claim 2
Independent Claim 148 words
A method for a transcoding proxy to facilitate browsing between a plurality of client devices and a plurality of servers connected via a communication network, the method comprising: receiving a request from one of the client devices for an object stored at one of the servers, forwarding the request for the object to said one of the servers, receiving the object from said one of the servers, examining preferences specified by a user of said one of the client devices, examining contents of the object, examining communication network characteristics, wherein the network characteristics includes bandwidth, and examining network characteristics includes estimating network bandwidth between said one of the servers and the proxy as well as between the proxy and said one of the clients, choosing a set of transcoding parameters, forming a transcoded form of the object, and sending the transcoded form to said one of the clients.
Claim 3
Independent Claim 148 words
A method for a transcoding proxy to facilitate browsing between a plurality of client devices and a plurality of servers connected via a communication network, the method comprising: receiving a request from one of the client devices for an object stored at one of the servers, forwarding the request for the object to said one of the servers, receiving the object from said one of the servers, examining preferences specified by a user of said one of the client devices, examining contents of the object, examining communication network characteristics, wherein the network characteristics includes delay, and examining network characteristics includes estimating delay between said one of the servers and the proxy as well as delay between the proxy and said one of the clients, choosing a set of transcoding parameters, forming a transcoded form of the object, and sending the transcoded form to said one of the clients.
Claim 4
Independent Claim 148 words
A method for a transcoding proxy to facilitate browsing between a plurality of client devices and a plurality of servers connected via a communication network, the method comprising: receiving a request from one of the client devices for an object stored at one of the servers, forwarding the request for the object to said one of the servers, receiving the object from said one of the servers, examining preferences specified by a user of said one of the client devices, examining contents of the object, examining communication network characteristics, wherein the network characteristics includes delay, and examining network characteristics includes estimating delay between said one of the servers and the proxy as well as delay between the proxy and said one of the clients, choosing a set of transcoding parameters, forming a transcoded form of the object, and sending the transcoded form to said one of the clients.
Claim 5
Dependent Claim 29 words
A method as recited in claim 1 , further comprising providing feedback to the user about a level of transcoding performed on the object to form the transcoded form.
Claim 6
Dependent Claim 20 words
A method as recited in claim 1 , wherein the step of examining includes determining the size of the object.
Claim 7
Dependent Claim 39 words
A method as recited in claim 1 , wherein the object is of type image forming an image object, and the method further comprises: determining dimensions of the image object, and calculating the compression ratio of the image object.
Claim 8
Dependent Claim 39 words
A method as recited in claim 5 , wherein the dimensions of the image object are determined by area of the image in square pixels, and the compression ratio is determined by the bpp ratio of the image object.
Claim 9
Dependent Claim 19 words
A method as recited in claim 1 , wherein the step of forming a transcoded form employs dynamic adaptation.
Claim 10
Dependent Claim 33 words
A method as recited in claim 1 , wherein the step of forming a transcoded form is started before the step of receiving the object from said one of the servers is complete.
Claim 11
Dependent Claim 21 words
A method as recited in claim 8 , wherein the received object type is of type JPEG forming a JPEG object.
Claim 12
Dependent Claim 50 words
A method as recited in claim 9 , wherein the step of forming a transcoded form includes performing JPEG-to-JPEG image transcoding and the step of sending the transcoded form starts writing out at least one MCU of JPEG-encoded output image data before the step of receiving the object is complete.
Claim 13
Dependent Claim 45 words
A method as recited in claim 1 , wherein the step of sending out the transcoded form is started after processing an initial fraction of the received object, and before the step of receiving the image object from said one of the servers is complete.
Claim 14
Dependent Claim 32 words
A method as recited in claim 1 , wherein the step of sending out the transcoded form is started before the step of forming a transcoded form of the object is complete.
Claim 15
Independent Claim 98 words
A method for a proxy to form a transcoded form of an object received from a server in satisfaction of a request from a client for an object available from the server, the method comprising: dynamically adapting parameters for transcoding the object for the client, wherein adapting includes examining the contents of the object and gathering present network characteristics between the server and the proxy and between the proxy and client, forming a transcoded form of the object, predicting at least one parameter of the transcoded form of the object, and sending the transcoded form to the client.
Claim 16
Independent Claim 98 words
A method for a proxy to form a transcoded form of an object received from a server in satisfaction of a request from a client for an object available from the server, the method comprising: dynamically adapting parameters for transcoding the object for the client, wherein adapting includes examining the contents of the object and gathering present network characteristics between the server and the proxy and between the proxy and client, forming a transcoded form of the object, predicting at least one parameter of the transcoded form of the object, and sending the transcoded form to the client.
Claim 17
Dependent Claim 23 words
A method as recited in claim 13 , wherein the step of adapting parameters includes determining at least one characteristic of the object.
Claim 18
Dependent Claim 27 words
A method as recited in claim 14 , wherein one characteristic is an object-header, the object-header providing information about the size and the type of the object.
Claim 19
Dependent Claim 22 words
A method as recited in claim 15 , further comprising comparing the size of the object to a threshold parameter called “size_threshold”.
Claim 20
Dependent Claim 40 words
A method as recited in claim 13 , wherein one of the characteristics is network bandwidth and the step of adapting includes estimating network bandwidth between the server and the proxy as well as between the proxy and the client.
Claim 21
Dependent Claim 18 words
A method as recited in claim 17 , wherein the transcoded form is dependent upon the estimated bandwidth.
Claim 22
Dependent Claim 29 words
A method as recited in claim 13 , wherein the step of adapting includes retrieving preferences of the user, and wherein the transcoded form is dependent upon the preferences.
Claim 23
Dependent Claim 33 words
A method as recited in claim 13 , wherein the object is of type image forming an image object, and examining the content of the image object includes determining dimensions of the image.
Claim 24
Dependent Claim 24 words
A method as recited in claim 20 , wherein the step of adapting is dependent upon determining the compression ratio of the image object.
Claim 25
Dependent Claim 34 words
A method of claim 21 , wherein the type of image object is GIF and wherein the step of adapting is dependent upon comparing the compression ratio against a predetermined policy threshold called “gif_threshold”.
Claim 26
Dependent Claim 22 words
A method as recited in claim 13 , wherein the transcoded form is the same as an original form of the object.
Claim 27
Dependent Claim 22 words
A method as recited in claim 13 , wherein at least one of the parameters includes a size of the transcoded form.
Claim 28
Dependent Claim 23 words
A method as recited in claim 13 , wherein at least one of the parameters includes the time spent in transcoding the object.
Claim 29
Independent Claim 98 words
A method for predicting parameters of a transcoded form of an object, the object having an initial size and dimension, and the object being received from a server in satisfaction of a request from a client for the object, the method comprising: computing the bpp ratio of the object, gathering a set of statistics of a plurality of previously transcoded objects, employing the set of statistics and the bpp ratio for predicting the parameters, wherein at least one of the parameters is size and the set of statistics includes sizes of a plurality of previously transcoded objects statistics.
Claim 30
Independent Claim 98 words
A method for predicting parameters of a transcoded form of an object, the object having an initial size and dimension, and the object being received from a server in satisfaction of a request from a client for the object, the method comprising: computing the bpp ratio of the object, gathering a set of statistics of a plurality of previously transcoded objects, employing the set of statistics and the bpp ratio for predicting the parameters, wherein at least one of the parameters is size and the set of statistics includes sizes of a plurality of previously transcoded objects statistics.
Claim 31
Independent Claim 90 words
A method for predicting parameters of a transcoded form of an object, the object having an initial size and dimension, and the object being received from a server in satisfaction of a request from a client for the object, the method comprising: computing the bpp ratio of the object, gathering a set of statistics of a plurality of previously transcoded objects, wherein the object is of type image and wherein the set of statistics includes image quality, employing the set of statistics and the bpp ratio for predicting the parameters.
Claim 32
Independent Claim 90 words
A method for predicting parameters of a transcoded form of an object, the object having an initial size and dimension, and the object being received from a server in satisfaction of a request from a client for the object, the method comprising: computing the bpp ratio of the object, gathering a set of statistics of a plurality of previously transcoded objects, wherein the object is of type image and wherein the set of statistics includes image quality, employing the set of statistics and the bpp ratio for predicting the parameters.
Claim 33
Dependent Claim 24 words
A method as recited in claim 27 , wherein the plurality of previously transcoded objects are chosen from a predetermined benchmark suite of images.
Claim 34
Dependent Claim 28 words
A method as recited in claim 26 , wherein the step of employing uses dynamically updating the set of statistics using the statistics of the currently transcoded object.
Claim 35
Dependent Claim 42 words
A method as recited in claim 26 , wherein at least one of the parameters is a duration for forming a transcoded form of an object and the set of statistics includes the duration for forming a plurality of previously transcoded objects.
Claim 36
Dependent Claim 182 words
A transcoding proxy system for facilitating browsing between a plurality of clients and a plurality of servers connected via a communication network, the proxy comprising an HTTP proxy engine to receive a request from one of the clients for an object stored at one of the servers, and to fetch the object from said one of the servers, an object transcoder to form a transcoded form of the object using a set of parameters for transcoding, a dynamic policy module to determine the set of parameters of transcoding, an image size and delay predictor module to gather characteristics of the object, a user preference module to gather quality preferences specified by a user of said one of the clients, and a bandwidth estimation module to estimate available network bandwidth, wherein dynamic policy module dynamically adjusting the parameters of transcoding using the input received from the image size and delay predictor module, user preferences module, and bandwidth estimation module for the purpose of improving satisfaction for the user, and the transcoding system providing feedback to the user about the level of transcoding performed.
Claim 37
Dependent Claim 182 words
A transcoding proxy system for facilitating browsing between a plurality of clients and a plurality of servers connected via a communication network, the proxy comprising an HTTP proxy engine to receive a request from one of the clients for an object stored at one of the servers, and to fetch the object from said one of the servers, an object transcoder to form a transcoded form of the object using a set of parameters for transcoding, a dynamic policy module to determine the set of parameters of transcoding, an image size and delay predictor module to gather characteristics of the object, a user preference module to gather quality preferences specified by a user of said one of the clients, and a bandwidth estimation module to estimate available network bandwidth, wherein dynamic policy module dynamically adjusting the parameters of transcoding using the input received from the image size and delay predictor module, user preferences module, and bandwidth estimation module for the purpose of improving satisfaction for the user, and the transcoding system providing feedback to the user about the level of transcoding performed.
Claim 38
Dependent Claim 40 words
A system as recited in claim 31 , wherein the user preferences module further collecting the characteristics such as display size, resolution, & CPU speed of said one of the devices, and providing those characteristics to the dynamic policy module.
Claim 39
Dependent Claim 59 words
A system as recited in claim 31 , wherein the bandwidth estimation module collecting traces of previously established network connections between said one of the servers & the proxy, collecting traces of previously established network connections between the proxy and said one of the clients, and estimating the object download time by performing statistical analysis on the collected traces.
Claim 40
Dependent Claim 51 words
A system as recited in claim 33 , wherein the statistical analysis used for estimating bandwidth between said one of the servers and the proxy is based on computing a statistical measure such as median, mean, or mode of download times of previously fetched objects as determined from the collected traces.
Claim 41
Dependent Claim 44 words
A system as recited in claim 33 , wherein the statistical analysis used for estimating bandwidth between the proxy and said one of the clients is based on computing aggregate bandwidth of all active connections between the proxy and said one of the clients.
Claim 42
Dependent Claim 27 words
A system as recited in claim 31 , further comprising displaying a slide bar on said one of the client's display for collecting the user specified preferences.
Claim 43
Dependent Claim 39 words
A system as recited in claim 31 , wherein the user of said one of the clients can specify the tradeoff between download time and data quality through the use of a graphical user interface with a slide bar.
Claim 44
Dependent Claim 54 words
A system as recited in claim 36 , whereby the user of said one of the clients can specify through the use of a graphical user interface with a slide bar the tradeoff between download time and image quality including a specific switch to select color or gray scale as the desired output form.
Claim 45
Dependent Claim 65 words
A system as recited in claim 36 , whereby the user of said one of the clients can specify through the use of a graphical user interface with a slide bar, the desire to maintain a target response time such that the system automatically reduces data quality (and hence data download size) to compensate for dynamic variations in bandwidth to said one of the clients.
Claim 46
Dependent Claim 33 words
A system as recited in claim 36 , whereby the graphical user interface slider bar is also used as an output interface for showing the optimal choice of transcoding parameters to the user.
Claim 47
Dependent Claim 124 words
An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing dynamic adaptation of transcoded form of an object in a transcoding proxy, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect: a proxy receiving an object associated with a user from a server, determining parameters of the object, retrieving preferences of the user, gathering present network characteristics, obtaining transcoding policy thresholds, performing a policy decision based upon object parameters, user preferences, network characteristics, and policy thresholds, forming a transcoded object, providing feedback of a level of transcoding performed on the object to the user, sending the transcoded object to the user.
Claim 48
Dependent Claim 124 words
An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing dynamic adaptation of transcoded form of an object in a transcoding proxy, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect: a proxy receiving an object associated with a user from a server, determining parameters of the object, retrieving preferences of the user, gathering present network characteristics, obtaining transcoding policy thresholds, performing a policy decision based upon object parameters, user preferences, network characteristics, and policy thresholds, forming a transcoded object, providing feedback of a level of transcoding performed on the object to the user, sending the transcoded object to the user.
Claim 49
Dependent Claim 168 words
An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing a transcoding proxy to facilitate browsing between a plurality of client devices and a plurality of servers connected via a communication network, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect: receiving a request from one of the client devices for an object stored at one of the servers, forwarding the request for the object to said one of the servers, receiving the object from said one of the servers, examining preferences specified by a user of said one of the client devices, examining contents of the object, examining communication network characteristics, choosing a set of transcoding parameters, forming a transcoded form of the object, providing feedback to the user about a level of transcoding performed on the object to form the transcoded form, and sending the transcoded form to said one of the clients.
Claim 50
Dependent Claim 168 words
An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing a transcoding proxy to facilitate browsing between a plurality of client devices and a plurality of servers connected via a communication network, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect: receiving a request from one of the client devices for an object stored at one of the servers, forwarding the request for the object to said one of the servers, receiving the object from said one of the servers, examining preferences specified by a user of said one of the client devices, examining contents of the object, examining communication network characteristics, choosing a set of transcoding parameters, forming a transcoded form of the object, providing feedback to the user about a level of transcoding performed on the object to form the transcoded form, and sending the transcoded form to said one of the clients.
Claim 51
Dependent Claim 47 words
An article of manufacture as recited in claim 42 , the computer readable program code means in said article of manufacture further comprising computer readable program code means for causing a computer to effect determining dimensions of the object, and calculating the compression ratio of the object.
Claim 52
Dependent Claim 57 words
An article of manufacture as recited in claim 42 , the computer readable program code means in said article of manufacture further comprising computer readable program code means for causing a computer to effect starting the step of forming a transcoded form before the step of receiving the object from said one of the servers is complete.
Claim 53
Dependent Claim 127 words
A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a proxy to form a transcoded form of an object received from a server in satisfaction of a request from a client for an object available from the server, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect: dynamically adapting parameters for transcoding the object for the client, forming a transcoded form of the object, gathering present network characteristics between the server and the proxy and between the proxy and the client adapting parameters for transcoding based upon the estimated bandwidth and preferences of the user, and sending the transcoded form to the client.
Claim 54
Dependent Claim 127 words
A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing a proxy to form a transcoded form of an object received from a server in satisfaction of a request from a client for an object available from the server, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect: dynamically adapting parameters for transcoding the object for the client, forming a transcoded form of the object, gathering present network characteristics between the server and the proxy and between the proxy and the client adapting parameters for transcoding based upon the estimated bandwidth and preferences of the user, and sending the transcoded form to the client.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-05-12 2006-11-11 2007-05-13 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-05-12 2010-11-11 2011-05-13 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-05-12 2014-11-11 2015-05-13 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag