AU2012292957A1 - A method of processing information that is indicative of a shape - Google Patents

A method of processing information that is indicative of a shape Download PDF

Info

Publication number
AU2012292957A1
AU2012292957A1 AU2012292957A AU2012292957A AU2012292957A1 AU 2012292957 A1 AU2012292957 A1 AU 2012292957A1 AU 2012292957 A AU2012292957 A AU 2012292957A AU 2012292957 A AU2012292957 A AU 2012292957A AU 2012292957 A1 AU2012292957 A1 AU 2012292957A1
Authority
AU
Australia
Prior art keywords
vertices
information
data
dimensional
vertex
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
AU2012292957A
Inventor
John STRAVAKAKIS
Masahiro TAKATSUKA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Sydney
Original Assignee
University of Sydney
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2011903159A external-priority patent/AU2011903159A0/en
Application filed by University of Sydney filed Critical University of Sydney
Priority to AU2012292957A priority Critical patent/AU2012292957A1/en
Publication of AU2012292957A1 publication Critical patent/AU2012292957A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

The present disclosure provides a method of processing information that is indicative of a shape in three- dimensional space. The processed information is usable in displaying a representation of the shape. The method comprises projecting a plurality of vertices of the shape onto a plane. The method also comprises determining reference information that is usable to associate the projected vertices with each other. The reference information is determined by applying a reversible function to the projected vertices. Information that is indicative of the projected vertices and the reference information can be used to represent the shape on a display.

Description

WO 2013/020174 PCT/AU2012/000936 A METHOD OF PROCESSING INFORMATION THAT IS INDICATIVE OF A SHAPE Field of the Invention 5 The present invention relates to a method of processing information that is indicative of a shape. The invention has been developed primarily for use in a computing environment and will be described hereinafter with 10 reference to this application. However, it will be appreciated that the invention is not limited to this particular field of use. Background of the Invention 15 The transmission of two-dimensional rendered images between computing systems (and/or from a computing system to a display) remains a popular method for sending images across a computing network, say when a user is playing a 20 networked game across the Internet. Two-dimensional images tend to maintain a low near constant bandwidth cost despite any geometric complexity, making them an attractive format for transmission in situations where there are inherent limitations in bandwidth. 25 However, in order to provide a more realistic and immersive experience for an end user, it is desirable to transmit and render three-dimensional images, which provide a "richer" end user experience. 30 In the past, methods and systems which attempted to send three-dimensional image data over a network concentrated on methods that sent all image data to the end user, so WO 2013/020174 PCT/AU2012/000936 2 -2 that a user would be able to fully appreciate the three dimensional image in real time. For example, a user navigating a 'scene' in a three-dimensional game would like to be able to navigate the scene in real time, with 5 little or no noticeable delay or lag time. As such, the user will typically be required to download all visible geometry data to achieve the given experience. However, delivering all three-dimensional image data 10 requires high bandwidth capabilities or the ability to successfully compress the image data to reduce bandwidth requirements. Existing methods for three-dimensional compression tend to focus on compression methods that require offline processing.. These techniques are not well 15 suited to runtime, low bandwidth, low computation computing systems and networks. As a result, the use of image based compression techniques for sending three dimensional image data remains the dominant form of delivery. 20 Summary of the Invention In accordance with a first aspect of the present invention, there is provided a method of processing 25 information that is indicative of a shape in three dimensional space, the processed information being usable in displaying a representation of the shape, the method comprising the steps of: projecting a plurality of vertices of the shape onto 30 a plane; and determining reference information that is usable to associate the projected vertices with each other, the reference information- being determined by applying a WO 2013/020174 PCT/AU2012/000936 3 -3 reversible' function to the projected vertices; wherein information that is indicative of the projected vertices and the reference information can be used to represent the shape on a display. 5 Embodiments of the present invention may provide the advantage wherein three dimension image data having a geometric complexity may be encoded and transmitted with an improved proportional cost of bandwidth. This may 10 generate an effective bandwidth scalable solution for the transmission of three dimension content. The reference information may be indicative of a point in two-dimensional space. 15 The point in two-dimensional space may be bound by its associated projected vertices. The reversible function may be one of a centroid method or 20 a bisector method, although it will be appreciated that any appropriate reversible function can be used. The method may comprise a step of applying a compression algorithm to compress the information that is indicative 25- of the projected vertices and the reference information. The shape may be one of a plurality of shapes that comprise a representation of an object in three dimensional space, and the method may comprise the steps 30 of: projecting a plurality of vertices of each shape onto the plane; and for each shape, determining reference information that is usable to associate the projected vertices of the WO 2013/020174 PCT/AU2012/000936 4 -4 shape with each other, the reference information being determined by applying a reversible function to the projected vertices of the shape; wherein information that is indicative of the 5 projected vertices and the reference information can be used to represent the shapes that comprise the object on a display. In accordance with a second aspect of the invention, there 10 is provided a method of processing three-dimensional image data comprising the steps of: processing the three-dimensional image data to provide a data set for a corresponding two-dimensional image; and 15 adding at least one set of pixel data to the two dimensional image data set, the at least one set of pixel data comprising additional data that is representative of depth information of the three-dimensional image data. 20 In an embodiment of the second aspect, the at least one set of pixel data is a bit plane incorporated into the two-dimensional image data. In an embodiment of.the second aspect, the bit plane is a 25 matrix, wherein each element in the matrix represents a pixel of the two-dimensional image data. In an embodiment of the second aspect, each element in the matrix that represents a vertex of the three-dimensional 30 image data is represented by a first value, and each element in the matrix that does not represent a vertex of the three-dimensional image data is represented by a second value.
WO 2013/020174 PCT/AU2012/000936 5 -5 In an embodiment of the second aspect, the first value is an integer value of one (1) and the second value is an integer value of zero (0). 5 In an embodiment of the second aspect, the method further comprises the step of determining vertex information that is indicative of a two dimensional position of a plurality of vertices of the three-dimensional data. 10 In an embodiment of the second aspect, the method comprises a step of determining a connectivity between each vertex utilising a connectivity algorithm and encoding the connectivity data in an additional set of 15 pixel data. In an embodinient of the second aspect, the at least one set of additional pixel data is an additional bit plane incorporated into the two-dimensional image data. 20 In an embodiment of the second aspect, the bit plane is a matrix, wherein each element in the matrix represents a pixel of the image information. 25 In an embodiment of the second aspect, the connectivity data is derived by traversing a triangulated irregular network to encode a single bit for each triangle, each single bit being representative of a connectivity point in the connectivity data. 30 In an embodiment of the second aspect, the connectivity data is derived using a generalised relationship: aup,aupI= f(b,,b 2 ,...bN) WO 2013/020174 PCT/AU2012/000936 6 -6 wherein: b2,b2,...bN represent vertices of an N-sided polygon, f represents the connectivity algorithm applied to the vertices, and aup is an auxiliary point derived from the algorithm. .5 In an embodiment of the second aspect, the connectivity data is derived using a generalised relationship: [aup,,aupJ= f(b.,b 2 ,b 3 ) wherein: bl,b 2 ,b 3 represent vertices of a triangle, f 10 represents the connectivity algorithm applied to the vertices, and aup is an auxiliary point derived from the algorithm. In an embodiment of the second aspect, the connectivity 15 algorithm applied is one of a centroid algorithm and a bisector algorithm, although it will be appreciated that any appropriate reversible connectivity algorithm can be used. 20 In an embodiment of the second aspect, the method comprises a step of including information that is indicative of a depth of a plurality of vertices of the three-dimensional image data "in the two-dimensional data set. 25 In an embodiment of the second aspect, the step of including the vertex depth information comprises including first vertex information associated with the three dimensional data with respect to a first view point, and 30 including second vertex information associated with the three-dimensional image with respect to a second view point.
WO 2013/020174 PCT/AU2012/000936 7 -7 In an embodiment of the second aspect, the first vertex information is encoded in a first set of pixel data in the two-dimensional image, and the second vertex information is encoded in a second set of pixel data in the two 5 dimensional image. In an embodiment of the second aspect, the method comprises a step of utilising a correspondence parameter to provide a correspondence between the first view point 10 and the second view point., In an embodiment of the second aspect, the correspondence parameter is represented as an integer value. 15 In an embodiment of the second aspect, the correspondence parameter is represented as a single bit in a string of zero values. In an embodiment of the second aspect, the second 20 viewpoint is selected by performing a step of analysing the three-dimensional data and the vertex depth information. In an embodiment of the second aspect, the method further 25 comprises a step of compressing the sets of pixel data prior to transmission of the data. In an embodiment of the second aspect, the. method - comprises a further step of encoding the vertex depth 30 information in a one-dimensional array. In an embodiment of the second aspect, a closest point algorithm is utilised to find a predicted and actual WO 2013/020174 PCT/AU2012/000936 8 position in the second viewpoint. The closest point algorithm may be utilised to find a predicted and actual position along a scanline in the second view point. 5 In accordance with a third aspect of the present invention, there is provided a system for processing information that is indicative of a shape in three dimensional space, the processed information being usable in displaying a representation of the shape, the system 10 comprising a processor arranged to: project a plurality of vertices of the shape onto a plane; and determine reference information that is usable to associate the projected vertices with each other, the 15 reference information being determined by applying'a reversible function to the projected vertices; wherein information that is indicative of the projected vertices and the reference information can be used to represent the shape on a display. 20 The reference information may be indicative of a point in two-dimensional space. The point in two-dimensional space may be bound by its 25 associated projected vertices. The reversible function may be one of a centroid method or a bisector method, although it will be appreciated that any appropriate reversible function can be used. 30 In one embodiment, the processor is arranged to apply a compression algorithm to compress the information that is indicative of the projected vertices and the reference WO 2013/020174 PCT/AU2012/000936 9 9 information. The shape may be one of a plurality of shapes that comprise a representation of an object in three 5 dimensional space, and the processor may be arranged to: project a plurality of vertices of each shape onto the plane; and for each shape, determine reference information that is usable to associate the projected vertices of the shape 10 with each other, the reference information being determined by applying a reversible function to the projected vertices of the shape; wherein information that is indicative of the projected vertices and the reference information can be 15 used to represent the shapes that comprise the object on a display. In accordance with a forth aspect of the present invention, there is provided a system for processing 20 three-dimensional image data, the system comprising a processor arranged to: process the three-dimensional image data to provide a data set for a corresponding two-dimensional image; and add at least one set of pixel data to the two 25 dimensional image data set, the at least one set of pixel data comprising additional data that is representative of depth information of the three-dimensional image data. In an embodiment of the fourth aspect, the at least one 30 set of pixel data is a bit plane incorporated into the two-dimensional image data. In an embodiment of the fourth aspect,- the bit plane is a matrix, wherein each element in the matrix represents a WO 2013/020174 PCT/AU2012/000936 10 - 10 pixel of the two-dimensional image data. In an embodiment of the fourth aspect, each element in the matrix that represents a vertex of the three-dimensional 5 image data is represented by a first value, and each element in the matrix that does not represent a vertex of the three-dimensional image data is represented by a second value. 10 In an embodiment of the fourth aspect, the first value is an integer valuelof one (1) and the second value is an integer value of zero (0). In an embodiment of the fourth aspect, the processor is 15 further arranged to determine vertex information that is indicative of a two dimensional position of a plurality of vertices of the three-dimensional data. In an embodiment of the fourth aspect, the processor is 20 arranged to determine a connectivity between each vertex utilising a connectivity algorithm and to encode the connectivity data in an additional set of pixel data. In anembodiment of the fourth aspect, the at least one 25 set of additional pixel data is an additional bit plane incorporated into the two-dimensional image data. In an embodiment of the fourth aspect, the bit plane is a matrix, wherein each element in the matrix represents a 30 pixel of the image information. In an embodiment of the fourth aspect, the connectivity data is derived by traversing a triangulated irregular WO 2013/020174 PCT/AU2012/000936 11 - 11 network to encode to encode a single bit for each triangle, each single bit being representative of a connectivity point in the connectivity data. 5 In an embodiment of the fourth aspect, the connectivity data is derived using a generalised relationship: [aup,aup, =f(bl,b 2 ,...bN) wherein: bl,b 2 ,...bM represent vertices of an N-sided polygon, f represents the connectivity algorithm applied 10 to the vertices, and aup is an auxiliary point derived from the algorithm. In an embodiment of the fourth aspect, the connectivity data is derived using a generalised relationship: 15 [aup.,aupj=f(b,,b 2 ,b 3 ) wherein: b2,b 2 ,b 3 represent vertices of a triangle, f represents the connectivity algorithm applied to the vertices, and aup is an auxiliary point derived by the algorithm. 20 Detailed Description of the Drawings Notwithstanding any other embodiments that may fall within the scope of the present invention, an embodiment of the 25 present invention will now be described, by way of example only, with reference to the accompanying figures, in which: Figure 1 is flow chart illustrating a method embodiment of 30 the present invention; Figure 2 is an example of a projection of a three dimensional image onto a two-dimensional surface; WO 2013/020174 PCT/AU2012/000936 12 - 12, Figure 3 is an example of three-dimensional vertices projected onto a two-dimensional pixel grid at varying resolutions; 5 Figure 4 is a graph illustrating a relationship between geometric error and resolutions; Figure 5 is a diagram illustrating the relationship 10 between the vertex plane and the connectivity plane; Figure 6 is an example of the centroid method, which is utilised to use the average of the three triangle vertices to make a representative auxiliary point; 15 Figure 7 is a graph illustrating the relationship between the percentage of triangles (vertices) that can be encoded using the centroid function for a given range of resolutions; 20 Figure 8 is an example of the bisector method, which is utilised to make a representative auxiliary point; Figure 9 illustrates two examples illustrating how the 25 bisector validates and invalidates reconstruction candidates; Figures 10 (a) to (c) provide examples of encoded images; 30 Figure 11 (a) and (b) are plots illustrating the data size as a function of resolution and a compression ratio as a function of the resolution, respectively; WO 2013/020174 PCT/AU2012/000936 13 - 13 Figures 12 (a), (b) and (c) are illustrations of a rendered images (Figure 12(a). is a default render, Figure 12 (b) is the render when viewed from a notional "camera one" and Figure 12(c) is a render when viewed from a 5 notional "camera two". The darkest part of the line represents the centre of the cuboid, whereas the grey part of the line represents the location of camera one). Figure 13 is a diagram illustrating the largest change in 10 the size of the second camera projection, which occurs when the second projection direction is perpendicular to the plane of the hypotenuse of the view volume; Figure 14 (a) represents a first view which shows one 15 point a,, and the two extrapolated points necessary to create a 3D plane; Figure 14 (b) illustrates a second view which shows the second point used to create a ray beginning from bi in the 20 viewing direction; Figure 15 illustrates that a ray plane intersection can be used to determine a depth of the vertex v, wherein the plane point p and normal n may then be computed using the 25 first view, b 2 -bi. Figure 16 illustrates a unitised cuboid of geometric data from which five test points are chosen on each of three depth planes (z = 0; z = 1/2; z = 1); 30 Figure 17 is an illustration of re-projecting a vertex with the whole depth range in using xi and x 2 separately when compared to dx =x2-xlI; WO 2013/020174 PCT/AU2012/000936 14 - 14 Figure 18 (a) and (b) illustrate three scenarios for sending depth information, namely "unchanged", "pixel 5 coordinate in second view" and "difference between the pixel coordinate of view one appearing in view two"; Figure 19 illustrates an array which utilises uniform quantisation for a sparse bit plane; 10 Figure 20 illustrates a non-uniform. quantisation for a sparse bit plane; and Figure 21 is an example implementation of a system in 15 accordance with an embodiment of the present invention. Detailed Description of Embodiments of the present invention 20 Figure 1 is a flow chart illustrating a method 100 of processing information that is indicative of a shape in three-dimensional space in accordance with an embodiment of the present invention. The processed information is 25 usable in displaying a representation of the shape. The shape may be the shape of a portion of an object. The surface of a three-dimensional object may be approximated by network of geometrical shapes that have vertices, such as polygonal shapes. The method comprises in this 30 embodiment the initial step 102 of projecting a plurality of vertices of geometrical shapes that are defined in three-dimensions onto a plane. Reference information is determined for each group of vertices associated with a WO 2013/020174 PCT/AU2012/000936 15 - 15 respective shape (step 104) . The reference information is usable to link the projected vertices associated with each shape with each other. The reference information is determined by applying a reversible function to the 5 projected vertices. The information that is indicative of the projected vertices and the reference information can be used to represent the shape on a display. The following will describe the decomposition of three 10 dimensional Image data in more detail. The compression of any type of image firstly includes the decomposition of the geometric figures that make up the image into 'primitives' (i.e. a mathematical representation of each geometric figure) . Primitives are the "building blocks" 15 which are used to represent three-dimensional objects. In fact, modern graphics hardware is optimised to render primitives. In the rasterisation rendering process, the three-dimensional primitives may undergo several transformations, before finally being .projected onto a 20 screen surface (in a two-dimensional coordinate space). To minimise data transmission, only a view-dependent geometry is considered, i.e. geometry which makes a contribution to the final rendered image. By considering 25 view-dependent geometry only all redundant geometry that is not going to be rendered by being outside the viewing volume is removed, thus reducing the total amount of data required for rendering of the final image on the screen surface. 30 The focus at this level of decomposition arises from the ease of separating computation. The vertex shader program in modern day graphics cards operates on every incoming WO 2013/020174 PCT/AU2012/000936 16 - 16 vertex independently of one another. Projection is a necessary operation applied to each vertex. Figure 2 illustrates the projection of triangular shapes 202 and 204 into a plane 206. It is usually required to maintain 5 all nine parameters (three vertices of each triangular shape in three dimensions) together at a given time in order to encode the relationship of each triangle. A camera matrix C contains all the information needed for 10 this projection operation to transform coordinates from the world coordinates (x;y;z) to the homogeneous coordinates (wx; wy; wz) wx,wy,wz]=[x,y,-z]C 15 In this regard, the term "camera" as referred to herein includes a virtual camera position which is used to reference a point, vertex or vector with a relationship to 20 the rendering, display or rasterization of a three dimension image. This projection reduces the required number of bits to represent any given vertex parameter (coordinates) . For example, consider the three dimensional vertex with three 32 bit floating point 25 numbers given by (x;y;z) . The resolution of the volume can be defined as the minimum difference between any two floating point numbers such that: x+&=6 30 Once a camera view volume has been established as a sub volume smaller than the entire three-dimensional volume, all relevant geometry will change the coordinate set to be WO 2013/020174 PCT/AU2012/000936 17 17 referenced relative to this view volume. As such, the coordinates are still 32 bit floats, but the represented region is now much smaller and: r 5 WX+&wX remains the smallest unit of measure. Therefore, the number of bits per unit volume in the projective space is over-representative of the original three-dimensional 10 space. The projection serves a secondary purpose, namely to convert the coordinate set of.three-dimensional point data such that wx; wy represent screen coordinates and wz is the 15 distance from the given camera position (depth).' This serves as the basis for representing the vertices. All vertices are transformed to projective space and their screen coordinates (wx;iwy) are saved using a fixed resolution screen surface. As for each vertex, the 20 corresponding pixel is activated. It is assumed that the screen remains at a fixed resolution, which allows the coordinates on the screen to be quantised as (wx,' wy) . This has implications when .25 reversing the projection process, as the transformation with these coordinates and wz will yield an approximation to the original data (x';y';z'). By working at the primitive level and using projection 30 operations described, several advantages are gained. For example, no prior conditions are required as a precaution to the encoding or decoding process. In another words the process is not dependent on an initial state. Further, WO 2013/020174 PCT/AU2012/000936 18 - 18 other methodologies utilised to compress, transmit and render three-dimensional images may require the client and server to synchronise their hierarchical scene description tree so that updates can be minimised. Such a vertex 5 encoding method does not require any prior shared information. Such state tracking is a common problem among sharing three-dimensional graphics, as it is often needed to determine the modes of rendering and current matrices for transformation. Spatial repetition in the 10 three-dimensional data is also minimised through projection. The common coordinates of the vertex data defined for a view volume is discarded as projection makes coordinates relative to the view volume. (The camera matrix describes where the view volume begins in three 15- dimensional space) . Alternative mesh compression techniques such as triangle stripification or mesh splitting maintain dependencies in the encoding and/or decoding process may also be considered. 20 As an example a "bunny" is- used to perform a single rendering pass to obtain the visible geometry. Figure 3 shows the of bunny's vertices three progressive resolutions 300, 302 and 304 as they are projected onto- a two-dimensional grid (128x128, 200x200, 400x400) . As the 25 resolution increases, the number of vertices remains near constant, however, the purpose is to increase the accuracy of each vertex's respective (x;y) coordinate. In practice, more zeroes are provided in the image which lends itself to better compression ratios. 30 In this example, the image upon which the vertices are projected onto will be referenced as the vertex plane. It 'is a monochrome image where each lit pixel represents the WO 2013/020174 PCT/AU2012/000936 19 19 projected vertex. The associated geometric error by way of this reversal process is directly related to the quantization of screen coordinates. Higher resolutions and lower depths will ensure accuracy loss is minimised. 5 Plot 320 shown in Figure 4 demonstrates this relationship of geometric error with steadily increasing resolutions. To represent the relationship between three vertices to form a triangle, the method in accordance with an 10 embodiment of the present invention uses only a single bit that is to be stored in a second bitplane termed the connectivity plane. During the encoding process, the three points of the projected triangle are provided as input (b; b 2 ; b 3 ) from the vertex plane. Based on this data, 15 a function f(by; b 2 ; b 3 ) outputs a two-dimensional pixel location on the connectivity plane to represent the relation: [aup,,aupI= f(b,,b 2 ,b 3 ) 20 This is known as the auxiliary point and when applied to the inverse of f with the entire vertex plane the three vertices being represented can be determined: 25 [b ,b 2 ,b,= f aup,aupIvertexplane) Figure 5 illustrates three vertices 332, 334 and 336 of a triangle in the vertex plane, and the corresponding auxiliary point 338 is generated based on those.three 30 points and a given function. If considering planar triangulations, choose a suitable function to utilise the locality of points to our advantage in the encoding WO 2013/020174 PCT/AU2012/000936 20 - 20 process. The encoding function f should be reversible, should minimise collisions for a given resolution, and when the 5 reverse of the function occurs, it should converge (search deadline) . A function of this kind will exhibit properties that favour an expected class of triangles for encoding. One such example function is the computation of the 10 centroid of the triangle. The raw three-dimensional triangle data of three vertices v 1 ;v 2 ;v 3 each have three parameters v;=[xygj.. A projection of each vertex produces a vertex in window coordinates wv;=[wxiwyiwzj. This is quantised (via down sampling) to fit the chosen resolution 15 of the bit plane b =wx wy. The z coordinate is discarded, as the connectivity in two dimensional space has the same vertex references in the three-dimensional space., The centroid is computed for the 20 auxiliary point: b- +b2 +b aup= , or 3 25 The connectivity plane flips the bit in the corresponding pixel coordinate aup., which is illustrated by the diagram shown in Figure 6. The decoding process typically still requires more 30 information. The input data for the decoding process are data that relate to the vertex plane and the auxiliary WO 2013/020174 PCT/AU2012/000936 21 21 point. It is usually not known which vertices are candidates for the representative relation, thus there are some rules which are followed during the encoding process. 5 For the centroid method, not all vertices from the vertex plane are tested, only those within a certain distance of the auxiliary point. The encoding algorithm requires computing the centroid of all local triplets to ensure that the most correct triplet will be closest to the given 10 auxiliary point and thus will be guessed first. Comparing triplets becomes O(n) in complexity, however several optimisations are available to restrict the total amount of computation required. The search distance may 15 have a threshold based on projected triangle sizes, the search size may be limited by ordering candidate vertices by distance from the auxiliary point. Balancing maximum and minimum search sizes later is taken into account when considering if all triangles may be encoded using the 20 single function. These rules ensure that no false recoveries occur. Where the projected geometry remains consistently planar, this technique has generous performance for compression efficiency. 25 The number of possible auxiliary points that can be generated by this method are exactly (3) for n vertices. Where a neighbourhood of vertices small and dense, the number of generated auxiliary points will saturate region and the result is ambiguous. 30 Plot 350 shown in Figure 7 illustrates the percentage of triangles that can be encoded versus the given resolution. At low resolutions, vertices will appear more equidistant WO 2013/020174 PCT/AU2012/000936 22 - 22 to the auxiliary point and thus will be falsely guessed as part of the relation. As the resolution increases, so does the sparseness of the vertices and hence their uniqueness with distance to the auxiliary point. The 5 second resolution increase in the connectivity plane will allow for more precise centroid coordinates. There is a limit however, on how-much higher the connectivity plane resolution can be with respect to vertex plane resolution for an effect to be seen. 10 Another function that takes advantage of planarity in meshes uses the bisector of the triangle. As schematically indicated by the illustration of Figure 8, three points may define a triangle. A first is b 3 and the 15 remaining two points b,;b 2 will generate a midpoint mid where the bisector can be drawn from b 3 . The auxiliary point (aup) created is in the example the halfway point of this bisector: 20 mid =b, +1(b 2 -b) 2 aup=b 3 +-(mid-b 3 ) 2 The recovery process depends more on the choice of b 3 . Given aup, b 3 is expected to be the closest point, from 25 there an estimated bisector is constructed and the estimated midpoint mid*. The remaining process is a search for two vertices that are near equidistant from the approximated midpoint mid*. In accordance with an embodiment of the present invention the conditions for 30 this function are that: the closest vertex to this point is any vertex WO 2013/020174 PCT/AU2012/000936 23 - 23 on the triangle to be encoded (b3); the auxiliary point is aligned along the bisector of such a triangle (aup); e the point that is extrapolated along the 5 bisector is equidistant; " from the other two points on the triangle (approx. mid). Increasing the performance begins with the first 10 condition, closest vertex will become b3. This leads to the second performance consideration, the alignment of the bisector such that the correct midpoint will be recovered. The best choice of b3 for the latter case is going to choose the longest bisector. This is due to low 15 resolutions and limited pixels used in approximation; the more that are available the efficiency improves. The trade off now becomes choose the closest distance, or the longest bisector - both cannot be maximised as the longest bisector also has greatest distance. 20 Generally, experimentation shows that-choosing the closest point provides a better result. Due to the equations required to reach the auxiliary point the connectivity plane alone can be increased up to a factor of four to 25 benefit from increased accuracy of the vector (a factor of four results from two divisions of two). This function creates a greater limitation on possible invalid encodings as the remaining vertex pair b 1 ;b 2 must be 30 approximately equidistant. Figure 9 illustrates two cases 360 and 365, the first case 360 which consists of a circle of points that form valid encoding whereby valid (b;;b2) points appear on the circle (with a small degree of error) WO 2013/020174 PCT/AU2012/000936 24 -24 and would also hold a minimum distance between them so they are not considered a chord. The false encoding is illustrated by unequal distances, this latter case is quite common and helps improve the effectiveness of 5 encoding. The unencoded triangle data are the horizon edges. The number of pixels which they occupy is too few to encode information embedded into the image. This is why the 10 percentage of encoded vertices slowly increases at greater resolutions, the horizon edges are becoming detailed enough for the compression algorithm to work. Figure 10 shows a sequence of various resolutions of the bunny model. 15 Several more variation of this method are possible, the auxiliary point can be located a factor ! instead of I 3 2 from the midpoint, making it much closer to b 3 . The auxiliary point could also be shifted a predefined number 20 of pixels.from its intended location. These variations allowed the function to apply to different classes of triangles, namely they are skewed with one small angle and generally small area. 25 In ,one embodiment, once one or more of the above steps have been completed, the data describing each of the vertices, including vertex information and their relationships to draw or render the three dimension image on a two dimension image plane may then be compressed 30 within an image file of a two dimensional format. Examples of the compression algorithms and their relative performance for the bit planes are now described. As described above, the resolution chosen will influence the WO 2013/020174 PCT/AU2012/000936 25 - 25 error rate, and thus the size of the compressed format. JPEG does not manage to achieve great efficiency as it remains best suited to representing continuous tones. PNG offers increased improvement over JPEG, however its 5 prediction stage cannot approximate the sparse data of larger resolutions very well, it uses the zlib library which offers similar algorithms to that of gzip. GIF is very capable of managing a monochrome image bzip2 however surpasses each method with the smallest compressed size. 10 The highest compressing algorithms also require the longest waiting time. Figure 11 (a) shows a plot 370 illustrating the size (in bytes) as a function of resolution and Figure 11 (b), shows 15 a plot 372 illustrating the compression ratio as a function of the resolution. The PNG image format uses a baseline comparison and the GIF demonstrates that it does not match the rate at which the uncompressed data grows. However, bzip2 can demonstrate how increasing the sparseness 20 of the image can be efficiently encoded. The additional overhead of injecting zero values have shown to added no noticeable overhead. Once the vertex information and their relationships to 25 render a three dimensioned image are encoded, the encoded file may then be transmitted for further processing so that the necessary vertex information and its relationship may be recovered- to render the encoded three dimension image. This embodiment of transmitting three dimensional 30 image data is advantageous in that known methods of sending three dimensional image data is currently not bandwidth scalable. In another words, the amount of geometric-complexity of the image results in a WO 2013/020174 PCT/AU2012/000936 26 - 26 proportional cost of bandwidth. However, embodiments described herein may not require the same proportion of bandwidth for increased complexity. 5 In one embodiment, vertex information may be encoded using two cameras arranged as a stereo pair. In this embodiment, the first camera retains the original viewpoint of the image being rendered, while the second is transformed relative to the first camera such that it forms -a stereo 10 pair. There is a given flexibility in choosing camera parameters for the purposes. of acquiring the best depth estimation. The previous sections describe the enlarging of the view 15 angle in the second view to have all data projected onto the screen surface. However, when viewing the data using a stereo camera pair, the second camera may require its view to be scaled to contain all the data see from the first view. This may be known as the scaling parameter "s". This 20 scaling camera parameter s is investigated to demonstrate how it can be chosen to yield a better translation of depth coordinate mappings from the k pixel line for a given rotation value 0. Figure 12 (a) illustrates a default render 380, Figure 12 (b) represents the image 385 25 as viewed from notional camera one and Figure 12 (c) represents the image 390 from notional camera two. The darkest part of the line is the center of the cuboid, the grey part is the location of camera one. There are all 30 data points ,contained within the cuboid that need to be visible in second view. One can either change the camera location, or change the shape of the camera. Changing the location by increasing the distance to the WO 2013/020174 PCT/AU2012/000936 27 - 27 points, the projected points condense into a smaller area. This only changes the level of resolution required and can vary greatly depending on how large the dynamic depth range is. Reshaping the camera via the projection matrix, 5 would provide for a larger area to project onto without changing the distance to the point. Consequently, only the horizontal axis requires scaling. The extent of scaling required depends on both the dynamic depth range and the rotation of the second camera. '10 When rotating from the front view with projection axis [ 1;1], the largest re-projection in second view occurs at the hypotenuse of the triangle formed by the horizontal screen width and maximum depth, as shown in Figure 13. 15 Using object space coordinates are of relevance to compare r . untransformed depth data. The horizontal screen width distance can be obtained for the view at 0 rotation and XZ diagonal distance a, where Z tan(a) = --(Znon -normalised) 20 The 00 and a views represent lower and upper bound for change in screen size W 2 . In such a case, the numbers of pixels required for the a 25 view are: Hp, = W /cos(a) the width, in pixels for e < a view is:
W
2 =(H. - w)* + 1 30 For the length of the view volume in the Z direction the number of pixels are referred to as: WO 2013/020174 PCT/AU2012/000936 28 - 28 Z =W /sin(a) the pixels for e > a view is: W2 = (Zpi - Hp)* 0-a + H,. -W*+1 -a a 2 5 The new pixel scale for the new projection point becomes
(W
2 +Wl) /W 1 . Reducing this back to projective coordinates for 8 < at: s= -1 *-+1 cos(a))a 10 for G > a: -- 1 6-a(( 1 -1*0+ 2{cos(a) a 2 cos(a) a 2 Reducing this yield: S=- -1 1 2-a +1 2 cos(a) a-a+2 15' The new coordinates need to divide the extending length W 2 by [-s; s] to be represented in the same space as the first projection. This is applied to the definition of near and far depth planes of the projection also via the XZ plane. The boundary conditions to be considered here is the angle 20 is based on the depth and width of the 3D volume of data points, The parameter a greater than zero and smaller than rn/2 otherwise this volume has no depth or width. The best angle 8 is dependent on the way in which the data is 25 organised and the depth resolution from the bit plane. The depth value can be recovered by performing WO 2013/020174 PCT/AU2012/000936 29 - 29 intersection tests in the world space. The values need to be transformed from the projective .coordinate for each respective view. The intersection testing in this space can take many forms, for a reference solution, a 3D line 5 to 3D plane, test is used here. It is also possible to perform a 2D intersection test if the projected coordinates from one view are transformed into another. The 2D line intersection test is possible as there is no 10 dependence on the vertical axis of either screen. Figures 14 (a) and (b) show how the plane and vector are defined. In view one (Figure 14 (a)), a, is the point obtained from the vertex bit plane. The. points a 2 and a3 are simply translated to the extremes along the vertical 15 and depth axes of the view, such that the three points form a 3D plane. In view two (Figure 14 (b)), the point bi is also obtained from given data. The second point b 2 is chosen such that b 2 -bi is a vector parallel to the viewing direction. 20 After transforming all points to world space the plane, a normal n can bedefined and the point on the plane p can be any of the original points ai, a2, a 3 . The vector b 2 -bi is also required in normalised form. 25 As the vertex v exists somewhere on the plane, the vector (v-p) is perpendicular to the normal, thus: n.(v-p)=0 30 In the second view, the ray equation that passes through v begins from bi and moves along the vector (b 2 -bi) for some time t: v = b, + t(b 2 -bl) WO 2013/020174 PCT/AU2012/000936 30 - 30 Resolving these two equations gives: n -(b, + u(b 2 - b,)) = n -p n-(p-b) n .(b 2 -b, ) 5 The representation of depth using stereo images can offer potentially greater accuracy than simply sending the depth value alone. Stereo depth is a function of two variables, that is, the pixel position in image 1 and the corresponding pixel in image 2. As there is no change in 10 height between these pixels they will be denoted x, and x 2 , where xi is in the set of [0;Wi] and x2 is in the set of [0;W21. The case W 2 = W, occurs where there is only a single depth value, otherwise W 2 > W 1 is always true as the depth range increases. 15 For a given x 1 , the value of x 2 will be dependent on both xl and the depth value, which is illustrated in Figure 15. For each point, the re-projected pixel value was found.for the second camera using a second camera e = 25. 20 The geometric screen widths of each camera is different depending on -the depth range and rotation G. For non normalised coordinate range used, the ratio W 2
/W
1 can be considered the scaling factor of the range with which this 25 second coordinate will appear. In the instance presented W2/Wi = 1:174143. Figure 16 shows the ranges resulting from the re projection of the vertex in the second view for all 30 depths. If only the x, and x2 coordinate were sent, then for k bits WO 2013/020174 PCT/AU2012/000936 31 - 31 used in X2, only 2 k unique depth values can be reproduced on the receiving side. By sending x 1 , dx, the part of x 2 is already known from x 1 , so only the difference is required to be encoded. 5 Figure 17 is an illustration of re-projecting a vertex with the whole depth range in using x, and X2 separately when compared to dx = 1x 2 -x 1 I. Figure 18. (a) and (b) illustartes three scenarios for sending depth information, 10 namely "unchanged", "pixel coordinate in second view" and "difference between the pixel coordinate of view one appearing in view two". The quantisation with dx results in finer selection of depth values. 15 The relationship between xi and x 2 can be found in the equations used to derive each of the final values. Given a vertex v to be transformed, the two camera instances carry out the following transformation: W,= PMvw 2 = P 2
M
2 v 20 Here P 1 , P 2 are the projection matrices and M 1 , M 2 are the model view matrices. This method adjusts the second camera using the first. 25 In the second camera view, the projection matrix width is enlarged as to keep all the data visible, but only in horizontal axis. This corresponds to a scaling operation such that: S 0 0 0 0 0 1. 0 0 0 0 1 30 WO 2013/020174 PCT/AU2012/000936 32 - 32 s here is computed from the data using the equations previously described. For the model view matrix, even as the rotation of the 5 camera about the camera's up vector remains an arbitrary axis, this can still be represented in the normalised domain as a rotation about the y axis Re: cos0 0 sinO 01 0 1 0 0 M sin9 0 cos9 0 xMI 0 0 0 1 10 These scaling and rotation operators applied to the existing transformation are both linear transformations, as such the second projection also maintains a linear relationship with the first. This explains the linear 15 dependence between the two variables. There are numerous methods to gain the best compression result for a given set of floating point. A sparse bit plane of the depth values used is presented for reference. 20 Uniform quantisation is a convenient method to achieve an image based representation with the bandwidth budget (w x h bits) of a sparse bit plane. The data can be transcoded from k pixels = 2 k unique values to k pixels = k unique values. A depth value that has been quantised to the range 25 (0;16] (2.4 4-bit equivalent) will have reserved 16 pixels in the bit plane image. This representation is referred to as a pixel vector. For uniform quantisation, the sum of all quantised ranges should be close to the w x h value such that for n points, the number of pixels are: 30 n x k < w x h WO 2013/020174 PCT/AU2012/000936 33 - 33 Using this technique, a sparse bit plane results, where each depth value corresponds to a single bit in the bit plane. While various orderings are possible, the values 5 are encoded in order of scanline appearance such that they .can be referenced to the vertex whose depth is being encoded. Figure 19 shows an example of encoding the depth value as 10 a sparse image using uniform quantisation. The image has resolution 8x5 = 40, for encoding six points, there are at most 40/6 = 6 bits available to use to encode a single depth value. Six (6) bits represent the amount of quantisation. 15 While the example shown in Figure 19 has many zeroes, the zeroes that appear after the one are considered redundant. As each depth value is read sequentially in the block of 6 pixels, once the appearance is found, the rest of the 20 block of six pixels will always have zero values. Figure 20 shows the result of removing redundancy. This method of non-uniform quantisation can achieve greater use of the available bits in the image such as to increase the 25 number of pixels allocated. While the number pixels for each value remains data dependent, a summation of all pixels required can be expressed as: N V,<wxh vp represents the number of pixels required to represent 30 the value v. For a given quantisation level k, the maximum required is as stated before, however under a uniform. distribution of values from (l;k], there will. be at least WO 2013/020174 PCT/AU2012/000936 34 - 34 N/2 values with less than k/2 pixels required for representation. By packing more values in the image, the bit plane will 5 become less sparse, however, the information content per bit will be much higher. Should the values have bias for upper end values, it is simple to invert the sequence and signify this change as an additional single bit. Compression strategies such as Run Length Encoding can be 10 applied to further reduce the size of the representation of depth data. The uniform quantisation method can be applied without requiring a pass of the depth value data. In contrast, the 15 non-uniform quantisation method will require a single pass for summation of the depth values. The optimal level of quantisation may require multiple passes to obtain for non-uniform distributions. A quantisation level can be pre-selected by using an upper limit estimation. 20 If the values are all normalised real numbers in the range [0;1] and uniformly distributed, then the frequency of occurrence is equal, then as values have a cost associated proportionally to their size, the area under this cost 25 curve is the amount of space required. By scaling the cost axis, the quantisation level can be obtained in a simple manner: N N corresponds to the proportion of area used in the bit 30 plane, where N is the number of values. For these N values to fit in the image, the quantisation is: WO 2013/020174 PCT/AU2012/000936 35 -35- r N-1 wxh k= x v N N-1 is used for slight over estimation. Resolution Scalable Depth Representation 5 Sending the pixel difference dx = 1x 2 -x2| has no significant advantage thah sending the depth wzl as it is, in fact, with truncation errors of conversion, it has slightly worse recovery to wz*2. The range that needs to be 10 covered on the scanline covers the same range for a given level of quantisation. Instead, the pixel difference is encoded implicitly, by using the two vertex planes in both views, the median wz value, and the closest point algorithm along the scanline. 15 The vertex bit plane is constructed using the first view, having coordinates for each vertex wx2, wy 1 . The depth median Wzmedian is computed for all vertices. Using (wx, wyl, Wzmedian), the corresponding projected points in the second 20 view (wx* 2 , wy2, wz* 2 ) are obtained. The real projection points are found using (wxl, wyl, wzl) , as (wx2, wy 2 , wz2) In the preceding section describes only wX-2 being sufficient to dictate the depth, with wy 2 having no change in the second view. There is now a real and guessed (as 25 median) values for depth, as wx2, wx+2 respectively. The second vertex bit plane is used here, the point (wx-2, wy 2 ) is used as a seed location in the plane and a search for the closest point, along the scanline, produces a ranking of vertices ranked in order of distance. The correct depth 30 will be of one of the vertices in the second bit plane, so -the search space is of all the vertices in the scanline.
WO 2013/020174 PCT/AU2012/000936 36 - 36 The rank for each vertex, in order of visit from the first bitplane, is saved in a 1 dimensional array to then be encoded as is, or as a bit plane. The remote site will receive, the two vertex bit planes for each view, the 5 guess depth value wzmedian, and a 1D array of ranks from the closest point algorithm. The encoding of points in this fashion avoids the cost of explicitly encoding distance quantities, rather, the 10 second bit plane contains depth information along the scanline. This can be scaled horizontally with the same number of vertices, bits, essentially increasing the sparseness and 15 hence accuracy of each vertex. The correct depth value is the furthest point, last of the closest points, requires encoding the value 6. For any given resolution this does not change, contrast this to the explicit distance dx, which requires more bits to accurately specify the vertex 20 along the scanline. The median wz value can also be changed, as the closest point can be referenced from anywhere along the line. The median has the least bias to any other point, the average 25 however, would give lower rank distance to more frequently occurring depth values, meaning there are more bits required to represent the few. In one example, the encoding algorithm for depth 30 information may be summarised as- follows: 1. Orthographically project 3D vertex data to window coordinates; WO 2013/020174 PCT/AU2012/000936 37 37 2. Resize orthographic projection such that all data fits into screen (use data lowest/highest Z); 3. Choose rotation angle e and move camera accordingly as the second view; 5 4. Orthographically project actual vertices using the second camera view; 5. Orthographically project data with median depth value using the second camera view; 6. For each point, use the closest point algorithm to find 10 the rank between the predicted and actual position along the scanline in the second view; 7. The 1D array of ranks from the depth representation are converted to a pixel vector with one bit active; and 8. Each pixel vector is placed in the third bit plane in 15 the. predefined order. In one example, the decoding algorithm may be summarised as follows: 20 1. Obtain vertex bit plane of camera view 1 (wr,wyi); 2. Obtain camera parameter 6, and scaling factor s; 3. Obtain wzguess, and compute the guessed depth bit plane using the second projected view (wx- 2 ,wy-2, wz*guess); 4. Obtain the vertex bit plane for the second view 25 (wx2, wy2) ; 5. Obtain the rank data for depth values; 6. Use iterative closest point, the guessed depth bit plane and rank data to determine the mapping from (w.1,wyi) to (wx2,wy2); and 30 7., For each point solve the 3D line-plane intersection of: camera location 1 through pixel (w.i,wyi) of view 1; and camera location 2 through pixel (wx 2 , wy 2 ) of view 2. (where wyl = wy 2
)
WO 2013/020174 PCT/AU2012/000936 38 - 38 In an alternative example, the decoding algorithim may be summarised as follows: 5 1. Transform each vertex into projective components (w., wy, w') which may be projected onto a plane; 2. From a camera position, determine a median wz (depth) coordinate amongst all of the vertices. This median may be 10 referred to as wzmedian; 3. For each vertex, use only the wzmedian coordinate whilst ignoring the wz coordinate; 4. Covert each vertex with coordinates [wX, wy, Wzmedian] back into the world space; 15 5. Reproject to a second view, each of the vertices with its corresponding coordinates of Wzmedian and wz so .that on each scan line of the one vertex, there are two points. The first point being based on wzmedian and the other point on wz. 20 6. Operate a cloest point algorithm to determine the number of hops from the vertex using wzmedian to the vertex using wz. The rank, may then be ordered by the number of pixels away from wzmedian. 25 Referring now to Figure 21 there is a shown a schematic diagram of a system for processing information that is indicative of a shape in three-dimensional space. The system comprises a server 500. The server 500 comprises suitable components necessary to receive, store and 30 execute appropriate computer instructions. The components may include a processing unit 502, read-only memory (ROM) 504, random access memory (RAM) 506, and input/output devices such as disk drives 508, input devices 510 such as WO 2013/020174 PCT/AU2012/000936 39 - 39 an Ethernet port, a USB port, etc. Display 512 such as a liquid crystal display, a light emitting display or any other suitable display and communications links 514. The server 500 includes instructions that may be included in 5 ROM 504, RAM 506 or disk drives 508 and may be executed by the processing unit 502. There may be provided a plurality of communication links 514 which may variously connect to one or more computing devices such as a server, personal computers, terminals, wireless or'handheld 10 computing devices. At least one of a plurality of communications link may be connected to an external computing network through a telephone line or other type of communications link. 15 The service may include storage devices such as a disk drive 508 which may encompass solid state drives, hard disk drives, optical drives or magnetic tape drives. The server 500 may use a single disk drive or multiple disk drives. The server 500 may also have a suitable operating 20 system 516 which resides on the disk drive or in the ROM of the server 500. The system has a software application 520 residing on a disk or other storage device which is arranged to compress 25 three-dimensional image data for the purpose of transmission of the data to one or more remote computing systems. 30 Although not required, the embodiments described with reference to the Figures can be implemented as an Application Programming Interface (API) or as a series of libraries for use by a developer or can be included within WO 2013/020174 PCT/AU2012/000936 40 - 40 another software application, such as a terminal or personal computer operating system or a portable computing device operating system. Generally, as program modules include routines, programs, objects, components and data 5 files assisting in the performance of particular functions,. the skilled person will understand that the functionality of the software application may be distributed across a number of routines, objects or components to achieve the same functionality desired 10. herein. It will also be appreciated that where the methods and systems of the present invention are either wholly implemented by computing system or partly implemented by 15 computing systems then any appropriate computing system architecture may be utilised. This will include stand alone computers, network computers and dedicated hardware devices, such as smartphones, tablet computing devices, or the like. Where the terms "computing system" and 20 "computing device" are used, these terms are intended to cover any appropriate arrangement of computer hardware capable of implementing the function described. It will be appreciated by persons skilled in the art that 25 numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. The present embodiments are, therefore, to be considered in all respects as 30 illustrative and not restrictive.
WO 2013/020174 PCT/AU2012/000936 41 - 41 Any reference to prior art contained herein is not to be taken as an admission that the information is common general knowledge, unless otherwise indicated. 5

Claims (40)

1. A method of processing information that is indicative of a shape in three-dimensional space, the processed 5 information being usable in displaying a representation of the shape, the method comprising the steps of: projecting a plurality of vertices of the shape onto a plane; and determining reference information that is usable to 10 associate the projected vertices with each other, the reference information being determined by applying a reversible function to the projected vertices; wherein information that is indicative of the projected vertices and the reference information can be 15 used to represent the shape on a display.
2. The method of claim 1, wherein the reference information is indicative of a point in two-dimensional space. 20
3. The method of claim 2, wherein the point in two dimensional space is bound by its associated projected vertices. 25
4. The method of any one of the preceding claims, wherein the reversible function is one of a centroid method or a bisector method.
5. The method of any one of the preceding claims, 30 further comprising the step of applying a compression algorithm to compress the information that is indicative of the projected vertices and the reference information.
6. The method of any one of the preceding claims, WO 2013/020174 PCT/AU2012/000936 43 - 43 wherein the shape is one of a plurality of shapes that comprise a representation of an object in three dimensional space, and the method comprises the steps of: projecting a plurality of vertices of each shape onto 5 the plane; and for each shape, determining reference information that is usable to associate the -projected vertices of the. shape with each other, the reference information being determined by applying a reversible function to. the 10 projected vertices of the shape; wherein information that is indicative of the projected vertices and the reference information can be used to represent the shapes that comprise the object on a display. 15
7. A method of processing three-dimensional image data comprising the steps of: processing the three-dimensional image data to provide a data set for a corresponding two 20 dimensional image; and adding at least one set of pixel data to the two dimensional image data set, the at least one set of pixel data comprising additional data that is representative of depth information of the three-dimensional image data. 25
8. The method of claim 7, wherein the at least one set of pixel data is a bit plane incorporated into the two dimensional image data. 30
9. The method of claim 8, wherein the bit plane is a matrix, wherein each element in the matrix represents a pixel of the two-dimensional image data. WO 2013/020174 PCT/AU2012/000936 44 - 44
10. The method of claim 9, wherein each element in the matrix that represents a vertex of the three-dimensional image data is represented by a first value, and each element in the matrix that does not represent a vertex of 5 the three-dimensional image data is represented by a second value.
11. The method of any one of claims 7 to 10, comprising the step of determining vertex information that is 10 indicative of a two dimensional position of a plurality of vertices of the three-dimensional data.
12. The method of claim 11, comprising the step of determining a connectivity between each vertex utilising a -15 connectivity algorithm and encoding the connectivity data in an additional set of pixel data.
13. The method of claim 12, wherein the connectivity data is derived using a generalised relationship: 20 [aup,,aupI= f (b,,b,...bN) wherein: b2,b,...bN represent vertices of an N-sided polygon, f represents the connectivity algorithm applied to the vertices, and aup is an auxiliary point derived from the algorithm 25
14. The method of claim 12, wherein the connectivity data is derived using a generalised relationship: [aup,,aupj= f(b,,b 2 ,b 3 ) wherein: b 1 ,b 2 ,b 3 represent vertices of a triangle, f 30 represents the connectivity algorithm applied to the vertices, and aup is an auxiliary point derived from the algorithm. WO 2013/020174 PCT/AU2012/000936 45 - 45
15. The method of claim 13 or claim 14, wherein the connectivity algorithm applied is one of a centroid algorithm and a bisector algorithm. 5
16. The method of any one of claims 7 to 15, comprising the step of including information that is indicative of a depth of a plurality of vertices of the three-dimensional image data in the two-dimensional image data set. 10
17. The method of claim 16, wherein the step of including the vertex depth information comprises including first vertex information associated with the three-dimensional data with respect to a first view point, and including second vertex information associated with the three 15 dimensional image with respect to a second view point.
18. The method of. claim 17, .comprising the step of utilising a correspondence parameter to provide a correspondence between the first view point and the second 20 view point.
19. The method of claim 17 or claim 18, wherein the second viewpoint is selected by performing the step of analysing the three-dimensional data and the vertex depth 25 information.
20. The method of any one of claims 7 to 19, comprising the step of compressing the sets of pixel data prior to transmission of the data. 30
21. A system for processing information that is indicative of a shape in three-dimensional space, the processed information being usable in displaying a WO 2013/020174 PCT/AU2012/000936 46 - 46 representation of the shape, the system comprising a processor arranged to: project a plurality of vertices of the shape onto a plane; and 5 determine reference information that is usable to associate the projected vertices with each other, the reference information being determined by applying a reversible function to the projected vertices; wherein information that is indicative of the 10 projected vertices and the reference information can be used to represent the shape on a display.
22. The system of claim 21, wherein the reference information is indicative of a point in two-dimensional 15 space.
23. The system of claim 22, wherein the point in two dimensional space is bound by its associated projected vertices. 20
24. The system of any one of claims 21 to 23, wherein the reversible function is one of a centroid method or a bisector method.
25 25. The system of any one of claims 21 to 24, wherein the processor is arranged to apply a compression algorithm to compress the information that is indicative of the projected vertices and the reference information. 30
26. The system of any one of claims 21 to 25, wherein the shape is one of a plurality of shapes that comprise a representation of an object in three-dimensional space, and the processor is arranged to: project a plurality of vertices of each shape onto WO 2013/020174 PCT/AU2012/000936 47 -47 the plane; and for each shape, determine reference information that is usable to associate the projected vertices of the shape with each other, the reference information being 5 determined by applying a reversible function to the projected vertices of the shape; wherein information that is indicative of the projected vertices and the reference information can be used to represent the shapes that comprise the object on a 10 display.
27. A system for processing three-dimensional image data, the system comprising a processor arranged to: process the three-dimensional image data to provide a 15 data set for a corresponding two-dimensional image; and add at least one set of pixel data to the two dimensional image data set, the at least one set of pixel data comprising additional data that is representative of depth information of the three-dimensional image data. 20
28. The system of claim 27, wherein the at least one set of pixel data is a bit plane incorporated into the two dimensional image data. 25
29. The system of claim 27 or 28, wherein the processor is further arranged to determine vertex information that is indicative of a two dimensional position of a plurality of vertices of the three-dimensional data.
30 30. The system of claim 29, wherein the processor further determines a connectivity between each vertex utilising a connectivity algorithm and encodes the connectivity data in an additional set of pixel data. WO 2013/020174 PCT/AU2012/000936 48 - 48
31. The system of claim 30, wherein the processor is arranged to derive the connectivity data using a generalised relationship: 5 aup,,aupj= f(b,,b 2 ,...bN) wherein: bj,b2,...bN represent vertices of an N-sided polygon, f represents the connectivity algorithm applied to the vertices, and aup is an auxiliary point derived from the algorithm 10
32. The system of claim 30, wherein the processor is arranged to derive the connectivity data using a generalised relationship: [aup.,aupj= f(b,b 2 ,bA) 15 wherein: b 1 ,b 2 ,b 3 represent vertices of a triangle, f represents the connectivity algorithm applied to the vertices, and aup is the auxiliary point derived from the algorithm. 20
33. The system of claim 31 or. claim 32, wherein the connectivity algorithm applied is one of a centroid algorithm and a bisector algorithm.
34. The system of any one of claims 27 to 33, wherein the 25 processor is arranged to include information that is indicative of a depth of a plurality of vertices of the three-dimensional image data in the two-dimensional image data set. 30
35. The system of claim 32, wherein the processor is arranged to include the vertex depth information by including first vertex information associated with the three-dimensional data with respect to a first view point, WO 2013/020174 PCT/AU2012/000936 49 - 49 and including second vertex information associated with the three-dimensional image with respect to a second view point. 5
36. The system of claim 33, wherein the processor is arranged to select the second viewpoint by analysing the three-dimensional data and the vertex depth information.
37. A computer program, comprising at least one 10 instruction for controlling a computer system to implement a method in. accordance with any one of claims 1 to 20.
38. A computer readable medium providing a computer program in accordance with claim 37. 15
39. A communication signal transmitted by an electronic system implementing a method in accordance with any one of claims 1 to 20. 20
40. A communication signal transmitted by a computer system executing a computer program in accordance with claim 39.
AU2012292957A 2011-08-08 2012-08-08 A method of processing information that is indicative of a shape Abandoned AU2012292957A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2012292957A AU2012292957A1 (en) 2011-08-08 2012-08-08 A method of processing information that is indicative of a shape

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
AU2011903159A AU2011903159A0 (en) 2011-08-08 A system and method for manufacturing three- dimensional images
AU2011903159 2011-08-08
PCT/AU2012/000936 WO2013020174A1 (en) 2011-08-08 2012-08-08 A method of processing information that is indicative of a shape
AU2012292957A AU2012292957A1 (en) 2011-08-08 2012-08-08 A method of processing information that is indicative of a shape

Publications (1)

Publication Number Publication Date
AU2012292957A1 true AU2012292957A1 (en) 2013-05-02

Family

ID=47667773

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2012292957A Abandoned AU2012292957A1 (en) 2011-08-08 2012-08-08 A method of processing information that is indicative of a shape

Country Status (2)

Country Link
AU (1) AU2012292957A1 (en)
WO (1) WO2013020174A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115104078A (en) * 2020-03-24 2022-09-23 Oppo广东移动通信有限公司 System and method for enhanced remote collaboration
CN112102489B (en) * 2020-09-24 2023-03-28 腾讯科技(深圳)有限公司 Navigation interface display method and device, computing equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102110308A (en) * 2009-12-24 2011-06-29 鸿富锦精密工业(深圳)有限公司 Three-dimensional solid graph display system and method

Also Published As

Publication number Publication date
WO2013020174A1 (en) 2013-02-14

Similar Documents

Publication Publication Date Title
Levoy et al. Light field rendering
CN112204618B (en) Method, apparatus and system for mapping 3D point cloud data into 2D surfaces
KR102502277B1 (en) Layered scene decomposition codec system and method
Lee et al. GROOT: a real-time streaming system of high-fidelity volumetric videos
US6593925B1 (en) Parameterized animation compression methods and arrangements
US10553015B2 (en) Implicit view-dependent quantization
US20040217956A1 (en) Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
US20030038798A1 (en) Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data
EP1506529B1 (en) Streaming of images with depth for three-dimensional graphics
US11189043B2 (en) Image reconstruction for virtual 3D
RU2764187C2 (en) Processing of 3d image information based on texture maps and grids
WO1999064944A2 (en) Compression of time-dependent geometry
Kalaiah et al. Statistical geometry representation for efficient transmission and rendering
JP7371691B2 (en) Point cloud encoding using homography transformation
US20230328285A1 (en) Point cloud data transmission method, point cloud data transmission device, point cloud data reception method, and point cloud data reception device
JP3592168B2 (en) Image data encoding / decoding method and apparatus
US20220222842A1 (en) Image reconstruction for virtual 3d
US11418769B1 (en) Viewport adaptive volumetric content streaming and/or rendering
EP4162691A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
Schnabel et al. A Parallelly Decodeable Compression Scheme for Efficient Point-Cloud Rendering.
AU2012292957A1 (en) A method of processing information that is indicative of a shape
Schnabel et al. Fast vector quantization for efficient rendering of compressed point-clouds
WO2021115466A1 (en) Point cloud data encoding method, point cloud data decoding method, storage medium and device
US11206427B2 (en) System architecture and method of processing data therein
US20230306641A1 (en) Mesh geometry coding

Legal Events

Date Code Title Description
MK5 Application lapsed section 142(2)(e) - patent request and compl. specification not accepted