WO2023155779A1 - Encoding method, decoding method, apparatus, and communication device - Google Patents

Encoding method, decoding method, apparatus, and communication device Download PDF

Info

Publication number
WO2023155779A1
WO2023155779A1 PCT/CN2023/075953 CN2023075953W WO2023155779A1 WO 2023155779 A1 WO2023155779 A1 WO 2023155779A1 CN 2023075953 W CN2023075953 W CN 2023075953W WO 2023155779 A1 WO2023155779 A1 WO 2023155779A1
Authority
WO
WIPO (PCT)
Prior art keywords
triangle
vertices
information
encoding
target
Prior art date
Application number
PCT/CN2023/075953
Other languages
French (fr)
Chinese (zh)
Inventor
邹文杰
张伟
杨付正
吕卓逸
Original Assignee
维沃移动通信有限公司
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
Application filed by 维沃移动通信有限公司 filed Critical 维沃移动通信有限公司
Publication of WO2023155779A1 publication Critical patent/WO2023155779A1/en

Links

Classifications

    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Definitions

  • the present application belongs to the technical field of encoding and decoding, and in particular relates to an encoding method, a decoding method, a device, and a communication device.
  • the 3D grid coding algorithms can be divided into coding algorithms driven by connectivity relations and coding algorithms driven by geometric information.
  • the encoding algorithm driven by connectivity relations first considers the compression of connectivity relations, and the compression of geometric information is completed on the basis of it. In this way, the order of vertices will be changed when encoding geometric information, which is not conducive to the compression of geometric information.
  • the geometric information-driven coding algorithm encodes the geometric information first, and then encodes the connectivity relationship. However, in this way, when there are many vertices to be encoded, more coding bits are needed to encode the connectivity relationship, resulting in low coding efficiency.
  • Embodiments of the present application provide an encoding method, a decoding method, a device, and a communication device, which can solve the problem of low encoding efficiency of an encoding algorithm driven by geometric information in the related art.
  • an encoding method including:
  • the encoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangle patches in the three-dimensional grid, and the first space range is the space where the target vertices of the triangles to be encoded in the three-dimensional grid are located range, and the vertex to be sorted includes the target vertex;
  • the encoding end sorts the vertices to be sorted to obtain the sorting information of the target vertices
  • the coding end obtains the to-be Encodes the encoded information of the triangle.
  • a decoding method including:
  • the decoding end decodes the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices, the decoding end determines the first spatial Vertices to be sorted within the range, and the vertices to be sorted are sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted within the first space range, and the first space range is three-dimensional The spatial range of the target vertex of the triangle to be decoded in the grid;
  • the decoding end determines the target vertex of the triangle to be decoded among the vertices to be sorted according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
  • an encoding device including:
  • the first determination module is used to determine the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional grid, and the first spatial range is the triangle to be encoded in the three-dimensional grid
  • the spatial range where the target vertex is located, and the vertices to be sorted include the target vertex;
  • the first acquisition module is used for the encoding end to sort the vertices to be sorted to obtain the sorting information of the target vertices;
  • the second obtaining module is used for the encoding end to obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertices.
  • a decoding device including:
  • the third acquisition module is used to decode the target code stream to obtain decoding information
  • the fourth acquisition module is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh when the decoding information includes the sorting information of the target vertices, And sort the vertices to be sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted in the first space range, and the first space range is the triangle to be decoded in the three-dimensional grid The space range where the target vertex is located;
  • the second determination module is configured to determine, among the vertices to be sorted, the target vertex of the triangle to be decoded according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
  • an encoding device including a processor and a communication interface, wherein the processor is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional mesh , the first spatial range is the spatial range where the target vertices of the triangles to be encoded in the three-dimensional grid are located, and the vertices to be sorted include the target vertices; the vertices to be sorted are sorted to obtain the target Sorting information of the vertices; according to the coding information corresponding to the sorting information of the target vertex, the coding information of the triangle to be coded is obtained.
  • a communication device includes a processor and a memory, the memory stores programs or instructions that can run on the processor, and the programs or instructions are implemented when executed by the processor. The steps of the method as described in the first aspect or the second aspect.
  • a decoding device including a processor and a communication interface, wherein the processor is used to decode the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices , determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional mesh, and sort the vertices to be sorted, wherein the sorting information is that the target vertex is at the The sequence numbers in the vertices to be sorted in a spatial range, the first spatial range is the spatial range where the target vertices of the triangles to be decoded in the three-dimensional grid are located; according to the sorting results of the vertices to be sorted and the sorting of the target vertices information, and determine the target vertex of the triangle to be decoded among the vertices to be sorted.
  • a codec system including: an encoding device and a decoding device, the encoding device can be used to perform the steps of the encoding method described in the first aspect, and the decoding device can be used to perform the steps of the encoding method described in the second aspect The steps of the decoding method.
  • a readable storage medium is provided, and programs or instructions are stored on the readable storage medium, and when the programs or instructions are executed by a processor, the steps of the method described in the first aspect are realized, or the steps of the method described in the first aspect are realized, or The steps of the method described in the second aspect.
  • a chip in a tenth aspect, includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the method as described in the first aspect , or implement the method described in the second aspect.
  • a computer program/program product is provided, the computer program/program product The product is stored in a storage medium, and the computer program/program product is executed by at least one processor to implement the steps of the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.
  • some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the vertices to be sorted are reduced In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
  • FIG. 1 is a schematic flow chart of an encoding method in an embodiment of the present application
  • Fig. 2 is the coding schematic diagram of the coding method of the embodiment of the present application.
  • Fig. 3 is one of the schematic diagrams of the encoding connectivity relationship in the embodiment of the present application.
  • Fig. 4 is the second schematic diagram of the encoding connectivity relationship in the embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a decoding method according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of decoding of a decoding method according to an embodiment of the present application.
  • FIG. 7 shows a schematic diagram of modules of an encoding device according to an embodiment of the present application.
  • FIG. 8 shows one of the structural schematic diagrams of the encoding device according to the embodiment of the present application.
  • FIG. 9 shows the second structural schematic diagram of the encoding device according to the embodiment of the present application.
  • FIG. 10 shows a schematic diagram of modules of a decoding device according to an embodiment of the present application.
  • first, second and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific sequence or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the present application can be used in a manner other than that illustrated or described herein. It is implemented in an order other than those mentioned above, and the objects distinguished by “first” and “second” are usually of one type, and the number of objects is not limited, for example, there may be one or more first objects.
  • “and/or” in the description and claims means at least one of the connected objects, and the character “/” generally means that the related objects are an "or” relationship.
  • Both the encoding device corresponding to the encoding method and the decoding device corresponding to the decoding method in the embodiment of the present application may be a terminal, and the terminal may also be called a terminal device or a user equipment (User Equipment, UE), and the terminal may be a mobile phone, a tablet computer ( Tablet Personal Computer), laptop computer (Laptop Computer) or notebook computer, personal digital assistant (Personal Digital Assistant, PDA), palmtop computer, netbook, ultra-mobile personal computer (ultra-mobile personal computer, UMPC), mobile Internet devices (Mobile Internet Device, MID), augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) equipment, robots, wearable devices (Wearable Device) or vehicle equipment (Vehicle User Equipment, VUE), Pedestrian User Equipment (PUE) and other terminal-side devices, wearable devices include: smart watches, bracelets, earphones, glasses, etc. It should be noted that, the embodiment of the present application does not limit the specific type of the terminal.
  • a 3D mesh is composed of elements at different levels, including vertices, edges and faces. Vertices are the basic elements that make up a 3D mesh, described using coordinates in 3D space. An edge is a part that connects two vertices in a 3D mesh. Surfaces are polygons connected by closed edges, and most surfaces in 3D meshes are triangles.
  • the three-dimensional grid mainly contains the following three kinds of information: 1. Geometric information, which is the coordinates of all vertices in the three-dimensional grid in three-dimensional space; The connection relationship of the patch; 3. Other optional attribute information, including other information attached to the 3D grid, which can be color information, normal vector, texture coordinates, etc.
  • the connectivity relationship is used to describe the connection of vertices in the 3D mesh, which affects the overall shape and local details of the model, and is an important part of the 3D mesh.
  • the embodiment of this application provides an encoding method, including:
  • Step 101 The encoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the 3D grid, and the first spatial range is the target vertex of the triangle to be encoded in the 3D grid
  • the spatial range where the vertex is located, and the vertex to be sorted includes the target vertex.
  • the encoding method of the embodiment of the present application is based on the geometric information-driven connectivity relationship encoding method, as shown in Figure 2, in the embodiment of the present application, the encoding end first encodes the geometric information based on the three-dimensional grid, and then reconstructs the geometric information. The geometric information is used to encode the connectivity relationship, and finally the code stream is output based on the encoded geometric information and the encoded connectivity relationship information.
  • the reconstructed geometric information includes index information of vertices in the three-dimensional mesh.
  • the above-mentioned three-dimensional network may be divided into at least one triangular surface, and each triangular surface contains at least one triangle.
  • some vertices within the first spatial range may be screened out, and the remaining partial vertices may be used as vertices to be sorted.
  • the first spatial range includes:
  • the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be encoded Position, such as the center of the sphere being the midpoint of the first side of the triangle to be encoded.
  • Step 102 The encoder sorts the vertices to be sorted to obtain sorting information of the target vertices.
  • the vertices to be sorted are sorted according to the preset sorting criterion, for example, the sorting criterion can be sorted according to the distance between the vertex and the midpoint of the first side of the triangle to be encoded, or the sorting criterion can also be based on the distance between the vertex and the midpoint of the first side of the triangle to be encoded.
  • the sorting criteria may also be other criteria, which are not specifically limited here.
  • the vertices in the first spatial range are further deleted through the spatial angles of adjacent triangular faces, reducing the number of vertices to be sorted, that is, the bit information used for the sorting information of the target vertices can be reduced,
  • Step 103 The encoding end obtains the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertex.
  • the encoding end encodes the sorting information of the target vertex to obtain the encoded information, and when the target condition is not satisfied, encodes the index of the target vertex to obtain the above coded information.
  • the target condition is that the number of vertices to be sorted within the first spatial range is less than a preset threshold, and/or the sorting number of the target vertex is less than a preset value. Since the number of vertices to be sorted in the first space range is small or the sorting sequence number of the target vertex is small, the coding information corresponding to the sorting information will occupy a small number of bits. At this time, the sorting information of the target vertex is encoded.
  • some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced. In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
  • the encoding end determines the first spatial range, it further includes:
  • the encoding end selects a first edge from an edge set corresponding to a three-dimensional grid, wherein the edge set is a set of at least one edge of an encoded triangle in the three-dimensional grid;
  • the encoding end determines the triangle to be encoded according to the first side and the vertex corresponding to the first side, wherein the target vertex of the triangle to be encoded is the vertex corresponding to the first side divided by the vertex corresponding to the first side
  • the target vertex can also be described as the opposite vertex of the first side.
  • the encoding end determines the third Vertices to be sorted within a spatial range, including:
  • the encoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangle patches in the three-dimensional mesh when the triangle to be encoded is a triangle other than the preset category of triangles.
  • the preset category triangle includes at least one of the following:
  • the angle between the encoded triangle and the triangle is smaller than the preset angle
  • a triangle with two vertices coincident or three vertices collinear means that two vertices in a triangle coincide or three vertices are collinear.
  • the method of the embodiment of the present application further includes:
  • the encoding end obtains the encoding information of the triangle to be encoded according to the encoding information corresponding to the target vertex information of the triangle to be encoded when the triangle to be encoded is the triangle of the preset category.
  • the index of the target vertex of the triangle to be encoded is directly encoded, and the encoding information of the triangle to be encoded is obtained according to the encoding information corresponding to the index of the target vertex.
  • the binary representation when encoding the index of the vertex, can be used directly or encoding algorithm such as Huffman can be used for encoding, and the encoding method is not specifically limited here.
  • the method further includes:
  • the encoder updates the edge set according to a first preset rule
  • the encoding end re-determines the triangle to be encoded according to the updated edge set, until all the triangles in the three-dimensional grid obtain encoding information;
  • the first preset rule includes: adding two sides of the triangle to be encoded except the first side to the side set, and removing the first side from the side set side.
  • the encoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional grid, including:
  • the encoding end excludes all vertices of the first target triangle from the vertices within the first space range to obtain the remaining vertices;
  • the encoding end determines vertices to be sorted in the first space range according to the remaining vertices
  • the first target triangle is a triangle whose included angle with an adjacent encoded triangle is smaller than the included angle threshold, and one side of the first target triangle is the same as the first side of the triangle to be encoded.
  • the encoding information of the triangle to be encoded further includes: encoding information of the included angle threshold.
  • the decoding end can obtain the included angle threshold according to the encoded information, and determine the vertices to be sorted in the first space range based on the included angle threshold. In this way, the encoding end can flexibly Set the angle threshold.
  • a fixed angle threshold can also be pre-agreed, and the encoding end and the decoding end determine the vertices to be sorted in the first space range based on the pre-agreed angle threshold, and the encoding end does not need to encode the angle threshold.
  • the method in the embodiment of the present application further includes: encoding the target vertex information of the triangle to be encoded within the second spatial range to obtain the encoded information of the triangle to be encoded, the second spatial range being the The extent of the 3D grid other than the first spatial extent.
  • the encoding information of the triangle to be encoded further includes encoding information of the first spatial range.
  • the radii of the above-mentioned first sphere and the second sphere are coded, and in this implementation manner, the first spatial range can be flexibly set.
  • the encoding end and the decoding end may also pre-determine the size of the first spatial range, and in this manner, the encoding end does not need to encode the first spatial range.
  • the input 3D grid is divided into one or more slices at the encoding end, and an initial triangle is selected in each slice.
  • the edge selected in each iteration can be marked as ⁇
  • its opposite vertex can be marked as v
  • the triangle to be encoded adjacent to this edge can be encoded.
  • the process of encoding connectivity relations may specifically include:
  • the vertex index of the triangle may be encoded directly, or the triangle may be encoded in other ways.
  • the preset condition can be that the triangle to be coded belongs to several special triangles, such as belonging to a degenerate surface (with two points coincident or three points collinear) or when the angle between the triangle and the coded triangle is less than a certain angle, or, the preset
  • the condition is that the number of vertices in the first spatial range is greater than the preset number, or, the preset condition is that the target vertex is located outside the second spatial range, such as within the second spatial range, or, the target vertex within the preset condition
  • the sorting numbers of the vertices in the first space range are greater than or equal to a preset value, and this preset condition can be flexibly set according to requirements.
  • the spatial range can be determined by using geometric properties of adjacent triangular surfaces, spatial angles or other criteria.
  • the space range can use the midpoint of the side ⁇ as the center of the sphere, and combine ⁇ Rmin, Rmax ⁇ with the minimum radius Rmin and the maximum radius Rmax between two concentric spheres, and the code is ⁇ Rmin, Rmax ⁇ group.
  • the above angle value may also be encoded.
  • the ordering criterion could be the distance from the vertex v to the midpoint of the side ⁇ ; or the radius of the circumscribed circle of the triangle formed with the side ⁇ . Encodes the ordinal number of the vertex v in the sort.
  • the encoding process is iterated for each slice of the 3D mesh until the triangles in each slice are complete coding. If the edge set is empty but there are unencoded triangles, the initial triangle is selected from the remaining unencoded triangles, and the encoding process is repeated.
  • some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced. In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
  • the embodiment of the present application also provides a decoding method, including:
  • Step 501 The decoding end performs decoding processing on the target code stream to obtain decoding information.
  • the target code stream may be a code stream obtained by encoding the above-mentioned three-dimensional grid at the encoding end.
  • the decoding end when decoding, the decoding end first decodes the geometric information, and then decodes the connectivity relationship according to the geometric information.
  • Step 502 When the decoding information includes the sorting information of the target vertices, the decoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the 3D mesh, and The vertices to be sorted are sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted in the first space range, and the first space range is where the target vertex of the triangle to be decoded in the three-dimensional grid is located. spatial extent.
  • the above vertex information may be an index of a vertex.
  • the vertices to be sorted are sorted according to the preset sorting criterion, for example, the sorting criterion can be sorted according to the distance between the vertex and the midpoint of the first side of the triangle to be encoded, or the sorting criterion can also be based on the distance between the vertex and the midpoint of the first side of the triangle to be encoded. Sort by the size of the radius of the circumcircle of the triangle formed by the first side.
  • the sorting criteria may also be other criteria, which are not specifically limited here.
  • Step 503 The decoding end determines the target vertex of the triangle to be decoded among the vertices to be sorted according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
  • the sorting information of the target vertex is decoded to obtain the sorting sequence number corresponding to the target vertex, and then the target vertex is determined among the vertices to be sorted according to the sorting result of the above-mentioned vertices to be sorted.
  • the decoding end performs decoding processing on the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices, the decoding end performs the decoding process according to the Determine the vertex to be sorted in the first spatial range by the space angle between adjacent triangular faces, and sort the vertex to be sorted; the decoding end according to the sorting result of the vertex to be sorted and the sorting information, determining the target vertex of the triangle to be decoded among the vertices to be sorted.
  • some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
  • the method of the embodiment of the present application further includes:
  • the decoding end determines the target vertex of the triangle to be decoded according to the vertex information.
  • the above-mentioned vertex information may specifically be an index of a vertex.
  • the method of the embodiment of the present application further includes:
  • the decoder determines the target vertex of the triangle to be decoded, it further includes:
  • the decoding end determines the triangle to be decoded according to the target vertex and the first side of the triangle to be decoded;
  • the first edge is selected by the decoding end from an edge set corresponding to the three-dimensional mesh, and the edge set is a set of at least one edge of a decoded triangle in the three-dimensional mesh.
  • the decoding end determines the triangle to be decoded, it further includes:
  • the decoder updates the edge set according to a second preset rule
  • the decoding end re-determines the first edge according to the updated edge set until each triangle in the three-dimensional mesh is determined;
  • the second preset rule includes: adding two sides of the triangle to be decoded except the first side to the set of sides, and removing the first side from the set of sides. side.
  • the decoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional grid, including:
  • the decoding end excludes all vertices of the second target triangle from the vertices within the first spatial range to obtain the remaining vertices;
  • the decoding end determines vertices to be sorted in the first space range according to the remaining vertices
  • the second target triangle is a triangle whose angle with an adjacent decoded triangle is smaller than the angle threshold, and one side of the second target triangle is the same as the first side of the triangle to be decoded.
  • the method of the embodiment of the present application further includes:
  • the first spatial range includes:
  • the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be decoded Location.
  • the method of the embodiment of the present application further includes:
  • the radius information of the above two spheres is acquired.
  • the geometric information is first decoded at the decoding end, and then the connectivity relationship is decoded according to the geometric information.
  • the process of decoding the connectivity relationship may specifically include:
  • Edges ⁇ are taken from the edge set following the criteria used in the encoder. If the codeword to be decoded is a vertex index, then directly decode the vertex and use it as the pair vertex v. Use the vertex v and side ⁇ to form a newly decoded triangle, and add the two sides of the triangle except side ⁇ to the edge set, and remove the edge ⁇ in the set according to a certain rule, such as moving according to the criterion at the top of the queue. Remove the edge ⁇ . Take out the next edge according to a certain rule and continue to decode the adjacent triangle of this edge, for example, you can take the edge at the top of the queue as the rule.
  • the decoding process is iterated for each tile's codestream until the triangles in each tile are decoded. Eventually the pieces are merged into a complete mesh.
  • the decoding end performs decoding processing on the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices, the decoding end performs the decoding according to the space of adjacent triangular patches in the three-dimensional grid. Angle, determine the vertices to be sorted in the first space range, and sort the vertices to be sorted; the decoding end according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, in the to-be-sorted vertices A target vertex of the triangle to be decoded is determined from the sorted vertices.
  • some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
  • the encoding method provided in the embodiment of the present application may be executed by an encoding device.
  • the encoding device provided in the embodiment of the present application is described by taking the encoding device executing the encoding method as an example.
  • an encoding device 700 including:
  • the first determination module 701 is configured to determine the vertices to be sorted in a first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh, and the first spatial range is the triangle to be encoded in the three-dimensional mesh
  • the spatial range where the target vertex is located, and the vertex to be sorted includes the target vertex;
  • the first acquisition module 702 is used for the encoding end to sort the vertices to be sorted to obtain the sorting information of the target vertices;
  • the second obtaining module 703 is used for the encoding end to obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertex.
  • the device of the embodiment of the present application excludes some vertices in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and determines the vertices to be sorted based on the excluded vertices, that is, reduces the number of vertices to be sorted In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
  • the device of the embodiment of the present application further includes:
  • the first selecting module is configured to select a first edge from an edge set corresponding to a three-dimensional grid, wherein the edge set is a set of at least one edge of an encoded triangle in the three-dimensional grid;
  • the third determination module is used to determine the triangle to be encoded according to the first side and the vertex corresponding to the first side, wherein the target vertex of the triangle to be encoded is the vertex corresponding to the first side divided by Vertices other than the two vertices connected by the first edge.
  • the first determination module is used to determine the triangles within the first space range according to the spatial angles of adjacent triangles in the three-dimensional mesh when the triangle to be encoded is a triangle other than the preset category of triangles. vertices to be sorted.
  • the device of the embodiment of the present application further includes:
  • the fifth acquisition module is configured to obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the target vertex information of the triangle to be encoded when the triangle to be encoded is a triangle of a preset category.
  • the preset category triangle includes at least one of the following:
  • the angle between the encoded triangle and the triangle is smaller than the preset angle
  • the device of the embodiment of the present application further includes:
  • a first update module configured to update the set of edges according to a first preset rule
  • the fourth determining module is used to re-determine the triangle to be encoded according to the updated edge set, until all the triangles in the three-dimensional grid obtain encoding information;
  • the first preset rule includes: adding two sides of the triangle to be encoded except the first side to the side set, and removing the first side from the side set side.
  • the first determination module includes:
  • the first acquisition sub-module is used to exclude all vertices of the first target triangle from the vertices within the first spatial range to obtain the remaining vertices;
  • a first determining submodule configured to determine vertices to be sorted within the first space range according to the remaining vertices
  • the first target triangle is a triangle whose included angle with an adjacent encoded triangle is smaller than the included angle threshold, and one side of the first target triangle is the same as the first side of the triangle to be encoded.
  • the encoding information of the triangle to be encoded further includes: encoding information of the included angle threshold.
  • the device of the embodiment of the present application further includes:
  • the sixth acquisition module is configured to encode the target vertex information of the triangle to be encoded within a second spatial range to obtain the encoded information of the triangle to be encoded, and the second spatial range is the three-dimensional grid except the first outside the scope of the space.
  • the first spatial range includes:
  • the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be encoded Location.
  • the encoding information of the triangle to be encoded further includes encoding information of the first spatial range.
  • the device of the embodiment of the present application excludes some vertices in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and determines the vertices to be sorted based on the excluded vertices, that is, reduces the number of vertices to be sorted In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
  • the encoding device in the embodiment of the present application may be an electronic device, such as an electronic device with an operating system, or a component in the electronic device, such as an integrated circuit or a chip.
  • the electronic device may be a terminal, or other devices other than the terminal.
  • Exemplary other devices can be servers, Network Attached Storage (NAS), etc., are not specifically limited in this embodiment of the present application.
  • NAS Network Attached Storage
  • the encoding device provided by the embodiment of the present application can realize each process realized by the method embodiment in FIG. 1 and achieve the same technical effect. To avoid repetition, details are not repeated here.
  • this embodiment of the present application also provides a communication device, including a processor 801 and a memory 802, and the memory 802 stores programs or instructions that can run on the processor 801.
  • the program Or, when the instruction is executed by the processor 801, each step of the above-mentioned encoding method embodiment can be realized, and the same technical effect can be achieved. To avoid repetition, details are not repeated here.
  • the embodiment of the present application also provides an encoding device, including a processor and a communication interface, the processor is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the second A spatial range is the spatial range where the target vertices of the triangles to be encoded in the three-dimensional grid are located, and the vertices to be sorted include the target vertices; the vertices to be sorted are sorted to obtain the sorting information of the target vertices ; Obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertex.
  • FIG. 9 is a schematic diagram of a hardware structure of an encoding device implementing an embodiment of the present application.
  • the coding device includes but not limited to: radio frequency unit 901, network module 902, audio output unit 903, input unit 904, sensor 905, display unit 906, user input unit 907, interface unit 908, memory 909, processor 910, etc. At least some parts.
  • the encoding device can also include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 910 through the power management system, so as to manage charging, discharging, and power consumption through the power management system. Management and other functions.
  • a power supply such as a battery
  • the structure of the device shown in FIG. 9 does not constitute a limitation to the device.
  • the device may include more or fewer components than shown in the figure, or combine some components, or arrange different components, which will not be repeated here.
  • the input unit 904 may include a graphics processing unit (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 Still picture or video image data obtained by an image capture device (such as a camera) in video capture mode or image capture mode is processed.
  • the display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
  • the user input unit 907 includes at least one of a touch panel 9071 and other input devices 9072 .
  • the touch panel 9071 is also called a touch screen.
  • the touch panel 9071 may include two parts, a touch detection device and a touch controller.
  • Other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, and joysticks, which will not be repeated here.
  • the radio frequency unit 901 may transmit the downlink data from the network side device to the processor 910 for processing after receiving the downlink data; in addition, the radio frequency unit 901 may send the uplink data to the network side device.
  • the radio frequency unit 901 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
  • the memory 909 can be used to store software programs or instructions as well as various data.
  • the memory 909 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required by at least one function (such as a sound playing function, image playback function, etc.), etc.
  • memory 909 may include volatile memory or nonvolatile memory, or, memory 909 may include both volatile and nonvolatile memory.
  • the non-volatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash.
  • ROM Read-Only Memory
  • PROM programmable read-only memory
  • Erasable PROM Erasable PROM
  • EPROM electronically programmable Erase Programmable Read-Only Memory
  • Flash Flash
  • Volatile memory can be random access memory (Random Access Memory, RAM), static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (Synch link DRAM , SLDRAM) and Direct Memory Bus Random Access Memory (Direct Rambus RAM, DRRAM).
  • RAM Random Access Memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM Double Data Rate SDRAM
  • DDRSDRAM double data rate synchronous dynamic random access memory
  • Enhanced SDRAM, ESDRAM enhanced synchronous dynamic random access memory
  • Synch link DRAM , SLDRAM
  • Direct Memory Bus Random Access Memory Direct Rambus
  • the processor 910 may include one or more processing units; optionally, the processor 910 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to the operating system, user interface, and application programs, etc., Modem processors mainly process wireless communication signals, such as baseband processors. It can be understood that the foregoing modem processor may not be integrated into the processor 910 .
  • the processor 910 is configured to determine the vertices to be sorted in a first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh, and the first spatial range is the triangle to be encoded in the three-dimensional mesh
  • the spatial range where the target vertices are located, and the vertices to be sorted include the target vertices; sort the vertices to be sorted to obtain the sorting information of the target vertices; according to the coding information corresponding to the sorting information of the target vertices , to obtain the encoding information of the triangle to be encoded.
  • processor 910 is further configured to:
  • processor 910 is further configured to:
  • the vertices to be sorted in the first space range are determined according to the spatial angles of adjacent triangle patches in the three-dimensional mesh.
  • processor 910 is further configured to:
  • the encoding information of the triangle to be encoded is obtained according to the encoding information corresponding to the target vertex information of the triangle to be encoded.
  • the preset category triangle includes at least one of the following:
  • the angle between the encoded triangle and the triangle is smaller than the preset angle
  • processor 910 is further configured to:
  • the encoder updates the edge set according to a first preset rule
  • the encoding end re-determines the triangle to be encoded according to the updated edge set until the three All the triangles in the three-dimensional grid get encoded information;
  • the first preset rule includes: adding two sides of the triangle to be encoded except the first side to the side set, and removing the first side from the side set side.
  • processor 910 is further configured to:
  • the encoding end excludes all vertices of the first target triangle from the vertices within the first space range to obtain the remaining vertices;
  • the encoding end determines vertices to be sorted in the first space range according to the remaining vertices
  • the first target triangle is a triangle whose included angle with an adjacent encoded triangle is smaller than the included angle threshold, and one side of the first target triangle is the same as the first side of the triangle to be encoded.
  • the encoding information of the triangle further includes: encoding information of the included angle threshold.
  • processor 910 is further configured to:
  • the first spatial range includes:
  • the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be encoded Location.
  • the encoding information of the triangle to be encoded further includes encoding information of the first spatial range.
  • some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced. In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
  • the decoding method provided in the embodiment of the present application may be executed by a decoding device.
  • the decoding device executed by the decoding device is taken as an example to describe the decoding device provided in the embodiment of the present application.
  • the embodiment of the present application provides a decoding device 1000, including:
  • the third acquisition module 1001 is used to decode the target code stream to obtain decoding information
  • the fourth acquisition module 1002 is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh when the decoding information includes the sorting information of the target vertices , and sort the vertices to be sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted within the first space range, and the first space range is the triangle to be decoded in the three-dimensional mesh
  • the second determination module 1003 is configured to determine, among the vertices to be sorted, the target vertex of the triangle to be decoded according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
  • the device of the embodiment of the present application further includes:
  • the fifth determining module is configured to determine, by the decoding end, the target vertex of the triangle to be decoded according to the vertex information when the decoding information includes vertex information of the target vertex.
  • the device of the embodiment of the present application further includes:
  • a seventh acquisition module configured to acquire target vertex information of a triangle to be decoded within a second spatial range according to the decoding information, and the second spatial range is a range in the three-dimensional grid other than the first spatial range ;
  • a sixth determining module configured to determine the target vertex of the triangle to be decoded according to the target vertex information.
  • the device of the embodiment of the present application further includes:
  • a seventh determining module configured to determine the triangle to be decoded according to the target vertex and the first side of the triangle to be decoded
  • the first edge is selected by the decoding end from an edge set corresponding to the three-dimensional mesh, and the edge set is a set of at least one edge of a decoded triangle in the three-dimensional mesh.
  • the device of the embodiment of the present application further includes:
  • a second updating module configured to update the set of edges according to a second preset rule
  • the eighth determining module is used to re-determine the first edge according to the updated edge set until the each triangle in the three-dimensional mesh;
  • the second preset rule includes: adding two sides of the triangle to be decoded except the first side to the set of sides, and removing the first side from the set of sides. side.
  • the second determination module includes:
  • the second acquisition sub-module is used to exclude all vertices of the second target triangle from the vertices within the first spatial range to obtain the remaining vertices;
  • the second determination submodule is configured to determine the vertices to be sorted within the first space range according to the remaining vertices;
  • the second target triangle is a triangle whose angle with an adjacent decoded triangle is smaller than the angle threshold, and one side of the second target triangle is the same as the first side of the triangle to be decoded.
  • the device of the embodiment of the present application further includes:
  • An eighth acquiring module configured to acquire the information of the included angle threshold according to the decoded information.
  • the first spatial range includes:
  • the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be decoded Location.
  • the device of the embodiment of the present application further includes:
  • a ninth obtaining module configured to obtain information of the first spatial range according to the decoded information.
  • the target code stream is decoded to obtain the decoded information; when the decoded information includes the sorting information of the target vertices, the first space is determined according to the spatial angles of adjacent triangular patches in the three-dimensional grid. Vertices to be sorted within the range, and sort the vertices to be sorted; according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, determine the target of the triangle to be decoded among the vertices to be sorted vertex.
  • some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
  • the decoding device provided by the embodiment of the present application can realize each process realized by the method embodiment in FIG. 5 and achieve the same technical effect. To avoid repetition, details are not repeated here.
  • the embodiment of the present application also provides a communication device (see FIG. 8 for its structural diagram), including a processor 801 and a memory 802, and the memory 802 stores programs or instructions that can run on the processor 801. , when the program or instruction is executed by the processor 801, each step of the above embodiment of the decoding method can be realized, and the same technical effect can be achieved, so to avoid repetition, details are not repeated here.
  • a communication device see FIG. 8 for its structural diagram
  • the embodiment of the present application also provides a decoding device, including a processor and a communication interface, and the processor is used to decode the target code stream to obtain decoded information; when the decoded information includes the sorting information of the target vertices, according to the three-dimensional network
  • the spatial angles of adjacent triangular faces in the lattice determine the vertices to be sorted in the first space range, and sort the vertices to be sorted, wherein the sorting information is that the target vertex is in the first space range
  • the sequence numbers in the vertices to be sorted, the first spatial range is the spatial range where the target vertices of the triangles to be decoded in the three-dimensional mesh are located; according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, in the Determine the target vertex of the triangle to be decoded from the vertices to be sorted.
  • the embodiment of the present application also provides a decoding device, and its hardware structure diagram can be referred to FIG. 9 .
  • the decoding device includes but not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910, etc. At least some parts.
  • the decoding device can also include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 910 through the power management system, so as to manage charging, discharging, and power consumption through the power management system. Management and other functions.
  • a power supply such as a battery
  • the structure of the device shown in FIG. 9 does not constitute a limitation to the device.
  • the device may include more or fewer components than shown in the figure, or combine some components, or arrange different components, which will not be repeated here.
  • the input unit 904 may include a graphics processing unit (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 is used in the video capture mode or the image capture mode by the image capture device (such as the static image obtained by the camera)
  • the image data of pictures or videos is processed.
  • the display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
  • the user input unit 907 includes at least one of a touch panel 9071 and other input devices 9072 .
  • the touch panel 9071 is also called a touch screen.
  • the touch panel 9071 may include two parts, a touch detection device and a touch controller.
  • Other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, and joysticks, which will not be repeated here.
  • the radio frequency unit 901 may transmit the downlink data from the network side device to the processor 910 for processing after receiving the downlink data; in addition, the radio frequency unit 901 may send the uplink data to the network side device.
  • the radio frequency unit 901 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
  • the memory 909 can be used to store software programs or instructions as well as various data.
  • the memory 909 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required by at least one function (such as a sound playing function, image playback function, etc.), etc.
  • memory 909 may include volatile memory or nonvolatile memory, or, memory 909 may include both volatile and nonvolatile memory.
  • the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash.
  • ROM Read-Only Memory
  • PROM programmable read-only memory
  • Erasable PROM Erasable PROM
  • EPROM erasable programmable read-only memory
  • Electrical EPROM Electrical EPROM
  • EEPROM electronically programmable Erase Programmable Read-Only Memory
  • Volatile memory can be random access memory (Random Access Memory, RAM), static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (Synch link DRAM , SLDRAM) and Direct Memory Bus Random Access Memory (Direct Rambus RAM, DRRAM).
  • RAM Random Access Memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM Double Data Rate SDRAM
  • DDRSDRAM double data rate synchronous dynamic random access memory
  • Enhanced SDRAM, ESDRAM enhanced synchronous dynamic random access memory
  • Synch link DRAM , SLDRAM
  • Direct Memory Bus Random Access Memory Direct Rambus
  • the processor 910 may include one or more processing units; optionally, the processor 910 integrates application A processor and a modem processor, wherein the application processor mainly deals with operations related to the operating system, user interface, and application programs, and the modem processor mainly deals with wireless communication signals, such as a baseband processor. It can be understood that the foregoing modem processor may not be integrated into the processor 910 .
  • the processor 910 is configured to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh when the decoding information includes the sorting information of the target vertices, and The vertices to be sorted are sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted within the first space range, and the first space range is the target vertex of the triangle to be decoded in the three-dimensional mesh
  • the spatial range where the target vertex of the triangle to be decoded is determined among the vertices to be sorted according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
  • processor 910 is further configured to:
  • the decoding end determines the target vertex of the triangle to be decoded according to the vertex information.
  • processor 910 is further configured to:
  • processor 910 is further configured to:
  • the decoding end determines the triangle to be decoded according to the target vertex and the first side of the triangle to be decoded;
  • the first edge is selected by the decoding end from an edge set corresponding to the three-dimensional mesh, and the edge set is a set of at least one edge of a decoded triangle in the three-dimensional mesh.
  • processor 910 is further configured to:
  • the decoder updates the edge set according to a second preset rule
  • the decoding end re-determines the first edge according to the updated edge set until each triangle in the three-dimensional mesh is determined;
  • the second preset rule includes: removing the triangle to be decoded from the first side The two edges of are added to the edge set, and the first edge is removed from the edge set.
  • processor 910 is further configured to:
  • the second target triangle is a triangle whose angle with an adjacent decoded triangle is smaller than the angle threshold, and one side of the second target triangle is the same as the first side of the triangle to be decoded.
  • processor 910 is further configured to:
  • the first spatial range includes:
  • the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be decoded Location.
  • processor 910 is further configured to:
  • the target code stream is decoded to obtain the decoded information; when the decoded information includes the sorting information of the target vertices, the first space is determined according to the spatial angles of adjacent triangular patches in the three-dimensional grid. Vertices to be sorted within the range, and sort the vertices to be sorted; according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, determine the target of the triangle to be decoded among the vertices to be sorted vertex.
  • some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
  • the embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the above-mentioned encoding method or decoding method is implemented.
  • a readable storage medium on which a program or instruction is stored, and when the program or instruction is executed by a processor, the above-mentioned encoding method or decoding method is implemented.
  • the processor is the processor in the device described in the foregoing embodiments.
  • the readable storage medium includes a computer-readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk, and the like.
  • the embodiment of the present application further provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the above encoding method or decoding method
  • the chip includes a processor and a communication interface
  • the communication interface is coupled to the processor
  • the processor is used to run programs or instructions to implement the above encoding method or decoding method
  • the chip mentioned in the embodiment of the present application may also be called a system-on-chip, a system-on-chip, a system-on-a-chip, or a system-on-a-chip.
  • the embodiment of the present application further provides a computer program/program product, the computer program/program product is stored in a storage medium, and the computer program/program product is executed by at least one processor to implement the above encoding method or decoding method
  • the various processes of the embodiment can achieve the same technical effect, so in order to avoid repetition, details are not repeated here.
  • the embodiment of the present application also provides a codec system, including: an encoding device or a decoding device, the encoding device can be used to perform the steps of the encoding method described above, and the decoding device can be used to perform the decoding method described above A step of.
  • the methods of the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation.
  • the technical solution of the present application can be embodied in the form of computer software products, which are stored in a storage medium (such as ROM/RAM, magnetic disk, etc.) , CD-ROM), including several instructions to make a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Disclosed in the present application are an encoding method, a decoding method, an apparatus, and a communication device. The encoding method in the embodiments of the present application comprises: on the basis of a space included angle of adjacent triangle patches in a three-dimensional mesh, an encoding end determines in a first space range vertexes to be sorted, the first space range being a space range where a target vertex of a triangle to be encoded in the three-dimensional mesh is located, and the vertexes to be sorted comprising the target vertex; and the encoding end sorts the vertexes to be sorted so as to obtain sorting information of the target vertex; and on the basis of encoding information corresponding to the sorting information of the target vertex, the encoding end obtains the encoding information of said triangle.

Description

编码方法、解码方法、装置及通信设备Coding method, decoding method, device and communication equipment
相关申请的交叉引用Cross References to Related Applications
本申请主张在2022年02月18日在中国提交的中国专利申请No.202210163353.8的优先权,其全部内容通过引用包含于此。This application claims priority to Chinese Patent Application No. 202210163353.8 filed in China on February 18, 2022, the entire contents of which are hereby incorporated by reference.
技术领域technical field
本申请属于编解码技术领域,具体涉及一种编码方法、解码方法、装置及通信设备。The present application belongs to the technical field of encoding and decoding, and in particular relates to an encoding method, a decoding method, a device, and a communication device.
背景技术Background technique
三维网格编码算法按照编码几何信息与连接性关系的主导性和先后顺序,分为连接性关系驱动的编码算法与几何信息驱动的编码算法。连接性关系驱动的编码算法先考虑连接性关系的压缩,几何信息的压缩在其基础上完成,该方式中在编码几何信息时会改变顶点顺序,不利于几何信息的压缩。几何信息驱动的编码算法则先编码几何信息,后编码连接性关系,但该方式中在待编码顶点较多的情况下,编码连接性关系时需要使用较多的编码比特,造成编码效率低下。According to the dominance and sequence of coding geometric information and connectivity relations, the 3D grid coding algorithms can be divided into coding algorithms driven by connectivity relations and coding algorithms driven by geometric information. The encoding algorithm driven by connectivity relations first considers the compression of connectivity relations, and the compression of geometric information is completed on the basis of it. In this way, the order of vertices will be changed when encoding geometric information, which is not conducive to the compression of geometric information. The geometric information-driven coding algorithm encodes the geometric information first, and then encodes the connectivity relationship. However, in this way, when there are many vertices to be encoded, more coding bits are needed to encode the connectivity relationship, resulting in low coding efficiency.
发明内容Contents of the invention
本申请实施例提供一种编码方法、解码方法、装置及通信设备,能够解决相关技术中几何信息驱动的编码算法编码效率低下的问题。Embodiments of the present application provide an encoding method, a decoding method, a device, and a communication device, which can solve the problem of low encoding efficiency of an encoding algorithm driven by geometric information in the related art.
第一方面,提供了一种编码方法,包括:In the first aspect, an encoding method is provided, including:
编码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;The encoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangle patches in the three-dimensional grid, and the first space range is the space where the target vertices of the triangles to be encoded in the three-dimensional grid are located range, and the vertex to be sorted includes the target vertex;
所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息;The encoding end sorts the vertices to be sorted to obtain the sorting information of the target vertices;
所述编码端根据所述目标顶点的排序信息对应的编码信息,得到所述待 编码三角形的编码信息。The coding end obtains the to-be Encodes the encoded information of the triangle.
第二方面,提供了一种解码方法,包括:In the second aspect, a decoding method is provided, including:
解码端对目标码流进行解码处理,得到解码信息;在解码信息包括目标顶点的排序信息的情况下,所述解码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;The decoding end decodes the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices, the decoding end determines the first spatial Vertices to be sorted within the range, and the vertices to be sorted are sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted within the first space range, and the first space range is three-dimensional The spatial range of the target vertex of the triangle to be decoded in the grid;
所述解码端根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。The decoding end determines the target vertex of the triangle to be decoded among the vertices to be sorted according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
第三方面,提供了一种编码装置,包括:In a third aspect, an encoding device is provided, including:
第一确定模块,用于根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;The first determination module is used to determine the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional grid, and the first spatial range is the triangle to be encoded in the three-dimensional grid The spatial range where the target vertex is located, and the vertices to be sorted include the target vertex;
第一获取模块,用于所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息;The first acquisition module is used for the encoding end to sort the vertices to be sorted to obtain the sorting information of the target vertices;
第二获取模块,用于所述编码端根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。The second obtaining module is used for the encoding end to obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertices.
第四方面,提供了一种解码装置,包括:In a fourth aspect, a decoding device is provided, including:
第三获取模块,用于对目标码流进行解码处理,得到解码信息;The third acquisition module is used to decode the target code stream to obtain decoding information;
第四获取模块,用于在解码信息包括目标顶点的排序信息的情况下,所述解码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;The fourth acquisition module is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh when the decoding information includes the sorting information of the target vertices, And sort the vertices to be sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted in the first space range, and the first space range is the triangle to be decoded in the three-dimensional grid The space range where the target vertex is located;
第二确定模块,用于根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。 The second determination module is configured to determine, among the vertices to be sorted, the target vertex of the triangle to be decoded according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
第五方面,提供了一种编码装置,包括处理器及通信接口,其中,所述处理器用于根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;对所述待排序顶点进行排序,得到所述目标顶点的排序信息;根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。In a fifth aspect, an encoding device is provided, including a processor and a communication interface, wherein the processor is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional mesh , the first spatial range is the spatial range where the target vertices of the triangles to be encoded in the three-dimensional grid are located, and the vertices to be sorted include the target vertices; the vertices to be sorted are sorted to obtain the target Sorting information of the vertices; according to the coding information corresponding to the sorting information of the target vertex, the coding information of the triangle to be coded is obtained.
第六方面,提供了一种通信设备,该通信设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面或第二方面所述的方法的步骤。According to a sixth aspect, a communication device is provided, the communication device includes a processor and a memory, the memory stores programs or instructions that can run on the processor, and the programs or instructions are implemented when executed by the processor. The steps of the method as described in the first aspect or the second aspect.
第七方面,提供了一种解码装置,包括处理器及通信接口,其中,所述处理器用于对目标码流进行解码处理,得到解码信息;;在解码信息包括目标顶点的排序信息的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。In the seventh aspect, a decoding device is provided, including a processor and a communication interface, wherein the processor is used to decode the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices , determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional mesh, and sort the vertices to be sorted, wherein the sorting information is that the target vertex is at the The sequence numbers in the vertices to be sorted in a spatial range, the first spatial range is the spatial range where the target vertices of the triangles to be decoded in the three-dimensional grid are located; according to the sorting results of the vertices to be sorted and the sorting of the target vertices information, and determine the target vertex of the triangle to be decoded among the vertices to be sorted.
第八方面,提供了一种编解码系统,包括:编码装置及解码装置,所述编码装置可用于执行如第一方面所述的编码方法的步骤,所述解码装置可用于执行如第二方面所述的解码方法的步骤。In an eighth aspect, there is provided a codec system, including: an encoding device and a decoding device, the encoding device can be used to perform the steps of the encoding method described in the first aspect, and the decoding device can be used to perform the steps of the encoding method described in the second aspect The steps of the decoding method.
第九方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。In the ninth aspect, a readable storage medium is provided, and programs or instructions are stored on the readable storage medium, and when the programs or instructions are executed by a processor, the steps of the method described in the first aspect are realized, or the steps of the method described in the first aspect are realized, or The steps of the method described in the second aspect.
第十方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法,或实现如第二方面所述的方法。In a tenth aspect, a chip is provided, the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the method as described in the first aspect , or implement the method described in the second aspect.
第十一方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产 品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤,或实现如第二方面所述的方法的步骤。In an eleventh aspect, a computer program/program product is provided, the computer program/program product The product is stored in a storage medium, and the computer program/program product is executed by at least one processor to implement the steps of the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.
在本申请实施例中,根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,这样,在对目标顶点的排序信息进行编码时,能够进一步减少该编码信息所占用的比特数,进而有效提高编码效率。In the embodiment of the present application, according to the spatial angles of adjacent triangular faces in the three-dimensional mesh, some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the vertices to be sorted are reduced In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
附图说明Description of drawings
图1是本申请实施例的编码方法的流程示意图;FIG. 1 is a schematic flow chart of an encoding method in an embodiment of the present application;
图2是本申请实施例的编码方法的编码示意图;Fig. 2 is the coding schematic diagram of the coding method of the embodiment of the present application;
图3是本申请实施例中编码连接性关系的示意图之一;Fig. 3 is one of the schematic diagrams of the encoding connectivity relationship in the embodiment of the present application;
图4是本申请实施例中编码连接性关系的示意图之二;Fig. 4 is the second schematic diagram of the encoding connectivity relationship in the embodiment of the present application;
图5是本申请实施例的解码方法的流程示意图;FIG. 5 is a schematic flowchart of a decoding method according to an embodiment of the present application;
图6是本申请实施例的解码方法的解码示意图;FIG. 6 is a schematic diagram of decoding of a decoding method according to an embodiment of the present application;
图7表示本申请实施例的编码装置的模块示意图;FIG. 7 shows a schematic diagram of modules of an encoding device according to an embodiment of the present application;
图8表示本申请实施例的编码装置的结构示意图之一;FIG. 8 shows one of the structural schematic diagrams of the encoding device according to the embodiment of the present application;
图9表示本申请实施例的编码装置的结构示意图之二;FIG. 9 shows the second structural schematic diagram of the encoding device according to the embodiment of the present application;
图10表示本申请实施例的解码装置的模块示意图。FIG. 10 shows a schematic diagram of modules of a decoding device according to an embodiment of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be clearly described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, but not all of them. All other embodiments obtained by persons of ordinary skill in the art based on the embodiments in this application belong to the protection scope of this application.
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描 述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。The terms "first", "second" and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific sequence or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the present application can be used in a manner other than that illustrated or described herein. It is implemented in an order other than those mentioned above, and the objects distinguished by "first" and "second" are usually of one type, and the number of objects is not limited, for example, there may be one or more first objects. In addition, "and/or" in the description and claims means at least one of the connected objects, and the character "/" generally means that the related objects are an "or" relationship.
本申请实施例中的编码方法对应的编码装置和解码方法对应的解码装置均可以为终端,该终端也可以称作终端设备或者用户终端(User Equipment,UE),终端可以是手机、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)或称为笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(ultra-mobile personal computer,UMPC)、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴式设备(Wearable Device)或车载设备(Vehicle User Equipment,VUE)、行人终端(Pedestrian User Equipment,PUE)等终端侧设备,可穿戴式设备包括:智能手表、手环、耳机、眼镜等。需要说明的是,在本申请实施例并不限定终端的具体类型。Both the encoding device corresponding to the encoding method and the decoding device corresponding to the decoding method in the embodiment of the present application may be a terminal, and the terminal may also be called a terminal device or a user equipment (User Equipment, UE), and the terminal may be a mobile phone, a tablet computer ( Tablet Personal Computer), laptop computer (Laptop Computer) or notebook computer, personal digital assistant (Personal Digital Assistant, PDA), palmtop computer, netbook, ultra-mobile personal computer (ultra-mobile personal computer, UMPC), mobile Internet devices (Mobile Internet Device, MID), augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) equipment, robots, wearable devices (Wearable Device) or vehicle equipment (Vehicle User Equipment, VUE), Pedestrian User Equipment (PUE) and other terminal-side devices, wearable devices include: smart watches, bracelets, earphones, glasses, etc. It should be noted that, the embodiment of the present application does not limit the specific type of the terminal.
为使本领域技术人员能够更好地理解本申请实施例,先进行如下说明。In order to enable those skilled in the art to better understand the embodiments of the present application, the following descriptions are given first.
随着三维网格建模与扫描技术的进步,人们对三维图形的精度和细节有了更高的要求,这也导致原始三维网格的数据量成倍的增长。这对于三维网格的传输、存储和计算机处理提出了重大的挑战。因此,在保证质量的条件下实现高效的三维网格数据压缩显得尤为重要。三维网格是由多个不同层级的元素组成,包括顶点、边和面。顶点是组成三维网格的基本元素,使用三维空间中的坐标描述。边是连接三维网格中两个顶点的部分。面是由闭合的边连接而成的多边形,大部分三维网格中的面多为三角形。三维网格主要包含以下三种信息:1.几何信息,它是三维网格中所有顶点在三维空间中的坐标;2.连接性关系也称作拓扑信息,用于描述三维网格中顶点与面片的连接关系;3.其他可选的属性信息,包括其他附着于三维网格的其他信息,可以是颜色信息、法向量、纹理坐标等。 With the advancement of 3D mesh modeling and scanning technology, people have higher requirements for the accuracy and details of 3D graphics, which also leads to a double increase in the data volume of the original 3D mesh. This poses a major challenge to the transmission, storage and computer processing of 3D meshes. Therefore, it is particularly important to achieve efficient 3D grid data compression under the condition of quality assurance. A 3D mesh is composed of elements at different levels, including vertices, edges and faces. Vertices are the basic elements that make up a 3D mesh, described using coordinates in 3D space. An edge is a part that connects two vertices in a 3D mesh. Surfaces are polygons connected by closed edges, and most surfaces in 3D meshes are triangles. The three-dimensional grid mainly contains the following three kinds of information: 1. Geometric information, which is the coordinates of all vertices in the three-dimensional grid in three-dimensional space; The connection relationship of the patch; 3. Other optional attribute information, including other information attached to the 3D grid, which can be color information, normal vector, texture coordinates, etc.
其中,连接性关系用于描述三维网格中顶点的连接,影响模型的整体形状与局部细节,是三维网格的重要组成部分。Among them, the connectivity relationship is used to describe the connection of vertices in the 3D mesh, which affects the overall shape and local details of the model, and is an important part of the 3D mesh.
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的编码方法进行详细地说明。The encoding method provided by the embodiment of the present application will be described in detail below through some embodiments and application scenarios with reference to the accompanying drawings.
如图1所示,本申请实施例提供了一种编码方法,包括:As shown in Figure 1, the embodiment of this application provides an encoding method, including:
步骤101:编码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点。Step 101: The encoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the 3D grid, and the first spatial range is the target vertex of the triangle to be encoded in the 3D grid The spatial range where the vertex is located, and the vertex to be sorted includes the target vertex.
本申请实施例的编码方法是基于几何信息驱动的连接性关系编码方法,如图2所示,本申请实施例中,编码端先基于三维网格对几何信息编码,然后重建几何信息,利用重建的几何信息来进行连接性关系的编码,最后基于编码后的几何信息和编码后的连接性关系信息,输出码流。The encoding method of the embodiment of the present application is based on the geometric information-driven connectivity relationship encoding method, as shown in Figure 2, in the embodiment of the present application, the encoding end first encodes the geometric information based on the three-dimensional grid, and then reconstructs the geometric information. The geometric information is used to encode the connectivity relationship, and finally the code stream is output based on the encoded geometric information and the encoded connectivity relationship information.
这里重建后的几何信息包括三维网格中顶点的索引信息。Here, the reconstructed geometric information includes index information of vertices in the three-dimensional mesh.
本申请实施例中,上述三维网络可划分为至少一个三角面片,每个三角面片中包含至少一个三角形。In the embodiment of the present application, the above-mentioned three-dimensional network may be divided into at least one triangular surface, and each triangular surface contains at least one triangle.
本步骤中,基于三维网格中相邻三角面片的空间夹角,可以筛除第一空间范围内的部分顶点,并将剩余的部分顶点作为待排序顶点。In this step, based on the spatial angles of adjacent triangular faces in the three-dimensional mesh, some vertices within the first spatial range may be screened out, and the remaining partial vertices may be used as vertices to be sorted.
可选地,所述第一空间范围包括:Optionally, the first spatial range includes:
第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待编码三角形的第一边中的目标位置,如球心为待编码三角形的第一边的中点。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be encoded Position, such as the center of the sphere being the midpoint of the first side of the triangle to be encoded.
步骤102:所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息。Step 102: The encoder sorts the vertices to be sorted to obtain sorting information of the target vertices.
本步骤中,按照预设排序准则对待排序顶点进行排序,例如该排序准则可以是按照顶点与待编码三角形的第一边的中点的距离进行排序,或者,该排序准则还可以是根据顶点与第一边形成的三角形外接圆的半径的大小进行 排序。当然,该排序准则也可以是其他准则,此处不做具体限定。In this step, the vertices to be sorted are sorted according to the preset sorting criterion, for example, the sorting criterion can be sorted according to the distance between the vertex and the midpoint of the first side of the triangle to be encoded, or the sorting criterion can also be based on the distance between the vertex and the midpoint of the first side of the triangle to be encoded. The size of the radius of the circumcircle of the triangle formed by the first side Sort. Of course, the sorting criteria may also be other criteria, which are not specifically limited here.
这里,通过相邻三角面片的空间夹角,进一步删除第一空间范围内的顶点,减少了待排序顶点的数量,即可以减小目标顶点的排序信息所使用的比特信息,Here, the vertices in the first spatial range are further deleted through the spatial angles of adjacent triangular faces, reducing the number of vertices to be sorted, that is, the bit information used for the sorting information of the target vertices can be reduced,
步骤103:所述编码端根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。Step 103: The encoding end obtains the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertex.
可选地,所述编码端在满足目标条件的情况下,对目标顶点的排序信息进行编码,得到所述编码信息,在不满足目标条件的情况下,对目标顶点的索引进行编码,得到上述编码信息。例如,该目标条件为所述第一空间范围内的待排序顶点的数量小于预设阈值,和/或,目标顶点的排序序号小于预设数值。由于在第一空间范围内的待排序顶点的数量较小或目标顶点的排序序号较小时,排序信息所对应的编码信息会占用较小的比特数,此时对目标顶点的排序信息进行编码,能够有效减小编码比特数。而对于待排序顶点的数量较大或目的顶点的排序序号较大的情况,对目标顶点的索引进行编码相比于对排序信息进行编码,能够有效地减小编码比特数。Optionally, when the target condition is met, the encoding end encodes the sorting information of the target vertex to obtain the encoded information, and when the target condition is not satisfied, encodes the index of the target vertex to obtain the above coded information. For example, the target condition is that the number of vertices to be sorted within the first spatial range is less than a preset threshold, and/or the sorting number of the target vertex is less than a preset value. Since the number of vertices to be sorted in the first space range is small or the sorting sequence number of the target vertex is small, the coding information corresponding to the sorting information will occupy a small number of bits. At this time, the sorting information of the target vertex is encoded. It can effectively reduce the number of coding bits. However, when the number of vertices to be sorted is large or the sorting sequence number of the target vertex is large, encoding the index of the target vertex can effectively reduce the number of coding bits compared with encoding the sorting information.
本申请实施例中,根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,这样,在对目标顶点的排序信息进行编码时,能够进一步减少该编码信息所占用的比特数,进而有效提高编码效率。In the embodiment of the present application, according to the spatial angles of adjacent triangular faces in the three-dimensional grid, some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced. In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
可选地,所述编码端确定第一空间范围之前,还包括:Optionally, before the encoding end determines the first spatial range, it further includes:
所述编码端在三维网格对应的边集合中选取第一边,其中,所述边集合为所述三维网格中已编码三角形的至少一条边的集合;The encoding end selects a first edge from an edge set corresponding to a three-dimensional grid, wherein the edge set is a set of at least one edge of an encoded triangle in the three-dimensional grid;
所述编码端根据所述第一边和所述第一边对应的顶点,确定待编码三角形,其中,所述待编码三角形的目标顶点为所述第一边对应的顶点中除与所述第一边连接的两个顶点之外的顶点,所述目标顶点也可描述为所述第一边的对顶点。The encoding end determines the triangle to be encoded according to the first side and the vertex corresponding to the first side, wherein the target vertex of the triangle to be encoded is the vertex corresponding to the first side divided by the vertex corresponding to the first side For vertices other than the two vertices connected by one side, the target vertex can also be described as the opposite vertex of the first side.
可选地,所述编码端根据三维网格中相邻三角面片的空间夹角,确定第 一空间范围内的待排序顶点,包括:Optionally, the encoding end determines the third Vertices to be sorted within a spatial range, including:
所述编码端在待编码三角形为预设类别三角形之外的三角形的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点。The encoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangle patches in the three-dimensional mesh when the triangle to be encoded is a triangle other than the preset category of triangles.
可选地,所述预设类别三角形包括以下至少一项:Optionally, the preset category triangle includes at least one of the following:
与已编码三角形之间的角度小于预设角度的三角形;The angle between the encoded triangle and the triangle is smaller than the preset angle;
两个顶点重合或三个顶点共线的三角形。具体的,是指一个三角形中的两个顶点重合或三个顶点共线。A triangle with two vertices coincident or three vertices collinear. Specifically, it means that two vertices in a triangle coincide or three vertices are collinear.
可选地,本申请实施例的方法,还包括:Optionally, the method of the embodiment of the present application further includes:
所述编码端在所述待编码三角形为上述预设类别三角形的情况下,根据所述待编码三角形的目标顶点信息对应的编码信息,得到所述待编码三角形的编码信息。The encoding end obtains the encoding information of the triangle to be encoded according to the encoding information corresponding to the target vertex information of the triangle to be encoded when the triangle to be encoded is the triangle of the preset category.
例如,在上述待编码三角形为上述预设类别三角形的情况下,对待编码三角形的目标顶点的索引直接进行编码,并根据该目标顶点的索引对应的编码信息,得到上述待编码三角形的编码信息。For example, when the triangle to be encoded is the triangle of the preset category, the index of the target vertex of the triangle to be encoded is directly encoded, and the encoding information of the triangle to be encoded is obtained according to the encoding information corresponding to the index of the target vertex.
本申请实施例中,在对顶点的索引进行编码时,可以直接使用二进制表示或使用如哈夫曼等编码算法进行编码,此处对编码方法不做具体限定。In the embodiment of the present application, when encoding the index of the vertex, the binary representation can be used directly or encoding algorithm such as Huffman can be used for encoding, and the encoding method is not specifically limited here.
可选地,所述得到所述待编码三角形的编码信息之后,所述方法还包括:Optionally, after obtaining the encoding information of the triangle to be encoded, the method further includes:
所述编码端按照第一预设规则,更新所述边集合;The encoder updates the edge set according to a first preset rule;
所述编码端根据更新后的边集合,重新确定待编码三角形,直至所述三维网格中的三角形均得到编码信息;The encoding end re-determines the triangle to be encoded according to the updated edge set, until all the triangles in the three-dimensional grid obtain encoding information;
其中,所述第一预设规则包括:将所述待编码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the first preset rule includes: adding two sides of the triangle to be encoded except the first side to the side set, and removing the first side from the side set side.
可选地,所述编码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:Optionally, the encoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional grid, including:
所述编码端在所述第一空间范围内的顶点中排除第一目标三角形的所有顶点,得到剩余顶点; The encoding end excludes all vertices of the first target triangle from the vertices within the first space range to obtain the remaining vertices;
所述编码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;The encoding end determines vertices to be sorted in the first space range according to the remaining vertices;
其中,所述第一目标三角形为与邻接的已编码三角形的夹角小于所述夹角阈值的三角形,且所述第一目标三角形的一条边与所述待编码三角形的第一边相同。Wherein, the first target triangle is a triangle whose included angle with an adjacent encoded triangle is smaller than the included angle threshold, and one side of the first target triangle is the same as the first side of the triangle to be encoded.
可选地,所述待编码三角形的编码信息还包括:所述夹角阈值的编码信息。Optionally, the encoding information of the triangle to be encoded further includes: encoding information of the included angle threshold.
这里,通过对夹角阈值进行编码,使得解码端根据该编码信息可以获取该夹角阈值,并基于该夹角阈值确定第一空间范围内的待排序顶点,该方式中,编码端可以灵活地设置该夹角阈值。Here, by encoding the included angle threshold, the decoding end can obtain the included angle threshold according to the encoded information, and determine the vertices to be sorted in the first space range based on the included angle threshold. In this way, the encoding end can flexibly Set the angle threshold.
当然,也可以预先约定固定的夹角阈值,编码端和解码端基于预先约定的夹角阈值,确定第一空间范围内的待排序顶点,编码端无需对该夹角阈值进行编码。Of course, a fixed angle threshold can also be pre-agreed, and the encoding end and the decoding end determine the vertices to be sorted in the first space range based on the pre-agreed angle threshold, and the encoding end does not need to encode the angle threshold.
可选地,本申请实施例的方法,还包括:对第二空间范围内的待编码三角形的目标顶点信息进行编码,得到所述待编码三角形的编码信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围。Optionally, the method in the embodiment of the present application further includes: encoding the target vertex information of the triangle to be encoded within the second spatial range to obtain the encoded information of the triangle to be encoded, the second spatial range being the The extent of the 3D grid other than the first spatial extent.
可选地,所述待编码三角形的编码信息还包括所述第一空间范围的编码信息。Optionally, the encoding information of the triangle to be encoded further includes encoding information of the first spatial range.
例如,对上述第一球体和第二球体的半径进行编码,该实现方式中可以灵活地设置第一空间范围。For example, the radii of the above-mentioned first sphere and the second sphere are coded, and in this implementation manner, the first spatial range can be flexibly set.
当然,编码端和解码端也可预先预定第一空间范围的大小,则该方式中,编码端无需对该第一空间范围进行编码。Of course, the encoding end and the decoding end may also pre-determine the size of the first spatial range, and in this manner, the encoding end does not need to encode the first spatial range.
在本申请的一具体实施例中,在编码端将输入三维网格分为一个或多个片,在每个片中选取初始三角形。编码该初始三角形的顶点索引并把该初始三角形的边放入边的集合(即边集合)中。选取边集合中的某个边并确定它的对顶点,该边和对顶点组成的三角形即为待编码三角形。例如,可将每次迭代选取的边记为τ,它的对顶点记为v,编码该边相邻的待编码三角形。如图3和图4所示,编码连接性关系的过程可具体包括: In a specific embodiment of the present application, the input 3D grid is divided into one or more slices at the encoding end, and an initial triangle is selected in each slice. Encode the vertex indices of the initial triangle and put the edges of the initial triangle into the set of edges (ie, set of edges). Select an edge in the edge set and determine its opposite vertex, the triangle formed by the edge and the opposite vertex is the triangle to be coded. For example, the edge selected in each iteration can be marked as τ, its opposite vertex can be marked as v, and the triangle to be encoded adjacent to this edge can be encoded. As shown in Figure 3 and Figure 4, the process of encoding connectivity relations may specifically include:
(1)在满足预设条件的情况下,可以直接编码该三角形的顶点索引,也可以对该三角形进行其他方式的编码。该预设条件可以是待编码三角形属于若干种特殊三角形,如属于退化面(有两点重合或三点共线)或该三角形与已编码三角形的夹角小于某角度时,或者,该预设条件为第一空间范围内的顶点的数量大于预设数量,或者,该预设条件为目标顶点位于第二空间范围之外,如位于第二空间范围内,或者,该预设条件内目标顶点在第一空间范围内的顶点中的排序序号大于预设或等于预设数值,该预设条件可以根据需求灵活地进行设置。将该待编码三角形除去边τ外的两条边加入边集合中,并从集合中移除边τ。然后从边集合中按照一定的准则取出该待编码三角形的另一条边(除边τ之外的边),继续编码该边邻接的三角形,例如可以采用存取的顺序来选择下一条边τ。(1) If the preset condition is met, the vertex index of the triangle may be encoded directly, or the triangle may be encoded in other ways. The preset condition can be that the triangle to be coded belongs to several special triangles, such as belonging to a degenerate surface (with two points coincident or three points collinear) or when the angle between the triangle and the coded triangle is less than a certain angle, or, the preset The condition is that the number of vertices in the first spatial range is greater than the preset number, or, the preset condition is that the target vertex is located outside the second spatial range, such as within the second spatial range, or, the target vertex within the preset condition The sorting numbers of the vertices in the first space range are greater than or equal to a preset value, and this preset condition can be flexibly set according to requirements. Add the two sides of the triangle to be coded except the side τ into the side set, and remove the side τ from the set. Then take out another side of the triangle to be coded (a side other than side τ) from the side set according to a certain criterion, and continue to code the triangles adjacent to the side, for example, the next side τ can be selected in the order of access.
(2)在不满足上述预设条件的情况下,确定其对顶点v所处的空间范围(即上述第一空间范围)并编码该空间范围。遍历片内该空间范围内的所有顶点,筛除与边τ形成的与已编码邻接三角形夹角小于某角度的新三角形所有顶点,并编码该角度值。(2) If the above preset condition is not met, determine the spatial range where the vertex v is located (that is, the first spatial range) and encode the spatial range. Traverse all the vertices within the space range in the slice, filter out all the vertices of the new triangle formed with the edge τ and the encoded adjacent triangle whose angle is smaller than a certain angle, and encode the angle value.
该空间范围可以利用相邻三角面片的几何特性、空间夹角或其他准则确定。例如,空间范围可以采用以边τ的中点为球心,以最小半径Rmin和最大半径Rmax组合{Rmin,Rmax}的两个同心球间的部分,编码的是{Rmin,Rmax}组。The spatial range can be determined by using geometric properties of adjacent triangular surfaces, spatial angles or other criteria. For example, the space range can use the midpoint of the side τ as the center of the sphere, and combine {Rmin, Rmax} with the minimum radius Rmin and the maximum radius Rmax between two concentric spheres, and the code is {Rmin, Rmax} group.
可选地,还可对上述角度值进行编码。Optionally, the above angle value may also be encoded.
(3)遍历空间范围内的所有顶点,并按照一定的排序准则进行排序。例如该排序准测可以是顶点v到边τ的中点的距离;或者是与边τ形成的三角形的外接圆的半径。编码对顶点v在排序中的序号。(3) Traverse all vertices in the space range and sort them according to certain sorting criteria. For example, the ordering criterion could be the distance from the vertex v to the midpoint of the side τ; or the radius of the circumscribed circle of the triangle formed with the side τ. Encodes the ordinal number of the vertex v in the sort.
(4)将上述新编码三角形除去边τ外的两条边加入边集合中,并从边集合中移除边τ。然后从集合中按照一定的准则取出新编码三角形的另一条边,继续编码该边邻接的三角形。(4) Add the two sides of the new coded triangle except side τ to the edge set, and remove the edge τ from the edge set. Then take another side of the newly coded triangle from the set according to a certain criterion, and continue to code the triangles adjacent to this side.
对三维网格的每一个片迭代该编码过程,直到每个片中的三角形都完成 编码。若边集合为空但存在尚未编码三角形,则从剩余未编码三角形中选取初始三角形,循环该编码过程。The encoding process is iterated for each slice of the 3D mesh until the triangles in each slice are complete coding. If the edge set is empty but there are unencoded triangles, the initial triangle is selected from the remaining unencoded triangles, and the encoding process is repeated.
本申请实施例中,根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,这样,在对目标顶点的排序信息进行编码时,能够进一步减少该编码信息所占用的比特数,进而有效提高编码效率。In the embodiment of the present application, according to the spatial angles of adjacent triangular faces in the three-dimensional grid, some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced. In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
如图5所示,本申请实施例还提供了一种解码方法,包括:As shown in Figure 5, the embodiment of the present application also provides a decoding method, including:
步骤501:解码端对目标码流进行解码处理,得到解码信息。Step 501: The decoding end performs decoding processing on the target code stream to obtain decoding information.
该目标码流可以是编码端对上述三维网格进行编码后的码流。The target code stream may be a code stream obtained by encoding the above-mentioned three-dimensional grid at the encoding end.
如图6所示,解码端在进行解码时,先解码几何信息,再根据几何信息解码连接性关系。As shown in FIG. 6 , when decoding, the decoding end first decodes the geometric information, and then decodes the connectivity relationship according to the geometric information.
步骤502:在解码信息包括目标顶点的排序信息的情况下,所述解码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围。Step 502: When the decoding information includes the sorting information of the target vertices, the decoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the 3D mesh, and The vertices to be sorted are sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted in the first space range, and the first space range is where the target vertex of the triangle to be decoded in the three-dimensional grid is located. spatial extent.
上述顶点信息可以为顶点的索引。The above vertex information may be an index of a vertex.
本步骤中,按照预设排序准则对待排序顶点进行排序,例如该排序准则可以是按照顶点与待编码三角形的第一边的中点的距离进行排序,或者,该排序准则还可以是根据顶点与第一边形成的三角形外接圆的半径的大小进行排序。当然,该排序准则也可以是其他准则,此处不做具体限定。In this step, the vertices to be sorted are sorted according to the preset sorting criterion, for example, the sorting criterion can be sorted according to the distance between the vertex and the midpoint of the first side of the triangle to be encoded, or the sorting criterion can also be based on the distance between the vertex and the midpoint of the first side of the triangle to be encoded. Sort by the size of the radius of the circumcircle of the triangle formed by the first side. Of course, the sorting criteria may also be other criteria, which are not specifically limited here.
步骤503:所述解码端根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。Step 503: The decoding end determines the target vertex of the triangle to be decoded among the vertices to be sorted according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
这里,对目标顶点的排序信息进行解码,得到目标顶点对应的排序序号,然后根据上述待排序顶点的排序结果,在待排序顶点中确定目标顶点。Here, the sorting information of the target vertex is decoded to obtain the sorting sequence number corresponding to the target vertex, and then the target vertex is determined among the vertices to be sorted according to the sorting result of the above-mentioned vertices to be sorted.
本申请实施例的方法,解码端对目标码流进行解码处理,得到解码信息;在解码信息包括目标顶点的排序信息的情况下,所述解码端根据三维网格中 相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序;所述解码端根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。本申请实施例中根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,能够有效提高解码效率。In the method of the embodiment of the present application, the decoding end performs decoding processing on the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices, the decoding end performs the decoding process according to the Determine the vertex to be sorted in the first spatial range by the space angle between adjacent triangular faces, and sort the vertex to be sorted; the decoding end according to the sorting result of the vertex to be sorted and the sorting information, determining the target vertex of the triangle to be decoded among the vertices to be sorted. In the embodiment of the present application, some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
可选地,本申请实施例的方法,还包括:Optionally, the method of the embodiment of the present application further includes:
在所述解码信息包括所述目标顶点的顶点信息的情况下,则所述解码端根据所述顶点信息确定所述待解码三角形的目标顶点。If the decoding information includes vertex information of the target vertex, the decoding end determines the target vertex of the triangle to be decoded according to the vertex information.
上述顶点信息可具体为顶点的索引。The above-mentioned vertex information may specifically be an index of a vertex.
可选地,本申请实施例的方法,还包括:Optionally, the method of the embodiment of the present application further includes:
根据所述解码信息,获取第二空间范围内的待解码三角形的目标顶点信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围;Acquiring target vertex information of triangles to be decoded within a second spatial range according to the decoding information, where the second spatial range is a range in the three-dimensional grid other than the first spatial range;
根据所述目标顶点信息,确定所述待解码三角形的目标顶点。Determine the target vertex of the triangle to be decoded according to the target vertex information.
可选地,所述解码端确定所述待解码三角形的目标顶点之后,还包括:Optionally, after the decoder determines the target vertex of the triangle to be decoded, it further includes:
所述解码端根据所述目标顶点和所述待解码三角形的第一边,确定所述待解码三角形;The decoding end determines the triangle to be decoded according to the target vertex and the first side of the triangle to be decoded;
其中,所述第一边为所述解码端在三维网格对应的边集合中选取的,所述边集合为所述三维网格中已解码三角形的至少一条边的集合。Wherein, the first edge is selected by the decoding end from an edge set corresponding to the three-dimensional mesh, and the edge set is a set of at least one edge of a decoded triangle in the three-dimensional mesh.
可选地,所述解码端确定所述待解码三角形之后,还包括:Optionally, after the decoding end determines the triangle to be decoded, it further includes:
所述解码端按照第二预设规则,更新所述边集合;The decoder updates the edge set according to a second preset rule;
所述解码端根据更新后的边集合,重新确定第一边,直至确定所述三维网格中的每个三角形;The decoding end re-determines the first edge according to the updated edge set until each triangle in the three-dimensional mesh is determined;
其中,所述第二预设规则包括:将所述待解码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the second preset rule includes: adding two sides of the triangle to be decoded except the first side to the set of sides, and removing the first side from the set of sides. side.
可选地,所述解码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括: Optionally, the decoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional grid, including:
所述解码端在所述第一空间范围内的顶点中排除第二目标三角形的所有顶点,得到剩余顶点;The decoding end excludes all vertices of the second target triangle from the vertices within the first spatial range to obtain the remaining vertices;
所述解码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;The decoding end determines vertices to be sorted in the first space range according to the remaining vertices;
其中,所述第二目标三角形为与邻接的已解码三角形的夹角小于所述夹角阈值的三角形,且所述第二目标三角形的一条边与所述待解码三角形的第一边相同。Wherein, the second target triangle is a triangle whose angle with an adjacent decoded triangle is smaller than the angle threshold, and one side of the second target triangle is the same as the first side of the triangle to be decoded.
可选地,本申请实施例的方法,还包括:Optionally, the method of the embodiment of the present application further includes:
根据所述解码信息,获取所述夹角阈值的信息。According to the decoded information, information about the included angle threshold is acquired.
可选地,所述第一空间范围包括:Optionally, the first spatial range includes:
第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待解码三角形的第一边中的目标位置。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be decoded Location.
可选地,本申请实施例的方法,还包括:Optionally, the method of the embodiment of the present application further includes:
根据所述解码信息,获取所述第一空间范围的信息。Acquire information of the first spatial range according to the decoded information.
例如,根据该解码信息,获取上述两个球体的半径信息。For example, according to the decoded information, the radius information of the above two spheres is acquired.
在本申请的一具体实施例中,在解码端先解码几何信息,再根据几何信息解码连接性关系,解码连接性关系的过程可具体包括:In a specific embodiment of the present application, the geometric information is first decoded at the decoding end, and then the connectivity relationship is decoded according to the geometric information. The process of decoding the connectivity relationship may specifically include:
(1)解码初始三角形的顶点,并将初始三角形的边存入边集合中。按照编码器中使用的准则从边集合中取出边τ。若待解码的码字为顶点索引,则直接解码该顶点并将其作为对顶点v。以该顶点v和边τ形成新解码出的三角形,并将该三角形除去边τ外的两条边加入边集合中,以某种规则移除集合中的边τ,如按照队列顶端的准则移除边τ。按某规则取出下一个边并继续解码该边邻接三角形,例如可以取出队列顶部的边作为该规则。(1) Decode the vertices of the initial triangle, and store the edges of the initial triangle into the edge set. Edges τ are taken from the edge set following the criteria used in the encoder. If the codeword to be decoded is a vertex index, then directly decode the vertex and use it as the pair vertex v. Use the vertex v and side τ to form a newly decoded triangle, and add the two sides of the triangle except side τ to the edge set, and remove the edge τ in the set according to a certain rule, such as moving according to the criterion at the top of the queue. Remove the edge τ. Take out the next edge according to a certain rule and continue to decode the adjacent triangle of this edge, for example, you can take the edge at the top of the queue as the rule.
(2)若待解码的码字不为顶点索引,则解码并且确定对顶点v的空间范围。例如解码τ中点的两个同心球半径{Rmin,Rmax},遍历同心球间范围内的所有顶点,筛除与边τ形成的与已解码三角形的夹角小于某角度的新三角 形的所有顶点。(2) If the codeword to be decoded is not a vertex index, decode and determine the spatial range of the vertex v. For example, decode two concentric sphere radii {Rmin, Rmax} at the midpoint of τ, traverse all vertices within the range between concentric spheres, and filter out the new triangle formed with side τ whose angle with the decoded triangle is less than a certain angle all vertices of the shape.
(3)对于对顶点v所在空间范围内的剩余顶点,按照与编码端相同的排序准则对顶点进行排序。解码待解码三角形中的对顶点v对应的序号,并查表得到对顶点v,构建解码三角形。将新解码三角形除去边τ外的两条边加入边集合中,以某种规则移除集合中的边τ,如按照队列顶端的准则移除边τ。按某规则取出下一个边并继续解码该边邻接三角形,例如可以取出队列顶部的边作为该规则。(3) For the remaining vertices within the spatial range where the vertex v is located, sort the vertices according to the same sorting criterion as that of the encoding side. Decode the serial number corresponding to the vertex v in the triangle to be decoded, and look up the table to obtain the vertex v, and construct the decoding triangle. Add the two sides of the newly decoded triangle except side τ to the side set, and remove the side τ in the set according to a certain rule, such as removing side τ according to the criterion at the top of the queue. Take out the next edge according to a certain rule and continue to decode the adjacent triangle of this edge, for example, you can take the edge at the top of the queue as the rule.
对每一个片的码流迭代该解码过程,直到每个片中的三角形都完成解码。最终将片合并为一个完整的网格。The decoding process is iterated for each tile's codestream until the triangles in each tile are decoded. Eventually the pieces are merged into a complete mesh.
本申请实施例的方法,解码端对目标码流进行解码处理,得到解码信息;在解码信息包括目标顶点的排序信息的情况下,所述解码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序;所述解码端根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。本申请实施例中根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,能够有效提高解码效率。In the method of the embodiment of the present application, the decoding end performs decoding processing on the target code stream to obtain decoding information; when the decoding information includes the sorting information of the target vertices, the decoding end performs the decoding according to the space of adjacent triangular patches in the three-dimensional grid. Angle, determine the vertices to be sorted in the first space range, and sort the vertices to be sorted; the decoding end according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, in the to-be-sorted vertices A target vertex of the triangle to be decoded is determined from the sorted vertices. In the embodiment of the present application, some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
本申请实施例提供的编码方法,执行主体可以为编码装置。本申请实施例中以编码装置执行编码方法为例,说明本申请实施例提供的编码装置。The encoding method provided in the embodiment of the present application may be executed by an encoding device. In the embodiment of the present application, the encoding device provided in the embodiment of the present application is described by taking the encoding device executing the encoding method as an example.
如图7所示,本申请实施例还提供了一种编码装置700,包括:As shown in Figure 7, the embodiment of the present application also provides an encoding device 700, including:
第一确定模块701,用于根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;The first determination module 701 is configured to determine the vertices to be sorted in a first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh, and the first spatial range is the triangle to be encoded in the three-dimensional mesh The spatial range where the target vertex is located, and the vertex to be sorted includes the target vertex;
第一获取模块702,用于所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息;The first acquisition module 702 is used for the encoding end to sort the vertices to be sorted to obtain the sorting information of the target vertices;
第二获取模块703,用于所述编码端根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。 The second obtaining module 703 is used for the encoding end to obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertex.
本申请实施例的装置,根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,这样,在对目标顶点的排序信息进行编码时,能够进一步减少该编码信息所占用的比特数,进而有效提高编码效率。The device of the embodiment of the present application excludes some vertices in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and determines the vertices to be sorted based on the excluded vertices, that is, reduces the number of vertices to be sorted In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第一选取模块,用于在三维网格对应的边集合中选取第一边,其中,所述边集合为所述三维网格中已编码三角形的至少一条边的集合;The first selecting module is configured to select a first edge from an edge set corresponding to a three-dimensional grid, wherein the edge set is a set of at least one edge of an encoded triangle in the three-dimensional grid;
第三确定模块,用于根据所述第一边和所述第一边对应的顶点,确定待编码三角形,其中,所述待编码三角形的目标顶点为所述第一边对应的顶点中除与所述第一边连接的两个顶点之外的顶点。The third determination module is used to determine the triangle to be encoded according to the first side and the vertex corresponding to the first side, wherein the target vertex of the triangle to be encoded is the vertex corresponding to the first side divided by Vertices other than the two vertices connected by the first edge.
可选地,所述第一确定模块用于在待编码三角形为预设类别三角形之外的三角形的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点。Optionally, the first determination module is used to determine the triangles within the first space range according to the spatial angles of adjacent triangles in the three-dimensional mesh when the triangle to be encoded is a triangle other than the preset category of triangles. vertices to be sorted.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第五获取模块,用于在所述待编码三角形为预设类别三角形的情况下,根据所述待编码三角形的目标顶点信息对应的编码信息,得到所述待编码三角形的编码信息。The fifth acquisition module is configured to obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the target vertex information of the triangle to be encoded when the triangle to be encoded is a triangle of a preset category.
可选地,所述预设类别三角形包括以下至少一项:Optionally, the preset category triangle includes at least one of the following:
与已编码三角形之间的角度小于预设角度的三角形;The angle between the encoded triangle and the triangle is smaller than the preset angle;
两个顶点重合或三个顶点共线的三角形。A triangle with two vertices coincident or three vertices collinear.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第一更新模块,用于按照第一预设规则,更新所述边集合;A first update module, configured to update the set of edges according to a first preset rule;
第四确定模块,用于根据更新后的边集合,重新确定待编码三角形,直至所述三维网格中的三角形均得到编码信息;The fourth determining module is used to re-determine the triangle to be encoded according to the updated edge set, until all the triangles in the three-dimensional grid obtain encoding information;
其中,所述第一预设规则包括:将所述待编码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the first preset rule includes: adding two sides of the triangle to be encoded except the first side to the side set, and removing the first side from the side set side.
可选地,所述第一确定模块包括: Optionally, the first determination module includes:
第一获取子模块,用于在所述第一空间范围内的顶点中排除第一目标三角形的所有顶点,得到剩余顶点;The first acquisition sub-module is used to exclude all vertices of the first target triangle from the vertices within the first spatial range to obtain the remaining vertices;
第一确定子模块,用于根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;A first determining submodule, configured to determine vertices to be sorted within the first space range according to the remaining vertices;
其中,所述第一目标三角形为与邻接的已编码三角形的夹角小于所述夹角阈值的三角形,且所述第一目标三角形的一条边与所述待编码三角形的第一边相同。Wherein, the first target triangle is a triangle whose included angle with an adjacent encoded triangle is smaller than the included angle threshold, and one side of the first target triangle is the same as the first side of the triangle to be encoded.
可选地,所述待编码三角形的编码信息还包括:所述夹角阈值的编码信息。Optionally, the encoding information of the triangle to be encoded further includes: encoding information of the included angle threshold.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第六获取模块,用于对第二空间范围内的待编码三角形的目标顶点信息进行编码,得到所述待编码三角形的编码信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围。The sixth acquisition module is configured to encode the target vertex information of the triangle to be encoded within a second spatial range to obtain the encoded information of the triangle to be encoded, and the second spatial range is the three-dimensional grid except the first outside the scope of the space.
可选地,所述第一空间范围包括:Optionally, the first spatial range includes:
第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待编码三角形的第一边中的目标位置。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be encoded Location.
可选地,所述待编码三角形的编码信息还包括所述第一空间范围的编码信息。Optionally, the encoding information of the triangle to be encoded further includes encoding information of the first spatial range.
本申请实施例的装置,根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,这样,在对目标顶点的排序信息进行编码时,能够进一步减少该编码信息所占用的比特数,进而有效提高编码效率。The device of the embodiment of the present application excludes some vertices in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and determines the vertices to be sorted based on the excluded vertices, that is, reduces the number of vertices to be sorted In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
本申请实施例中的编码装置可以是电子设备,例如具有操作系统的电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的其他设备可以为服务器、 网络附属存储器(Network Attached Storage,NAS)等,本申请实施例不作具体限定。The encoding device in the embodiment of the present application may be an electronic device, such as an electronic device with an operating system, or a component in the electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal, or other devices other than the terminal. Exemplary other devices can be servers, Network Attached Storage (NAS), etc., are not specifically limited in this embodiment of the present application.
本申请实施例提供的编码装置能够实现图1的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。The encoding device provided by the embodiment of the present application can realize each process realized by the method embodiment in FIG. 1 and achieve the same technical effect. To avoid repetition, details are not repeated here.
可选的,如图8所示,本申请实施例还提供一种通信设备,包括处理器801和存储器802,存储器802上存储有可在所述处理器801上运行的程序或指令,该程序或指令被处理器801执行时实现上述编码方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。Optionally, as shown in FIG. 8 , this embodiment of the present application also provides a communication device, including a processor 801 and a memory 802, and the memory 802 stores programs or instructions that can run on the processor 801. The program Or, when the instruction is executed by the processor 801, each step of the above-mentioned encoding method embodiment can be realized, and the same technical effect can be achieved. To avoid repetition, details are not repeated here.
本申请实施例还提供一种编码装置,包括处理器和通信接口,处理器用于根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;对所述待排序顶点进行排序,得到所述目标顶点的排序信息;根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。该装置实施例与上述编码方法实施例对应,上述方法实施例的各个实施过程和实现方式均可适用于该装置实施例中,且能达到相同的技术效果。具体地,图9为实现本申请实施例的一种编码装置的硬件结构示意图。The embodiment of the present application also provides an encoding device, including a processor and a communication interface, the processor is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the second A spatial range is the spatial range where the target vertices of the triangles to be encoded in the three-dimensional grid are located, and the vertices to be sorted include the target vertices; the vertices to be sorted are sorted to obtain the sorting information of the target vertices ; Obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertex. This device embodiment corresponds to the above-mentioned encoding method embodiment, and each implementation process and implementation mode of the above-mentioned method embodiment can be applied to this device embodiment, and can achieve the same technical effect. Specifically, FIG. 9 is a schematic diagram of a hardware structure of an encoding device implementing an embodiment of the present application.
该编码装置包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909以及处理器910等中的至少部分部件。The coding device includes but not limited to: radio frequency unit 901, network module 902, audio output unit 903, input unit 904, sensor 905, display unit 906, user input unit 907, interface unit 908, memory 909, processor 910, etc. At least some parts.
本领域技术人员可以理解,编码装置还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的装置结构并不构成对装置的限定,装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。Those skilled in the art can understand that the encoding device can also include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 910 through the power management system, so as to manage charging, discharging, and power consumption through the power management system. Management and other functions. The structure of the device shown in FIG. 9 does not constitute a limitation to the device. The device may include more or fewer components than shown in the figure, or combine some components, or arrange different components, which will not be repeated here.
应理解的是,本申请实施例中,输入单元904可以包括图形处理单元(Graphics Processing Unit,GPU)9041和麦克风9042,图形处理器9041对 在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元906可包括显示面板9061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板9061。用户输入单元907包括触控面板9071以及其他输入设备9072中的至少一种。触控面板9071,也称为触摸屏。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。It should be understood that, in the embodiment of the present application, the input unit 904 may include a graphics processing unit (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 Still picture or video image data obtained by an image capture device (such as a camera) in video capture mode or image capture mode is processed. The display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The user input unit 907 includes at least one of a touch panel 9071 and other input devices 9072 . The touch panel 9071 is also called a touch screen. The touch panel 9071 may include two parts, a touch detection device and a touch controller. Other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, and joysticks, which will not be repeated here.
本申请实施例中,射频单元901接收来自网络侧设备的下行数据后,可以传输给处理器910进行处理;另外,射频单元901可以向网络侧设备发送上行数据。通常,射频单元901包括但不限于天线、放大器、收发信机、耦合器、低噪声放大器、双工器等。In the embodiment of the present application, the radio frequency unit 901 may transmit the downlink data from the network side device to the processor 910 for processing after receiving the downlink data; in addition, the radio frequency unit 901 may send the uplink data to the network side device. Generally, the radio frequency unit 901 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
存储器909可用于存储软件程序或指令以及各种数据。存储器909可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器909可以包括易失性存储器或非易失性存储器,或者,存储器909可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器909包括但不限于这些和任意其它适合类型的存储器。 The memory 909 can be used to store software programs or instructions as well as various data. The memory 909 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required by at least one function (such as a sound playing function, image playback function, etc.), etc. Furthermore, memory 909 may include volatile memory or nonvolatile memory, or, memory 909 may include both volatile and nonvolatile memory. Wherein, the non-volatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash. Volatile memory can be random access memory (Random Access Memory, RAM), static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (Synch link DRAM , SLDRAM) and Direct Memory Bus Random Access Memory (Direct Rambus RAM, DRRAM). The memory 909 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
处理器910可包括一个或多个处理单元;可选的,处理器910集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。The processor 910 may include one or more processing units; optionally, the processor 910 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to the operating system, user interface, and application programs, etc., Modem processors mainly process wireless communication signals, such as baseband processors. It can be understood that the foregoing modem processor may not be integrated into the processor 910 .
其中,处理器910,用于根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;对所述待排序顶点进行排序,得到所述目标顶点的排序信息;根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。Wherein, the processor 910 is configured to determine the vertices to be sorted in a first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh, and the first spatial range is the triangle to be encoded in the three-dimensional mesh The spatial range where the target vertices are located, and the vertices to be sorted include the target vertices; sort the vertices to be sorted to obtain the sorting information of the target vertices; according to the coding information corresponding to the sorting information of the target vertices , to obtain the encoding information of the triangle to be encoded.
可选地,所述处理器910,还用于:Optionally, the processor 910 is further configured to:
在三维网格对应的边集合中选取第一边,其中,所述边集合为所述三维网格中已编码三角形的至少一条边的集合;Selecting a first edge from an edge set corresponding to a three-dimensional grid, wherein the edge set is a set of at least one edge of an encoded triangle in the three-dimensional grid;
根据所述第一边和所述第一边对应的顶点,确定待编码三角形,其中,所述待编码三角形的目标顶点为所述第一边对应的顶点中除与所述第一边连接的两个顶点之外的顶点。Determine the triangle to be coded according to the first side and the vertex corresponding to the first side, wherein the target vertex of the triangle to be coded is the vertex corresponding to the first side except the one connected to the first side Vertices other than two vertices.
可选地,所述处理器910,还用于:Optionally, the processor 910 is further configured to:
在待编码三角形为预设类别三角形之外的三角形的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点。In the case that the triangle to be coded is a triangle other than the preset category of triangles, the vertices to be sorted in the first space range are determined according to the spatial angles of adjacent triangle patches in the three-dimensional mesh.
可选地,所述处理器910,还用于:Optionally, the processor 910 is further configured to:
在所述待编码三角形为预设类别三角形的情况下,根据所述待编码三角形的目标顶点信息对应的编码信息,得到所述待编码三角形的编码信息。In the case that the triangle to be encoded is a triangle of a preset category, the encoding information of the triangle to be encoded is obtained according to the encoding information corresponding to the target vertex information of the triangle to be encoded.
可选地,所述预设类别三角形包括以下至少一项:Optionally, the preset category triangle includes at least one of the following:
与已编码三角形之间的角度小于预设角度的三角形;The angle between the encoded triangle and the triangle is smaller than the preset angle;
两个顶点重合或三个顶点共线的三角形。A triangle with two vertices coincident or three vertices collinear.
可选地,所述处理器910,还用于:Optionally, the processor 910 is further configured to:
所述编码端按照第一预设规则,更新所述边集合;The encoder updates the edge set according to a first preset rule;
所述编码端根据更新后的边集合,重新确定待编码三角形,直至所述三 维网格中的三角形均得到编码信息;The encoding end re-determines the triangle to be encoded according to the updated edge set until the three All the triangles in the three-dimensional grid get encoded information;
其中,所述第一预设规则包括:将所述待编码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the first preset rule includes: adding two sides of the triangle to be encoded except the first side to the side set, and removing the first side from the side set side.
可选地,所述处理器910,还用于:Optionally, the processor 910 is further configured to:
所述编码端在所述第一空间范围内的顶点中排除第一目标三角形的所有顶点,得到剩余顶点;The encoding end excludes all vertices of the first target triangle from the vertices within the first space range to obtain the remaining vertices;
所述编码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;The encoding end determines vertices to be sorted in the first space range according to the remaining vertices;
其中,所述第一目标三角形为与邻接的已编码三角形的夹角小于所述夹角阈值的三角形,且所述第一目标三角形的一条边与所述待编码三角形的第一边相同。Wherein, the first target triangle is a triangle whose included angle with an adjacent encoded triangle is smaller than the included angle threshold, and one side of the first target triangle is the same as the first side of the triangle to be encoded.
可选地,三角形的编码信息还包括:所述夹角阈值的编码信息。Optionally, the encoding information of the triangle further includes: encoding information of the included angle threshold.
可选地,所述处理器910,还用于:Optionally, the processor 910 is further configured to:
对第二空间范围内的待编码三角形的目标顶点信息进行编码,得到所述待编码三角形的编码信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围。Encoding the target vertex information of the triangle to be encoded within a second spatial range to obtain the encoded information of the triangle to be encoded, where the second spatial range is a range in the three-dimensional grid other than the first spatial range.
可选地,所述第一空间范围包括:Optionally, the first spatial range includes:
第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待编码三角形的第一边中的目标位置。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be encoded Location.
可选地,所述待编码三角形的编码信息还包括所述第一空间范围的编码信息。Optionally, the encoding information of the triangle to be encoded further includes encoding information of the first spatial range.
本申请实施例中,根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,这样,在对目标顶点的排序信息进行编码时,能够进一步减少该编码信息所占用的比特数,进而有效提高编码效率。In the embodiment of the present application, according to the spatial angles of adjacent triangular faces in the three-dimensional grid, some vertices are excluded in the first space range, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced. In this way, when encoding the sorting information of the target vertex, the number of bits occupied by the encoding information can be further reduced, thereby effectively improving the encoding efficiency.
本申请实施例提供的解码方法,执行主体可以为解码装置。本申请实施 例中以解码装置执行解码方法为例,说明本申请实施例提供的解码装置。The decoding method provided in the embodiment of the present application may be executed by a decoding device. Implementation of this application In the example, the decoding device executed by the decoding device is taken as an example to describe the decoding device provided in the embodiment of the present application.
如图10所示,本申请实施例提供了一种解码装置1000,包括:As shown in Figure 10, the embodiment of the present application provides a decoding device 1000, including:
第三获取模块1001,用于对目标码流进行解码处理,得到解码信息;The third acquisition module 1001 is used to decode the target code stream to obtain decoding information;
第四获取模块1002,用于在解码信息包括目标顶点的排序信息的情况下,所述解码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;The fourth acquisition module 1002 is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh when the decoding information includes the sorting information of the target vertices , and sort the vertices to be sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted within the first space range, and the first space range is the triangle to be decoded in the three-dimensional mesh The spatial range of the target vertex of ;
第二确定模块1003,用于根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。The second determination module 1003 is configured to determine, among the vertices to be sorted, the target vertex of the triangle to be decoded according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第五确定模块,用于在所述解码信息包括所述目标顶点的顶点信息的情况下,则所述解码端根据所述顶点信息确定所述待解码三角形的目标顶点。The fifth determining module is configured to determine, by the decoding end, the target vertex of the triangle to be decoded according to the vertex information when the decoding information includes vertex information of the target vertex.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第七获取模块,用于根据所述解码信息,获取第二空间范围内的待解码三角形的目标顶点信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围;A seventh acquisition module, configured to acquire target vertex information of a triangle to be decoded within a second spatial range according to the decoding information, and the second spatial range is a range in the three-dimensional grid other than the first spatial range ;
第六确定模块,用于根据所述目标顶点信息,确定所述待解码三角形的目标顶点。A sixth determining module, configured to determine the target vertex of the triangle to be decoded according to the target vertex information.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第七确定模块,用于根据所述目标顶点和所述待解码三角形的第一边,确定所述待解码三角形;A seventh determining module, configured to determine the triangle to be decoded according to the target vertex and the first side of the triangle to be decoded;
其中,所述第一边为所述解码端在三维网格对应的边集合中选取的,所述边集合为所述三维网格中已解码三角形的至少一条边的集合。Wherein, the first edge is selected by the decoding end from an edge set corresponding to the three-dimensional mesh, and the edge set is a set of at least one edge of a decoded triangle in the three-dimensional mesh.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第二更新模块,用于按照第二预设规则,更新所述边集合;A second updating module, configured to update the set of edges according to a second preset rule;
第八确定模块,用于根据更新后的边集合,重新确定第一边,直至确定 所述三维网格中的每个三角形;The eighth determining module is used to re-determine the first edge according to the updated edge set until the each triangle in the three-dimensional mesh;
其中,所述第二预设规则包括:将所述待解码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the second preset rule includes: adding two sides of the triangle to be decoded except the first side to the set of sides, and removing the first side from the set of sides. side.
可选地,所述第二确定模块包括:Optionally, the second determination module includes:
第二获取子模块,用于在所述第一空间范围内的顶点中排除第二目标三角形的所有顶点,得到剩余顶点;The second acquisition sub-module is used to exclude all vertices of the second target triangle from the vertices within the first spatial range to obtain the remaining vertices;
第二确定子模块,用于根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;The second determination submodule is configured to determine the vertices to be sorted within the first space range according to the remaining vertices;
其中,所述第二目标三角形为与邻接的已解码三角形的夹角小于所述夹角阈值的三角形,且所述第二目标三角形的一条边与所述待解码三角形的第一边相同。Wherein, the second target triangle is a triangle whose angle with an adjacent decoded triangle is smaller than the angle threshold, and one side of the second target triangle is the same as the first side of the triangle to be decoded.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第八获取模块,用于根据所述解码信息,获取所述夹角阈值的信息。An eighth acquiring module, configured to acquire the information of the included angle threshold according to the decoded information.
可选地,所述第一空间范围包括:Optionally, the first spatial range includes:
第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待解码三角形的第一边中的目标位置。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be decoded Location.
可选地,本申请实施例的装置,还包括:Optionally, the device of the embodiment of the present application further includes:
第九获取模块,用于根据所述解码信息,获取所述第一空间范围的信息。A ninth obtaining module, configured to obtain information of the first spatial range according to the decoded information.
本申请实施例中,对目标码流进行解码处理,得到解码信息;在解码信息包括目标顶点的排序信息的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序;根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。本申请实施例中根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,能够有效提高解码 效率。In the embodiment of the present application, the target code stream is decoded to obtain the decoded information; when the decoded information includes the sorting information of the target vertices, the first space is determined according to the spatial angles of adjacent triangular patches in the three-dimensional grid. Vertices to be sorted within the range, and sort the vertices to be sorted; according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, determine the target of the triangle to be decoded among the vertices to be sorted vertex. In the embodiment of the present application, some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
本申请实施例提供的解码装置能够实现图5的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。The decoding device provided by the embodiment of the present application can realize each process realized by the method embodiment in FIG. 5 and achieve the same technical effect. To avoid repetition, details are not repeated here.
可选的,本申请实施例还提供一种通信设备(其结构示意可参见图8),包括处理器801和存储器802,存储器802上存储有可在所述处理器801上运行的程序或指令,该程序或指令被处理器801执行时实现上述解码方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。Optionally, the embodiment of the present application also provides a communication device (see FIG. 8 for its structural diagram), including a processor 801 and a memory 802, and the memory 802 stores programs or instructions that can run on the processor 801. , when the program or instruction is executed by the processor 801, each step of the above embodiment of the decoding method can be realized, and the same technical effect can be achieved, so to avoid repetition, details are not repeated here.
本申请实施例还提供一种解码装置,包括处理器和通信接口,处理器用于对目标码流进行解码处理,得到解码信息;;在解码信息包括目标顶点的排序信息的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。The embodiment of the present application also provides a decoding device, including a processor and a communication interface, and the processor is used to decode the target code stream to obtain decoded information; when the decoded information includes the sorting information of the target vertices, according to the three-dimensional network The spatial angles of adjacent triangular faces in the lattice, determine the vertices to be sorted in the first space range, and sort the vertices to be sorted, wherein the sorting information is that the target vertex is in the first space range The sequence numbers in the vertices to be sorted, the first spatial range is the spatial range where the target vertices of the triangles to be decoded in the three-dimensional mesh are located; according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, in the Determine the target vertex of the triangle to be decoded from the vertices to be sorted.
本申请实施例还提供了一种解码装置,其硬件结构示意图可参见图9。该解码装置包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909以及处理器910等中的至少部分部件。The embodiment of the present application also provides a decoding device, and its hardware structure diagram can be referred to FIG. 9 . The decoding device includes but not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910, etc. At least some parts.
本领域技术人员可以理解,解码装置还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的装置结构并不构成对装置的限定,装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。Those skilled in the art can understand that the decoding device can also include a power supply (such as a battery) for supplying power to each component, and the power supply can be logically connected to the processor 910 through the power management system, so as to manage charging, discharging, and power consumption through the power management system. Management and other functions. The structure of the device shown in FIG. 9 does not constitute a limitation to the device. The device may include more or fewer components than shown in the figure, or combine some components, or arrange different components, which will not be repeated here.
应理解的是,本申请实施例中,输入单元904可以包括图形处理单元(Graphics Processing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态 图片或视频的图像数据进行处理。显示单元906可包括显示面板9061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板9061。用户输入单元907包括触控面板9071以及其他输入设备9072中的至少一种。触控面板9071,也称为触摸屏。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。It should be understood that, in this embodiment of the present application, the input unit 904 may include a graphics processing unit (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 is used in the video capture mode or the image capture mode by the image capture device ( Such as the static image obtained by the camera) The image data of pictures or videos is processed. The display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The user input unit 907 includes at least one of a touch panel 9071 and other input devices 9072 . The touch panel 9071 is also called a touch screen. The touch panel 9071 may include two parts, a touch detection device and a touch controller. Other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, and joysticks, which will not be repeated here.
本申请实施例中,射频单元901接收来自网络侧设备的下行数据后,可以传输给处理器910进行处理;另外,射频单元901可以向网络侧设备发送上行数据。通常,射频单元901包括但不限于天线、放大器、收发信机、耦合器、低噪声放大器、双工器等。In the embodiment of the present application, the radio frequency unit 901 may transmit the downlink data from the network side device to the processor 910 for processing after receiving the downlink data; in addition, the radio frequency unit 901 may send the uplink data to the network side device. Generally, the radio frequency unit 901 includes, but is not limited to, an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
存储器909可用于存储软件程序或指令以及各种数据。存储器909可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器909可以包括易失性存储器或非易失性存储器,或者,存储器909可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器909包括但不限于这些和任意其它适合类型的存储器。The memory 909 can be used to store software programs or instructions as well as various data. The memory 909 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instructions required by at least one function (such as a sound playing function, image playback function, etc.), etc. Furthermore, memory 909 may include volatile memory or nonvolatile memory, or, memory 909 may include both volatile and nonvolatile memory. Among them, the non-volatile memory can be read-only memory (Read-Only Memory, ROM), programmable read-only memory (Programmable ROM, PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electronically programmable Erase Programmable Read-Only Memory (Electrically EPROM, EEPROM) or Flash. Volatile memory can be random access memory (Random Access Memory, RAM), static random access memory (Static RAM, SRAM), dynamic random access memory (Dynamic RAM, DRAM), synchronous dynamic random access memory (Synchronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (Double Data Rate SDRAM, DDRSDRAM), enhanced synchronous dynamic random access memory (Enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (Synch link DRAM , SLDRAM) and Direct Memory Bus Random Access Memory (Direct Rambus RAM, DRRAM). The memory 909 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
处理器910可包括一个或多个处理单元;可选的,处理器910集成应用 处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。The processor 910 may include one or more processing units; optionally, the processor 910 integrates application A processor and a modem processor, wherein the application processor mainly deals with operations related to the operating system, user interface, and application programs, and the modem processor mainly deals with wireless communication signals, such as a baseband processor. It can be understood that the foregoing modem processor may not be integrated into the processor 910 .
其中,处理器910,用于;在解码信息包括目标顶点的排序信息的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。Wherein, the processor 910 is configured to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh when the decoding information includes the sorting information of the target vertices, and The vertices to be sorted are sorted, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted within the first space range, and the first space range is the target vertex of the triangle to be decoded in the three-dimensional mesh The spatial range where the target vertex of the triangle to be decoded is determined among the vertices to be sorted according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
可选地,所述处理器910还用于:Optionally, the processor 910 is further configured to:
在所述解码信息包括所述目标顶点的顶点信息的情况下,则所述解码端根据所述顶点信息确定所述待解码三角形的目标顶点。If the decoding information includes vertex information of the target vertex, the decoding end determines the target vertex of the triangle to be decoded according to the vertex information.
可选地,所述处理器910还用于:Optionally, the processor 910 is further configured to:
根据所述解码信息,获取第二空间范围内的待解码三角形的目标顶点信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围;Acquiring target vertex information of triangles to be decoded within a second spatial range according to the decoding information, where the second spatial range is a range in the three-dimensional grid other than the first spatial range;
根据所述目标顶点信息,确定所述待解码三角形的目标顶点。Determine the target vertex of the triangle to be decoded according to the target vertex information.
可选地,所述处理器910还用于:Optionally, the processor 910 is further configured to:
所述解码端根据所述目标顶点和所述待解码三角形的第一边,确定所述待解码三角形;The decoding end determines the triangle to be decoded according to the target vertex and the first side of the triangle to be decoded;
其中,所述第一边为所述解码端在三维网格对应的边集合中选取的,所述边集合为所述三维网格中已解码三角形的至少一条边的集合。Wherein, the first edge is selected by the decoding end from an edge set corresponding to the three-dimensional mesh, and the edge set is a set of at least one edge of a decoded triangle in the three-dimensional mesh.
可选地,所述处理器910还用于:Optionally, the processor 910 is further configured to:
所述解码端按照第二预设规则,更新所述边集合;The decoder updates the edge set according to a second preset rule;
所述解码端根据更新后的边集合,重新确定第一边,直至确定所述三维网格中的每个三角形;The decoding end re-determines the first edge according to the updated edge set until each triangle in the three-dimensional mesh is determined;
其中,所述第二预设规则包括:将所述待解码三角形除所述第一边之外 的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the second preset rule includes: removing the triangle to be decoded from the first side The two edges of are added to the edge set, and the first edge is removed from the edge set.
可选地,所述处理器910还用于:Optionally, the processor 910 is further configured to:
在所述第一空间范围内的顶点中排除第二目标三角形的所有顶点,得到剩余顶点;Excluding all the vertices of the second target triangle from the vertices within the first space range to obtain the remaining vertices;
根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;According to the remaining vertices, determine the vertices to be sorted in the first spatial range;
其中,所述第二目标三角形为与邻接的已解码三角形的夹角小于所述夹角阈值的三角形,且所述第二目标三角形的一条边与所述待解码三角形的第一边相同。Wherein, the second target triangle is a triangle whose angle with an adjacent decoded triangle is smaller than the angle threshold, and one side of the second target triangle is the same as the first side of the triangle to be decoded.
可选地,所述处理器910还用于:Optionally, the processor 910 is further configured to:
根据所述解码信息,获取所述夹角阈值的信息。According to the decoded information, information about the included angle threshold is acquired.
可选地,所述第一空间范围包括:Optionally, the first spatial range includes:
第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待解码三角形的第一边中的目标位置。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be decoded Location.
可选地,所述处理器910还用于:Optionally, the processor 910 is further configured to:
根据所述解码信息,获取所述第一空间范围的信息。Acquire information of the first spatial range according to the decoded information.
本申请实施例中,对目标码流进行解码处理,得到解码信息;在解码信息包括目标顶点的排序信息的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序;根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。本申请实施例中根据三维网格中相邻三角面片的空间夹角,在第一空间范围内排除了部分顶点,并基于排除后的顶点确定待排序顶点,即减少了待排序顶点的数量,能够有效提高解码效率。In the embodiment of the present application, the target code stream is decoded to obtain the decoded information; when the decoded information includes the sorting information of the target vertices, the first space is determined according to the spatial angles of adjacent triangular patches in the three-dimensional grid. Vertices to be sorted within the range, and sort the vertices to be sorted; according to the sorting results of the vertices to be sorted and the sorting information of the target vertices, determine the target of the triangle to be decoded among the vertices to be sorted vertex. In the embodiment of the present application, some vertices are excluded in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional grid, and the vertices to be sorted are determined based on the excluded vertices, that is, the number of vertices to be sorted is reduced , which can effectively improve the decoding efficiency.
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述编码方法或解码方法实施 例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。The embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the above-mentioned encoding method or decoding method is implemented. Each process of the example, and can achieve the same technical effect, in order to avoid repetition, will not repeat them here.
其中,所述处理器为上述实施例中所述的装置中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。Wherein, the processor is the processor in the device described in the foregoing embodiments. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory ROM, a random access memory RAM, a magnetic disk or an optical disk, and the like.
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述编码方法或解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。The embodiment of the present application further provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the above encoding method or decoding method Each process of the example, and can achieve the same technical effect, in order to avoid repetition, will not repeat them here.
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。It should be understood that the chip mentioned in the embodiment of the present application may also be called a system-on-chip, a system-on-chip, a system-on-a-chip, or a system-on-a-chip.
本申请实施例另提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现上述编码方法或解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。The embodiment of the present application further provides a computer program/program product, the computer program/program product is stored in a storage medium, and the computer program/program product is executed by at least one processor to implement the above encoding method or decoding method The various processes of the embodiment can achieve the same technical effect, so in order to avoid repetition, details are not repeated here.
本申请实施例还提供了一种编解码系统,包括:编码装置或解码装置,所述编码装置可用于执行如上所述的编码方法的步骤,所述解码装置可用于执行如上所述的解码方法的步骤。The embodiment of the present application also provides a codec system, including: an encoding device or a decoding device, the encoding device can be used to perform the steps of the encoding method described above, and the decoding device can be used to perform the decoding method described above A step of.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被 组合。It should be noted that, in this document, the term "comprising", "comprising" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a set of elements includes not only those elements, It also includes other elements not expressly listed, or elements inherent in the process, method, article, or device. Without further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, article, or apparatus comprising that element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved. Functions are performed, for example, the described methods may be performed in an order different from that described, and various steps may also be added, omitted, or combined. Additionally, features described with reference to certain examples may be implemented in other examples combination.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation. Based on such an understanding, the technical solution of the present application can be embodied in the form of computer software products, which are stored in a storage medium (such as ROM/RAM, magnetic disk, etc.) , CD-ROM), including several instructions to make a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) execute the methods described in the various embodiments of the present application.
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。 The embodiments of the present application have been described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementations. The above-mentioned specific implementations are only illustrative and not restrictive. Those of ordinary skill in the art will Under the inspiration of this application, without departing from the purpose of this application and the scope of protection of the claims, many forms can also be made, all of which belong to the protection of this application.

Claims (25)

  1. 一种编码方法,包括:An encoding method comprising:
    编码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;The encoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangle patches in the three-dimensional grid, and the first space range is the space where the target vertices of the triangles to be encoded in the three-dimensional grid are located range, and the vertex to be sorted includes the target vertex;
    所述编码端对所述待排序顶点进行排序,得到所述目标顶点的排序信息;The encoding end sorts the vertices to be sorted to obtain the sorting information of the target vertices;
    所述编码端根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。The encoding end obtains the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertices.
  2. 根据权利要求1所述的方法,其中,所述编码端确定第一空间范围之前,还包括:The method according to claim 1, wherein, before the encoding end determines the first spatial range, further comprising:
    所述编码端在三维网格对应的边集合中选取第一边,其中,所述边集合为所述三维网格中已编码三角形的至少一条边的集合;The encoding end selects a first edge from an edge set corresponding to a three-dimensional grid, wherein the edge set is a set of at least one edge of an encoded triangle in the three-dimensional grid;
    所述编码端根据所述第一边和所述第一边对应的顶点,确定待编码三角形,其中,所述待编码三角形的目标顶点为所述第一边对应的顶点中除与所述第一边连接的两个顶点之外的顶点。The encoding end determines the triangle to be encoded according to the first side and the vertex corresponding to the first side, wherein the target vertex of the triangle to be encoded is the vertex corresponding to the first side divided by the vertex corresponding to the first side Vertices other than the two vertices connected by one side.
  3. 根据权利要求2所述的方法,其中,所述编码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:The method according to claim 2, wherein the encoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh, including:
    所述编码端在待编码三角形为预设类别三角形之外的三角形的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点。The encoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangle patches in the three-dimensional mesh when the triangle to be encoded is a triangle other than the preset category of triangles.
  4. 根据权利要求2所述的方法,其中,还包括:The method according to claim 2, further comprising:
    所述编码端在所述待编码三角形为预设类别三角形的情况下,根据所述待编码三角形的目标顶点信息对应的编码信息,得到所述待编码三角形的编码信息。The encoding end obtains the encoding information of the triangle to be encoded according to the encoding information corresponding to the target vertex information of the triangle to be encoded when the triangle to be encoded is a triangle of a preset category.
  5. 根据权利要求3或4所述的方法,其中,所述预设类别三角形包括以下至少一项:The method according to claim 3 or 4, wherein the preset category triangles include at least one of the following:
    与已编码三角形之间的角度小于预设角度的三角形;The angle between the encoded triangle and the triangle is smaller than the preset angle;
    两个顶点重合或三个顶点共线的三角形。 A triangle with two vertices coincident or three vertices collinear.
  6. 根据权利要求3或4所述的方法,其中,所述得到所述待编码三角形的编码信息之后,所述方法还包括:The method according to claim 3 or 4, wherein, after obtaining the encoding information of the triangle to be encoded, the method further comprises:
    所述编码端按照第一预设规则,更新所述边集合;The encoder updates the edge set according to a first preset rule;
    所述编码端根据更新后的边集合,重新确定待编码三角形,直至所述三维网格中的三角形均得到编码信息;The encoding end re-determines the triangle to be encoded according to the updated edge set, until all the triangles in the three-dimensional grid obtain encoding information;
    其中,所述第一预设规则包括:将所述待编码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the first preset rule includes: adding two sides of the triangle to be encoded except the first side to the side set, and removing the first side from the side set side.
  7. 根据权利要求1所述的方法,其中,所述编码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:The method according to claim 1, wherein the encoding end determines the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh, including:
    所述编码端在所述第一空间范围内的顶点中排除第一目标三角形的所有顶点,得到剩余顶点;The encoding end excludes all vertices of the first target triangle from the vertices within the first space range to obtain the remaining vertices;
    所述编码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;The encoding end determines vertices to be sorted in the first space range according to the remaining vertices;
    其中,所述第一目标三角形为与邻接的已编码三角形的夹角小于夹角阈值的三角形,且所述第一目标三角形的一条边与所述待编码三角形的第一边相同。Wherein, the first target triangle is a triangle whose included angle with an adjacent encoded triangle is smaller than an included angle threshold, and one side of the first target triangle is the same as the first side of the triangle to be encoded.
  8. 根据权利要求7所述的方法,其中,所述待编码三角形的编码信息还包括:所述夹角阈值的编码信息。The method according to claim 7, wherein the encoding information of the triangle to be encoded further includes: encoding information of the included angle threshold.
  9. 根据权利要求1所述的方法,其中,还包括:The method according to claim 1, further comprising:
    对第二空间范围内的待编码三角形的目标顶点信息进行编码,得到所述待编码三角形的编码信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围。Encoding the target vertex information of the triangle to be encoded within a second spatial range to obtain the encoded information of the triangle to be encoded, where the second spatial range is a range in the three-dimensional grid other than the first spatial range.
  10. 根据权利要求1所述的方法,其中,所述第一空间范围包括:The method according to claim 1, wherein the first spatial extent comprises:
    第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
    其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待编码三角形的第一边中的目标位置。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be encoded Location.
  11. 根据权利要求1所述的方法,其中,所述待编码三角形的编码信息还包括所述第一空间范围的编码信息。The method according to claim 1, wherein the encoding information of the triangle to be encoded further includes encoding information of the first spatial range.
  12. 一种解码方法,包括: A decoding method comprising:
    解码端对目标码流进行解码处理,得到解码信息;The decoding end decodes the target code stream to obtain decoding information;
    在解码信息包括目标顶点的排序信息的情况下,所述解码端根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;When the decoding information includes the ordering information of the target vertices, the decoding end determines the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular patches in the three-dimensional mesh, and the vertices to be sorted Sorting, wherein the sorting information is the sequence number of the target vertex in the vertices to be sorted within the first spatial range, and the first spatial range is the spatial range where the target vertex of the triangle to be decoded in the three-dimensional mesh is located;
    所述解码端根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。The decoding end determines the target vertex of the triangle to be decoded among the vertices to be sorted according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
  13. 根据权利要求12所述的方法,其中,还包括:The method according to claim 12, further comprising:
    在所述解码信息包括所述目标顶点的顶点信息的情况下,则所述解码端根据所述顶点信息确定所述待解码三角形的目标顶点。If the decoding information includes vertex information of the target vertex, the decoding end determines the target vertex of the triangle to be decoded according to the vertex information.
  14. 根据权利要求12所述的方法,其中,还包括:The method according to claim 12, further comprising:
    根据所述解码信息,获取第二空间范围内的待解码三角形的目标顶点信息,所述第二空间范围为所述三维网格中除第一空间范围之外的范围;Acquiring target vertex information of triangles to be decoded within a second spatial range according to the decoding information, where the second spatial range is a range in the three-dimensional grid other than the first spatial range;
    根据所述目标顶点信息,确定所述待解码三角形的目标顶点。Determine the target vertex of the triangle to be decoded according to the target vertex information.
  15. 根据权利要求12、13或14所述的方法,其中,所述解码端确定所述待解码三角形的目标顶点之后,还包括:The method according to claim 12, 13 or 14, wherein, after the decoding end determines the target vertex of the triangle to be decoded, further comprising:
    所述解码端根据所述目标顶点和所述待解码三角形的第一边,确定所述待解码三角形;The decoding end determines the triangle to be decoded according to the target vertex and the first side of the triangle to be decoded;
    其中,所述第一边为所述解码端在三维网格对应的边集合中选取的,所述边集合为所述三维网格中已解码三角形的至少一条边的集合。Wherein, the first edge is selected by the decoding end from an edge set corresponding to the three-dimensional mesh, and the edge set is a set of at least one edge of a decoded triangle in the three-dimensional mesh.
  16. 根据权利要求15所述的方法,其中,所述解码端确定所述待解码三角形之后,还包括:The method according to claim 15, wherein, after the decoding end determines the triangle to be decoded, further comprising:
    所述解码端按照第二预设规则,更新所述边集合;The decoding end updates the edge set according to a second preset rule;
    所述解码端根据更新后的边集合,重新确定第一边,直至确定所述三维网格中的每个三角形;The decoding end re-determines the first edge according to the updated edge set until each triangle in the three-dimensional mesh is determined;
    其中,所述第二预设规则包括:将所述待解码三角形除所述第一边之外的两条边加入至所述边集合中,并在所述边集合中移除所述第一边。Wherein, the second preset rule includes: adding two sides of the triangle to be decoded except the first side to the set of sides, and removing the first side from the set of sides. side.
  17. 根据权利要求12所述的方法,其中,所述解码端根据三维网格中相 邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,包括:The method according to claim 12, wherein the decoding end according to the phase in the three-dimensional grid The space angle between adjacent triangular faces determines the vertices to be sorted within the first space range, including:
    所述解码端在所述第一空间范围内的顶点中排除第二目标三角形的所有顶点,得到剩余顶点;The decoding end excludes all vertices of the second target triangle from the vertices within the first spatial range to obtain the remaining vertices;
    所述解码端根据所述剩余顶点,确定所述第一空间范围内的待排序顶点;The decoding end determines vertices to be sorted in the first space range according to the remaining vertices;
    其中,所述第二目标三角形为与邻接的已解码三角形的夹角小于夹角阈值的三角形,且所述第二目标三角形的一条边与所述待解码三角形的第一边相同。Wherein, the second target triangle is a triangle whose included angle with an adjacent decoded triangle is smaller than an included angle threshold, and one side of the second target triangle is the same as the first side of the triangle to be decoded.
  18. 根据权利要求17所述的方法,其中,还包括:The method according to claim 17, further comprising:
    根据所述解码信息,获取所述夹角阈值的信息。According to the decoded information, information about the included angle threshold is acquired.
  19. 根据权利要求12所述的方法,其中,所述第一空间范围包括:The method of claim 12, wherein the first spatial extent comprises:
    第一球体和第二球体之间的空间范围;the spatial extent between the first sphere and the second sphere;
    其中,所述第一球体和第二球体的球心相同,所述第一球体的半径和所述第二球体的半径不同,所述球心为所述待解码三角形的第一边中的目标位置。Wherein, the center of the first sphere and the second sphere are the same, the radius of the first sphere is different from the radius of the second sphere, and the center of the sphere is the target in the first side of the triangle to be decoded Location.
  20. 根据权利要求12或19所述的方法,其中,还包括:The method according to claim 12 or 19, further comprising:
    根据所述解码信息,获取所述第一空间范围的信息。Acquire information of the first spatial range according to the decoded information.
  21. 一种编码装置,包括:An encoding device comprising:
    第一确定模块,用于根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,所述第一空间范围为所述三维网格中待编码三角形的目标顶点所在的空间范围,且所述待排序顶点包括所述目标顶点;The first determination module is used to determine the vertices to be sorted in the first spatial range according to the spatial angles of adjacent triangular patches in the three-dimensional grid, and the first spatial range is the triangle to be encoded in the three-dimensional grid The spatial range where the target vertex is located, and the vertices to be sorted include the target vertex;
    第一获取模块,用于对所述待排序顶点进行排序,得到所述目标顶点的排序信息;A first acquisition module, configured to sort the vertices to be sorted, and obtain the sorting information of the target vertices;
    第二获取模块,用于根据所述目标顶点的排序信息对应的编码信息,得到所述待编码三角形的编码信息。The second acquiring module is configured to obtain the encoding information of the triangle to be encoded according to the encoding information corresponding to the sorting information of the target vertices.
  22. 一种解码装置,包括:A decoding device, comprising:
    第三获取模块,用于对目标码流进行解码处理,得到解码信息;The third acquisition module is used to decode the target code stream to obtain decoding information;
    第四获取模块,用于在解码信息包括目标顶点的排序信息的情况下,根据三维网格中相邻三角面片的空间夹角,确定第一空间范围内的待排序顶点,并对所述待排序顶点进行排序,其中,所述排序信息为所述目标顶点在第一 空间范围内的待排序顶点中的序号,所述第一空间范围为三维网格中待解码三角形的目标顶点所在的空间范围;The fourth acquisition module is used to determine the vertices to be sorted in the first space range according to the spatial angles of adjacent triangular faces in the three-dimensional mesh when the decoding information includes the sorting information of the target vertices, and to the The vertices to be sorted are sorted, wherein the sorting information is that the target vertex is in the first The serial numbers in the vertices to be sorted in the spatial range, the first spatial range is the spatial range where the target vertex of the triangle to be decoded is located in the three-dimensional grid;
    第二确定模块,用于根据所述待排序顶点的排序结果和所述目标顶点的排序信息,在所述待排序顶点中确定所述待解码三角形的目标顶点。The second determination module is configured to determine, among the vertices to be sorted, the target vertex of the triangle to be decoded according to the sorting result of the vertices to be sorted and the sorting information of the target vertex.
  23. 一种通信设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至11任一项所述的编码方法的步骤,或实现如权利要求12至20任一项所述的解码方法的步骤。A communication device, comprising a processor and a memory, the memory stores programs or instructions that can run on the processor, and when the programs or instructions are executed by the processor, any one of claims 1 to 11 is implemented The steps of the encoding method, or the steps of the decoding method according to any one of claims 12 to 20.
  24. 一种通信设备,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至11任一项所述的编码方法的步骤,或实现如权利要求12至20任一项所述的解码方法的步骤。A communication device, comprising a processor and a memory, the memory stores programs or instructions that can run on the processor, and when the programs or instructions are executed by the processor, any one of claims 1 to 11 is implemented The steps of the encoding method, or the steps of the decoding method according to any one of claims 12 to 20.
  25. 一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至11任一项所述的编码方法的步骤,或实现如权利要求12至20任一项所述的解码方法的步骤。 A readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, the steps of the encoding method according to any one of claims 1 to 11 are realized, or the steps of the encoding method as described in any one of claims 1 to 11 are realized, or The steps of the decoding method described in any one of claims 12 to 20.
PCT/CN2023/075953 2022-02-18 2023-02-14 Encoding method, decoding method, apparatus, and communication device WO2023155779A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210163353.8 2022-02-18
CN202210163353.8A CN116668703A (en) 2022-02-18 2022-02-18 Encoding method, decoding method, device and communication equipment

Publications (1)

Publication Number Publication Date
WO2023155779A1 true WO2023155779A1 (en) 2023-08-24

Family

ID=87577539

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/075953 WO2023155779A1 (en) 2022-02-18 2023-02-14 Encoding method, decoding method, apparatus, and communication device

Country Status (2)

Country Link
CN (1) CN116668703A (en)
WO (1) WO2023155779A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006187015A (en) * 1998-10-02 2006-07-13 Samsung Electronics Co Ltd Progressive three-dimensional mesh information coding/decoding method, and apparatus therefor
CN101354788A (en) * 2008-08-20 2009-01-28 大连民族学院 One-dimensional nondestructive geometric compressing method of three-dimensional grid model
CN101626509A (en) * 2009-08-10 2010-01-13 北京工业大学 Methods and devices for encoding and decoding three dimensional grids
US20110285708A1 (en) * 2009-02-06 2011-11-24 Qu Qing Chen Method and apparatus for encoding 3d mesh models, and method and apparatus for decoding encoded 3d mesh models
CN104243958A (en) * 2014-09-29 2014-12-24 联想(北京)有限公司 Coding method, decoding method, coding device and decoding device for three-dimensional grid data
CN113806456A (en) * 2020-06-16 2021-12-17 华为技术有限公司 Mesh coding method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006187015A (en) * 1998-10-02 2006-07-13 Samsung Electronics Co Ltd Progressive three-dimensional mesh information coding/decoding method, and apparatus therefor
CN101354788A (en) * 2008-08-20 2009-01-28 大连民族学院 One-dimensional nondestructive geometric compressing method of three-dimensional grid model
US20110285708A1 (en) * 2009-02-06 2011-11-24 Qu Qing Chen Method and apparatus for encoding 3d mesh models, and method and apparatus for decoding encoded 3d mesh models
CN102308318A (en) * 2009-02-06 2012-01-04 汤姆森特许公司 Method and apparatus for encoding 3d mesh models, and method and apparatus for decoding encoded 3d mesh models
CN101626509A (en) * 2009-08-10 2010-01-13 北京工业大学 Methods and devices for encoding and decoding three dimensional grids
CN104243958A (en) * 2014-09-29 2014-12-24 联想(北京)有限公司 Coding method, decoding method, coding device and decoding device for three-dimensional grid data
CN113806456A (en) * 2020-06-16 2021-12-17 华为技术有限公司 Mesh coding method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Master's Thesis", 1 January 2007, XI'AN UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY, CN, article WANG, JINLONG: "Research of 3-D Mesh Models Compression", pages: 1 - 55, XP009548267 *

Also Published As

Publication number Publication date
CN116668703A (en) 2023-08-29

Similar Documents

Publication Publication Date Title
WO2022257971A1 (en) Point cloud encoding processing method, point cloud decoding processing method, and related device
WO2023155779A1 (en) Encoding method, decoding method, apparatus, and communication device
WO2022257978A1 (en) Point cloud coding method and apparatus, and point cloud decoding method and apparatus
WO2022258055A1 (en) Point cloud attribute information encoding and decoding method and apparatus, and related device
WO2023098802A1 (en) Point cloud attribute encoding method, point cloud attribute decoding method, and terminal
WO2022257968A1 (en) Point cloud coding method, point cloud decoding method, and terminal
WO2023025024A1 (en) Point cloud attribute coding method, point cloud attribute decoding method and terminal
WO2023098803A1 (en) Point cloud encoding processing method, point cloud decoding processing method and related device
WO2024083043A1 (en) Grid coding method and apparatus, communication device, and readable storage medium
WO2023098820A1 (en) Point cloud coding method and apparatus, point cloud decoding method and apparatus, and communication device
WO2023098801A1 (en) Point cloud attribute encoding method, point cloud decoding method, and terminal
WO2024120325A1 (en) Point cloud coding method, point cloud decoding method, and terminal
WO2023098805A1 (en) Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and electronic device
WO2024120326A1 (en) Geometric coding method, geometric decoding method and terminal
EP4319167A1 (en) Point cloud encoding processing method and apparatus, and point cloud decoding processing method and apparatus
WO2024017008A1 (en) Encoding method, apparatus and device, and decoding method, apparatus and device
WO2022257969A1 (en) Point cloud coding method, decoding method, and related device
WO2024007951A1 (en) Encoding method, apparatus and device, and decoding method, apparatus and device
WO2022257970A1 (en) Point cloud geometric information encoding processing method, decoding processing method, and related device
WO2024083039A1 (en) Mesh encoding method, mesh decoding method and related device
WO2024120431A1 (en) Point cloud coding method, point cloud decoding method, and related devices
WO2023179706A1 (en) Encoding method, decoding method, and terminal
WO2023098814A1 (en) Attribute quantization method and apparatus, attribute inverse quantization method and apparatus, and device
WO2023197990A1 (en) Coding method, decoding method and terminal
WO2023179710A1 (en) Coding method and terminal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23755781

Country of ref document: EP

Kind code of ref document: A1