WO2024120326A1 - Geometric coding method, geometric decoding method and terminal - Google Patents
Geometric coding method, geometric decoding method and terminal Download PDFInfo
- Publication number
- WO2024120326A1 WO2024120326A1 PCT/CN2023/136035 CN2023136035W WO2024120326A1 WO 2024120326 A1 WO2024120326 A1 WO 2024120326A1 CN 2023136035 W CN2023136035 W CN 2023136035W WO 2024120326 A1 WO2024120326 A1 WO 2024120326A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- decoded
- encoded
- point cloud
- geometric
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000015654 memory Effects 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 12
- 238000000638 solvent extraction Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 4
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
Definitions
- the present application belongs to the field of coding and decoding technology, and specifically relates to a geometric coding method, a geometric decoding method and a terminal.
- a point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene.
- the current node to be coded needs to be geometrically coded according to the context information corresponding to the current node to be coded, and the above context information is composed of placeholder codes of coded nodes.
- the above context information is composed of placeholder codes of coded nodes.
- the embodiments of the present application provide a geometric encoding method, a geometric decoding method and a terminal, which can solve the problem in the related art that a large number of placeholder codes of encoded nodes need to be stored, which occupies a large amount of memory space.
- a geometric encoding method comprising:
- the encoding end obtains the geometric information of the point cloud to be encoded
- the encoding end generates a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded;
- the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree division of the bounding box;
- the encoder determines, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded, where the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;
- the encoder generates context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;
- the encoding end performs geometric encoding on the node to be encoded based on context information corresponding to the node to be encoded to generate a target bitstream.
- a geometric decoding method comprising:
- the decoding end obtains the target bitstream
- the decoding end decodes the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded;
- the decoding end determines, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;
- the decoding end generates context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;
- the decoding end performs geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded.
- a geometric encoding device comprising:
- the acquisition module is used to obtain the geometric information of the point cloud to be encoded
- a first generating module is used to generate a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded; the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree partitioning of the bounding box;
- a determination module configured to determine, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to a node parameter corresponding to the point cloud to be encoded, wherein the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;
- a second generating module configured to generate context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes
- the third generating module is used to perform geometric coding on the node to be coded based on the context information corresponding to the node to be coded, so as to generate a target bit stream.
- a geometric decoding device comprising:
- An acquisition module is used to acquire a target bitstream
- a decoding module used for decoding the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded;
- a determination module configured to determine, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;
- a first generating module configured to generate context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes
- the second generating module is used to perform geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generate reconstructed geometric information corresponding to the point cloud to be decoded.
- a terminal comprising a processor and a memory, the memory storing a program or instruction that can be run on the processor, the program or instruction being executed by the processor to implement the method described in the first aspect.
- a readable storage medium on which a program or instruction is stored.
- the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the second aspect are implemented.
- a chip comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the method described in the first aspect, or to implement the steps of the method described in the second aspect.
- a computer program/program product is provided, wherein 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 steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.
- geometric encoding of the node to be encoded can be achieved only based on the placeholder information of at most N encoded nodes associated with the node to be encoded.
- the embodiment of the present application can perform geometric encoding on the node to be encoded through the placeholder information of a small number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded node and freeing up a large amount of memory space.
- FIG1 is a schematic diagram of the framework of a point cloud AVS point cloud encoding device
- FIG2 is a schematic diagram of the framework of a point cloud AVS point cloud decoding device
- FIG3 is a schematic diagram of a flow chart of a geometric encoding method provided in an embodiment of the present application.
- FIG4 is a schematic diagram of a flow chart of a geometric decoding method provided in an embodiment of the present application.
- FIG5 is a structural diagram of a geometric encoding device provided in an embodiment of the present application.
- FIG6 is a structural diagram of a geometric decoding device provided in an embodiment of the present application.
- FIG7 is a structural diagram of a communication device provided in an embodiment of the present application.
- FIG8 is a schematic diagram of the hardware structure of a terminal provided in an embodiment of the present application.
- first, second, etc. in the specification and claims of this application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first” and “second” are generally of the same type, and do not limit the number of objects.
- the first object can be one
- the second can also be one.
- “and/or” means at least one of the connected objects, and the character “/” generally means that the objects connected before and after are in an “or” relationship.
- the geometric encoding device corresponding to the geometric encoding method in the embodiment of the present application and the geometric decoding device corresponding to the geometric decoding method can both be terminals, which can also be called terminal equipment or user terminal (User Equipment, UE).
- the terminal can be a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (Personal Digital Assistant, PDA), a handheld computer, a netbook, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a mobile Internet device (Mobile Internet Device, MID), an augmented reality (augmented reality) or a tablet computer (Tablet Personal Computer).
- the terminal side devices include: artificial intelligence (AR)/virtual reality (VR) devices, robots, wearable devices (Wearable Device) or vehicle-mounted devices (VUE), pedestrian terminals (PUE), smart homes (home appliances with wireless communication functions, such as refrigerators, TVs, washing machines or furniture, etc.), game consoles, personal computers (personal computers, PCs), teller machines or self-service machines, etc.
- wearable devices include: smart watches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart bracelets, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. It should be noted that the specific type of the terminal 11 is not limited in the embodiment of the present application.
- the geometric information and attribute information of the point cloud are encoded separately using the point cloud audio and video standard (AVS) point cloud encoding device.
- AVS point cloud audio and video standard
- the geometric information is converted into coordinates so that all the point clouds are contained in a bounding box, and then the coordinates are quantized.
- Quantization mainly plays a role in scaling. Since quantization rounds the geometric coordinates, the geometric information of some points is the same, which is called duplicate points. Whether to remove duplicate points is determined according to parameters. The two steps of quantization and removal of duplicate points are also called voxelization.
- the bounding box is divided into a multi-tree, such as an octree, a quadtree or a binary tree.
- the bounding box is divided into 8 equal sub-cubes, and the non-empty sub-cubes are divided until the division is stopped when the leaf node is a unit cube of 1x1x1, and the number of points in the leaf node is encoded to generate a binary code stream.
- Attribute encoding is mainly for color and reflectance information. First, determine whether to perform color space conversion based on the parameters. If color space conversion is performed, the color information is converted from the red green blue (RGB) color space to the brightness color (YUV) color space, where Y represents brightness and U and V represent chromaticity. Then, the original point cloud is used to recolor the geometrically reconstructed point cloud so that the unencoded attribute information corresponds to the reconstructed geometric information.
- RGB red green blue
- YUV brightness color
- the nearest neighbor of the point to be predicted is searched by geometric spatial relationship, and the reconstructed attribute value of the neighbor is used to predict the point to be predicted to obtain the predicted attribute value, and then the real attribute value and the predicted attribute value are differentiated to obtain the prediction residual, and finally the prediction residual is quantized and encoded to generate a binary code stream.
- the present application provides a geometric coding method.
- the present application is described below through some embodiments and application scenarios in conjunction with the accompanying drawings.
- the geometric encoding method provided in the application embodiment is described in detail.
- Figure 3 is a flow chart of a geometric encoding method in an embodiment of the present application.
- the geometric encoding method provided in this embodiment includes the following steps:
- the encoding end obtains geometric information of the point cloud to be encoded.
- the encoding end generates a bounding box corresponding to the point cloud to be encoded according to geometric information of the point cloud to be encoded.
- the above-mentioned multi-tree partitioning includes but is not limited to binary tree partitioning, quadtree partitioning and octree partitioning.
- the encoding end determines, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded.
- the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1.
- N is an integer greater than or equal to 1.
- the initial node in the point cloud may be geometrically encoded according to a default value preset for the initial node.
- the number of coded nodes associated with different nodes to be coded may be the same or different, but the number of coded nodes associated with each node to be coded does not exceed N.
- S304 The encoder generates context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes.
- the above placeholder information includes a placeholder code.
- an arithmetic operation may be performed on at least part of the placeholder codes of all the encoded nodes to obtain context information corresponding to the node to be encoded.
- the placeholder information of the above-mentioned encoded nodes can be stored in the cache of the encoding end.
- the encoder performs geometric coding on the node to be coded based on the context information corresponding to the node to be coded to generate a target bitstream.
- geometric encoding of the node to be encoded can be achieved only based on the placeholder information of at most N encoded nodes associated with the node to be encoded.
- the embodiment of the present application can perform geometric encoding on the node to be encoded through the placeholder information of a small number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded node and freeing up a large amount of memory space.
- the node parameter is used to characterize the number of encoded nodes, and determining the maximum N encoded nodes associated with the node to be encoded according to the node parameter corresponding to the point cloud to be encoded includes:
- the encoding end based on the encoding order of the node to be encoded, encodes the node whose encoding order is before the node to be encoded.
- the maximum N encoded nodes are determined as the maximum N encoded nodes associated with the node to be encoded.
- the node parameter is used to characterize the number of encoded nodes.
- the encoded node that is located before the node to be encoded in the encoding order can be determined as the encoded node associated with the node to be encoded, and then the context information corresponding to the node to be encoded is generated based on the placeholder information of the encoded node, wherein the number of encoded nodes represented by the node parameter does not exceed N.
- the number of encoded nodes associated with the node to be encoded is limited by node parameters, and then in subsequent steps, the node to be encoded can be geometrically encoded by the placeholder information of a smaller number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded nodes and freeing up a large amount of memory space.
- the determining, according to the node parameters corresponding to the to-be-encoded point cloud, a maximum of N encoded nodes associated with the to-be-encoded node comprises:
- the encoding end performs a search operation on the point cloud to be encoded with the geometric position corresponding to the node to be encoded as the search center, and the search range of the search operation is determined based on the node parameter;
- the encoding end determines the searched encoded nodes as the maximum N encoded nodes associated with the node to be encoded.
- the node parameters can represent the search range.
- the geometric position corresponding to the node to be encoded can be used as the search center to perform a search operation on the point cloud to be encoded, and the encoded nodes within the search range can be determined as the encoded nodes associated with the node to be encoded.
- the placeholder information of the encoded nodes can be stored in the cache of the encoding end.
- the above array can be represented by an array, where the array subscript is the Morton code calculated according to the geometric coordinates of the node to be encoded, the array value is the placeholder information of each encoded node associated with the node to be encoded, and the array capacity is the size of the search range represented by the node parameter.
- One way to update the array is to update the array index according to the Morton code calculated from the geometric coordinates of the node to be encoded, thereby updating the array.
- Another way to update the array is: in the process of determining the maximum N encoded nodes associated with the node to be encoded, if the array has reached the upper limit of the cache capacity, clear the placeholder information of the encoded points outside the search range represented by the node parameters.
- the number of encoded nodes associated with the node to be encoded is limited by node parameters, and then in subsequent steps, the node to be encoded can be geometrically encoded by the placeholder information of a smaller number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded nodes and freeing up a large amount of memory space.
- the performing geometric coding on the node to be coded based on the context information corresponding to the node to be coded to generate a target bitstream includes:
- the encoding end encodes the context information corresponding to the node to be encoded through the context model corresponding to the point cloud to be encoded, generates a target code stream, and writes a model index into the target code stream; the model index is used to characterize the context model corresponding to the point cloud to be encoded.
- the encoder selects a context model from multiple context models through adaptive judgment.
- the following information is encoded, and the model index representing the context model is written into the target bitstream. It should be understood that if the encoder only stores one set of context models, the model index will not be written into the target bitstream.
- the node parameters are parameters agreed upon by a protocol, or the node parameters are determined based on pre-acquired indication information.
- the node parameter is the number of shifts agreed upon by the protocol.
- the node parameter can be directly specified at the encoding end.
- the node parameters are determined by pre-acquired indication information.
- the node parameters are determined by parsing the indication information.
- FIG 4 is a schematic diagram of the flow of the geometric decoding method provided in the embodiment of the present application.
- the geometric decoding method provided in this embodiment includes the following steps:
- the decoding end obtains the target bit stream.
- the decoding end decodes the target code stream to obtain a point cloud to be decoded.
- the acquired target code stream is decoded to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded.
- the decoding end determines, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded.
- the above-mentioned node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1.
- the initial node in the point cloud may be geometrically decoded according to the default value of the initial node obtained by decoding the target code stream.
- the number of decoded nodes associated with different nodes to be decoded may be the same or different, but the number of decoded nodes associated with each node to be decoded does not exceed N.
- the decoding end generates context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes.
- the decoding end performs geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded.
- geometric decoding of the node to be decoded can be achieved only based on the placeholder information of at most N decoded nodes associated with the node to be decoded.
- the node to be decoded can be geometrically decoded using the placeholder information of a relatively small number of decoded nodes, thereby reducing the storage space of the placeholder information of the decoded nodes and freeing up a large amount of memory space.
- the node parameter is used to characterize the number of decoded nodes, and determining the maximum N decoded nodes associated with the node to be decoded according to the node parameter corresponding to the point cloud to be decoded includes:
- the decoding end determines, based on the decoding order of the node to be decoded, N decoded nodes whose decoding order is before the node to be decoded as the maximum N decoded nodes associated with the node to be decoded.
- the node parameter is used to characterize the number of decoded nodes.
- the decoded nodes that are located before the node to be decoded in decoding order can be determined as decoded nodes associated with the node to be decoded, wherein the number of decoded nodes characterized by the node parameter does not exceed N.
- determining, according to the node parameters corresponding to the point cloud to be decoded, a maximum of N decoded nodes associated with the node to be decoded comprises:
- the decoding end performs a search operation on the point cloud to be decoded with the geometric position corresponding to the node to be decoded as the search center, and the search range of the search operation is determined based on the node parameter;
- the decoding end determines the searched decoded nodes as the maximum N decoded nodes associated with the node to be decoded.
- the node parameters can represent the search range.
- the geometric position corresponding to the node to be decoded can be used as the search center to perform a search operation on the point cloud to be decoded, and the decoded nodes within the search range can be determined as decoded nodes associated with the node to be decoded.
- the geometric decoding of the node to be decoded based on the context information corresponding to the node to be decoded to generate the reconstructed geometric information corresponding to the point cloud to be decoded includes:
- the decoding end decodes the context information corresponding to the node to be decoded through the context model corresponding to the point cloud to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded; the context model is determined based on the model index carried by the target code stream.
- the target code stream may be decoded to obtain a model index, and then the context information corresponding to the node to be decoded may be decoded using a context model represented by the model index to generate reconstructed geometric information corresponding to the point cloud to be decoded.
- the node parameter is a parameter agreed upon by a protocol, or the node parameter is determined based on indication information carried by the target code stream.
- the geometric decoding method provided in this embodiment is the inverse process of the geometric encoding provided in the above embodiments.
- the geometric coding method provided in the embodiment of the present application can be executed by a geometric coding device.
- a geometric coding device executing the geometric coding method is taken as an example to illustrate the geometric coding device provided in the embodiment of the present application.
- the embodiment of the present application further provides a geometric encoding device 500, including:
- the acquisition module 501 is used to acquire geometric information of the point cloud to be encoded
- a first generating module 502 is used to generate a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded; the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree partitioning of the bounding box;
- a determination module 503 is used to determine, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded, wherein the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;
- a second generating module 504 is used to generate context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;
- the third generating module 505 is used to perform geometric coding on the node to be coded based on the context information corresponding to the node to be coded, so as to generate a target bitstream.
- the node parameter is used to characterize the number of encoded nodes
- the determination module 503 is specifically used to:
- a maximum of N coded nodes whose coding order is before the node to be coded are determined as the maximum of N coded nodes associated with the node to be coded.
- the determining module 503 is further specifically configured to:
- the searched coded nodes are determined as the maximum N coded nodes associated with the node to be coded.
- the third generating module 505 is specifically configured to:
- the context information corresponding to the node to be encoded is encoded through the context model corresponding to the point cloud to be encoded, a target code stream is generated, and a model index is written into the target code stream; the model index is used to characterize the context model corresponding to the point cloud to be encoded.
- geometric encoding of the node to be encoded can be achieved only based on the placeholder information of at most N encoded nodes associated with the node to be encoded.
- the embodiment of the present application can perform geometric encoding on the node to be encoded through the placeholder information of a small number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded node and freeing up a large amount of memory space.
- This device embodiment corresponds to the geometric coding method embodiment shown in FIG3 above. All implementation processes and implementation methods of the encoding end in the above method embodiment are applicable to this device embodiment and can achieve the same technical effect.
- the geometric decoding method provided in the embodiment of the present application can be executed by a geometric decoding device.
- a geometric decoding device executing the geometric decoding method is taken as an example to illustrate the geometric decoding device provided in the embodiment of the present application.
- the embodiment of the present application further provides a geometric decoding device 600, including:
- the acquisition module 601 is used to acquire the target bit stream
- a decoding module 602 is used to decode the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded;
- a determination module 603 is used to determine, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;
- a first generating module 604 is used to generate context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;
- the second generating module 605 is used to perform geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generate reconstructed geometric information corresponding to the point cloud to be decoded.
- the node parameter is used to characterize the number of decoded nodes
- the determination module 603 is specifically used to:
- a maximum of N decoded nodes whose decoding order is before the node to be decoded are determined as the maximum of N decoded nodes associated with the node to be decoded.
- the determining module 603 is further specifically configured to:
- the searched decoded nodes are determined as the maximum N decoded nodes associated with the node to be decoded.
- the second generating module 605 is specifically configured to:
- the context information corresponding to the node to be decoded is decoded through the context model corresponding to the point cloud to be decoded, so as to generate reconstructed geometric information corresponding to the point cloud to be decoded; the context model is determined based on the model index carried by the target code stream.
- the node parameter is a parameter agreed upon by a protocol, or the node parameter is determined based on indication information carried by the target code stream.
- the geometric decoding device provided in the embodiment of the present application can implement each process implemented by the method embodiment of Figure 4 and achieve the same technical effect. To avoid repetition, it will not be repeated here.
- the geometric encoding device and the geometric decoding device in the embodiments of the present application may be electronic devices, such as electronic devices with an operating system, or components in electronic devices, such as integrated circuits or chips.
- the electronic device may be a terminal, or may be other devices other than a terminal.
- the terminal may include but is not limited to the types of terminals listed above, and other devices may be servers, network attached storage (NAS), etc., which are not specifically limited in the embodiments of the present application.
- an embodiment of the present application also provides a communication device 700, including a processor 701 and a memory 702, and the memory 702 stores programs or instructions that can be executed on the processor 701.
- the communication device 700 is a terminal
- the program or instructions are executed by the processor 701 to implement the various steps of the above-mentioned geometric encoding method embodiment, or to implement the various steps of the above-mentioned geometric decoding method embodiment, and can achieve the same technical effect.
- the embodiment of the present application further provides a terminal, including a processor and a communication interface, wherein the processor is configured to perform the following operations:
- For each node to be encoded determine a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded;
- geometric encoding is performed on the node to be encoded to generate a target bitstream.
- the processor is used to perform the following operations:
- For each node to be decoded determine a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded;
- the node to be decoded is geometrically decoded to generate reconstructed geometric information corresponding to the point cloud to be decoded.
- the terminal embodiment corresponds to the above-mentioned encoding end and decoding end method embodiments, and each implementation process and implementation mode of the above-mentioned method embodiment can be applied to the terminal embodiment and can achieve the same technical effect.
- Figure 8 is a hardware structure diagram of a terminal implementing the embodiment of the present application.
- the terminal 800 includes but is not limited to: a radio frequency unit 801, a network module 802, an audio output unit 803, an input unit 804, a sensor 805, a display unit 806, a user input unit 807, an interface unit 808, a memory 809, and a processor 810.
- the terminal 800 may also include a power source (such as a battery) for supplying power to each component, and the power source may be logically connected to the processor 810 through a power management system, so as to implement functions such as managing charging, discharging, and power consumption management through the power management system.
- a power source such as a battery
- the terminal structure shown in FIG8 does not constitute a limitation on the terminal, and the terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange components differently, which will not be described in detail here.
- the input unit 804 may include a graphics processing unit (GPU) 8041 and a microphone 8042, and the graphics processor 8041 processes the image data of the static picture or video obtained by the image capture device (such as a camera) in the video capture mode or the image capture mode.
- the display unit 806 may include a display panel 8061, and the display panel 8061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc.
- the user input unit 807 includes a touch panel 8071 and at least one of other input devices 8072.
- the touch panel 8071 is also called a touch screen.
- the touch panel 8071 may include two parts: a touch detection device and a touch controller.
- Other input devices 8072 may include, but are not limited to, a physical keyboard, function keys (such as a volume control key, a switch key, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
- the RF unit 801 after receiving downlink data from the network side device, the RF unit 801 can transmit the data to the processor 88 for processing; the RF unit 801 can send uplink data to the network side device.
- the RF unit 801 includes but is not limited to an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.
- the memory 809 can be used to store software programs or instructions and various data.
- the memory 809 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 instruction required for at least one function (such as a sound playback function, an image playback function, etc.), etc.
- the memory 809 may include a volatile memory or a non-volatile memory, or the memory 809 may include both volatile and non-volatile memories.
- the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory.
- the volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (DRAM), or a volatile memory.
- RAM random access memory
- SRAM static random access memory
- DRAM dynamic random access memory
- DRAM synchronous dynamic random access memory
- the memory 809 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
- the processor 810 may include one or more processing units; optionally, the processor 810 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 810.
- the processor 810 is configured to perform the following operations:
- For each node to be encoded determine a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded;
- geometric encoding is performed on the node to be encoded to generate a target bitstream.
- processor 810 is further configured to perform the following operations:
- For each node to be decoded determine a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded;
- the node to be decoded is geometrically decoded to generate reconstructed geometric information corresponding to the point cloud to be decoded.
- An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored.
- a program or instruction is stored.
- the various processes of the above-mentioned geometric encoding method embodiment are implemented, or the various processes of the above-mentioned geometric decoding method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
- the processor is the processor in the terminal described in the above embodiment.
- 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.
- An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned geometric encoding method embodiment, or to implement the various processes of the above-mentioned geometric decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
- the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
- the embodiments of the present application further provide a computer program/program product, which is stored in a storage medium.
- the computer program/program product is executed by at least one processor to implement the various processes of the above-mentioned geometric encoding method embodiment, or to implement the various processes of the above-mentioned geometric decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
- the technical solution of the present application can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM/RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
- a storage medium such as ROM/RAM, a magnetic disk, or an optical disk
- a terminal which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Disclosed in the present application are a geometric coding method, a geometric decoding method and a terminal, belonging to the technical field of coding and decoding. The geometric coding method provided by the embodiment of the present application comprises: acquiring geometric information of a point cloud to be coded; according to the geometric information of said point cloud, generating a bounding box corresponding to said point cloud, the bounding box comprising at least two nodes to be coded, and said nodes being determined on the basis of multiway-tree division on the bounding box; with respect to each of said nodes, according to node parameters corresponding to said point cloud, determining the maximum N coded nodes associated with the node to be coded; according to occupation information of the maximum N coded nodes, generating context information corresponding to each node to be coded; and on the basis of the context information corresponding to the nodes to be coded, performing geometric coding on the nodes to be coded, so as to generate a target data stream.
Description
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请主张在2022年12月09日在中国提交的中国专利申请No.202211583723.X的优先权,其全部内容通过引用包含于此。This application claims priority to Chinese patent application No. 202211583723.X filed in China on December 9, 2022, the entire contents of which are incorporated herein by reference.
本申请属于编解码技术领域,具体涉及一种几何编码方法、几何解码方法及终端。The present application belongs to the field of coding and decoding technology, and specifically relates to a geometric coding method, a geometric decoding method and a terminal.
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。A point cloud is a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a three-dimensional object or scene.
在对点云进行基于多叉树的几何编码中,需要根据当前待编码节点对应的上下文信息对当前待编码节点进行几何编码,上述上下文信息由已编码节点的占位码组成。这样,对于接近叶子节点的待编码节点而言,需要存储大量的已编码节点的占位码,占用了大量的内存空间。In the multi-tree-based geometric coding of point clouds, the current node to be coded needs to be geometrically coded according to the context information corresponding to the current node to be coded, and the above context information is composed of placeholder codes of coded nodes. In this way, for the nodes to be coded close to the leaf nodes, a large number of placeholder codes of coded nodes need to be stored, which takes up a lot of memory space.
发明内容Summary of the invention
本申请实施例提供一种几何编码方法、几何解码方法及终端,能够解决相关技术中需要存储大量的已编码节点的占位码,占用了大量的内存空间的问题。The embodiments of the present application provide a geometric encoding method, a geometric decoding method and a terminal, which can solve the problem in the related art that a large number of placeholder codes of encoded nodes need to be stored, which occupies a large amount of memory space.
第一方面,提供了一种几何编码方法,包括:In a first aspect, a geometric encoding method is provided, comprising:
编码端获取待编码点云的几何信息;The encoding end obtains the geometric information of the point cloud to be encoded;
所述编码端根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒;所述包围盒包括至少两个待编码节点,所述待编码节点基于对所述包围盒进行多叉树划分确定;The encoding end generates a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded; the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree division of the bounding box;
所述编码端对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点,所述待编码节点为所述待编码点云中的非初始节点,N为大于或等于1的整数;The encoder determines, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded, where the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;
所述编码端根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息;The encoder generates context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;
所述编码端基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。The encoding end performs geometric encoding on the node to be encoded based on context information corresponding to the node to be encoded to generate a target bitstream.
第二方面,提供了一种几何解码方法,包括:
In a second aspect, a geometric decoding method is provided, comprising:
解码端获取目标码流;The decoding end obtains the target bitstream;
所述解码端解码所述目标码流,获得待解码点云,所述待解码点云包括至少两个待解码节点;The decoding end decodes the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded;
所述解码端对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点,所述待解码节点为所述待解码点云中的非初始节点,N为大于或等于1的整数;The decoding end determines, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;
所述解码端根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息;The decoding end generates context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;
所述解码端基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。The decoding end performs geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded.
第三方面,提供了一种几何编码装置,包括:In a third aspect, a geometric encoding device is provided, comprising:
获取模块,用于获取待编码点云的几何信息;The acquisition module is used to obtain the geometric information of the point cloud to be encoded;
第一生成模块,用于根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒;所述包围盒包括至少两个待编码节点,所述待编码节点基于对所述包围盒进行多叉树划分确定;A first generating module is used to generate a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded; the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree partitioning of the bounding box;
确定模块,用于对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点,所述待编码节点为所述待编码点云中的非初始节点,N为大于或等于1的整数;A determination module, configured to determine, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to a node parameter corresponding to the point cloud to be encoded, wherein the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;
第二生成模块,用于根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息;A second generating module, configured to generate context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;
第三生成模块,用于基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。The third generating module is used to perform geometric coding on the node to be coded based on the context information corresponding to the node to be coded, so as to generate a target bit stream.
第四方面,提供了一种几何解码装置,包括:In a fourth aspect, a geometric decoding device is provided, comprising:
获取模块,用于获取目标码流;An acquisition module is used to acquire a target bitstream;
解码模块,用于解码所述目标码流,获得待解码点云,所述待解码点云包括至少两个待解码节点;A decoding module, used for decoding the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded;
确定模块,用于对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点,所述待解码节点为所述待解码点云中的非初始节点,N为大于或等于1的整数;A determination module, configured to determine, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;
第一生成模块,用于根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息;A first generating module, configured to generate context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;
第二生成模块,用于基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。The second generating module is used to perform geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generate reconstructed geometric information corresponding to the point cloud to be decoded.
第五方面,提供了一种终端,该终端包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的
方法的步骤,或者实现如第二方面所述的方法的步骤。In a fifth aspect, a terminal is provided, the terminal comprising a processor and a memory, the memory storing a program or instruction that can be run on the processor, the program or instruction being executed by the processor to implement the method described in the first aspect. The steps of the method, or the steps of implementing the method as described in the second aspect.
第六方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。In a sixth aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the second aspect are implemented.
第七方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法,或者实现如第二方面所述的方法的步骤。In the seventh aspect, a chip is provided, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the method described in the first aspect, or to implement the steps of the method described in the second aspect.
第八方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。In an eighth aspect, a computer program/program product is provided, wherein 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 steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.
本申请实施例中,对于每个待编码节点,只需要根据该待编码节点相关联的最多N个已编码节的占位信息,即可实现对该待编码节点的几何编码。相比于相关技术中需要所有已编码节点的占位信息对待编码节点进行几何编码的方案,本申请实施例通过数量较少的已编码节的占位信息即可对待编码节点进行几何编码,以此减少了已编码节点的占位信息的存储空间,释放了大量的内存空间。In the embodiment of the present application, for each node to be encoded, geometric encoding of the node to be encoded can be achieved only based on the placeholder information of at most N encoded nodes associated with the node to be encoded. Compared with the solution in the related art that requires the placeholder information of all encoded nodes to perform geometric encoding on the node to be encoded, the embodiment of the present application can perform geometric encoding on the node to be encoded through the placeholder information of a small number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded node and freeing up a large amount of memory space.
图1是点云AVS点云编码装置框架示意图;FIG1 is a schematic diagram of the framework of a point cloud AVS point cloud encoding device;
图2是点云AVS点云解码装置框架示意图;FIG2 is a schematic diagram of the framework of a point cloud AVS point cloud decoding device;
图3是本申请实施例提供的几何编码方法的流程示意图;FIG3 is a schematic diagram of a flow chart of a geometric encoding method provided in an embodiment of the present application;
图4是本申请实施例提供的几何解码方法的流程示意图;FIG4 is a schematic diagram of a flow chart of a geometric decoding method provided in an embodiment of the present application;
图5是本申请实施例提供的几何编码装置的结构图;FIG5 is a structural diagram of a geometric encoding device provided in an embodiment of the present application;
图6是本申请实施例提供的几何解码装置的结构图;FIG6 is a structural diagram of a geometric decoding device provided in an embodiment of the present application;
图7是本申请实施例提供的通信设备的结构图;FIG7 is a structural diagram of a communication device provided in an embodiment of the present application;
图8是本申请实施例提供的终端的硬件结构示意图。FIG8 is a schematic diagram of the hardware structure of a terminal provided in an embodiment of the present application.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field belong to the scope of protection of this application.
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也
可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。The terms "first", "second", etc. in the specification and claims of this application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same type, and do not limit the number of objects. For example, the first object can be one, and the second can also be one. In addition, in the specification and claims, "and/or" means at least one of the connected objects, and the character "/" generally means that the objects connected before and after are in 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)、智能家居(具有无线通信功能的家居设备,如冰箱、电视、洗衣机或者家具等)、游戏机、个人计算机(personal computer,PC)、柜员机或者自助机等终端侧设备,可穿戴式设备包括:智能手表、智能手环、智能耳机、智能眼镜、智能首饰(智能手镯、智能手链、智能戒指、智能项链、智能脚镯、智能脚链等)、智能腕带、智能服装等。需要说明的是,在本申请实施例并不限定终端11的具体类型。The geometric encoding device corresponding to the geometric encoding method in the embodiment of the present application and the geometric decoding device corresponding to the geometric decoding method can both be terminals, which can also be called terminal equipment or user terminal (User Equipment, UE). The terminal can be a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (Personal Digital Assistant, PDA), a handheld computer, a netbook, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a mobile Internet device (Mobile Internet Device, MID), an augmented reality (augmented reality) or a tablet computer (Tablet Personal Computer). The terminal side devices include: artificial intelligence (AR)/virtual reality (VR) devices, robots, wearable devices (Wearable Device) or vehicle-mounted devices (VUE), pedestrian terminals (PUE), smart homes (home appliances with wireless communication functions, such as refrigerators, TVs, washing machines or furniture, etc.), game consoles, personal computers (personal computers, PCs), teller machines or self-service machines, etc., and wearable devices include: smart watches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart bracelets, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. It should be noted that the specific type of the terminal 11 is not limited in the embodiment of the present application.
为了方便理解,以下对本申请实施例涉及的一些内容进行说明:For ease of understanding, some contents involved in the embodiments of the present application are described below:
请参阅图1,如图1所示,目前,在数字音视频编解码技术标准中,使用点云音频视频标准(Audio Video Standard,AVS)点云编码装置对点云的几何信息和属性信息是分开编码的。首先对几何信息进行坐标转换,使点云全部包含在一个包围盒(bounding box)中,然后再进行坐标量化。量化主要起到缩放的作用,由于量化会对几何坐标取整,使得一部分点的几何信息相同,称为重复点,根据参数来决定是否移除重复点,量化和移除重复点这两个步骤又被称为体素化过程。接下来,对包围盒进行多叉树划分,例如八叉树、四叉树或二叉树划分。在基于多叉树的几何信息编码框架中,将包围盒八等分为8个子立方体,对非空的子立方体继续进行划分,直到划分得到叶子节点为1x1x1的单位立方体时停止划分,对叶子结点中的点数进行编码,生成二进制码流。Please refer to FIG. 1. As shown in FIG. 1, currently, in the digital audio and video coding technology standard, the geometric information and attribute information of the point cloud are encoded separately using the point cloud audio and video standard (AVS) point cloud encoding device. First, the geometric information is converted into coordinates so that all the point clouds are contained in a bounding box, and then the coordinates are quantized. Quantization mainly plays a role in scaling. Since quantization rounds the geometric coordinates, the geometric information of some points is the same, which is called duplicate points. Whether to remove duplicate points is determined according to parameters. The two steps of quantization and removal of duplicate points are also called voxelization. Next, the bounding box is divided into a multi-tree, such as an octree, a quadtree or a binary tree. In the multi-tree-based geometric information encoding framework, the bounding box is divided into 8 equal sub-cubes, and the non-empty sub-cubes are divided until the division is stopped when the leaf node is a unit cube of 1x1x1, and the number of points in the leaf node is encoded to generate a binary code stream.
几何编码完成后,对几何信息进行重建,用于后面的重着色。属性编码主要针对的是颜色和反射率信息。首先根据参数判断是否进行颜色空间转换,若进行颜色空间转换,则将颜色信息从红绿蓝(Red Green Blue,RGB)颜色空间转换到亮度色彩(YUV)颜色空间,Y表示明亮度,U和V表示色度。然后,利用原始点云对几何重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,通过莫顿码或希尔伯特码对点云进行排序后,利用几何空间关系搜索待预测点的最近邻,并利用所找到邻居的重建属性值对待预测点进行预测得到预测属性值,然后将真实属性值和预测属性值进行差分得到预测残差,最后对预测残差进行量化并编码,生成二进制码流。After the geometric encoding is completed, the geometric information is reconstructed for the subsequent recoloring. Attribute encoding is mainly for color and reflectance information. First, determine whether to perform color space conversion based on the parameters. If color space conversion is performed, the color information is converted from the red green blue (RGB) color space to the brightness color (YUV) color space, where Y represents brightness and U and V represent chromaticity. Then, the original point cloud is used to recolor the geometrically reconstructed point cloud so that the unencoded attribute information corresponds to the reconstructed geometric information. In color information encoding, after sorting the point cloud by Morton code or Hilbert code, the nearest neighbor of the point to be predicted is searched by geometric spatial relationship, and the reconstructed attribute value of the neighbor is used to predict the point to be predicted to obtain the predicted attribute value, and then the real attribute value and the predicted attribute value are differentiated to obtain the prediction residual, and finally the prediction residual is quantized and encoded to generate a binary code stream.
应理解,数字音视频编解码技术标准中的解码流程与上述编码流程对应,具体的,AVS点云解码装置框架如图2所示。It should be understood that the decoding process in the digital audio and video coding and decoding technical standard corresponds to the above-mentioned encoding process. Specifically, the framework of the AVS point cloud decoding device is shown in Figure 2.
本申请提供了一种几何编码方法,下面结合附图,通过一些实施例及其应用场景对本
申请实施例提供的几何编码方法进行详细地说明。The present application provides a geometric coding method. The present application is described below through some embodiments and application scenarios in conjunction with the accompanying drawings. The geometric encoding method provided in the application embodiment is described in detail.
请参阅图3,图3是本申请实施例中几何编码方法的流程图。本实施例提供的几何编码方法包括以下步骤:Please refer to Figure 3, which is a flow chart of a geometric encoding method in an embodiment of the present application. The geometric encoding method provided in this embodiment includes the following steps:
S301,编码端获取待编码点云的几何信息。S301, the encoding end obtains geometric information of the point cloud to be encoded.
S302,所述编码端根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒。S302: The encoding end generates a bounding box corresponding to the point cloud to be encoded according to geometric information of the point cloud to be encoded.
本步骤中,在获取待编码点云的几何信息之后,可以对待编码点云的几何位置进行坐标平移和坐标量化,生成包含待编码点云的包围盒。通过对包围合进行多叉树划分,确定包围盒包括的至少两个待编码节点。In this step, after obtaining the geometric information of the point cloud to be encoded, coordinate translation and coordinate quantization can be performed on the geometric position of the point cloud to be encoded to generate a bounding box containing the point cloud to be encoded. By performing multi-branch tree division on the bounding box, at least two nodes to be encoded included in the bounding box are determined.
其中,上述多叉树划分包括但不限于二叉树划分、四叉树划分和八叉树划分。Among them, the above-mentioned multi-tree partitioning includes but is not limited to binary tree partitioning, quadtree partitioning and octree partitioning.
S303,所述编码端对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点。S303: The encoding end determines, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded.
其中,上述待编码节点为待编码点云中的非初始节点,N为大于或等于1的整数。具体的如何根据节点参数确定待编码节点相关联的最多N个已编码节点的实施方式,请参阅后续实施例。The node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1. For specific implementation methods of determining the maximum N encoded nodes associated with the node to be encoded according to the node parameters, please refer to the subsequent embodiments.
需要说明的是,对于待编码点云中的初始节点,可以根据初始节点预设的缺省值,对初始节点进行几何编码。It should be noted that, for the initial node in the point cloud to be encoded, the initial node may be geometrically encoded according to a default value preset for the initial node.
需要说明的是,不同的待编码节点相关联的已编码节点的数量可以相同,也可以不同,但每个待编码节点相关联的已编码节点的数量不超过N。It should be noted that the number of coded nodes associated with different nodes to be coded may be the same or different, but the number of coded nodes associated with each node to be coded does not exceed N.
S304,所述编码端根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息。S304: The encoder generates context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes.
上述占位信息包括占位码。The above placeholder information includes a placeholder code.
本步骤中,可以对所有已编码节点的占位码中的至少部分占位码进行算术运算,获得待编码节点对应的上下文信息。In this step, an arithmetic operation may be performed on at least part of the placeholder codes of all the encoded nodes to obtain context information corresponding to the node to be encoded.
应理解,上述已编码节点的占位信息可以存储在编码端的缓存中。It should be understood that the placeholder information of the above-mentioned encoded nodes can be stored in the cache of the encoding end.
S305,所述编码端基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。S305: The encoder performs geometric coding on the node to be coded based on the context information corresponding to the node to be coded to generate a target bitstream.
本申请实施例中,对于每个待编码节点,只需要根据该待编码节点相关联的最多N个已编码节的占位信息,即可实现对该待编码节点的几何编码。相比于相关技术中需要所有已编码节点的占位信息对待编码节点进行几何编码的方案,本申请实施例通过数量较少的已编码节的占位信息即可对待编码节点进行几何编码,以此减少了已编码节点的占位信息的存储空间,释放了大量的内存空间。In the embodiment of the present application, for each node to be encoded, geometric encoding of the node to be encoded can be achieved only based on the placeholder information of at most N encoded nodes associated with the node to be encoded. Compared with the solution in the related art that requires the placeholder information of all encoded nodes to perform geometric encoding on the node to be encoded, the embodiment of the present application can perform geometric encoding on the node to be encoded through the placeholder information of a small number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded node and freeing up a large amount of memory space.
可选地,所述节点参数用于表征已编码节点数量,所述根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点包括:Optionally, the node parameter is used to characterize the number of encoded nodes, and determining the maximum N encoded nodes associated with the node to be encoded according to the node parameter corresponding to the point cloud to be encoded includes:
所述编码端基于所述待编码节点的编码顺序,将编码顺序位于所述待编码节点之前的
最多N个已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。The encoding end, based on the encoding order of the node to be encoded, encodes the node whose encoding order is before the node to be encoded. The maximum N encoded nodes are determined as the maximum N encoded nodes associated with the node to be encoded.
本实施例中,节点参数用于表征已编码节点数量。这种实施方式下,可以将编码顺序位于待编码节点之前的已编码节点,确定为待编码节点相关联的已编码节点,进而基于上述已编码节点的占位信息生成待编码节点对应的上下文信息,其中,节点参数表征的已编码节点的数量不超过N。In this embodiment, the node parameter is used to characterize the number of encoded nodes. In this implementation, the encoded node that is located before the node to be encoded in the encoding order can be determined as the encoded node associated with the node to be encoded, and then the context information corresponding to the node to be encoded is generated based on the placeholder information of the encoded node, wherein the number of encoded nodes represented by the node parameter does not exceed N.
本实施例中,通过节点参数限定与待编码节点相关联的已编码节的数量,进而在后续步骤中通过数量较少的已编码节的占位信息即可对待编码节点进行几何编码,以此减少了已编码节点的占位信息的存储空间,释放了大量的内存空间。In this embodiment, the number of encoded nodes associated with the node to be encoded is limited by node parameters, and then in subsequent steps, the node to be encoded can be geometrically encoded by the placeholder information of a smaller number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded nodes and freeing up a large amount of memory space.
可选地,所述根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点包括:Optionally, the determining, according to the node parameters corresponding to the to-be-encoded point cloud, a maximum of N encoded nodes associated with the to-be-encoded node comprises:
所述编码端以所述待编码节点对应的几何位置为搜索中心,对所述待编码点云执行搜索操作,所述搜索操作的搜索范围基于所述节点参数确定;The encoding end performs a search operation on the point cloud to be encoded with the geometric position corresponding to the node to be encoded as the search center, and the search range of the search operation is determined based on the node parameter;
所述编码端将搜索到的已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。The encoding end determines the searched encoded nodes as the maximum N encoded nodes associated with the node to be encoded.
本实施例中,上述节点参数可以表征搜索范围。这种实施方式下,可以以待编码节点对应的几何位置为搜索中心,对待编码点云执行搜索操作,将位于搜索范围内的已编码节点,确定为待编码节点相关联的已编码节点。In this embodiment, the node parameters can represent the search range. In this implementation, the geometric position corresponding to the node to be encoded can be used as the search center to perform a search operation on the point cloud to be encoded, and the encoded nodes within the search range can be determined as the encoded nodes associated with the node to be encoded.
如上所述,已编码节点的占位信息可以存储在编码端的缓存中。在点参数可以表征搜索范围的情况下,上述数组可以用数组表示,其中,数组下标为根据待编码节点的几何坐标计算出的莫顿码,数组的值是待编码节点相关联的每个已编码节点的占位信息,数组的容量为节点参数表征的搜索范围大小。As described above, the placeholder information of the encoded nodes can be stored in the cache of the encoding end. In the case where the point parameter can represent the search range, the above array can be represented by an array, where the array subscript is the Morton code calculated according to the geometric coordinates of the node to be encoded, the array value is the placeholder information of each encoded node associated with the node to be encoded, and the array capacity is the size of the search range represented by the node parameter.
一种对数组进行更新的方式为:根据待编码节点的几何坐标计算出的莫顿码,对数组下标进行更新,从而实现数组的更新。One way to update the array is to update the array index according to the Morton code calculated from the geometric coordinates of the node to be encoded, thereby updating the array.
另一种对数组进行更新的方式为:在确定待编码节点相关联的最多N个已编码节点的过程中,若数组已经到达缓存容量上限,则清除位于节点参数表征的搜索范围之外的已编码点的占位信息。Another way to update the array is: in the process of determining the maximum N encoded nodes associated with the node to be encoded, if the array has reached the upper limit of the cache capacity, clear the placeholder information of the encoded points outside the search range represented by the node parameters.
本实施例中,通过节点参数限定与待编码节点相关联的已编码节的数量,进而在后续步骤中通过数量较少的已编码节的占位信息即可对待编码节点进行几何编码,以此减少了已编码节点的占位信息的存储空间,释放了大量的内存空间。In this embodiment, the number of encoded nodes associated with the node to be encoded is limited by node parameters, and then in subsequent steps, the node to be encoded can be geometrically encoded by the placeholder information of a smaller number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded nodes and freeing up a large amount of memory space.
可选地,所述基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流包括:Optionally, the performing geometric coding on the node to be coded based on the context information corresponding to the node to be coded to generate a target bitstream includes:
所述编码端通过所述待编码点云对应的上下文模型对所述待编码节点对应的上下文信息进行编码,生成目标码流,并将模型索引写入所述目标码流;所述模型索引用于表征所述待编码点云对应的上下文模型。The encoding end encodes the context information corresponding to the node to be encoded through the context model corresponding to the point cloud to be encoded, generates a target code stream, and writes a model index into the target code stream; the model index is used to characterize the context model corresponding to the point cloud to be encoded.
本实施例中,编码端通过自适应判断,从多套上下文模型中选择一套上下文模型对上
下文信息进行编码,并将表征该上下文模型的模型索引写入目标码流。应理解,若编码端只存储有一套上下文模型,则不会将模型索引写入目标码流。In this embodiment, the encoder selects a context model from multiple context models through adaptive judgment. The following information is encoded, and the model index representing the context model is written into the target bitstream. It should be understood that if the encoder only stores one set of context models, the model index will not be written into the target bitstream.
可选地,所述节点参数为协议约定的参数,或者所述节点参数基于预先获取的指示信息确定。Optionally, the node parameters are parameters agreed upon by a protocol, or the node parameters are determined based on pre-acquired indication information.
一种可选的实施方式为,上述节点参数为协议约定的移位数。这种实施方式下,可以在编码端直接规定节点参数。An optional implementation is that the node parameter is the number of shifts agreed upon by the protocol. In this implementation, the node parameter can be directly specified at the encoding end.
另一种可选的实施方式为:上述节点参数是预先获取的指示信息确定的。这种实施方式下,通过解析指示信息,确定节点参数。Another optional implementation is that the node parameters are determined by pre-acquired indication information. In this implementation, the node parameters are determined by parsing the indication information.
请参阅图4,图4是本申请实施例提供的几何解码方法的流程示意图。本实施例提供的几何解码方法包括以下步骤:Please refer to Figure 4, which is a schematic diagram of the flow of the geometric decoding method provided in the embodiment of the present application. The geometric decoding method provided in this embodiment includes the following steps:
S401,解码端获取目标码流。S401, the decoding end obtains the target bit stream.
S402,所述解码端解码所述目标码流,获得待解码点云。S402: The decoding end decodes the target code stream to obtain a point cloud to be decoded.
本步骤中,对获取到的目标码流进行解码,获得待解码点云,其中,待解码点云包括至少两个待解码节点。In this step, the acquired target code stream is decoded to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded.
S403,所述解码端对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点。S403: The decoding end determines, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded.
其中,上述待解码节点为待解码点云中的非初始节点,N为大于或等于1的整数。The above-mentioned node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1.
需要说明的是,对于待解码点云中的初始节点,可以根据解码目标码流得到的初始节点的缺省值,对初始节点进行几何解码。It should be noted that, for the initial node in the point cloud to be decoded, the initial node may be geometrically decoded according to the default value of the initial node obtained by decoding the target code stream.
需要说明的是,不同的待解码节点相关联的已解码节点的数量可以相同,也可以不同,但每个待解码节点相关联的已解码节点的数量不超过N。It should be noted that the number of decoded nodes associated with different nodes to be decoded may be the same or different, but the number of decoded nodes associated with each node to be decoded does not exceed N.
S404,所述解码端根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息。S404: The decoding end generates context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes.
具体的如何根据节点参数确定待解码节点相关联的最多N个已解码节点的实施方式,请参阅后续实施例。For specific implementation methods of how to determine the maximum N decoded nodes associated with the node to be decoded according to the node parameters, please refer to the subsequent embodiments.
S405,所述解码端基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。S405: The decoding end performs geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded.
本申请实施例中,对于每个待解码节点,只需要根据该待解码节点相关联的最多N个已解码节的占位信息,即可实现对该待解码节点的几何解码。也就是说,通过数量较少的已解码节的占位信息即可对待解码节点进行几何解码,以此减少了已解码节点的占位信息的存储空间,释放了大量的内存空间。In the embodiment of the present application, for each node to be decoded, geometric decoding of the node to be decoded can be achieved only based on the placeholder information of at most N decoded nodes associated with the node to be decoded. In other words, the node to be decoded can be geometrically decoded using the placeholder information of a relatively small number of decoded nodes, thereby reducing the storage space of the placeholder information of the decoded nodes and freeing up a large amount of memory space.
可选地,所述节点参数用于表征已解码节点数量,所述根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点包括:Optionally, the node parameter is used to characterize the number of decoded nodes, and determining the maximum N decoded nodes associated with the node to be decoded according to the node parameter corresponding to the point cloud to be decoded includes:
所述解码端基于所述待解码节点的解码顺序,将解码顺序位于所述待解码节点之前的N个已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。
The decoding end determines, based on the decoding order of the node to be decoded, N decoded nodes whose decoding order is before the node to be decoded as the maximum N decoded nodes associated with the node to be decoded.
本实施例中,节点参数用于表征已解码节点数量。这种实施方式下,可以将解码顺序位于待解码节点之前的已解码节点,确定为待解码节点相关联的已解码节点,其中,节点参数表征的已解码节点的数量不超过N。In this embodiment, the node parameter is used to characterize the number of decoded nodes. In this implementation, the decoded nodes that are located before the node to be decoded in decoding order can be determined as decoded nodes associated with the node to be decoded, wherein the number of decoded nodes characterized by the node parameter does not exceed N.
可选地,所述根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点包括:Optionally, determining, according to the node parameters corresponding to the point cloud to be decoded, a maximum of N decoded nodes associated with the node to be decoded comprises:
所述解码端以所述待解码节点对应的几何位置为搜索中心,对所述待解码点云执行搜索操作,所述搜索操作的搜索范围基于所述节点参数确定;The decoding end performs a search operation on the point cloud to be decoded with the geometric position corresponding to the node to be decoded as the search center, and the search range of the search operation is determined based on the node parameter;
所述解码端将搜索到的已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。The decoding end determines the searched decoded nodes as the maximum N decoded nodes associated with the node to be decoded.
本实施例中,上述节点参数可以表征搜索范围。这种实施方式下,可以以待解码节点对应的几何位置为搜索中心,对待解码点云执行搜索操作,将位于搜索范围内的已解码节点,确定为待解码节点相关联的已解码节点。In this embodiment, the node parameters can represent the search range. In this implementation, the geometric position corresponding to the node to be decoded can be used as the search center to perform a search operation on the point cloud to be decoded, and the decoded nodes within the search range can be determined as decoded nodes associated with the node to be decoded.
可选地,所述基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息包括:Optionally, the geometric decoding of the node to be decoded based on the context information corresponding to the node to be decoded to generate the reconstructed geometric information corresponding to the point cloud to be decoded includes:
所述解码端通过所述待解码点云对应的上下文模型对所述待解码节点对应的上下文信息进行解码,生成所述待解码点云对应的重建几何信息;所述上下文模型基于所述目标码流携带的模型索引确定。The decoding end decodes the context information corresponding to the node to be decoded through the context model corresponding to the point cloud to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded; the context model is determined based on the model index carried by the target code stream.
本实施例中,可以对目标码流进行解码,获得模型索引,进而通过该模型索引表征的上下文模型对待解码节点对应的上下文信息进行解码,生成待解码点云对应的重建几何信息。In this embodiment, the target code stream may be decoded to obtain a model index, and then the context information corresponding to the node to be decoded may be decoded using a context model represented by the model index to generate reconstructed geometric information corresponding to the point cloud to be decoded.
可选地,所述节点参数协议约定的参数,或者所述节点参数基于所述目标码流携带的指示信息确定。Optionally, the node parameter is a parameter agreed upon by a protocol, or the node parameter is determined based on indication information carried by the target code stream.
需要说明的是,本实施例提供的几何解码方式是上述实施例提供的几何编码的逆过程。It should be noted that the geometric decoding method provided in this embodiment is the inverse process of the geometric encoding provided in the above embodiments.
本申请实施例提供的几何编码方法,执行主体可以为几何编码装置。本申请实施例中以几何编码装置执行几何编码方法为例,说明本申请实施例提供的几何编码装置。The geometric coding method provided in the embodiment of the present application can be executed by a geometric coding device. In the embodiment of the present application, a geometric coding device executing the geometric coding method is taken as an example to illustrate the geometric coding device provided in the embodiment of the present application.
如图5所示,本申请实施例还提供了一种几何编码装置500,包括:As shown in FIG5 , the embodiment of the present application further provides a geometric encoding device 500, including:
获取模块501,用于获取待编码点云的几何信息;The acquisition module 501 is used to acquire geometric information of the point cloud to be encoded;
第一生成模块502,用于根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒;所述包围盒包括至少两个待编码节点,所述待编码节点基于对所述包围盒进行多叉树划分确定;A first generating module 502 is used to generate a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded; the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree partitioning of the bounding box;
确定模块503,用于对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点,所述待编码节点为所述待编码点云中的非初始节点,N为大于或等于1的整数;A determination module 503 is used to determine, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded, wherein the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;
第二生成模块504,用于根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息;
A second generating module 504 is used to generate context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;
第三生成模块505,用于基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。The third generating module 505 is used to perform geometric coding on the node to be coded based on the context information corresponding to the node to be coded, so as to generate a target bitstream.
可选地,所述节点参数用于表征已编码节点数量,所述确定模块503,具体用于:Optionally, the node parameter is used to characterize the number of encoded nodes, and the determination module 503 is specifically used to:
基于所述待编码节点的编码顺序,将编码顺序位于所述待编码节点之前的最多N个已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。Based on the coding order of the node to be coded, a maximum of N coded nodes whose coding order is before the node to be coded are determined as the maximum of N coded nodes associated with the node to be coded.
可选地,所述确定模块503,还具体用于:Optionally, the determining module 503 is further specifically configured to:
以所述待编码节点对应的几何位置为搜索中心,对所述待编码点云执行搜索操作,所述搜索操作的搜索范围基于所述节点参数确定;Taking the geometric position corresponding to the node to be encoded as the search center, performing a search operation on the point cloud to be encoded, wherein the search range of the search operation is determined based on the node parameter;
将搜索到的已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。The searched coded nodes are determined as the maximum N coded nodes associated with the node to be coded.
可选地,所述第三生成模块505,具体用于:Optionally, the third generating module 505 is specifically configured to:
通过所述待编码点云对应的上下文模型对所述待编码节点对应的上下文信息进行编码,生成目标码流,并将模型索引写入所述目标码流;所述模型索引用于表征所述待编码点云对应的上下文模型。The context information corresponding to the node to be encoded is encoded through the context model corresponding to the point cloud to be encoded, a target code stream is generated, and a model index is written into the target code stream; the model index is used to characterize the context model corresponding to the point cloud to be encoded.
可选地,所述节点参数为协议约定的参数,或者所述节点参数基于预先获取的指示信息确定。Optionally, the node parameters are parameters agreed upon by a protocol, or the node parameters are determined based on pre-acquired indication information.
本申请实施例中,对于每个待编码节点,只需要根据该待编码节点相关联的最多N个已编码节的占位信息,即可实现对该待编码节点的几何编码。相比于相关技术中需要所有已编码节点的占位信息对待编码节点进行几何编码的方案,本申请实施例通过数量较少的已编码节的占位信息即可对待编码节点进行几何编码,以此减少了已编码节点的占位信息的存储空间,释放了大量的内存空间。In the embodiment of the present application, for each node to be encoded, geometric encoding of the node to be encoded can be achieved only based on the placeholder information of at most N encoded nodes associated with the node to be encoded. Compared with the solution in the related art that requires the placeholder information of all encoded nodes to perform geometric encoding on the node to be encoded, the embodiment of the present application can perform geometric encoding on the node to be encoded through the placeholder information of a small number of encoded nodes, thereby reducing the storage space of the placeholder information of the encoded node and freeing up a large amount of memory space.
该装置实施例与上述图3所示的几何编码方法实施例对应,上述方法实施例中关于编码端的各个实施过程和实现方式均可适用于该装置实施例中,且能达到相同的技术效果。This device embodiment corresponds to the geometric coding method embodiment shown in FIG3 above. All implementation processes and implementation methods of the encoding end in the above method embodiment are applicable to this device embodiment and can achieve the same technical effect.
本申请实施例提供的几何解码方法,执行主体可以为几何解码装置。本申请实施例中以几何解码装置执行几何解码方法为例,说明本申请实施例提供的几何解码装置。The geometric decoding method provided in the embodiment of the present application can be executed by a geometric decoding device. In the embodiment of the present application, a geometric decoding device executing the geometric decoding method is taken as an example to illustrate the geometric decoding device provided in the embodiment of the present application.
如图6所示,本申请实施例还提供了一种几何解码装置600,包括:As shown in FIG6 , the embodiment of the present application further provides a geometric decoding device 600, including:
获取模块601,用于获取目标码流;The acquisition module 601 is used to acquire the target bit stream;
解码模块602,用于解码所述目标码流,获得待解码点云,所述待解码点云包括至少两个待解码节点;A decoding module 602 is used to decode the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded;
确定模块603,用于对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点,所述待解码节点为所述待解码点云中的非初始节点,N为大于或等于1的整数;A determination module 603 is used to determine, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;
第一生成模块604,用于根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息;A first generating module 604 is used to generate context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;
第二生成模块605,用于基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。
The second generating module 605 is used to perform geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generate reconstructed geometric information corresponding to the point cloud to be decoded.
可选地,所述节点参数用于表征已解码节点数量,所述确定模块603,具体用于:Optionally, the node parameter is used to characterize the number of decoded nodes, and the determination module 603 is specifically used to:
基于所述待解码节点的解码顺序,将解码顺序位于所述待解码节点之前的最多N个已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。Based on the decoding order of the node to be decoded, a maximum of N decoded nodes whose decoding order is before the node to be decoded are determined as the maximum of N decoded nodes associated with the node to be decoded.
可选地,所述确定模块603,还具体用于:Optionally, the determining module 603 is further specifically configured to:
以所述待解码节点对应的几何位置为搜索中心,对所述待解码点云执行搜索操作,所述搜索操作的搜索范围基于所述节点参数确定;Taking the geometric position corresponding to the node to be decoded as the search center, performing a search operation on the point cloud to be decoded, wherein the search range of the search operation is determined based on the node parameters;
将搜索到的已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。The searched decoded nodes are determined as the maximum N decoded nodes associated with the node to be decoded.
可选地,所述第二生成模块605,具体用于:Optionally, the second generating module 605 is specifically configured to:
通过所述待解码点云对应的上下文模型对所述待解码节点对应的上下文信息进行解码,生成所述待解码点云对应的重建几何信息;所述上下文模型基于所述目标码流携带的模型索引确定。The context information corresponding to the node to be decoded is decoded through the context model corresponding to the point cloud to be decoded, so as to generate reconstructed geometric information corresponding to the point cloud to be decoded; the context model is determined based on the model index carried by the target code stream.
可选地,所述节点参数协议约定的参数,或者所述节点参数基于所述目标码流携带的指示信息确定。Optionally, the node parameter is a parameter agreed upon by a protocol, or the node parameter is determined based on indication information carried by the target code stream.
本申请实施例提供的几何解码装置能够实现图4的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。The geometric decoding device provided in the embodiment of the present application can implement each process implemented by the method embodiment of Figure 4 and achieve the same technical effect. To avoid repetition, it will not be repeated here.
本申请实施例中的几何编码装置和几何解码装置可以是电子设备,例如具有操作系统的电子设备,也可以是电子设备中的部件、例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,终端可以包括但不限于上述所列举的终端的类型,其他设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)等,本申请实施例不作具体限定。The geometric encoding device and the geometric decoding device in the embodiments of the present application may be electronic devices, such as electronic devices with an operating system, or components in electronic devices, such as integrated circuits or chips. The electronic device may be a terminal, or may be other devices other than a terminal. Exemplarily, the terminal may include but is not limited to the types of terminals listed above, and other devices may be servers, network attached storage (NAS), etc., which are not specifically limited in the embodiments of the present application.
可选地,如图7所示,本申请实施例还提供一种通信设备700,包括处理器701和存储器702,存储器702上存储有可在所述处理器701上运行的程序或指令,例如,该通信设备700为终端时,该程序或指令被处理器701执行时实现上述几何编码方法实施例的各个步骤,或者实现上述几何解码方法实施例的各个步骤,且能达到相同的技术效果。Optionally, as shown in Figure 7, an embodiment of the present application also provides a communication device 700, including a processor 701 and a memory 702, and the memory 702 stores programs or instructions that can be executed on the processor 701. For example, when the communication device 700 is a terminal, the program or instructions are executed by the processor 701 to implement the various steps of the above-mentioned geometric encoding method embodiment, or to implement the various steps of the above-mentioned geometric decoding method embodiment, and can achieve the same technical effect.
本申请实施例还提供一种终端,包括处理器和通信接口,处理器用于执行以下操作:The embodiment of the present application further provides a terminal, including a processor and a communication interface, wherein the processor is configured to perform the following operations:
获取待编码点云的几何信息;Get the geometric information of the point cloud to be encoded;
根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒;Generate a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded;
对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点;For each node to be encoded, determine a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded;
根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息;Generate context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;
基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。Based on the context information corresponding to the node to be encoded, geometric encoding is performed on the node to be encoded to generate a target bitstream.
或者,处理器用于执行以下操作:Alternatively, the processor is used to perform the following operations:
获取目标码流;Get the target code stream;
解码所述目标码流,获得待解码点云;
Decoding the target code stream to obtain a point cloud to be decoded;
对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点;For each node to be decoded, determine a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded;
根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息;Generate context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;
基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。Based on the context information corresponding to the node to be decoded, the node to be decoded is geometrically decoded to generate reconstructed geometric information corresponding to the point cloud to be decoded.
该终端实施例与上述编码端和解码端方法实施例对应,上述方法实施例的各个实施过程和实现方式均可适用于该终端实施例中,且能达到相同的技术效果。具体地,图8为实现本申请实施例的一种终端的硬件结构示意图。The terminal embodiment corresponds to the above-mentioned encoding end and decoding end method embodiments, and each implementation process and implementation mode of the above-mentioned method embodiment can be applied to the terminal embodiment and can achieve the same technical effect. Specifically, Figure 8 is a hardware structure diagram of a terminal implementing the embodiment of the present application.
该终端800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、以及处理器810等部件。The terminal 800 includes but is not limited to: a radio frequency unit 801, a network module 802, an audio output unit 803, an input unit 804, a sensor 805, a display unit 806, a user input unit 807, an interface unit 808, a memory 809, and a processor 810.
本领域技术人员可以理解,终端800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。Those skilled in the art will appreciate that the terminal 800 may also include a power source (such as a battery) for supplying power to each component, and the power source may be logically connected to the processor 810 through a power management system, so as to implement functions such as managing charging, discharging, and power consumption management through the power management system. The terminal structure shown in FIG8 does not constitute a limitation on the terminal, and the terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange components differently, which will not be described in detail here.
应理解的是,本申请实施例中,输入单元804可以包括图形处理器(Graphics Processing Unit,GPU)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807包括触控面板8071以及其他输入设备8072中的至少一种。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。It should be understood that in the embodiment of the present application, the input unit 804 may include a graphics processing unit (GPU) 8041 and a microphone 8042, and the graphics processor 8041 processes the image data of the static picture or video obtained by the image capture device (such as a camera) in the video capture mode or the image capture mode. The display unit 806 may include a display panel 8061, and the display panel 8061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 807 includes a touch panel 8071 and at least one of other input devices 8072. The touch panel 8071 is also called a touch screen. The touch panel 8071 may include two parts: a touch detection device and a touch controller. Other input devices 8072 may include, but are not limited to, a physical keyboard, function keys (such as a volume control key, a switch key, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.
本申请实施例中,射频单元801接收来自网络侧设备的下行数据后,可以传输给处理器88进行处理;射频单元801可以向网络侧设备发送上行数据。通常,射频单元801包括但不限于天线、放大器、收发信机、耦合器、低噪声放大器、双工器等。In the embodiment of the present application, after receiving downlink data from the network side device, the RF unit 801 can transmit the data to the processor 88 for processing; the RF unit 801 can send uplink data to the network side device. Generally, the RF unit 801 includes but is not limited to an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.
存储器809可用于存储软件程序或指令以及各种数据。存储器809可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器809可以包括易失性存储器或非易失性存储器,或者,存储器809可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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)。本申请实施例中的存储器809包括但不限于这些和任意其它适合类型的存储器。The memory 809 can be used to store software programs or instructions and various data. The memory 809 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 instruction required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 809 may include a volatile memory or a non-volatile memory, or the memory 809 may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (DRAM), or a volatile memory. The memory 809 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.
处理器810可包括一个或多个处理单元;可选地,处理器810集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。The processor 810 may include one or more processing units; optionally, the processor 810 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 810.
其中,处理器810用于执行以下操作:The processor 810 is configured to perform the following operations:
获取待编码点云的几何信息;Get the geometric information of the point cloud to be encoded;
根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒;Generate a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded;
对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点;For each node to be encoded, determine a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded;
根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息;Generate context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;
基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。Based on the context information corresponding to the node to be encoded, geometric encoding is performed on the node to be encoded to generate a target bitstream.
或者,处理器810还用于执行以下操作:Alternatively, the processor 810 is further configured to perform the following operations:
获取目标码流;Get the target code stream;
解码所述目标码流,获得待解码点云;Decoding the target code stream to obtain a point cloud to be decoded;
对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点;For each node to be decoded, determine a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded;
根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息;Generate context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;
基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。Based on the context information corresponding to the node to be decoded, the node to be decoded is geometrically decoded to generate reconstructed geometric information corresponding to the point cloud to be decoded.
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述几何编码方法实施例的各个过程,或者实现上述几何解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, the various processes of the above-mentioned geometric encoding method embodiment are implemented, or the various processes of the above-mentioned geometric decoding method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.
其中,所述处理器为上述实施例中所述的终端中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。The processor is the processor in the terminal described in the above embodiment. 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.
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述几何编码方法实施例的各个过程,或者实现上述几何解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned geometric encoding method embodiment, or to implement the various processes of the above-mentioned geometric decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。It should be understood that the chip mentioned in the embodiments of the present application can also be called a system-level chip, a system chip, a chip system or a system-on-chip chip, etc.
本申请实施例另提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现上述几何编码方法实施例的各个过程,或者实现上述几何解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。The embodiments of the present application further provide a computer program/program product, which is stored in a storage medium. The computer program/program product is executed by at least one processor to implement the various processes of the above-mentioned geometric encoding method embodiment, or to implement the various processes of the above-mentioned geometric decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。It should be noted that, in this article, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises one..." does not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be noted 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, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted, or combined. In addition, the features described with reference to certain examples may be combined in other examples.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a computer software product, which is stored in a storage medium (such as ROM/RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
Claims (23)
- 一种几何编码方法,包括:A geometric encoding method, comprising:编码端获取待编码点云的几何信息;The encoding end obtains the geometric information of the point cloud to be encoded;所述编码端根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒;所述包围盒包括至少两个待编码节点,所述待编码节点基于对所述包围盒进行多叉树划分确定;The encoding end generates a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded; the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree division of the bounding box;所述编码端对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点,所述待编码节点为所述待编码点云中的非初始节点,N为大于或等于1的整数;The encoder determines, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to the node parameters corresponding to the point cloud to be encoded, where the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;所述编码端根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息;The encoder generates context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;所述编码端基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。The encoding end performs geometric encoding on the node to be encoded based on context information corresponding to the node to be encoded to generate a target bitstream.
- 根据权利要求1所述的方法,其中,所述节点参数用于表征已编码节点数量,所述根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点包括:The method according to claim 1, wherein the node parameter is used to characterize the number of encoded nodes, and the determining, according to the node parameter corresponding to the point cloud to be encoded, a maximum of N encoded nodes associated with the node to be encoded comprises:所述编码端基于所述待编码节点的编码顺序,将编码顺序位于所述待编码节点之前的最多N个已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。The encoding end determines, based on the encoding order of the node to be encoded, a maximum of N encoded nodes whose encoding order is before the node to be encoded as the maximum of N encoded nodes associated with the node to be encoded.
- 根据权利要求1所述的方法,其中,所述根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点包括:The method according to claim 1, wherein the determining, according to the node parameters corresponding to the point cloud to be encoded, a maximum of N encoded nodes associated with the node to be encoded comprises:所述编码端以所述待编码节点对应的几何位置为搜索中心,对所述待编码点云执行搜索操作,所述搜索操作的搜索范围基于所述节点参数确定;The encoder performs a search operation on the point cloud to be encoded with the geometric position corresponding to the node to be encoded as the search center, and the search range of the search operation is determined based on the node parameter;所述编码端将搜索到的已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。The encoding end determines the searched encoded nodes as the maximum N encoded nodes associated with the node to be encoded.
- 根据权利要求1-3中任一项所述的方法,其中,所述基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流包括:The method according to any one of claims 1 to 3, wherein the step of geometrically encoding the node to be encoded based on the context information corresponding to the node to be encoded to generate a target bitstream comprises:所述编码端通过所述待编码点云对应的上下文模型对所述待编码节点对应的上下文信息进行编码,生成目标码流,并将模型索引写入所述目标码流;所述模型索引用于表征所述待编码点云对应的上下文模型。The encoding end encodes the context information corresponding to the node to be encoded through the context model corresponding to the point cloud to be encoded, generates a target code stream, and writes a model index into the target code stream; the model index is used to characterize the context model corresponding to the point cloud to be encoded.
- 根据权利要求1-4中任一项所述的方法,其中,所述节点参数为协议约定的参数,或者所述节点参数基于预先获取的指示信息确定。The method according to any one of claims 1 to 4, wherein the node parameters are parameters agreed upon by a protocol, or the node parameters are determined based on pre-acquired indication information.
- 一种几何解码方法,包括:A geometric decoding method, comprising:解码端获取目标码流;The decoding end obtains the target bitstream;所述解码端解码所述目标码流,获得待解码点云,所述待解码点云包括至少两个待解 码节点;The decoding end decodes the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two points to be decoded. Code node;所述解码端对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点,所述待解码节点为所述待解码点云中的非初始节点,N为大于或等于1的整数;The decoding end determines, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;所述解码端根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息;The decoding end generates context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;所述解码端基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。The decoding end performs geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded.
- 根据权利要求6所述的方法,其中,所述节点参数用于表征已解码节点数量,所述根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点包括:The method according to claim 6, wherein the node parameter is used to characterize the number of decoded nodes, and the determining, according to the node parameter corresponding to the point cloud to be decoded, a maximum of N decoded nodes associated with the node to be decoded comprises:所述解码端基于所述待解码节点的解码顺序,将解码顺序位于所述待解码节点之前的最多N个已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。The decoding end determines, based on the decoding order of the node to be decoded, a maximum of N decoded nodes whose decoding order is before the node to be decoded as the maximum of N decoded nodes associated with the node to be decoded.
- 根据权利要求6所述的方法,其中,所述根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点包括:The method according to claim 6, wherein the determining, according to the node parameters corresponding to the point cloud to be decoded, a maximum of N decoded nodes associated with the node to be decoded comprises:所述解码端以所述待解码节点对应的几何位置为搜索中心,对所述待解码点云执行搜索操作,所述搜索操作的搜索范围基于所述节点参数确定;The decoding end performs a search operation on the point cloud to be decoded with the geometric position corresponding to the node to be decoded as the search center, and the search range of the search operation is determined based on the node parameter;所述解码端将搜索到的已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。The decoding end determines the searched decoded nodes as the maximum N decoded nodes associated with the node to be decoded.
- 根据权利要求6-8中任一项所述的方法,其中,所述基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息包括:The method according to any one of claims 6 to 8, wherein the step of geometrically decoding the node to be decoded based on the context information corresponding to the node to be decoded and generating the reconstructed geometric information corresponding to the point cloud to be decoded comprises:所述解码端通过所述待解码点云对应的上下文模型对所述待解码节点对应的上下文信息进行解码,生成所述待解码点云对应的重建几何信息;所述上下文模型基于所述目标码流携带的模型索引确定。The decoding end decodes the context information corresponding to the node to be decoded through the context model corresponding to the point cloud to be decoded, and generates reconstructed geometric information corresponding to the point cloud to be decoded; the context model is determined based on the model index carried by the target code stream.
- 根据权利要求6-9中任一项所述的方法,其中,所述节点参数协议约定的参数,或者所述节点参数基于所述目标码流携带的指示信息确定。The method according to any one of claims 6 to 9, wherein the node parameter is a parameter agreed upon by a node parameter protocol, or the node parameter is determined based on indication information carried by the target code stream.
- 一种几何编码装置,包括:A geometric encoding device, comprising:获取模块,用于获取待编码点云的几何信息;The acquisition module is used to obtain the geometric information of the point cloud to be encoded;第一生成模块,用于根据所述待编码点云的几何信息,生成所述待编码点云对应的包围盒;所述包围盒包括至少两个待编码节点,所述待编码节点基于对所述包围盒进行多叉树划分确定;A first generating module is used to generate a bounding box corresponding to the point cloud to be encoded according to the geometric information of the point cloud to be encoded; the bounding box includes at least two nodes to be encoded, and the nodes to be encoded are determined based on multi-branch tree partitioning of the bounding box;确定模块,用于对于每个待编码节点,根据所述待编码点云对应的节点参数确定所述待编码节点相关联的最多N个已编码节点,所述待编码节点为所述待编码点云中的非初始节点,N为大于或等于1的整数; A determination module, configured to determine, for each node to be encoded, a maximum of N encoded nodes associated with the node to be encoded according to a node parameter corresponding to the point cloud to be encoded, wherein the node to be encoded is a non-initial node in the point cloud to be encoded, and N is an integer greater than or equal to 1;第二生成模块,用于根据所述最多N个已编码节点的占位信息,生成所述待编码节点对应的上下文信息;A second generating module, configured to generate context information corresponding to the node to be encoded according to the placeholder information of the maximum N encoded nodes;第三生成模块,用于基于所述待编码节点对应的上下文信息,对所述待编码节点进行几何编码,生成目标码流。The third generating module is used to perform geometric coding on the node to be coded based on the context information corresponding to the node to be coded, so as to generate a target bit stream.
- 根据权利要求11所述的装置,其中,所述节点参数用于表征已编码节点数量,所述确定模块,具体用于:The apparatus according to claim 11, wherein the node parameter is used to characterize the number of encoded nodes, and the determination module is specifically used to:基于所述待编码节点的编码顺序,将编码顺序位于所述待编码节点之前的最多N个已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。Based on the coding order of the node to be coded, a maximum of N coded nodes whose coding order is before the node to be coded are determined as the maximum of N coded nodes associated with the node to be coded.
- 根据权利要求11所述的装置,其中,所述确定模块,还具体用于:The apparatus according to claim 11, wherein the determining module is further specifically configured to:以所述待编码节点对应的几何位置为搜索中心,对所述待编码点云执行搜索操作,所述搜索操作的搜索范围基于所述节点参数确定;Taking the geometric position corresponding to the node to be encoded as the search center, performing a search operation on the point cloud to be encoded, wherein the search range of the search operation is determined based on the node parameter;将搜索到的已编码节点,确定为所述待编码节点相关联的最多N个已编码节点。The searched coded nodes are determined as the maximum N coded nodes associated with the node to be coded.
- 根据权利要求11-13中任一项所述的装置,其中,所述第三生成模块,具体用于:The device according to any one of claims 11 to 13, wherein the third generating module is specifically used to:通过所述待编码点云对应的上下文模型对所述待编码节点对应的上下文信息进行编码,生成目标码流,并将模型索引写入所述目标码流;所述模型索引用于表征所述待编码点云对应的上下文模型。The context information corresponding to the node to be encoded is encoded through the context model corresponding to the point cloud to be encoded, a target code stream is generated, and a model index is written into the target code stream; the model index is used to characterize the context model corresponding to the point cloud to be encoded.
- 根据权利要求11-14中任一项所述的装置,其中,所述节点参数为协议约定的参数,或者所述节点参数基于预先获取的指示信息确定。The device according to any one of claims 11 to 14, wherein the node parameters are parameters agreed upon by a protocol, or the node parameters are determined based on pre-acquired indication information.
- 一种几何解码装置,包括:A geometric decoding device, comprising:获取模块,用于获取目标码流;An acquisition module is used to acquire a target bitstream;解码模块,用于解码所述目标码流,获得待解码点云,所述待解码点云包括至少两个待解码节点;A decoding module, used for decoding the target code stream to obtain a point cloud to be decoded, wherein the point cloud to be decoded includes at least two nodes to be decoded;确定模块,用于对于每个待解码节点,根据所述待解码点云对应的节点参数确定所述待解码节点相关联的最多N个已解码节点,所述待解码节点为所述待解码点云中的非初始节点,N为大于或等于1的整数;A determination module, configured to determine, for each node to be decoded, a maximum of N decoded nodes associated with the node to be decoded according to the node parameters corresponding to the point cloud to be decoded, wherein the node to be decoded is a non-initial node in the point cloud to be decoded, and N is an integer greater than or equal to 1;第一生成模块,用于根据所述最多N个已解码节点的占位信息,生成所述待解码节点对应的上下文信息;A first generating module, configured to generate context information corresponding to the node to be decoded according to the placeholder information of the maximum N decoded nodes;第二生成模块,用于基于所述待解码节点对应的上下文信息,对所述待解码节点进行几何解码,生成所述待解码点云对应的重建几何信息。The second generating module is used to perform geometric decoding on the node to be decoded based on the context information corresponding to the node to be decoded, and generate reconstructed geometric information corresponding to the point cloud to be decoded.
- 根据权利要求16所述的装置,其中,所述节点参数用于表征已解码节点数量,所述确定模块,具体用于:The apparatus according to claim 16, wherein the node parameter is used to characterize the number of decoded nodes, and the determination module is specifically used to:基于所述待解码节点的解码顺序,将解码顺序位于所述待解码节点之前的最多N个已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。Based on the decoding order of the node to be decoded, a maximum of N decoded nodes whose decoding order is before the node to be decoded are determined as the maximum of N decoded nodes associated with the node to be decoded.
- 根据权利要求16所述的装置,其中,所述确定模块,还具体用于:The apparatus according to claim 16, wherein the determining module is further specifically configured to:以所述待解码节点对应的几何位置为搜索中心,对所述待解码点云执行搜索操作,所 述搜索操作的搜索范围基于所述节点参数确定;Taking the geometric position corresponding to the node to be decoded as the search center, a search operation is performed on the point cloud to be decoded. The search range of the search operation is determined based on the node parameters;将搜索到的已解码节点,确定为所述待解码节点相关联的最多N个已解码节点。The searched decoded nodes are determined as the maximum N decoded nodes associated with the node to be decoded.
- 根据权利要求16-18中任一项所述的装置,其中,所述第二生成模块,具体用于:The device according to any one of claims 16 to 18, wherein the second generating module is specifically configured to:通过所述待解码点云对应的上下文模型对所述待解码节点对应的上下文信息进行解码,生成所述待解码点云对应的重建几何信息;所述上下文模型基于所述目标码流携带的模型索引确定。The context information corresponding to the node to be decoded is decoded through the context model corresponding to the point cloud to be decoded, so as to generate reconstructed geometric information corresponding to the point cloud to be decoded; the context model is determined based on the model index carried by the target code stream.
- 根据权利要求16-19中任一项所述的装置,其中,所述节点参数协议约定的参数,或者所述节点参数基于所述目标码流携带的指示信息确定。The device according to any one of claims 16 to 19, wherein the node parameter is a parameter agreed upon by a node parameter protocol, or the node parameter is determined based on indication information carried by the target code stream.
- 一种终端,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-5中任一项所述的几何编码方法的步骤,或者实现如权利要求6-10中任一项所述的几何解码方法的步骤。A terminal comprises a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the programs or instructions are executed by the processor, the steps of the geometric encoding method described in any one of claims 1 to 5 are implemented, or the steps of the geometric decoding method described in any one of claims 6 to 10 are implemented.
- 一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-5中任一项所述的几何编码方法的步骤,或者实现如权利要求6-10中任一项所述的几何解码方法的步骤。A readable storage medium storing a program or instruction, wherein the program or instruction, when executed by a processor, implements the steps of a geometric encoding method as described in any one of claims 1 to 5, or implements the steps of a geometric decoding method as described in any one of claims 6 to 10.
- 一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如权利要求1-5中任一项所述的几何编码方法的步骤,或者实现如权利要求6-10中任一项所述的几何解码方法的步骤。 A chip, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the steps of the geometric encoding method as described in any one of claims 1 to 5, or to implement the steps of the geometric decoding method as described in any one of claims 6 to 10.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211583723.XA CN118175341A (en) | 2022-12-09 | 2022-12-09 | Geometric coding method, geometric decoding method and terminal |
CN202211583723.X | 2022-12-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024120326A1 true WO2024120326A1 (en) | 2024-06-13 |
Family
ID=91349563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/136035 WO2024120326A1 (en) | 2022-12-09 | 2023-12-04 | Geometric coding method, geometric decoding method and terminal |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118175341A (en) |
WO (1) | WO2024120326A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708560A (en) * | 2018-07-10 | 2020-01-17 | 腾讯美国有限责任公司 | Point cloud data processing method and device |
CN112565795A (en) * | 2020-12-03 | 2021-03-26 | 西安电子科技大学 | Point cloud geometric information encoding and decoding method |
US20210272324A1 (en) * | 2018-07-10 | 2021-09-02 | Blackberry Limited | Methods and devices for neighbourhood-based occupancy prediction in point cloud compression |
WO2021184380A1 (en) * | 2020-03-20 | 2021-09-23 | Oppo广东移动通信有限公司 | Point cloud encoding method and decoding method, encoder and decoder, and storage medium |
CN115131449A (en) * | 2022-06-18 | 2022-09-30 | 腾讯科技(深圳)有限公司 | Point cloud processing method and device, computer equipment and storage medium |
-
2022
- 2022-12-09 CN CN202211583723.XA patent/CN118175341A/en active Pending
-
2023
- 2023-12-04 WO PCT/CN2023/136035 patent/WO2024120326A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110708560A (en) * | 2018-07-10 | 2020-01-17 | 腾讯美国有限责任公司 | Point cloud data processing method and device |
US20210272324A1 (en) * | 2018-07-10 | 2021-09-02 | Blackberry Limited | Methods and devices for neighbourhood-based occupancy prediction in point cloud compression |
WO2021184380A1 (en) * | 2020-03-20 | 2021-09-23 | Oppo广东移动通信有限公司 | Point cloud encoding method and decoding method, encoder and decoder, and storage medium |
CN112565795A (en) * | 2020-12-03 | 2021-03-26 | 西安电子科技大学 | Point cloud geometric information encoding and decoding method |
CN115131449A (en) * | 2022-06-18 | 2022-09-30 | 腾讯科技(深圳)有限公司 | Point cloud processing method and device, computer equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN118175341A (en) | 2024-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022257970A1 (en) | Point cloud geometric information encoding processing method, decoding processing method, and related device | |
WO2022257968A1 (en) | Point cloud coding method, point cloud decoding method, and terminal | |
WO2022257971A1 (en) | Point cloud encoding processing method, point cloud decoding processing method, and related device | |
WO2022257969A1 (en) | Point cloud coding method, decoding method, and related device | |
CN109413152B (en) | Image processing method, image processing device, storage medium and electronic equipment | |
US20240121439A1 (en) | Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device | |
WO2024120326A1 (en) | Geometric coding method, geometric decoding method and terminal | |
WO2022257978A1 (en) | Point cloud coding method and apparatus, and point cloud decoding method and apparatus | |
WO2024120325A1 (en) | Point cloud coding method, point cloud decoding method, and terminal | |
WO2024120324A1 (en) | Attribute transformation decoding method, attribute transformation coding method, and terminal | |
WO2023098802A1 (en) | Point cloud attribute encoding method, point cloud attribute decoding method, and terminal | |
WO2024120323A1 (en) | Attribute transformation coding method, attribute transformation decoding method, and terminal | |
WO2023098801A1 (en) | Point cloud attribute encoding method, point cloud decoding method, and terminal | |
WO2024149182A1 (en) | Transform coefficient encoding method, transform coefficient decoding method and terminal | |
WO2024146591A1 (en) | List creating method and terminal | |
WO2024217303A1 (en) | Transform coefficient coding method, transform coefficient decoding method, and terminal | |
WO2024149142A1 (en) | Transform coefficient encoding method, transform coefficient decoding method, and terminal | |
WO2023155779A1 (en) | Encoding method, decoding method, apparatus, and communication device | |
WO2024188138A1 (en) | Point cloud encoding processing method, point cloud decoding processing method, and related device | |
WO2023098803A1 (en) | Point cloud encoding processing method, point cloud decoding processing method and related device | |
WO2024217340A1 (en) | Point cloud coding processing method, point cloud decoding processing method, and related device | |
WO2023025024A1 (en) | Point cloud attribute coding method, point cloud attribute decoding method and terminal | |
WO2024199057A1 (en) | Haptic data encoding method, haptic data decoding method, and related device | |
WO2024149141A1 (en) | Point cloud encoding method and apparatus, point cloud decoding method and apparatus, and communication device | |
WO2023125231A1 (en) | Loop filtering 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: 23899904 Country of ref document: EP Kind code of ref document: A1 |