Patent US6009190A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6009190A Expired / Lapsed US ⏱️ 0.0 years remaining

Texture map construction method and apparatus for displaying panoramic image mosaics

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-08-01
•
Granted: 1999-12-28
•
Expires: 2017-08-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The texture map construction method and apparatus of the invention constructs, from a set of overlapping images, a texture map divisible into plural faces. This is accomplished for each one of the plural faces by computing a texture mapping transform which maps between pixel locations in the texture map and a three-dimensional coordinate system. For each image of the set, an image transform is computed which maps between pixel locations in the image and the three-dimensional coordinate system. For each image of the set, the texture mapping transform and the image transform are combined to produce a texture map-to-image space transform mapping between pixel locations in the image and pixel locations in the texture map. For each one of the pixel locations in the one face of the texture map, the system computes from the texture map-to-image space transform a pixel value of a pixel location in the image corresponding to the one pixel location in the one face of the texture map. This produces a set of image pixel values from the set of overlapping images for the one pixel location in the texture space. Finally, the set of image pixel values are blended to produce a composite pixel value for the one pixel location in the one face of the texture map.

Inventors

  • 👤 Richard Szeliski
  • 👤 Heung-Yeung Shum

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 12:41
CPC Classifications
G; G06; G06T; G06T3/00; G06T3/40; G06T3/4038; G06T15/00; G06T15/04; G06T7/00; G06T7/30; G06V; G06V10/00; G06V10/10; G06V10/12; G06V10/14; G06V10/147; G06V10/16

Claims Analysis

Total Claims: 69
Claim 1
Independent Claim 206 words
A method for constructing, from a set of overlapping images, a texture map divisible into plural faces, comprising: for each one of said plural faces, computing a texture mapping transform which maps between pixel locations in said texture map and a three-dimensional coordinate system; for each image of said set, computing an image transform which maps between pixel locations in said image and said three-dimensional coordinate system; for each image of said set, combining said texture mapping transform and said image transform to produce a texture map-to-image space transform mapping between pixel locations in said image and pixel locations in said texture map; for each image of said set and for each one of the pixel locations in said one face of said texture map, computing from said texture map-to-image space transform a pixel value of a pixel location in said image corresponding to said one pixel location in said one face of said texture map, to produce a set of image pixel values from said set of overlapping images for said one pixel location in said texture space; and blending said set of image pixel values to produce a composite pixel value for said one pixel location in said one face of said texture map.
Claim 2
Independent Claim 206 words
A method for constructing, from a set of overlapping images, a texture map divisible into plural faces, comprising: for each one of said plural faces, computing a texture mapping transform which maps between pixel locations in said texture map and a three-dimensional coordinate system; for each image of said set, computing an image transform which maps between pixel locations in said image and said three-dimensional coordinate system; for each image of said set, combining said texture mapping transform and said image transform to produce a texture map-to-image space transform mapping between pixel locations in said image and pixel locations in said texture map; for each image of said set and for each one of the pixel locations in said one face of said texture map, computing from said texture map-to-image space transform a pixel value of a pixel location in said image corresponding to said one pixel location in said one face of said texture map, to produce a set of image pixel values from said set of overlapping images for said one pixel location in said texture space; and blending said set of image pixel values to produce a composite pixel value for said one pixel location in said one face of said texture map.
Claim 3
Dependent Claim 106 words
The method of claim 1 further comprising: obtaining a user-defined mapping between plural object faces in said three-dimensional coordinate system and said plural faces of said texture map; defining space vectors locating said plural object faces in said three-dimensional coordinate system and texture vectors locating said plural faces in said texture map; and wherein the step of computing said texture map transform comprises: concatentating the texture vectors of said one face of said texture map to form a first matrix, concatenating the space vectors of a corresponding face of said three-dimensional space to form a second matrix, and combining said first matrix and said second matrix.
Claim 4
Dependent Claim 45 words
The method of claim 2 wherein said faces in said texture map and said object faces have plural vertices, and wherein said texture vectors locate the vertices of said faces in said texture map and said space vectors locate the vertices of said object faces.
Claim 5
Dependent Claim 82 words
The method of claim 3 wherein said faces of said texture map and said object faces have the same number of vertices n, wherein n is an integer, and wherein: the step of defining space vectors comprises defining n space vectors each locating a corresponding one of said n vertices of said object faces; and the step of defining texture vectors comprises defining n texture vectors each locating a corresponding one of said n vertices of said faces of said texture map.
Claim 6
Dependent Claim 28 words
The method of claim 4 wherein the step of combining said first and second matrices comprises matrix multiplying said first matrix by an inverse of said second matrix.
Claim 7
Dependent Claim 12 words
The method of claim 4 wherein n=3 and said faces are triangles.
Claim 8
Dependent Claim 19 words
The method of claim 1 wherein the step of combining said texture and image transforms comprises matrix-multiplying said transforms.
Claim 9
Dependent Claim 20 words
The method of claim 1 further comprising placing said composite pixel values into corresponding pixel locations in said texture map.
Claim 10
Dependent Claim 46 words
The method of claim 8 further comprising assigning a color identification tag to each triangle in said texture map and to each pixal in the triangle, and storing each color identification tag in a buffer at a location in said buffer associated with the respective triangle.
Claim 11
Dependent Claim 45 words
The method of claim 9 wherein said texture map comprises visible regions mapped to said three-dimensional coordinate system and invisible regions, said method further comprising propagating the color id tags of said visible regions of said texture map into neighboring portions of said invisible regions.
Claim 12
Dependent Claim 25 words
The method of claim 10 wherein the step of blending is carried out in a bounding box surrounding said one face of said texture map.
Claim 13
Dependent Claim 84 words
The method of claim 10 wherein the step of placing said composite pixel values in corresponding pixel locations in said texture map comprises: determining for each of said corresponding pixel locations in said texture map a corresponding color identification tag; and comparing color identification tags of said corresponding pixel locations in said texture map with the color identification tags stored in said buffer memory and placing said composite pixel values in the corresponding pixel locations for which a color identification tag match is found.
Claim 14
Dependent Claim 16 words
The method of claim 1 wherein the step of blending comprises averaging said image pixel values.
Claim 15
Dependent Claim 28 words
The method of claim 13 wherein the step of averaging comprises deweighting each image pixel value in accordance to its proximity to an edge of the corresponding image.
Claim 16
Dependent Claim 11 words
The method of claim 14 wherein said pixel values represent colors.
Claim 17
Dependent Claim 14 words
The method of claim 1 wherein the texture-to-image transform comprises an 8-parameter perspective transformation.
Claim 18
Dependent Claim 14 words
A computer-readable medium having computer-executable instructions for performing the steps recited in claim 1.
Claim 19
Independent Claim 97 words
A method for constructing, from a set of overlapping images, a texture map divisible into plural faces, comprising: associating each one of said overlapping images with a first transform between said one image and three-dimensional space; computing a second transform which maps between said texture map and said three-dimensional space; determining, from said first and second transforms, image pixel values in each image corresponding to pixel locations in one of said plural faces of said texture space; and blending said image pixel values to produce a composite pixel value for each pixel location in said texture space.
Claim 20
Independent Claim 97 words
A method for constructing, from a set of overlapping images, a texture map divisible into plural faces, comprising: associating each one of said overlapping images with a first transform between said one image and three-dimensional space; computing a second transform which maps between said texture map and said three-dimensional space; determining, from said first and second transforms, image pixel values in each image corresponding to pixel locations in one of said plural faces of said texture space; and blending said image pixel values to produce a composite pixel value for each pixel location in said texture space.
Claim 21
Dependent Claim 114 words
The method of claim 18 wherein the step of determining image pixel values for each pixel location in texture space comprises: combining said first and second to produce a texture space-to-image space transform mapping between pixel locations in said image and pixel locations in said texture space; and for each image of said set and for each one of the pixel locations in said texture space, computing from said texture space-to-image space transform a pixel value of a pixel location in said image corresponding to said one pixel location in said texture space, to produce from said set of overlapping images image pixel values corresponding to said one pixel location in said texture space.
Claim 22
Dependent Claim 105 words
The method of claim 18 further comprising: obtaining a user-defined mapping between plural object faces in said three-dimensional coordinate system and said plural faces of said texture map; defining space vectors locating said plural object faces in said three-dimensional coordinate system and texture vectors locating said plural faces in said texture map; and wherein the step of computing said second transform comprises: concatentating the texture vectors of said one face of said texture map to form a first matrix, concatenating the space vectors of a corresponding face of said three-dimensional space to form a second matrix, and combining said first matrix and said second matrix.
Claim 23
Dependent Claim 45 words
The method of claim 20 wherein said faces in said texture map and said object faces have plural vertices, and wherein said texture vectors locate the vertices of said faces in said texture map and said space vectors locate the vertices of said object faces.
Claim 24
Dependent Claim 82 words
The method of claim 21 wherein said faces of said texture map and said object faces have the same number of vertices n, wherein n is an integer, and wherein: the step of defining space vectors comprises defining n space vectors each locating a corresponding one of said n vertices of said object faces; and the step of defining texture vectors comprises defining n texture vectors each locating a corresponding one of said n vertices of said faces of said texture map.
Claim 25
Dependent Claim 28 words
The method of claim 22 wherein the step of combining said first and second matrices comprises matrix multiplying said first matrix by an inverse of said second matrix.
Claim 26
Dependent Claim 12 words
The method of claim 22 wherein n=3 and said faces are triangles.
Claim 27
Dependent Claim 27 words
The method of claim 18 wherein the step of combining said first and second transforms comprises matrix-multiplying said first transform by an inverse of said second transform.
Claim 28
Dependent Claim 20 words
The method of claim 18 further comprising placing said composite pixel values into corresponding pixel locations in said texture map.
Claim 29
Dependent Claim 46 words
The method of claim 26 further comprising assigning a color identification tag to each face in said texture map and to each pixal in the face, and storing each color identification tag in a buffer at a location in said buffer associated with the respective face.
Claim 30
Dependent Claim 45 words
The method of claim 27 wherein said texture map comprises visible regions mapped to said three-dimensional coordinate system and invisible regions, said method further comprising propagating the color id tags of said visible regions of said texture map into neighboring portions of said invisible regions.
Claim 31
Dependent Claim 25 words
The method of claim 28 wherein the step of blending is carried out in a bounding box surrounding said one face of said texture map.
Claim 32
Dependent Claim 84 words
The method of claim 28 wherein the step of placing said composite pixel values in corresponding pixel locations in said texture map comprises: determining for each of said corresponding pixel locations in said texture map a corresponding color identification tag; and comparing color identification tags of said corresponding pixel locations in said texture map with the color identification tags stored in said buffer memory and placing said composite pixel values in the corresponding pixel locations for which a color identification tag match is found.
Claim 33
Dependent Claim 16 words
The method of claim 18 wherein the step of blending comprises averaging said image pixel values.
Claim 34
Dependent Claim 28 words
The method of claim 31 wherein the step of averaging comprises deweighting each image pixel value in accordance to its proximity to an edge of the corresponding image.
Claim 35
Dependent Claim 11 words
The method of claim 32 wherein said pixel values represent colors.
Claim 36
Dependent Claim 14 words
A computer-readable medium having computer-executable instructions for performing the steps recited in claim 18.
Claim 37
Dependent Claim 230 words
Apparatus for use in constructing, from a set of overlapping images, a texture map divisible into plural faces, said apparatus comprising: a processor; memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored in the memory: for each one of said plural faces, computes a texture mapping transform which maps between pixel locations in said texture map and a three-dimensional coordinate system; for each image of said set, computes an image transform which maps between pixel locations in said image and said three-dimensional coordinate system; for each image of said set, combines said texture mapping transform and said image transform to produce a texture map-to-image space transform mapping between pixel locations in said image and pixel locations in said texture map; for each image of said set and for each one of the pixel locations in said one face of said texture map, computes from said texture map-to-image space transform a pixel value of a pixel location in said image corresponding to said one pixel location in said one face of said texture map, to produce a set of image pixel values from said set of overlapping images for said one pixel location in said texture space; and blends said set of image pixel values to produce a composite pixel value for said one pixel location in said one face of said texture map.
Claim 38
Dependent Claim 230 words
Apparatus for use in constructing, from a set of overlapping images, a texture map divisible into plural faces, said apparatus comprising: a processor; memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored in the memory: for each one of said plural faces, computes a texture mapping transform which maps between pixel locations in said texture map and a three-dimensional coordinate system; for each image of said set, computes an image transform which maps between pixel locations in said image and said three-dimensional coordinate system; for each image of said set, combines said texture mapping transform and said image transform to produce a texture map-to-image space transform mapping between pixel locations in said image and pixel locations in said texture map; for each image of said set and for each one of the pixel locations in said one face of said texture map, computes from said texture map-to-image space transform a pixel value of a pixel location in said image corresponding to said one pixel location in said one face of said texture map, to produce a set of image pixel values from said set of overlapping images for said one pixel location in said texture space; and blends said set of image pixel values to produce a composite pixel value for said one pixel location in said one face of said texture map.
Claim 39
Dependent Claim 115 words
The apparatus of claim 35 wherein said processor, in further response to said instructions: obtains a user-defined mapping between plural object faces in said three-dimensional coordinate system and said plural faces of said texture map; defines space vectors locating said plural object faces in said three-dimensional coordinate system and texture vectors locating said plural faces in said texture map; and wherein said processor computes said texture map transform in that said processor: concatentates the texture vectors of said one face of said texture map to form a first matrix, concatenates the space vectors of a corresponding face of said three-dimensional space to form a second matrix, and combines said first matrix and said second matrix.
Claim 40
Dependent Claim 45 words
The apparatus of claim 36 wherein said faces in said texture map and said object faces have plural vertices, and wherein said texture vectors locate the vertices of said faces in said texture map and said space vectors locate the vertices of said object faces.
Claim 41
Dependent Claim 81 words
The apparatus of claim 37 wherein said faces of said texture map and said object faces have the same number of vertices n, wherein n is an integer, and wherein: said processor defines space vectors by defining n space vectors each locating a corresponding one of said n vertices of said object faces; and said processor defines the texture vectors by defining n texture vectors each locating a corresponding one of said n vertices of said faces of said texture map.
Claim 42
Dependent Claim 27 words
The apparatus of claim 38 wherein said processor combines said first and second matrices by matrix multiplying said first matrix by an inverse of said second matrix.
Claim 43
Dependent Claim 12 words
The apparatus of claim 38 wherein n=3 and said faces are triangles.
Claim 44
Dependent Claim 27 words
The apparatus of claim 35 wherein said processor, in further response to said instructions, places said composite pixel values into corresponding pixel locations in said texture map.
Claim 45
Dependent Claim 53 words
The apparatus of claim 41 wherein said processor, in further response to said instructions, assigns a color identification tag to each triangle in said texture map and to each pixal in the triangle, and stores each color identification tag in a buffer at a location in said buffer associated with the respective triangle.
Claim 46
Dependent Claim 51 words
The apparatus of claim 42 wherein said texture map comprises visible regions mapped to said three-dimensional coordinate system and invisible regions, and wherein said processor, in further response to said instructions, propagates the color id tags of said visible regions of said texture map into neighboring portions of said invisible regions.
Claim 47
Dependent Claim 34 words
The apparatus of claim 43 wherein said processor blends said image pixel values in that said processor selects the corresponding pixel locations in a bounding box surrounding said one face of said texture map.
Claim 48
Dependent Claim 86 words
The apparatus of claim 44 wherein said processor places said composite pixel values in corresponding pixel locations in said texture map in that said processor: determines for each of said corresponding pixel locations in said texture map a corresponding color identification tag; and compares color identification tags of said corresponding pixel locations in said texture map with the color identification tags stored in said buffer memory and places said composite pixel values in the corresponding pixel locations for which a color identification tag match is found.
Claim 49
Dependent Claim 19 words
The apparatus of claim 35 wherein said processor blends said image pixel values by averaging said image pixel values.
Claim 50
Dependent Claim 31 words
The apparatus of claim 46 wherein said processor, in blending said image pixel values, deweights each image pixel value in accordance to its proximity to an edge of the corresponding image.
Claim 51
Dependent Claim 11 words
The apparatus of claim 47 wherein said pixel values represent colors.
Claim 52
Dependent Claim 14 words
The apparatus of claim 35 wherein the texture-to-image transform comprises an 8-parameter perspective transformation.
Claim 53
Dependent Claim 121 words
Apparatus for use in constructing, from a set of overlapping images, a texture map divisible into plural faces, said apparatus comprising: a processor; memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored in the memory: associates each one of said overlapping images with a first transform between said one image and three-dimensional space; computes a second transform which maps between said texture map and said three-dimensional space; determines, from said first and second transforms, image pixel values in each image corresponding to pixel locations in one of said plural faces of said texture space; and blends said image pixel values to produce a composite pixel value for each pixel location in said texture space.
Claim 54
Dependent Claim 121 words
Apparatus for use in constructing, from a set of overlapping images, a texture map divisible into plural faces, said apparatus comprising: a processor; memory having executable instructions stored therein; and wherein the processor, in response to the instructions stored in the memory: associates each one of said overlapping images with a first transform between said one image and three-dimensional space; computes a second transform which maps between said texture map and said three-dimensional space; determines, from said first and second transforms, image pixel values in each image corresponding to pixel locations in one of said plural faces of said texture space; and blends said image pixel values to produce a composite pixel value for each pixel location in said texture space.
Claim 55
Dependent Claim 116 words
The apparatus of claim 50 wherein said processor determines image pixel values for each pixel location in texture space in that said processor: combines said first and second to produce a texture space-to-image space transform mapping between pixel locations in said image and pixel locations in said texture space; and for each image of said set and for each one of the pixel locations in said texture space, computes from said texture space-to-image space transform a pixel value of a pixel location in said image corresponding to said one pixel location in said texture space, to produce from said set of overlapping images image pixel values corresponding to said one pixel location in said texture space.
Claim 56
Dependent Claim 115 words
The apparatus of claim 50 wherein said processor, in further response to said instructions: obtains a user-defined mapping between plural object faces in said three-dimensional coordinate system and said plural faces of said texture map; defines space vectors locating said plural object faces in said three-dimensional coordinate system and texture vectors locating said plural faces in said texture map; and wherein said processor computes said texture map transform in that said processor: concatentates the texture vectors of said one face of said texture map to form a first matrix, concatenates the space vectors of a corresponding face of said three-dimensional space to form a second matrix, and combines said first matrix and said second matrix.
Claim 57
Dependent Claim 45 words
The apparatus of claim 52 wherein said faces in said texture map and said object faces have plural vertices, and wherein said texture vectors locate the vertices of said faces in said texture map and said space vectors locate the vertices of said object faces.
Claim 58
Dependent Claim 81 words
The apparatus of claim 53 wherein said faces of said texture map and said object faces have the same number of vertices n, wherein n is an integer, and wherein: said processor defines space vectors by defining n space vectors each locating a corresponding one of said n vertices of said object faces; and said processor defines the texture vectors by defining n texture vectors each locating a corresponding one of said n vertices of said faces of said texture map.
Claim 59
Dependent Claim 27 words
The apparatus of claim 54 wherein said processor combines said first and second matrices by matrix multiplying said first matrix by an inverse of said second matrix.
Claim 60
Dependent Claim 12 words
The apparatus of claim 54 wherein n=3 and said faces are triangles.
Claim 61
Dependent Claim 27 words
The apparatus of claim 50 wherein said processor, in further response to said instructions, places said composite pixel values into corresponding pixel locations in said texture map.
Claim 62
Dependent Claim 53 words
The apparatus of claim 57 wherein said processor, in further response to said instructions, assigns a color identification tag to each triangle in said texture map and to each pixal in the triangle, and stores each color identification tag in a buffer at a location in said buffer associated with the respective triangle.
Claim 63
Dependent Claim 51 words
The apparatus of claim 58 wherein said texture map comprises visible regions mapped to said three-dimensional coordinate system and invisible regions, and wherein said processor, in further response to said instructions, propagates the color id tags of said visible regions of said texture map into neighboring portions of said invisible regions.
Claim 64
Dependent Claim 34 words
The apparatus of claim 59 wherein said processor blends said image pixel values in that said processor selects the corresponding pixel locations in a bounding box surrounding said one face of said texture map.
Claim 65
Dependent Claim 86 words
The apparatus of claim 60 wherein said processor places said composite pixel values in corresponding pixel locations in said texture map in that said processor: determines for each of said corresponding pixel locations in said texture map a corresponding color identification tag; and compares color identification tags of said corresponding pixel locations in said texture map with the color identification tags stored in said buffer memory and places said composite pixel values in the corresponding pixel locations for which a color identification tag match is found.
Claim 66
Dependent Claim 19 words
The apparatus of claim 50 wherein said processor blends said image pixel values by averaging said image pixel values.
Claim 67
Dependent Claim 31 words
The apparatus of claim 62 wherein said processor, in blending said image pixel values, deweights each image pixel value in accordance to its proximity to an edge of the corresponding image.
Claim 68
Dependent Claim 11 words
The apparatus of claim 63 wherein said pixel values represent colors.
Claim 69
Dependent Claim 14 words
The apparatus of claim 50 wherein the texture-to-image transform comprises an 8-parameter perspective transformation.

References Cited (Backward Citations)

US5187754A Cited
US5611000A Cited
US5649032A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-27 2003-06-28 2003-12-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-27 2007-06-28 2007-12-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-27 2011-06-28 2011-12-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag