Basis functions of three-dimensional models for compression, transformation and streaming
AssigneesLifef/x Networks, Inc., Auckland Uniservices Limited
InventorsPeter J. Hunter, Poul F. Nielsen, David Bullivant, Mark Sagar, Paul Charette, Serge LaFontaine
Life of this patent
Estimating the term…
Abstract
An image processing system in which the vertices of an object contained within an image are analyzed using a singular value decomposition (SVD) method is disclosed. The use of the SVD allows the original vertices data to be reduced through filtering or truncating the singular values associated with the image. In addition, the reduced vertices data and the associated SVD matrices allows for efficiently streaming video data.
Claims32
A method for streaming, over a network connection between a source and a destination, an animated digital display including a plurality of digital image frames, each digital image frame containing an animated object having a plurality of vertices, each of the plurality of vertices having a corresponding spatial coordinate, the method comprising the steps of:
- combining the set of vertices for the object contained in each of the plurality of digital image frames into a vertices data matrix, A;
- performing a singular value decomposition (SVD) on the vertices data matrix, wherein A=U* W* VT;
- determining the SVD basis matrix;
- sending the SVD basis matrix from the source to the destination via the network connection;
- determining a plurality of SVD coefficients;
- storing the SVD basis matrix at the destination;
- sending the plurality of SVD coefficients from the source to the destination via the network connection;
- and
- reconstructing the vertices data matrix as a function of the SVD coefficients and the SVD basis matrix.
A method for filtering an animated digital display including a plurality of digital image frames, each digital image containing an animated object having a plurality of vertices, each of the plurality of vertices having a corresponding spatial coordinate, the method comprising the steps of:
- combining the set of vertices for the object contained in each of the plurality of digital image frames into a vertices data matrix, A;
- performing a singular value decomposition (SVD) on the vertices data matrix, A, wherein A=U* W* VT;
- reducing the number of entries in the W matrix according to a predetermined threshold;
- and
- removing the corresponding rows in the V matrix.
A method for compressing an animated digital display including a plurality of digital image frames, each digital image frame containing an animated object having a plurality of vertices, each of the plurality of vertices having a corresponding spatial coordinate, the method comprising the steps of:
- combining the set of vertices for the object contained in each of the plurality of digital image frames into a vertices data matrix, A;
- performing a singular value decomposition (SVD) on the vertices data matrix, wherein A=U* W* VT;
- determining the SVD basis matrix, W* VT;
- storing the SVD basis matrix;
- determining a plurality of SVD coefficients, U, wherein U=A* V* W1;
- storing the plurality of SVD coefficients;
- and
- reconstructing the vertices data matrix, A, as a function of the SVD coefficients and the SVD basis matrix, wherein A=U* W* VT.
A computer programming product including a computer readable medium, said computer readable medium having a computer program stored thereon, said computer program for execution within a image processing unit for streaming, over a network connection between a source and a destination, an animated digital display including a plurality of digital image frames, each digital image frame containing an animated object having a plurality of vertices, each of the plurality of vertices having a corresponding spatial coordinate, said computer program comprising:
- program code for combining the set of vertices for the object contained in each of the plurality of digital image frames into a vertices data matrix, A;
- program code for performing a singular value decomposition (SVD) on the vertices data matrix, wherein A=U* W* VT;
- program code for determining the SVD basis matrix;
- program code for sending the SVD basis matrix from the source to the destination via the network connection;
- program code for determining a plurality of SVD coefficients;
- program code for storing the SVD basis matrix at the destination;
- program code for sending the plurality of SVD coefficients from the source to the destination via the network connection;
- and
- program code for reconstructing the vertices data matrix as a function of the SVD coefficients and the SVD basis matrix.
An apparatus for streaming, over a network connection between a source and a destination each having a source and destination network interface respectively, an animated digital display including a plurality of digital image frames, each digital image frame containing an animated object having a plurality of vertices, each of the plurality of vertices having a corresponding spatial coordinate, the apparatus comprising:
- a vertices data module, receiving the plurality of spatial coordinates corresponding to the plurality of vertices, the vertices data module configured and arranged to form a vertices-data-matrix, A;
- an SVD module receiving the vertices-data-matrix, A, and configured and arranged to perform a singular value decomposition (SVD) of the vertices-data-matrix, A, wherein A=UWVT, the SVD module further configured and arranged to form the product WVT, and further configured and arranged to form a row vector of U according to U=AVW1;
- the source network interface receiving the product WVT and is configured and arranged to transmit the product WVT over the data network, the source network interface also receiving the row vector of U and further configured and arranged to transmit the row vector of U over the data network;
- the destination network interface receiving the product WVT and the row vector of the matrix U;
- a memory module to store the product WVT;
- and
- a image reconstruction module receiving the row vector of U and the product WVT and is configured and arranged to combine the row vector of U with product WVT to reconstruct the image stored in the row of matrix A, wherein A=UWVT.
A method for streaming, over a network connection between a source and a destination, an animated digital display including a plurality of digital image frames, each digital image frame containing an animated object having a plurality of vertices, each of the plurality of vertices having a corresponding spatial coordinate, the method comprising the steps of:
- combining the set of vertices for the object contained in each of the plurality of digital image frames into a vertices data matrix, A;
- performing a singular value decomposition (SVD) on the vertices data matrix, wherein A=U* W* VT;
- determining the SVD basis matrix;
- providing the SVD basis matrix from the source to the destination;
- determining a plurality of SVD coefficients;
- storing the SVD basis matrix at the destination;
- providing the plurality of SVD coefficients from the source to the destination;
- and
- reconstructing the vertices data matrix as a function of the SVD coefficients and the SVD basis matrix.
A method for streaming, over a network connection between a source and a destination, an animated digital display including a plurality of digital image frames, the method comprising the steps of:
- calculating a set of vertices for the object contained in each of the plurality of digital images using a mathematical model of the object;
- combining the set of vertices for the object contained in each of the plurality of digital image frames into a vertices data matrix, A;
- performing a singular value decomposition (SVD) on the vertices data matrix, wherein A=U* W* VT;
- determining the SVD basis matrix;
- sending the SVD basis matrix from the source to the destination via the network connection;
- determining a plurality of SVD coefficients;
- storing the SVD basis matrix at the destination;
- sending the plurality of SVD coefficients from the source to the destination via the network connection;
- and
- reconstructing the vertices data matrix as a function of the SVD coefficients and the SVD basis matrix.
A method for streaming, over a network connection between a source and a destination, an animated digital display including a plurality of digital image frames, the method comprising the steps of:
- calculating a set of SVD coefficients for the object contained in each of the plurality of digital images using a mathematical model of the object;
- determining the SVD basis matrix;
- sending the SVD basis matrix from the source to the destination via the network connection;
- determining a plurality of SVD coefficients;
- storing the SVD basis matrix at the destination;
- sending the plurality of SVD coefficients from the source to the destination via the network connection;
- and
- reconstructing the vertices data matrix as a function of the SVD coefficients and the SVD basis matrix.
A method for displaying an animated digital display on a display device including a plurality of digital image frames, each digital image frame containing an animated object having a plurality of vertices, each of the plurality of vertices having a corresponding spatial coordinate, the method comprising the steps of:
- combining the set of vertices for the object contained in each of the plurality of digital image frames into a vertices data matrix, A;
- performing a singular value decomposition (SVD) on the vertices data matrix, wherein A=U★W★VT;
- determining the SVD basis matrix;
- providing the SVD basis matrix to the display device on a computer readable medium;
- determining a plurality of SVD coefficients;
- providing the plurality of SVD coefficients on a computer readable medium;
- reconstructing the vertices data matrix, by the display device as a function of the provided SVD coefficients and the provided SVD basis matrix.
Dependencies are inferred from the claim text.