Automatic data quality adjustment to reduce response time in browsing
First Claim
1. 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.
6 Assignments
0 Petitions
Accused Products
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.
312 Citations
45 Claims
-
1. 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. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
determining dimensions of the image object, and calculating the compression ratio of the image object.
-
-
6. 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.
-
7. A method as recited in claim 1, wherein the step of forming a transcoded form employs dynamic adaptation.
-
8. 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.
-
9. A method as recited in claim 8, wherein the received object type is of type JPEG forming a JPEG object.
-
10. 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.
-
11. 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.
-
12. 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.
-
2. 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.
-
-
13. 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. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. 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. - View Dependent Claims (29, 30)
-
-
27. 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. - View Dependent Claims (28)
-
-
31. 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.
-
41. 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.
-
-
42. 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. - View Dependent Claims (43, 44)
-
-
45. 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.
-
Specification