Method and system for streaming documents, e-mail attachments and maps to wireless devices
First Claim
Patent Images
1. A method for streaming vector images to wireless devices, comprising:
- receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image including a plurality of vector primitives;
determining which of the vector primitives are positioned so as to overlap the requested portion;
clipping the overlapping vector primitives with the portion; and
transmitting the clipped vector primitives that overlap the portion.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for streaming vector images to wireless devices, including receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image including a plurality of vector primitives, determining which of the vector primitives are positioned so as to overlap the requested portion, clipping the overlapping vector primitives with the portion, and transmitting the clipped vector primitives that overlap the portion. A system and a computer readable storage medium are also described and claimed.
94 Citations
105 Claims
-
1. A method for streaming vector images to wireless devices, comprising:
-
receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image including a plurality of vector primitives;
determining which of the vector primitives are positioned so as to overlap the requested portion;
clipping the overlapping vector primitives with the portion; and
transmitting the clipped vector primitives that overlap the portion. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for streaming vector images to wireless devices, comprising:
-
receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image comprising a plurality of vector primitives;
determining, for each vector primitive that is positioned so as to overlap the requested portion, the clipped vector primitive when such vector primitive is clipped with the requested portion;
further determining if the data required to specify the clipped vector primitives requires more bytes than a threshold byte size; and
if said further determining is affirmative, then;
rasterizing the requested portion of the vector image to generate a raster image portion; and
transmitting the raster image portion;
else;
transmitting the clipped vector primitives. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A system for streaming vector images to wireless devices, comprising:
-
a receiver for receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image comprising a plurality of vector primitives;
a graphics processor for;
(i) determining which of the vector primitives are positioned so as to overlap the requested portion; and
(ii) clipping the overlapping vector primitives with the portion; and
a transmitter for transmitting the clipped vector primitives that overlap the portion. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
50. A system for streaming vector images to wireless devices, comprising:
-
a receiver for receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image comprising a plurality of vector primitives;
a graphics processor coupled to said receiver for;
(i) determining, for each vector primitive that is positioned so as to overlap the requested rectangular portion, the clipped vector primitive when such vector primitive is clipped with the requested portion;
(ii) further determining if the data required to specify the clipped vector primitives requires more bytes than a threshold byte size; and
(iii) if the further determining is affirmative, then rasterizing the requested portion of the vector image to generate a raster image portion; and
a transmitter coupled to said graphics processor for transmitting the raster image portion or the clipped vector images, based on whether or not said further determining is affirmative, respectively. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58)
-
-
59. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image including a plurality of vector primitives;
determining which of the vector primitives are positioned so as to overlap the requested portion;
clipping the overlapping vector primitives with the portion; and
transmitting the clipped vector primitives that overlap the portion.
-
-
60. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
receiving a request from a wireless device for a portion of a vector image and a target display width and height, the vector image comprising a plurality of vector primitives;
determining, for each vector primitive that is positioned so as to overlap the requested portion, the clipped vector primitive when such vector primitive is clipped with the requested portion;
further determining if the data required to specify the clipped vector primitives requires more bytes than a threshold byte size; and
if said further determining is affirmative, then;
rasterizing the requested rectangular portion of the vector image to generate a raster image portion; and
transmitting the raster image portion;
else;
transmitting the clipped vector primitives.
-
-
61. A method for pre-processing a vector image, comprising:
-
receiving data for a vector image, the vector image data including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the vector image, the local rectangular regions being associated with levels of resolution, determining local vector objects that correspond to intersections of global vector objects with such local region; and
for each local region from among the plurality of local rectangular regions, storing descriptions of its local vector objects within a computer memory. - View Dependent Claims (62, 63, 64, 65, 66, 67, 68)
-
-
69. A method for pre-processing vector images, comprising:
-
receiving data for a plurality of vector images, the plurality of vector images corresponding to an animation sequence, and the data for each vector image including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the first vector image, the local rectangular regions being associated with levels of resolution, determining local vector objects that correspond to intersections of global vector objects of the first vector image with such local region;
recording hash values of the local vector objects within an indexed look-up table;
storing the indexed look-up table within a computer memory;
for at least one successive vector image after the first vector image, and for each local region from among the plurality of local rectangular regions, determining local vector objects that correspond to intersections of global vector objects of such successive vector image with such local region;
determining which of the local vector objects for the successive vector image are already stored in the look-up table;
for those local vector objects that are already stored in the look-up table, storing their look-up table index within a computer memory; and
for those local vector objects that are not already stored in the look-up table, storing descriptions of the local vector objects within the computer memory. - View Dependent Claims (70)
-
-
71. A system for pre-processing a vector image, comprising:
-
a vector image processor that pre-processes vector image data, the vector image data including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution, comprising;
a local vector object generator that determines, for each local region from among a plurality of local rectangular regions of the vector image, the local rectangular region being associated with levels of resolution, local vector objects that correspond to intersections of global vector objects with such local region; and
a data recorder that stores descriptions of the local vector objects within a computer memory, for each local portion. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78)
-
-
79. A system for pre-processing vector images, comprising:
-
a vector image processor that pre-processes data for a plurality of vector images, the plurality of vector images corresponding to an animation sequence, and the data for each vector image including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
a local vector object generator that;
(i) determines, for each local region from among a plurality of local rectangular regions of the first vector image, the local rectangular regions corresponding to levels of resolution, local vector objects that correspond to intersections of global vector objects of the first vector image with such local region; and
(ii) determines, for at least one successive vector image after the first vector image, and for each local region from among the plurality of local rectangular regions, local vector objects that correspond to intersections of global vector objects of such successive vector image with such local region;
a look-up table generator that records hash values of the local vector objects within an indexed look-up table; and
a data recorder that;
(i) stores the indexed look-up table within a computer memory;
(ii) determines which of the local vector objects for the successive vector image are already stored in the look-up table;
(iii) for those local vector objects that are already stored in the look-up table, stores their look-up table index within a computer memory; and
(iv) for those local vector objects that are not already stored in the look-up table, stores descriptions of the local vector objects within the computer memory. - View Dependent Claims (80)
-
-
81. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
receiving data for a vector image, the vector image data including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the vector image, the local rectangular regions being associated with levels of resolution, determining local vector objects that correspond to intersections of global vector objects with such local region; and
for each local region from among the plurality of local rectangular regions, storing descriptions of its local vector objects within a computer memory.
-
-
82. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
receiving data for a plurality of vector images, the plurality of vector images corresponding to an animation sequence, and the data for each vector image including a list of descriptions of global vector objects that can be rasterized for display at arbitrary levels of resolution;
for each local region from among a plurality of local rectangular regions of the first vector image, the local rectangular regions being associated with levels of resolution, determining local vector objects that correspond to intersections of global vector objects of the first vector image with such local portion;
recording hash values of the local vector objects within an indexed look-up table;
storing the indexed look-up table within a computer memory;
for at least one successive vector image after the first vector image, and for each local region from among the plurality of local rectangular regions, determining local vector objects that correspond to intersections of global vector objects of such successive vector image with such local region;
determining which of the local vector objects for the successive vector image are already stored in the look-up table;
for those local vector objects that are already stored in the look-up table, storing their look-up table index within a computer memory; and
for those local vector objects that are not already stored in the look-up table, storing descriptions of the local vector objects within the computer memory.
-
-
83. A method for streaming a vector image to a client computer, comprising:
-
accessing a pre-processed vector image that was generated from a vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
receiving a request from a user of a client computer for a desired portion of the vector image, for display at a desired pixel display resolution;
identifying at least one local rectangular region from among the plurality of local rectangular regions of the pre-processed vector image, which is appropriate for generating the desired portion of the vector image at the desired display resolution; and
transmitting the local vector objects associated with the at least one local rectangular region to the client computer. - View Dependent Claims (84)
-
-
85. A method for streaming a vector image to a client computer, comprising:
-
accessing a pre-processed vector image that was generated from a vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
receiving a request from a user of a client computer for a desired portion of the vector image, for display at a desired pixel display resolution;
identifying at least one local rectangular region from among the plurality of local rectangular regions of the pre-processed vector image, which is appropriate for generating the desired portion of the vector image at the desired display resolution;
generating the desired portion of the vector image at the desired display resolution, from the local vector objects associated with the at least one local rectangular region; and
transmitting the desired portion of the vector image to the client computer.
-
-
86. A method for streaming a vector image to a client computer, comprising:
-
accessing a pre-processed vector image that was generated from a vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
receiving a request from a user of a client computer designating at least one rectangular region, from among the plurality of local rectangular portions; and
transmitting the local vector objects associated with the at least one local rectangular region to the client computer. - View Dependent Claims (87)
-
-
88. A method for interactively viewing a vector image, comprising:
-
indicating a request for a desired portion of a vector image, for display at a specified resolution;
determining local rectangular regions of a pre-processed vector image that was generated from the vector image, from among a plurality of local rectangular regions, that are appropriate for generating the desired portion of the vector image therefrom, wherein the pre-processed vector image includes a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
requesting at least one rectangular region of the pre-processed vector image from a server computer;
receiving local vector objects associated with the requested at least one rectangular region of the pre-processed vector image from the server computer; and
generating the desired portion of the vector image using the received local vector objects. - View Dependent Claims (89, 90)
-
-
91. A system for streaming a vector image to a client computer, comprising:
-
a receiver that receives a request from a user of a client computer for a desired portion of a vector image, for display at a desired pixel display resolution;
a vector image adapter that;
(i) accesses a pre-processed vector image that was generated from the vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions; and
(ii) identifies at least one local rectangular region from among the plurality of local rectangular regions of the pre-processed vector image, which is appropriate for generating the desired portion of the vector image at the desired display resolution; and
a transmitter that transmits the local vector objects associated with the at least one local rectangular region to the client computer. - View Dependent Claims (92)
-
-
93. A system for streaming a vector image to a client computer, comprising:
-
a receiver that receives a request from a user of a client computer for a desired portion of a vector image, for display at a desired pixel display resolution;
a vector image adapter that;
(i) accesses a pre-processed vector image that was generated from the vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions; and
(ii) identifies at least one local rectangular region from among the plurality of local rectangular regions of the pre-processed vector image, which is appropriate for generating the desired portion of the vector image at the desired display resolution;
a vector image processor that generates the desired portion of the vector image at the desired display resolution, from the local vector objects associated with the at least one local rectangular region; and
a transmitter that transmits the desired portion of the vector image to the client computer.
-
-
94. A system for streaming a vector image to a client computer, comprising:
-
a receiver that receives a request from a user of a client computer designating at least one rectangular region, from among a plurality of local rectangular regions;
a vector image adaptor that accesses a pre-processed vector image that was generated from a vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions; and
a transmitter that transmits the local vector objects associated with the at least one local rectangular region to the client computer. - View Dependent Claims (95)
-
-
96. A system for interactively viewing a vector image, comprising:
-
a user interface that interprets a request for a desired portion of a vector image, for display at a specified resolution;
a transmitter that requests at least one rectangular region of a pre-processed vector image from a server computer, the pre-processed vector image having been generated from the vector image, the pre-processed image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
a receiver that receives local vector objects associated with the requested at least one rectangular region of the pre-processed vector image from the server computer; and
a vector image processor that;
(i) determines local rectangular regions of the pre-processed vector image, from among the plurality of local rectangular regions, that are appropriate for generating the desired portion of the vector image therefrom; and
(ii) generates the desired portion of the vector image using the received local vector objects. - View Dependent Claims (97, 98)
-
-
99. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
accessing a pre-processed vector image that was generated from a vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
receiving a request from a user of a client computer for a desired portion of the vector image, for display at a desired pixel display resolution;
identifying at least one local rectangular region from among the plurality of local rectangular regions of the pre-processed vector image, which is appropriate for generating the desired portion of the vector image at the desired display resolution; and
transmitting the local vector objects associated with the at least one local rectangular region to the client computer.
-
-
100. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
accessing a pre-processed vector image that was generated from a vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
receiving a request from a user of a client computer for a desired portion of the vector image, for display at a desired pixel display resolution;
identifying at least one local rectangular region from among the plurality of local rectangular regions of the pre-processed vector image, which is appropriate for generating the desired portion of the vector image at the desired display resolution;
generating the desired portion of the vector image at the desired display resolution, from the local vector objects associated with the at least one local rectangular region; and
transmitting the desired portion of the vector image to the client computer.
-
-
101. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
accessing a pre-processed vector image that was generated from a vector image, the pre-processed vector image including a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
receiving a request from a user of a client computer designating at least one rectangular region, from among the plurality of local rectangular regions; and
transmitting the local vector objects associated with the at least one local rectangular region to the client computer.
-
-
102. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
indicating a request for a desired portion of a vector image, for display at a specified resolution;
determining local rectangular regions of a pre-processed vector image that was generated from the vector image, from among a plurality of local rectangular regions, that are appropriate for generating the desired portion of the vector image therefrom, wherein the pre-processed vector image includes a plurality of local rectangular regions and a plurality of local vector objects, each local vector object being associated with one of the local rectangular regions;
requesting at least one rectangular region of the pre-processed vector image from a server computer;
receiving local vector objects associated with the requested at least one rectangular region of the pre-processed vector image from the server computer; and
generating the desired portion of the vector image using the received local vector objects.
-
-
103. A method for interactively viewing a vector animation sequence, comprising:
-
receiving an indexed look-up table that stores a plurality of local vector objects associated with tile regions of a first vector image;
indicating a request for a desired portion of a second vector image, for display at a specified resolution;
determining tile regions of a pre-processed vector image that was generated from the second vector image, from among a plurality of tile regions, that are appropriate for generating the desired portion of the second vector image therefrom, wherein the pre-processed vector image includes a plurality of tile regions and a plurality of local vector objects, each local vector object being associated with one of the tile regions;
requesting at least one tile region of the pre-processed vector image from a server computer;
receiving local vector objects and local vector object indices associated with the requested at least one tile region of the pre-processed vector image from the server computer;
extracting local vector objects from the indexed look-up table according to the local vector object indices received from the server computer; and
generating the desired portion of the second vector image using the received local vector objects and the extracted local vector objects.
-
-
104. A system for interactively viewing a vector animation sequence, comprising:
-
a receiver that;
(i) receives an indexed look-up table that stores a plurality of local vector objects associated with tile regions of a first vector image; and
(ii) receives local vector objects and local vector object indices associated with at least one requested tile region of a pre-processed vector image from a server computer, the pre-processed vector image being generated from a second vector image, and the pre-processed vector image including a plurality of tile regions and a plurality of local vector objects, each local vector object being associated with one of the tile regions;
a vector image adapter that extracts local vector objects from the indexed look-up table according to local vector object indices received from the server computer;
a user interface that indicates a request for a desired portion of the second vector image, for display at a specified resolution;
a vector image processor that;
(i) determines tile regions of the pre-processed vector image that are appropriate for generating the desired portion of the second vector image therefrom; and
(ii) generates the desired portion of the second vector image using the received local vector objects and the extracted local vector objects; and
a transmitter that requests at least one tile region of the pre-processed vector image from the server computer.
-
-
105. A computer-readable storage medium storing program code for causing a computer to perform the steps of:
-
receiving an indexed look-up table that stores a plurality of local vector objects associated with tile regions of a first vector image;
indicating a request for a desired portion of a second vector image, for display at a specified resolution;
determining tile regions of a pre-processed vector image that was generated from the second vector image, from among a plurality of tile regions, that are appropriate for generating the desired portion of the second vector image therefrom, wherein the pre-processed vector image includes a plurality of tile regions and a plurality of local vector objects, each local vector object being associated with one of the tile regions;
requesting at least one tile region of the pre-processed vector image from a server computer;
receiving local vector objects and local vector object indices associated with the requested at least one tile region of the pre-processed vector image from the server computer;
extracting local vector objects from the indexed look-up table according to the local vector object indices received from the server computer; and
generating the desired portion of the second vector image using the received local vector objects and the extracted local vector objects.
-
Specification