WO2024120325A1 - 点云编码方法、点云解码方法及终端 - Google Patents

点云编码方法、点云解码方法及终端 Download PDF

Info

Publication number
WO2024120325A1
WO2024120325A1 PCT/CN2023/136034 CN2023136034W WO2024120325A1 WO 2024120325 A1 WO2024120325 A1 WO 2024120325A1 CN 2023136034 W CN2023136034 W CN 2023136034W WO 2024120325 A1 WO2024120325 A1 WO 2024120325A1
Authority
WO
WIPO (PCT)
Prior art keywords
layer
point cloud
decoded
encoded
decoding
Prior art date
Application number
PCT/CN2023/136034
Other languages
English (en)
French (fr)
Inventor
张伟
王贵旗
杨付正
吕卓逸
Original Assignee
维沃移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 维沃移动通信有限公司 filed Critical 维沃移动通信有限公司
Publication of WO2024120325A1 publication Critical patent/WO2024120325A1/zh

Links

Definitions

  • the present application belongs to the field of coding and decoding technology, and specifically relates to a point cloud encoding method, a point cloud 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 point cloud to be encoded is contained in a bounding box, which can be divided into at least one point cloud slice.
  • the encoding end determines whether each point cloud slice meets the isolated point encoding condition according to the preset indication information, and then performs isolated point encoding on the isolated points in the point cloud slice that meets the isolated point encoding condition.
  • the above scheme needs to encode a large number of non-isolated point flags for the non-isolated points in the point cloud slice that meets the isolated point encoding condition, which increases the encoding bit rate and thus reduces the encoding efficiency.
  • the embodiments of the present application provide a point cloud encoding method, a point cloud decoding method and a terminal, which can solve the problem in the related technology that a large number of non-isolated point flag bits need to be encoded, which increases the encoding bit rate and thus reduces the encoding efficiency.
  • an embodiment of the present application provides a point cloud encoding method, including:
  • the encoding end obtains the geometric information of the point cloud to be encoded
  • the encoding end determines, based on geometric information of the point cloud to be encoded, at least one point cloud slice corresponding to the point cloud to be encoded, wherein the point cloud slice is generated by dividing a bounding box corresponding to the point cloud to be encoded into blocks;
  • the encoding end encodes the to-be-encoded layer for the point cloud slice that meets the isolated point coding condition according to the first indication information corresponding to each to-be-encoded layer in the point cloud slice to generate a target code stream, wherein the to-be-encoded layer is determined based on multi-branch tree division of the point cloud slice, and the first indication information is used to determine whether the corresponding to-be-encoded layer meets the isolated point coding condition.
  • an embodiment of the present application provides a point cloud decoding method, including:
  • the decoding end obtains the target bitstream
  • the decoding end determines a point cloud to be decoded corresponding to the target code stream based on a decoding result of the target code stream;
  • the decoding end decodes the to-be-decoded layer according to the second indication information corresponding to each to-be-decoded layer in the point cloud slice for the point cloud slice that meets the isolated point decoding condition, and generates the reconstructed geometric information of the to-be-decoded point cloud, wherein the point cloud slice is generated by dividing the bounding box corresponding to the to-be-decoded point cloud into blocks,
  • the layer to be decoded is determined based on multi-branch tree partitioning of the point cloud slice, and the second indication information is used to determine whether the corresponding layer to be decoded meets the isolated point decoding condition.
  • an embodiment of the present application provides a point cloud encoding device, including:
  • a first acquisition module is used to acquire geometric information of a point cloud to be encoded
  • a first determination module is used to determine at least one point cloud slice corresponding to the point cloud to be encoded based on geometric information of the point cloud to be encoded, wherein the point cloud slice is generated by dividing a bounding box corresponding to the point cloud to be encoded into blocks;
  • a coding module is used to encode the to-be-coded layer according to the first indication information corresponding to each to-be-coded layer in the point cloud slice for the point cloud slice that meets the isolated point coding condition, and generate a target code stream, wherein the to-be-coded layer is determined based on multi-branch tree division of the point cloud slice, and the first indication information is used to determine whether the corresponding to-be-coded layer meets the isolated point coding condition.
  • an embodiment of the present application provides a point cloud decoding device, including:
  • a first acquisition module used to acquire a target bitstream
  • a first determination module configured to determine a point cloud to be decoded corresponding to the target code stream based on a decoding result of the target code stream
  • a decoding module is used to decode the point cloud slices to be decoded that meet the isolated point decoding conditions in the point cloud to be decoded, according to the second indication information corresponding to each layer to be decoded in the point cloud slices, to generate reconstructed geometric information of the point cloud to be decoded, the point cloud slices are generated based on block division of the bounding box corresponding to the point cloud to be decoded, the layers to be decoded are determined based on multi-branch tree division of the point cloud slices, and the second indication information is used to determine whether the corresponding layer to be decoded meets the isolated point decoding conditions.
  • an embodiment of the present application provides a terminal comprising a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the program or instructions are executed by the 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.
  • an embodiment of the present application provides 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.
  • an embodiment of the present application 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 a program or instructions 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.
  • an embodiment of the present application provides a computer program/program product, which is stored in a storage medium and 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.
  • the to-be-encoded layer is encoded according to the first indication information corresponding to each to-be-encoded layer, wherein the first indication information is used to determine whether the corresponding to-be-encoded layer satisfies the isolated point encoding condition, that is, only when the first indication information corresponding to the to-be-encoded layer indicates that the to-be-encoded layer satisfies the isolated point encoding condition, the to-be-encoded layer can be encoded with isolated points, thereby reducing the encoding of non-isolated point flag bits in the process of point cloud encoding of point cloud slices. The number of bits is reduced, which reduces the encoding bit rate and thus improves the encoding efficiency.
  • 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 point cloud encoding method provided in an embodiment of the present application.
  • FIG4 is a schematic diagram of a flow chart of a point cloud decoding method provided in an embodiment of the present application.
  • FIG5 is a structural diagram of a point cloud encoding device provided in an embodiment of the present application.
  • FIG6 is a structural diagram of a point cloud 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 the terminal provided in an embodiment of the present application.
  • first, second, etc. in the specification and claims of the present 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 here, and the objects distinguished by “first” and “second” are generally of the same type, and the number of objects is not limited.
  • the first object can be one or more.
  • “and/or” in the specification and claims represents at least one of the connected objects, and the character “/" generally represents that the objects associated with each other are in an "or” relationship.
  • the point cloud encoding device corresponding to the point cloud encoding method in the embodiment of the present application and the point cloud decoding device corresponding to the point cloud 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 is not limited in the embodiments of the present application.
  • the point cloud audio and video coding standard (AVS) point cloud coding device is used to encode the geometric information and attribute information of the point cloud separately.
  • 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. 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 point cloud coding method.
  • the point cloud coding method provided by the embodiment of the present application is described in detail below through some embodiments and their application scenarios in combination with the accompanying drawings.
  • FIG3 is a flow chart of a point cloud coding method in an embodiment of the present application.
  • the point cloud coding 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 determines at least one point cloud slice corresponding to the point cloud to be encoded based on geometric information of the point cloud to be encoded.
  • the geometric position of the point cloud to be encoded can be coordinate translated and quantized to generate a bounding box containing the point cloud to be encoded.
  • the bounding box is divided into blocks according to the parameters in the geometric header information to generate at least two point cloud slices corresponding to the bounding box. It should be understood that the parameters in the above-mentioned geometric header information may indicate that the bounding box is not divided into blocks. In this case, the bounding box can be determined as a point cloud slice.
  • the encoding end encodes the to-be-encoded layer according to the first indication information corresponding to each to-be-encoded layer in the point cloud slice for the point cloud slice that meets the isolated point encoding condition, to generate a target bitstream.
  • the geometry header information is encoded, wherein a parameter in the geometry header information indicates whether the point cloud to be encoded satisfies the isolated point encoding condition.
  • the geometry header information is encoded, wherein a parameter in the geometry header information indicates whether the isolated point encoding condition is satisfied.
  • the corresponding point cloud slice satisfies the isolated point coding condition. If the parameters in the geometry header information indicate that the point cloud slice satisfies the isolated point coding condition, the point cloud slice is determined as a point cloud slice that satisfies the isolated point coding condition.
  • the encoding end can perform multi-tree division on the point cloud slices that meet the isolated point coding conditions to obtain multiple layers to be encoded corresponding to the point cloud slices, wherein the above-mentioned multi-tree division includes but is not limited to binary tree division, quadtree division and octree division.
  • the layers to be coded are coded according to the first indication information corresponding to the layers to be coded to generate a target bitstream, wherein the above-mentioned first indication information is used to determine whether the corresponding layers to be coded meet the isolated point coding condition.
  • the encoding end can perform geometric encoding on the points to be encoded in the point cloud slices.
  • the layer to be encoded is encoded according to the first indication information corresponding to each layer to be encoded, wherein the first indication information is used to determine whether the corresponding layer to be encoded satisfies the isolated point encoding condition, that is, only when the first indication information corresponding to the layer to be encoded indicates that the layer to be encoded satisfies the isolated point encoding condition, can the layer to be encoded be isolated point encoded, thereby reducing the number of encodings of non-isolated point flag bits in the process of point cloud encoding of point cloud slices, reducing the encoding bit rate, and thereby improving the encoding efficiency.
  • encoding the to-be-encoded layer according to the first indication information corresponding to each to-be-encoded layer in the point cloud slice includes:
  • the encoding end When the first indication information is used to represent that each to-be-encoded layer in the point cloud slice satisfies the isolated point encoding condition, the encoding end performs isolated point encoding on each isolated point in each to-be-encoded layer, and performs geometric encoding on each non-isolated point in each to-be-encoded layer.
  • the encoding end pre-acquires a first indication information corresponding to a point cloud slice that meets the isolated point coding condition, the first indication information is associated with each layer to be coded in the point cloud slice, and the first indication information is used to represent that each layer to be coded in the point cloud slice meets the isolated point coding condition.
  • the above-mentioned first indication information can be represented as an isolated point qualified flag (SinglePointEligibleFlag).
  • the first indication information in the point cloud slice that meets the isolated point coding condition represents that each layer to be coded in the point cloud slice meets the isolated point coding condition
  • isolated point coding is performed on each isolated point in each layer to be coded
  • geometric coding is performed on each non-isolated point in each layer to be coded.
  • the above-mentioned method of encoding isolated points in the layer to be encoded may be to introduce an identification bit for each point to be encoded in the layer to be encoded, and the identification bit indicates whether the corresponding point to be encoded is an isolated point.
  • the identification bit indicates whether the corresponding point to be encoded is an isolated point.
  • the geometric coordinates of the isolated points are encoded using arithmetic coding; for non-isolated points in the layer to be encoded, geometric coding continues to be performed based on multi-tree partitioning.
  • encoding the to-be-encoded layer according to the first indication information corresponding to each encoding layer in the point cloud slice includes:
  • the encoding end performs isolated point encoding on each isolated point in the layer to be encoded, and performs geometric encoding on each non-isolated point in the layer to be encoded, when the first indication information corresponding to the layer to be encoded indicates that the isolated point encoding condition is satisfied; or
  • the encoding end performs geometric encoding on each to-be-encoded point in the to-be-encoded layer when the first indication information corresponding to the to-be-encoded layer indicates that the isolated point encoding condition is not satisfied.
  • each layer to be encoded corresponds to a first indication information.
  • the first indication information can be expressed as SinglePointEligibleFlag[K], where K represents the number of layers corresponding to the layer to be encoded, for example, SinglePointEligibleFlag[1] is the first indication information corresponding to the first layer to be encoded.
  • the first indication information corresponding to the layer to be encoded represents that the isolated point encoding condition is met, isolated point encoding is performed on each isolated point in the layer to be encoded, and geometric encoding is performed on each non-isolated point in the layer to be encoded.
  • the first indication information is used to determine the layer to be encoded that meets the isolated point encoding conditions, and then isolated point encoding is performed on the above-mentioned layer to be encoded, thereby reducing the number of encodings for non-isolated point flag bits in the process of geometric encoding of point cloud slices, reducing the encoding bit rate, and thus improving the encoding efficiency.
  • the method further comprises:
  • the encoding end obtains a first number of to-be-encoded points included in the to-be-encoded layer and a second number of nodes included in the to-be-encoded layer;
  • the encoding end determines that the first indication information corresponding to the layer to be encoded represents that an isolated point encoding condition is satisfied.
  • the layer to be encoded meets the isolated point encoding condition according to the number of points to be encoded included in the layer to be encoded and the number of nodes included in the layer to be encoded. Specifically, a first number of points to be encoded included in the layer to be encoded and a second number of nodes included in the layer to be encoded may be divided, and if the division result is less than or equal to a first preset threshold, it is determined that the first indication information corresponding to the layer to be encoded represents that the isolated point encoding condition is met.
  • the first preset threshold is a value set by a user.
  • whether the layer to be encoded satisfies the isolated point encoding condition is determined according to the number of points to be encoded included in the layer to be encoded and the number of nodes included in the layer to be encoded.
  • the above method of determining whether the layer to be encoded satisfies the isolated point encoding condition does not require the encoder to transmit an additional bitstream, and determines whether the layer to be encoded satisfies the isolated point encoding condition through the indication information in the bitstream, thereby reducing the encoding bitrate and improving the encoding efficiency.
  • the first indication information is indication information agreed upon by a protocol, or the first indication information is determined based on the number of to-be-encoded points included in the corresponding to-be-encoded layer and the number of nodes included in the corresponding to-be-encoded layer.
  • the first indication information is the number of shifts agreed upon by the protocol.
  • the first indication information can be directly specified at the encoding end.
  • the first indication information may be transmitted to a decoding end.
  • the first indication information may be written into a syntax parameter set, a sequence parameter set, a geometry parameter set, a slice parameter set, or directly encoded into a target bitstream. Transmit to the decoding end.
  • the first indication information is determined based on the number of points to be encoded included in the layer to be encoded and the number of nodes included in the layer to be encoded. For specific implementations, please refer to the above embodiments.
  • the first indication information may not be transmitted to the decoding end.
  • FIG 4 is a schematic diagram of the process of the point cloud decoding method provided in the embodiment of the present application.
  • the point cloud decoding method provided in this embodiment includes the following steps:
  • the decoding end obtains the target bit stream.
  • the decoding end determines a point cloud to be decoded corresponding to the target code stream based on a decoding result of the target code stream.
  • the acquired target code stream is decoded to obtain a point cloud to be decoded.
  • the decoding end decodes the to-be-decoded layer according to the second indication information corresponding to each to-be-decoded layer in the point cloud slice that meets the isolated point decoding condition in the to-be-decoded point cloud, and generates reconstructed geometric information of the to-be-decoded point cloud.
  • a bounding box containing the point cloud to be decoded and parameters representing the block division of the bounding box are generated.
  • the bounding box is divided into blocks according to the above parameters to generate at least two point cloud slices corresponding to the bounding box. It should be understood that the above parameters may indicate that the bounding box is not divided into blocks. In this case, the bounding box can be determined as a point cloud slice.
  • point cloud slices that meet the isolated point decoding conditions are determined.
  • the point cloud slices that meet the isolated point decoding conditions are divided into multiple trees to obtain multiple layers to be decoded corresponding to the point cloud slices, wherein the multitree division includes but is not limited to binary tree division, quadtree division and octree division.
  • the layer to be decoded is decoded according to the second indication information corresponding to the layer to be decoded, and the reconstructed geometric information of the point cloud to be decoded is generated.
  • the layer to be decoded is decoded according to the second indication information corresponding to each layer to be decoded, wherein the second indication information is used to determine whether the corresponding layer to be decoded satisfies the isolated point decoding condition. That is to say, only when the second indication information corresponding to the layer to be decoded indicates that the layer to be decoded satisfies the isolated point decoding condition, can the layer to be decoded be subjected to isolated point decoding, thereby reducing the number of decodings of non-isolated point flag bits in the process of point cloud decoding of point cloud slices, reducing the decoding bit rate, and thereby improving the decoding efficiency.
  • decoding the to-be-decoded layer according to the second indication information corresponding to each to-be-decoded layer in the point cloud slice includes:
  • the decoding end When the second indication information is used to represent that each layer to be decoded in the point cloud slice satisfies the isolated point decoding condition, the decoding end performs isolated point decoding on each isolated point in each layer to be decoded, and performs geometric decoding on each non-isolated point in each layer to be decoded.
  • An optional implementation manner is that the decoding end decodes the target bitstream to obtain a second indication information corresponding to the point cloud slice that meets the isolated point decoding condition, the second indication information is associated with each to-be-decoded layer in the point cloud slice, and the second indication information is used to indicate that each to-be-decoded layer in the point cloud slice meets the isolated point decoding condition.
  • the above The second indication information may be expressed as SinglePointEligibleFlag.
  • isolated point decoding is performed on each isolated point in each layer to be decoded, and geometric decoding is performed on each non-isolated point in each layer to be decoded.
  • the above-mentioned method of decoding isolated points in the to-be-decoded layer may be to introduce an identification bit for each to-be-decoded point in the to-be-decoded layer, and the above-mentioned identification bit indicates whether the corresponding to-be-decoded point is an isolated point.
  • the value of the identification bit is 0, it indicates that the corresponding to-be-decoded point is not an isolated point; when the value of the identification bit is 1, it indicates that the corresponding to-be-decoded point is an isolated point.
  • arithmetic decoding is used to decode the isolated points; geometric decoding is performed for non-isolated points in the to-be-decoded layer.
  • decoding the to-be-decoded layer according to the second indication information corresponding to each to-be-decoded layer in the point cloud slice includes:
  • the decoding end performs isolated point decoding on each isolated point in the layer to be decoded, and performs geometric decoding on each non-isolated point in the layer to be decoded, when the second indication information corresponding to the layer to be decoded indicates that the isolated point decoding condition is satisfied; or
  • the decoding end performs geometric decoding on each to-be-decoded point in the to-be-decoded layer when the second indication information corresponding to the to-be-decoded layer indicates that an isolated point decoding condition is not satisfied.
  • each decoding layer corresponds to a second indication information
  • the decoding end obtains multiple second indication information by decoding the target code stream.
  • the second indication information can be expressed as SinglePointEligibleFlag[K], where K represents the number of layers corresponding to the to-be-decoded layer, for example, SinglePointEligibleFlag[1] is the second indication information corresponding to the first to-be-decoded layer.
  • the second indication information corresponding to the to-be-decoded layer represents that the isolated point decoding condition is met
  • isolated point decoding is performed on each isolated point in the to-be-decoded layer
  • geometric decoding is performed on each non-isolated point in the to-be-decoded layer.
  • the second indication information corresponding to the layer to be decoded indicates that the isolated point decoding condition is not satisfied, geometric decoding is performed on each point to be decoded in the layer to be decoded.
  • the method further comprises:
  • the decoding end obtains a third number of to-be-decoded points included in the to-be-decoded layer and a fourth number of nodes included in the to-be-decoded layer;
  • the decoding end determines, when a ratio between the third number and the fourth number is less than or equal to a second preset threshold, that the second indication information representation corresponding to the layer to be decoded satisfies an isolated point decoding condition.
  • the third number of points to be decoded included in the layer to be decoded and the fourth number of nodes included in the layer to be decoded can be divided, and if the division result is less than or equal to the second preset threshold, it is determined that the second indication information corresponding to the layer to be decoded represents that the isolated point decoding condition is met.
  • the second preset threshold is a value set by the user.
  • the second indication information is indication information obtained by decoding the target code stream, or the second indication information is determined based on the number of to-be-decoded points included in the corresponding to-be-decoded layer and the number of nodes included in the corresponding to-be-decoded layer.
  • the second indication information is indication information obtained by decoding the target bitstream.
  • the second indication information is based on the number of to-be-decoded points included in the to-be-decoded layer,
  • the target bitstream does not carry the second indication information, and the specific implementation method of how to determine the second indication information can refer to the above embodiment.
  • the point cloud encoding method provided in the embodiment of the present application can reduce the encoding time
  • the point cloud decoding method provided in the embodiment of the present application can reduce the decoding time.
  • Table 1 For ease of understanding, please refer to Table 1.
  • the above point cloud types are different data types corresponding to point clouds.
  • the above point cloud type 1 can be represented as "AVSCat1A”
  • the above point cloud type 2 can be represented as “AVSCat1B”
  • the above point cloud type 3 can be represented as “AVSCat1C”
  • the above point cloud type 4 can be represented as "AVSCat2-frame”
  • the above point cloud type 5 can be represented as "AVSCat3”.
  • the above sequence is a point cloud sequence set by the user.
  • the "88.6%" in the third row and third column of Table 1 indicates that the ratio of the encoding time of the point cloud encoding method provided in the embodiment of the present application to the encoding time of the point cloud encoding method in the related art is 88.6%.
  • the "93.4%" in the fourth row and fourth column of Table 1 indicates that the ratio of the decoding time of the point cloud decoding method provided in the embodiment of the present application to the decoding time of the point cloud decoding method in the related art is 93.4%.
  • the point cloud encoding method provided in the embodiment of the present application reduces the encoding time compared to the point cloud encoding method in the related art, thereby improving the encoding efficiency; the point cloud decoding method provided in the embodiment of the present application reduces the decoding time compared to the point cloud decoding method in the related art, thereby improving the decoding efficiency.
  • the point cloud coding method provided in the embodiment of the present application can be executed by a point cloud coding device.
  • the point cloud coding device executing the point cloud coding method is taken as an example to illustrate the point cloud coding device provided in the embodiment of the present application.
  • the embodiment of the present application further provides a point cloud encoding device 500, comprising:
  • the first acquisition module 501 is used to acquire geometric information of the point cloud to be encoded
  • a first determination module 502 is used to determine at least one point cloud slice corresponding to the point cloud to be encoded based on geometric information of the point cloud to be encoded, wherein the point cloud slice is generated by dividing a bounding box corresponding to the point cloud to be encoded into blocks;
  • the encoding module 503 is used to encode the to-be-encoded layer according to the first indication information corresponding to each to-be-encoded layer in the point cloud slice for the point cloud slice that meets the isolated point encoding condition, and generate a target bitstream.
  • the point cloud slice is divided into a multi-branch tree to determine whether the first indication information is used to determine whether the corresponding layer to be encoded meets the isolated point coding condition.
  • the encoding module 503 is specifically configured to:
  • isolated point encoding is performed on each isolated point in each layer to be encoded, and geometric encoding is performed on each non-isolated point in each layer to be encoded.
  • the encoding module 503 is further specifically configured to:
  • the first indication information corresponding to the layer to be encoded indicates that the isolated point encoding condition is satisfied, performing isolated point encoding on each isolated point in the layer to be encoded, and performing geometric encoding on each non-isolated point in the layer to be encoded;
  • the point cloud encoding device 500 further includes:
  • a second acquisition module used to acquire a first number of to-be-encoded points included in the to-be-encoded layer, and a second number of nodes included in the to-be-encoded layer;
  • the second determining module is configured to determine, when a ratio between the first number and the second number is less than or equal to a first preset threshold, whether the first indication information corresponding to the layer to be encoded satisfies an isolated point encoding condition.
  • the first indication information is indication information agreed upon by a protocol, or the first indication information is determined based on the number of to-be-encoded points included in the corresponding to-be-encoded layer and the number of nodes included in the corresponding to-be-encoded layer.
  • the layer to be encoded is encoded according to the first indication information corresponding to each layer to be encoded, wherein the first indication information is used to determine whether the corresponding layer to be encoded satisfies the isolated point encoding condition, that is, only when the first indication information corresponding to the layer to be encoded indicates that the layer to be encoded satisfies the isolated point encoding condition, can the layer to be encoded be isolated point encoded, thereby reducing the number of encodings of non-isolated point flag bits in the process of point cloud encoding of point cloud slices, reducing the encoding bit rate, and thereby improving the encoding efficiency.
  • This device embodiment corresponds to the point cloud encoding 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 point cloud decoding method provided in the embodiment of the present application can be executed by a point cloud decoding device.
  • the point cloud decoding device provided in the embodiment of the present application is described by taking the point cloud decoding method executed by the point cloud decoding device as an example.
  • the embodiment of the present application further provides a point cloud decoding device 600, including:
  • a first acquisition module 601 is used to acquire a target bitstream
  • a first determination module 602 is used to determine a to-be-decoded point cloud corresponding to the target code stream based on a decoding result of the target code stream;
  • the decoding module 603 is used to decode the point cloud slices that meet the isolated point decoding conditions in the point cloud to be decoded according to the second indication information corresponding to each layer to be decoded in the point cloud slices to generate the reconstructed geometric information of the point cloud to be decoded, and the point cloud slices are generated based on the block division of the bounding box corresponding to the point cloud to be decoded.
  • the to-be-decoded layer is determined based on multi-branch tree partitioning of the point cloud slice, and the second indication information is used to determine whether the corresponding to-be-decoded layer satisfies the isolated point decoding condition.
  • the decoding module 603 is specifically configured to:
  • isolated point decoding is performed on each isolated point in each to-be-decoded layer, and geometric decoding is performed on each non-isolated point in each to-be-decoded layer.
  • the decoding module 603 is further specifically configured to:
  • the second indication information corresponding to the layer to be decoded indicates that the isolated point decoding condition is satisfied, performing isolated point decoding on each isolated point in the layer to be decoded, and performing geometric decoding on each non-isolated point in the layer to be decoded;
  • the geometric decoding device 600 further includes:
  • a second acquisition module used to acquire a third number of to-be-decoded points included in the to-be-decoded layer, and a fourth number of nodes included in the to-be-decoded layer;
  • the second determination module is configured to determine, when a ratio between the third number and the fourth number is less than or equal to a second preset threshold, that the second indication information representation corresponding to the layer to be decoded satisfies an isolated point decoding condition.
  • the second indication information is indication information obtained by decoding the target code stream, or the second indication information is determined based on the number of to-be-decoded points included in the corresponding to-be-decoded layer and the number of nodes included in the corresponding to-be-decoded layer.
  • the point cloud 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 point cloud encoding device and the point cloud 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 point cloud encoding method embodiment, or to implement the various steps of the above-mentioned point cloud 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:
  • the instruction information encodes the layer to be encoded to generate a target bit stream.
  • the processor is used to perform the following operations:
  • the layer to be decoded is decoded according to the second indication information corresponding to each layer to be decoded in the point cloud slices to generate reconstructed geometric information of the point cloud to be decoded.
  • the terminal embodiment corresponds to the above-mentioned encoding end or decoding end method embodiment, 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 schematic diagram of the hardware structure 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 radio frequency unit 801 after receiving downlink data from the network side device, can transmit the data to the processor 810 for processing; the radio frequency unit 801 can send uplink data to the network side device.
  • the radio frequency 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 (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM) and a direct memory bus random access memory (DRRAM).
  • 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 801 is used to perform the following operations:
  • the to-be-coded layers are encoded according to the first indication information corresponding to each to-be-coded layer in the point cloud slices to generate a target code stream.
  • processor 801 is further configured to perform the following operations:
  • the layer to be decoded is decoded according to the second indication information corresponding to each layer to be decoded in the point cloud slices to generate reconstructed geometric information of 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 point cloud encoding method embodiment are implemented, or the various processes of the above-mentioned point cloud 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 point cloud encoding method embodiment, or to implement the various processes of the above-mentioned point cloud 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 present application embodiment further provides a computer program/program product, wherein the computer program/program product is stored In the storage medium, the computer program/program product is executed by at least one processor to implement the various processes of the above-mentioned point cloud encoding method embodiment, or to implement the various processes of the above-mentioned point cloud 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

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本申请公开了一种点云编码方法、点云解码方法及终端,属于编解码技术领域,本申请实施例提供的点云编码方法,包括:获取待编码点云的几何信息;基于待编码点云的几何信息,确定待编码点云对应的至少一个点云切片,点云切片基于对待编码点云对应的包围盒进行块划分生成;对于满足孤立点编码条件的点云切片,根据点云切片中每个待编码层对应的第一指示信息对待编码层进行编码,生成目标码流,待编码层基于对点云切片进行多叉树划分确定,第一指示信息用于确定对应的待编码层是否满足孤立点编码条件。

Description

点云编码方法、点云解码方法及终端
相关申请的交叉引用
本申请主张在2022年12月9日在中国提交的中国专利申请No.202211590446.5的优先权,其全部内容通过引用包含于此。
技术领域
本申请属于编解码技术领域,具体涉及一种点云编码方法、点云解码方法及终端。
背景技术
点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。
在相关技术中,待编码点云包含在一个包围盒(bounding box)内,该包围盒可以被划分为包括至少一个点云切片,编码端根据预先设置的指示信息判断每个点云切片是否满足孤立点编码条件,进而可以对满足孤立点编码条件的点云切片中的孤立点进行孤立点编码。然而,上述方案对于满足孤立点编码条件的点云切片中的非孤立点,需要编码大量的非孤立点标志位(flag),这增加了编码码率,进而降低了编码效率。
发明内容
本申请实施例提供一种点云编码方法、点云解码方法及终端,能够解决相关技术中需要编码大量的非孤立点标志位,增加了编码码率,进而降低了编码效率的问题。
第一方面,本申请实施例提供了一种点云编码方法,包括:
编码端获取待编码点云的几何信息;
所述编码端基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片,所述点云切片基于对所述待编码点云对应的包围盒进行块划分生成;
所述编码端对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码,生成目标码流,所述待编码层基于对所述点云切片进行多叉树划分确定,所述第一指示信息用于确定对应的待编码层是否满足孤立点编码条件。
第二方面,本申请实施例提供了一种点云解码方法,包括:
解码端获取目标码流;
所述解码端基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云;
所述解码端对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的重建几何信息,所述点云切片基于对所述待解码点云对应的包围盒进行块划分生成,所述 待解码层基于对所述点云切片进行多叉树划分确定,所述第二指示信息用于确定对应的待解码层是否满足孤立点解码条件。
第三方面,本申请实施例提供了一种点云编码装置,包括:
第一获取模块,用于获取待编码点云的几何信息;
第一确定模块,用于基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片,所述点云切片基于对所述待编码点云对应的包围盒进行块划分生成;
编码模块,用于对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码,生成目标码流,所述待编码层基于对所述点云切片进行多叉树划分确定,所述第一指示信息用于确定对应的待编码层是否满足孤立点编码条件。
第四方面,本申请实施例提供了一种点云解码装置,包括:
第一获取模块,用于获取目标码流;
第一确定模块,用于基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云;
解码模块,用于对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的重建几何信息,所述点云切片基于对所述待解码点云对应的包围盒进行块划分生成,所述待解码层基于对所述点云切片进行多叉树划分确定,所述第二指示信息用于确定对应的待解码层是否满足孤立点解码条件。
第五方面,本申请实施例提供了一种终端,该终端包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
第六方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
第七方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
第八方面,本申请实施例提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
本申请实施例中,根据每个待编码层对应的第一指示信息对待编码层进行编码,其中,第一指示信息用于确定对应的待编码层是否满足孤立点编码条件,也就是说,只有在待编码层对应的第一指示信息表征待编码层满足孤立点编码条件的情况下,才可以该待编码层进行孤立点编码,以此减少对点云切片进行点云编码的过程中,对非孤立点标志位的编码 数量,降低了编码码率,进而提高了编码效率。
附图说明
图1是点云AVS点云编码装置框架示意图;
图2是点云AVS点云解码装置框架示意图;
图3是本申请实施例提供的点云编码方法的流程示意图;
图4是本申请实施例提供的点云解码方法的流程示意图;
图5是本申请实施例提供的点云编码装置的结构图;
图6是本申请实施例提供的点云解码装置的结构图;
图7是本申请实施例提供的通信设备的结构图;
图8是本申请实施例提供的终端的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中的点云编码方法对应的点云编码装置,和点云解码方法对应的点云解码装置均可以为终端,该终端也可以称作终端设备或者用户终端(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)、柜员机或者自助机等终端侧设备,可穿戴式设备包括:智能手表、智能手环、智能耳机、智能眼镜、智能首饰(智能手镯、智能手链、智能戒指、智能项链、智能脚镯、智能脚链等)、智能腕带、智能服装等。需要说明的是,在本申请实施例并不限定终端的具体类型。
为了方便理解,以下对本申请实施例涉及的一些内容进行说明:
请参阅图1,如图1所示,目前,在数字音视频编解码技术标准中,使用点云音视频编码标准(Audio Video coding Standard,AVS)点云编码装置对点云的几何信息和属性信息是分开编码的。首先对几何信息进行坐标转换,使点云全部包含在一个包围盒(bounding box)中,然后再进行坐标量化。量化主要起到缩放的作用,由于量化会对几何坐标取整,使得一部分点的几何信息相同,称为重复点,根据参数来决定是否移除重复点,量化和移除重复点这两个步骤又被称为体素化过程。接下来,对包围盒进行多叉树划分,例如八叉树、四叉树或二叉树划分。在基于多叉树的几何信息编码框架中,将包围盒八等分为8个子立方体,对非空的子立方体继续进行划分,直到划分得到叶子节点为1x1x1的单位立方体时停止划分,对叶子结点中的点数进行编码,生成二进制码流。
几何编码完成后,对几何信息进行重建,用于后面的重着色。属性编码主要针对的是颜色和反射率信息。首先根据参数判断是否进行颜色空间转换,若进行颜色空间转换,则将颜色信息从红绿蓝(Red Green Blue,RGB)颜色空间转换到亮度色彩(YUV)颜色空间。然后,利用原始点云对几何重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中,通过莫顿码或希尔伯特码对点云进行排序后,利用几何空间关系搜索待预测点的最近邻,并利用所找到邻居的重建属性值对待预测点进行预测得到预测属性值,然后将真实属性值和预测属性值进行差分得到预测残差,最后对预测残差进行量化并编码,生成二进制码流。
应理解,数字音视频编解码技术标准中的解码流程与上述编码流程对应,具体的,AVS点云解码装置框架如图2所示。
本申请提供了一种点云编码方法,下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的点云编码方法进行详细地说明。
请参阅图3,图3是本申请实施例中点云编码方法的流程图。本实施例提供的点云编码方法包括以下步骤:
S301,编码端获取待编码点云的几何信息。
S302,所述编码端基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片。
本步骤中,在获取待编码点云的几何信息之后,可以对待编码点云的几何位置进行坐标平移和坐标量化,生成包含待编码点云的包围盒。根据几何头信息中的参数对包围盒进行块划分,生成该包围盒对应的至少两个点云切片,应理解,上述几何头信息中的参数可能指示不对包围盒进行块划分,这种情况下,可以将包围盒确定为一个点云切片。
S303,所述编码端对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码,生成目标码流。
应理解,对包围盒进行块划分之后,编码几何头信息,其中,几何头信息中有一个参数指示待编码点云是否满足孤立点编码条件。在几何头信息中的参数指示待编码点云满足孤立点编码条件的情况下,编码几何片头信息,其中,几何片头信息中有一个参数指示对 应的点云切片是否满足孤立点编码条件,若几何片头信息中的参数指示点云切片满足孤立点编码条件,则将该点云切片确定为满足孤立点编码条件的点云切片。
本步骤中,编码端可以对满足孤立点编码条件的点云切片进行多叉树划分,获得点云切片对应的多个待编码层,其中,上述多叉树划分包括但不限于二叉树划分、四叉树划分以及八叉树划分。
对于上述每个待编码层,根据该待编码层对应的第一指示信息对待编码层进行编码,生成目标码流,其中,上述第一指示信息用于确定对应的待编码层是否满足孤立点编码条件。具体的如何对待编码层进行编码的技术方案,请参阅后续实施例。
需要说明的是,对于不满足孤立点编码条件的点云切片,编码端可以对该点云切片中的待编码点进行几何编码。
本申请实施例中,根据每个待编码层对应的第一指示信息对待编码层进行编码,其中,第一指示信息用于确定对应的待编码层是否满足孤立点编码条件,也就是说,只有在待编码层对应的第一指示信息表征待编码层满足孤立点编码条件的情况下,才可以该待编码层进行孤立点编码,以此减少对点云切片进行点云编码的过程中,对非孤立点标志位的编码数量,降低了编码码率,进而提高了编码效率。
可选地,所述根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码包括:
所述编码端在所述第一指示信息用于表征所述点云切片中的每个待编码层均满足孤立点编码条件的情况下,对每个待编码层中的每个孤立点进行孤立点编码,以及对每个待编码层中的每个非孤立点进行几何编码。
一种可选地实施方式为,编码端预先获取了满足孤立点编码条件的点云切片对应的一个第一指示信息,该第一指示信息与该点云切片中的每个待编码层相关联,且该第一指示信息用于表征点云切片中的每个待编码层均满足孤立点编码条件,可选地,上述第一指示信息可以表示为孤立点合格标识(SinglePointEligibleFlag)。在满足孤立点编码条件的点云切片中的第一指示信息表征点云切片中的每个待编码层均满足孤立点编码条件的情况下,对每个待编码层中的每个孤立点进行孤立点编码,以及对每个待编码层中的每个非孤立点进行几何编码。
应理解,上述对待编码层进行孤立点编码的方式可以是,对于待编码层中的每个待编码点引入一个标识位,上述标识位表征对应的待编码点是否为孤立点,可选地,在该标识位的数值为0的情况下,表示对应的待编码点不是孤立点;在该标识位的数值为1的情况下,表示对应的待编码点是孤立点。对于待编码层中的孤立点,使用算数编码的方式对该孤立点的几何坐标进行编码;对于待编码层中的非孤立点,则继续基于多叉树划分进行几何编码。
可选地,所述根据所述点云切片中每个编码层对应的第一指示信息对所述待编码层进行编码包括:
所述编码端在待编码层对应的第一指示信息表征满足孤立点编码条件的情况下,对所述待编码层中的每个孤立点进行孤立点编码,以及对所述待编码层中的每个非孤立点进行几何编码;或,
所述编码端在待编码层对应的第一指示信息表征不满足孤立点编码条件的情况下,对所述待编码层中的每个待编码点进行几何编码。
另一种可选地实施方式为,每个待编码层与一个第一指示信息对应,可选地,上述第一指示信息可以表示为SinglePointEligibleFlag[K],其中,K表示待编码层对应的层数,例如SinglePointEligibleFlag[1]为第1待编码层对应的第一指示信息。这种情况下,若待编码层对应的第一指示信息表征满足孤立点编码条件,则对该待编码层中的每个孤立点进行孤立点编码,对待编码层中的每个非孤立点进行几何编码。
若待编码层对应的第一指示信息表征不满足孤立点编码条件,则对该待编码层中的每个待编码点进行几何编码。
本实施例中,通过第一指示信息确定满足孤立点编码条件的待编码层,进而对上述待编码层进行孤立点编码,以此减少对点云切片进行几何编码的过程中,对非孤立点标志位的编码数量,降低了编码码率,进而提高了编码效率。
可选地,所述方法还包括:
所述编码端获取所述待编码层包括的待编码点的第一数量,以及所述待编码层包括的节点的第二数量;
所述编码端在所述第一数量与所述第二数量之间的比值小于或等于第一预设阈值的情况下,确定所述待编码层对应的第一指示信息表征满足孤立点编码条件。
本实施例中,可以根据待编码层包括的待编码点的数量以及待编码层包括的节点的数量,判断该待编码层是否满足孤立点编码条件。具体而言,可以将待编码层包括的待编码点的第一数量与待编码层包括的节点的第二数量做除法运算,若除法结果小于或等于第一预设阈值,则确定待编码层对应的第一指示信息表征满足孤立点编码条件。其中,上述第一预设阈值为用户自定义设置的数值。
本实施例中,根据待编码层包括的待编码点的数量以及待编码层包括的节点的数量,判断该待编码层是否满足孤立点编码条件。上述判断待编码层是否满足孤立点编码条件的方式不需要编码端传输额外的码流,通过码流中的指示信息判断待编码层是否满足孤立点编码条件,以此降低了编码码率,进而提高了编码效率。
可选地,所述第一指示信息为协议约定的指示信息,或者所述第一指示信息基于对应的待编码层包括的待编码点的数量,以及对应的待编码层包括的节点的数量确定。
一种可选地实施方式为,上述第一指示信息为协议约定的移位数。这种实施方式下,可以在编码端直接规定第一指示信息。
可选地,可以将上述第一指示信息传输至解码端。其中,可以将第一指示信息写入语法参数集、序列参数集、几何参数集、片参数集或者直接编码至目标码流,通过上述方式 传输至解码端。
另一种可选地实施方式为:上述第一指示信息是基于待编码层包括的待编码点的数量,以及待编码层包括的节点的数量确定的,具体的实施方式可以参阅上述实施例。
可选地,这种实施方式下,可以不将第一指示信息传输至解码端。
请参阅图4,图4是本申请实施例提供的点云解码方法的流程示意图。本实施例提供的点云解码方法包括以下步骤:
S401,解码端获取目标码流。
S402,所述解码端基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云。
本步骤中,对获取到的目标码流进行解码,获得待解码点云。
S403,所述解码端对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的重建几何信息。
本步骤中,基于对目标码流的解码结果,生成包含待解码点云的包围盒以及表征对包围盒进行块划分的参数。根据上述参数对包围盒进行块划分,生成该包围盒对应的至少两个点云切片,应理解,上述参数可能指示不对包围盒进行块划分,这种情况下,可以将包围盒确定为一个点云切片。
基于对目标码流的解码结果,确定满足孤立点解码条件的点云切片。对满足孤立点解码条件的点云切片进行多叉树划分,获得点云切片对应的多个待解码层,其中,上述多叉树划分包括但不限于二叉树划分、四叉树划分以及八叉树划分。对于上述每个待解码层,根据该待解码层对应的第二指示信息对待解码层进行解码,生成待解码点云的重建几何信息。
本申请实施例中,根据每个待解码层对应的第二指示信息对待解码层进行解码,其中,第二指示信息用于确定对应的待解码层是否满足孤立点解码条件,也就是说,只有在待解码层对应的第二指示信息表征待解码层满足孤立点解码条件的情况下,才可以该待解码层进行孤立点解码,以此减少对点云切片进行点云解码的过程中,对非孤立点标志位的解码数量,降低了解码码率,进而提高了解码效率。
可选地,所述根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码包括:
所述解码端在所述第二指示信息用于表征所述点云切片中的每个待解码层均满足孤立点解码条件的情况下,对每个待解码层中的每个孤立点进行孤立点解码,以及对每个待解码层中的每个非孤立点进行几何解码。
一种可选地实施方式为,解码端解码目标码流,获取满足孤立点解码条件的点云切片对应的一个第二指示信息,该第二指示信息与该点云切片中的每个待解码层相关联,且该第二指示信息用于表征点云切片中的每个待解码层均满足孤立点解码条件,可选地,上述 第二指示信息可以表示为SinglePointEligibleFlag。这种情况下,对每个待解码层中的每个孤立点进行孤立点解码,以及对每个待解码层中的每个非孤立点进行几何解码。
应理解,上述对待解码层进行孤立点解码的方式可以是,对于待解码层中的每个待解码点引入一个标识位,上述标识位表征对应的待解码点是否为孤立点,可选地,在该标识位的数值为0的情况下,表示对应的待解码点不是孤立点;在该标识位的数值为1的情况下,表示对应的待解码点是孤立点。对于待解码层中的孤立点,使用算数解码的方式对该孤立点进行解码;对于待解码层中的非孤立点进行几何解码。
可选地,所述根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码包括:
所述解码端在待解码层对应的第二指示信息表征满足孤立点解码条件的情况下,对所述待解码层中的每个孤立点进行孤立点解码,以及对所述待解码层中的每个非孤立点进行几何解码;或,
所述解码端在待解码层对应的第二指示信息表征不满足孤立点解码条件的情况下,对所述待解码层中的每个待解码点进行几何解码。
另一种可选地实施方式为,每个解码层与一个第二指示信息对应,解码端解码目标码流获得了多个第二指示信息,可选地,上述第二指示信息可以表示为SinglePointEligibleFlag[K],其中,K表示待解码层对应的层数,例如SinglePointEligibleFlag[1]为第1待解码层对应的第二指示信息。这种情况下,若待解码层对应的第二指示信息表征满足孤立点解码条件,则对该待解码层中的每个孤立点进行孤立点解码,对待解码层中的每个非孤立点进行几何解码。
若待解码层对应的第二指示信息表征不满足孤立点解码条件,则对该待解码层中的每个待解码点进行几何解码。
可选地,所述方法还包括:
所述解码端获取所述待解码层包括的待解码点的第三数量,以及所述待解码层包括的节点的第四数量;
所述解码端在所述第三数量与所述第四数量之间的比值小于或等于第二预设阈值的情况下,确定所述待解码层对应的第二指示信息表征满足孤立点解码条件。
本实施例中,可以将待解码层包括的待解码点的第三数量与待解码层包括的节点的第四数量做除法运算,若除法结果小于或等于第二预设阈值,则确定待解码层对应的第二指示信息表征满足孤立点解码条件。其中,上述第二预设阈值为用户自定义设置的数值。
可选地,所述第二指示信息为解码所述目标码流获得的指示信息,或者所述第二指示信息基于对应的待解码层包括的待解码点的数量,以及对应的待解码层包括的节点的数量确定。
一种可选地实施方式为,上述第二指示信息为对目标码流进行解码获得的指示信息。
另一种可选地实施方式为:上述第二指示信息是基于待解码层包括的待解码点的数量, 以及待解码层包括的节点的数量确定的,目标码流中未携带第二指示信息,具体的如何确定第二指示信息的实施方式可以参阅上述实施例。
应理解,本申请实施例提供的点云编码方法可以降低编码时间,本申请实施例提供的点云解码方法可以降低解码时间,为便于理解请参阅表一。
表一:
需要说明的是,上述点云类型为点云对应的不同的数据类型,可选地,上述点云类型1可以表示为“AVSCat1A”,上述点云类型2可以表示为“AVSCat1B”,上述点云类型3可以表示为“AVSCat1C”,上述点云类型4可以表示为“AVSCat2-frame”,上述点云类型5可以表示为“AVSCat3”。上述序列为用户自定义设置的点云序列。
示例性的,表一中第三行第三列中的“88.6%”表示本申请实施例提供的点云编码方法的编码时间与相关技术中的点云编码方法的编码时间的比值为88.6%。表一种第四行第四列中的“93.4%”表示本申请实施例提供的点云解码方法的解码时间与相关技术中的点云解码方法的解码时间的比值为93.4%。
从表一中可以得到,本申请实施例提供的点云编码方法相比于相关技术中的点云编码方法,降低了编码时间,以此提高了编码效率;本申请实施例提供的点云解码方法相比于相关技术中的点云解码方法,降低了解码时间,以此提高了解码效率。
本申请实施例提供的点云编码方法,执行主体可以为点云编码装置。本申请实施例中以点云编码装置执行点云编码方法为例,说明本申请实施例提供的点云编码装置。
如图5所示,本申请实施例还提供了一种点云编码装置500,包括:
第一获取模块501,用于获取待编码点云的几何信息;
第一确定模块502,用于基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片,所述点云切片基于对所述待编码点云对应的包围盒进行块划分生成;
编码模块503,用于对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码,生成目标码流,所述待编码层基 于对所述点云切片进行多叉树划分确定,所述第一指示信息用于确定对应的待编码层是否满足孤立点编码条件。
可选地,所述编码模块503,具体用于:
在所述第一指示信息用于表征所述点云切片中的每个待编码层均满足孤立点编码条件的情况下,对每个待编码层中的每个孤立点进行孤立点编码,以及对每个待编码层中的每个非孤立点进行几何编码。
可选地,所述编码模块503,还具体用于:
在待编码层对应的第一指示信息表征满足孤立点编码条件的情况下,对所述待编码层中的每个孤立点进行孤立点编码,以及对所述待编码层中的每个非孤立点进行几何编码;或,
在待编码层对应的第一指示信息表征不满足孤立点编码条件的情况下,对所述待编码层中的每个待编码点进行几何编码。
可选地,所述点云编码装置500还包括:
第二获取模块,用于获取所述待编码层包括的待编码点的第一数量,以及所述待编码层包括的节点的第二数量;
第二确定模块,用于在所述第一数量与所述第二数量之间的比值小于或等于第一预设阈值的情况下,确定所述待编码层对应的第一指示信息表征满足孤立点编码条件。
可选地,所述第一指示信息为协议约定的指示信息,或者所述第一指示信息基于对应的待编码层包括的待编码点的数量,以及对应的待编码层包括的节点的数量确定。
本申请实施例中,根据每个待编码层对应的第一指示信息对待编码层进行编码,其中,第一指示信息用于确定对应的待编码层是否满足孤立点编码条件,也就是说,只有在待编码层对应的第一指示信息表征待编码层满足孤立点编码条件的情况下,才可以该待编码层进行孤立点编码,以此减少对点云切片进行点云编码的过程中,对非孤立点标志位的编码数量,降低了编码码率,进而提高了编码效率。
该装置实施例与上述图3所示的点云编码方法实施例对应,上述方法实施例中关于编码端的各个实施过程和实现方式均可适用于该装置实施例中,且能达到相同的技术效果。
本申请实施例提供的点云解码方法,执行主体可以为点云解码装置。本申请实施例中以点云解码装置执行点云解码方法为例,说明本申请实施例提供的点云解码装置。
如图6所示,本申请实施例还提供了一种点云解码装置600,包括:
第一获取模块601,用于获取目标码流;
第一确定模块602,用于基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云;
解码模块603,用于对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的重建几何信息,所述点云切片基于对所述待解码点云对应的包围盒进行块划分生 成,所述待解码层基于对所述点云切片进行多叉树划分确定,所述第二指示信息用于确定对应的待解码层是否满足孤立点解码条件。
可选地,所述解码模块603,具体用于:
在所述第二指示信息用于表征所述点云切片中的每个待解码层均满足孤立点解码条件的情况下,对每个待解码层中的每个孤立点进行孤立点解码,以及对每个待解码层中的每个非孤立点进行几何解码。
可选地,所述解码模块603,还具体用于:
在待解码层对应的第二指示信息表征满足孤立点解码条件的情况下,对所述待解码层中的每个孤立点进行孤立点解码,以及对所述待解码层中的每个非孤立点进行几何解码;或,
在待解码层对应的第二指示信息表征不满足孤立点解码条件的情况下,对所述待解码层中的每个待解码点进行几何解码。
可选地,所述几何解码装置600还包括:
第二获取模块,用于获取所述待解码层包括的待解码点的第三数量,以及所述待解码层包括的节点的第四数量;
第二确定模块,用于在所述第三数量与所述第四数量之间的比值小于或等于第二预设阈值的情况下,确定所述待解码层对应的第二指示信息表征满足孤立点解码条件。
可选地,所述第二指示信息为解码所述目标码流获得的指示信息,或者所述第二指示信息基于对应的待解码层包括的待解码点的数量,以及对应的待解码层包括的节点的数量确定。
本申请实施例提供的点云解码装置能够实现图4的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例中的点云编码装置和点云解码装置可以是电子设备,例如具有操作系统的电子设备,也可以是电子设备中的部件、例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,终端可以包括但不限于上述所列举的终端的类型,其他设备可以为服务器、网络附属存储器(Network Attached Storage,NAS)等,本申请实施例不作具体限定。
可选地,如图7所示,本申请实施例还提供一种通信设备700,包括处理器701和存储器702,存储器702上存储有可在所述处理器701上运行的程序或指令,例如,该通信设备700为终端时,该程序或指令被处理器701执行时实现上述点云编码方法实施例的各个步骤,或者实现上述点云解码方法实施例的各个步骤,且能达到相同的技术效果。
本申请实施例还提供一种终端,包括处理器和通信接口,处理器用于执行以下操作:
获取待编码点云的几何信息;
基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片;
对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一 指示信息对所述待编码层进行编码,生成目标码流。
或者,处理器用于执行以下操作:
获取目标码流;
基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云;
对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的重建几何信息。
该终端实施例与上述编码端或解码端方法实施例对应,上述方法实施例的各个实施过程和实现方式均可适用于该终端实施例中,且能达到相同的技术效果。具体地,图8为实现本申请实施例的一种终端的硬件结构示意图。
该终端800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、以及处理器810等部件。
本领域技术人员可以理解,终端800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本申请实施例中,输入单元804可以包括图形处理器(Graphics Processing Unit,GPU)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807包括触控面板8071以及其他输入设备8072中的至少一种。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
本申请实施例中,射频单元801接收来自网络侧设备的下行数据后,可以传输给处理器810进行处理;射频单元801可以向网络侧设备发送上行数据。通常,射频单元801包括但不限于天线、放大器、收发信机、耦合器、低噪声放大器、双工器等。
存储器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包括但不限于这些和任意其它适合类型的存储器。
处理器810可包括一个或多个处理单元;可选的,处理器810集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
其中,处理器801用于执行以下操作:
获取待编码点云的几何信息;
基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片;
对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码,生成目标码流。
或者,处理器801还用于执行以下操作:
获取目标码流;
基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云;
对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的重建几何信息。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述点云编码方法实施例的各个过程,或者实现上述点云解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的终端中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述点云编码方法实施例的各个过程,或者实现上述点云解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片,系统芯片,芯片系统或片上系统芯片等。
本申请实施例另提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储 在存储介质中,所述计算机程序/程序产品被至少一个处理器执行以实现上述点云编码方法实施例的各个过程,或者实现上述点云解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (23)

  1. 一种点云编码方法,包括:
    编码端获取待编码点云的几何信息;
    所述编码端基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片,所述点云切片基于对所述待编码点云对应的包围盒进行块划分生成;
    所述编码端对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码,生成目标码流,所述待编码层基于对所述点云切片进行多叉树划分确定,所述第一指示信息用于确定对应的待编码层是否满足孤立点编码条件。
  2. 根据权利要求1所述的方法,其中,所述根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码包括:
    所述编码端在所述第一指示信息用于表征所述点云切片中的每个待编码层均满足孤立点编码条件的情况下,对每个待编码层中的每个孤立点进行孤立点编码,以及对每个待编码层中的每个非孤立点进行几何编码。
  3. 根据权利要求1所述的方法,其中,所述根据所述点云切片中每个编码层对应的第一指示信息对所述待编码层进行编码包括:
    所述编码端在待编码层对应的第一指示信息表征满足孤立点编码条件的情况下,对所述待编码层中的每个孤立点进行孤立点编码,以及对所述待编码层中的每个非孤立点进行几何编码;或,
    所述编码端在待编码层对应的第一指示信息表征不满足孤立点编码条件的情况下,对所述待编码层中的每个待编码点进行几何编码。
  4. 根据权利要求3所述的方法,其中,所述方法还包括:
    所述编码端获取所述待编码层包括的待编码点的第一数量,以及所述待编码层包括的节点的第二数量;
    所述编码端在所述第一数量与所述第二数量之间的比值小于或等于第一预设阈值的情况下,确定所述待编码层对应的第一指示信息表征满足孤立点编码条件。
  5. 根据权利要求1-4中任一项所述的方法,其中,所述第一指示信息为协议约定的指示信息,或者所述第一指示信息基于对应的待编码层包括的待编码点的数量,以及对应的待编码层包括的节点的数量确定。
  6. 一种点云解码方法,包括:
    解码端获取目标码流;
    所述解码端基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云;
    所述解码端对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的 重建几何信息,所述点云切片基于对所述待解码点云对应的包围盒进行块划分生成,所述待解码层基于对所述点云切片进行多叉树划分确定,所述第二指示信息用于确定对应的待解码层是否满足孤立点解码条件。
  7. 根据权利要求6所述的方法,其中,所述根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码包括:
    所述解码端在所述第二指示信息用于表征所述点云切片中的每个待解码层均满足孤立点解码条件的情况下,对每个待解码层中的每个孤立点进行孤立点解码,以及对每个待解码层中的每个非孤立点进行几何解码。
  8. 根据权利要求6所述的方法,其中,所述根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码包括:
    所述解码端在待解码层对应的第二指示信息表征满足孤立点解码条件的情况下,对所述待解码层中的每个孤立点进行孤立点解码,以及对所述待解码层中的每个非孤立点进行几何解码;或,
    所述解码端在待解码层对应的第二指示信息表征不满足孤立点解码条件的情况下,对所述待解码层中的每个待解码点进行几何解码。
  9. 根据权利要求8所述的方法,其中,所述方法还包括:
    所述解码端获取所述待解码层包括的待解码点的第三数量,以及所述待解码层包括的节点的第四数量;
    所述解码端在所述第三数量与所述第四数量之间的比值小于或等于第二预设阈值的情况下,确定所述待解码层对应的第二指示信息表征满足孤立点解码条件。
  10. 根据权利要求6-9中任一项所述的方法,其中,所述第二指示信息为解码所述目标码流获得的指示信息,或者所述第二指示信息基于对应的待解码层包括的待解码点的数量,以及对应的待解码层包括的节点的数量确定。
  11. 一种点云编码装置,包括:
    第一获取模块,用于获取待编码点云的几何信息;
    第一确定模块,用于基于所述待编码点云的几何信息,确定所述待编码点云对应的至少一个点云切片,所述点云切片基于对所述待编码点云对应的包围盒进行块划分生成;
    编码模块,用于对于满足孤立点编码条件的点云切片,根据所述点云切片中每个待编码层对应的第一指示信息对所述待编码层进行编码,生成目标码流,所述待编码层基于对所述点云切片进行多叉树划分确定,所述第一指示信息用于确定对应的待编码层是否满足孤立点编码条件。
  12. 根据权利要求11所述的装置,其中,所述编码模块,具体用于:
    在所述第一指示信息用于表征所述点云切片中的每个待编码层均满足孤立点编码条件的情况下,对每个待编码层中的每个孤立点进行孤立点编码,以及对每个待编码层中的每个非孤立点进行几何编码。
  13. 根据权利要求11所述的装置,其中,所述编码模块,还具体用于:
    在待编码层对应的第一指示信息表征满足孤立点编码条件的情况下,对所述待编码层中的每个孤立点进行孤立点编码,以及对所述待编码层中的每个非孤立点进行几何编码;或,
    在待编码层对应的第一指示信息表征不满足孤立点编码条件的情况下,对所述待编码层中的每个待编码点进行几何编码。
  14. 根据权利要求13所述的装置,其中,所述装置还包括:
    第二获取模块,用于获取所述待编码层包括的待编码点的第一数量,以及所述待编码层包括的节点的第二数量;
    第二确定模块,用于在所述第一数量与所述第二数量之间的比值小于或等于第一预设阈值的情况下,确定所述待编码层对应的第一指示信息表征满足孤立点编码条件。
  15. 根据权利要求11-14中任一项所述的装置,其中,所述第一指示信息为协议约定的指示信息,或者所述第一指示信息基于对应的待编码层包括的待编码点的数量,以及对应的待编码层包括的节点的数量确定。
  16. 一种点云解码装置,包括:
    第一获取模块,用于获取目标码流;
    第一确定模块,用于基于对所述目标码流的解码结果,确定所述目标码流对应的待解码点云;
    解码模块,用于对于所述待解码点云中满足孤立点解码条件的点云切片,根据所述点云切片中每个待解码层对应的第二指示信息对所述待解码层进行解码,生成所述待解码点云的重建几何信息,所述点云切片基于对所述待解码点云对应的包围盒进行块划分生成,所述待解码层基于对所述点云切片进行多叉树划分确定,所述第二指示信息用于确定对应的待解码层是否满足孤立点解码条件。
  17. 根据权利要求16所述的装置,其中,所述解码模块,具体用于:
    在所述第二指示信息用于表征所述点云切片中的每个待解码层均满足孤立点解码条件的情况下,对每个待解码层中的每个孤立点进行孤立点解码,以及对每个待解码层中的每个非孤立点进行几何解码。
  18. 根据权利要求16所述的装置,其中,所述解码模块,还具体用于:
    在待解码层对应的第二指示信息表征满足孤立点解码条件的情况下,对所述待解码层中的每个孤立点进行孤立点解码,以及对所述待解码层中的每个非孤立点进行几何解码;或,
    在待解码层对应的第二指示信息表征不满足孤立点解码条件的情况下,对所述待解码层中的每个待解码点进行几何解码。
  19. 根据权利要求18所述的装置,其中,所述装置还包括:
    第二获取模块,用于获取所述待解码层包括的待解码点的第三数量,以及所述待解码 层包括的节点的第四数量;
    第二确定模块,用于在所述第三数量与所述第四数量之间的比值小于或等于第二预设阈值的情况下,确定所述待解码层对应的第二指示信息表征满足孤立点解码条件。
  20. 根据权利要求16-19中任一项所述的装置,其中,所述第二指示信息为解码所述目标码流获得的指示信息,或者所述第二指示信息基于对应的待解码层包括的待解码点的数量,以及对应的待解码层包括的节点的数量确定。
  21. 一种终端,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-5中任一项所述的点云编码方法的步骤,或者实现如权利要求6-10中任一项所述的点云解码方法的步骤。
  22. 一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-5中任一项所述的点云编码方法的步骤,或者实现如权利要求6-10中任一项所述的点云解码方法的步骤。
  23. 一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如权利要求1-5中任一项所述的点云编码方法的步骤,或者实现如权利要求6-10中任一项所述的点云解码方法的步骤。
PCT/CN2023/136034 2022-12-09 2023-12-04 点云编码方法、点云解码方法及终端 WO2024120325A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211590446.5 2022-12-09
CN202211590446.5A CN118175276A (zh) 2022-12-09 2022-12-09 点云编码方法、点云解码方法及终端

Publications (1)

Publication Number Publication Date
WO2024120325A1 true WO2024120325A1 (zh) 2024-06-13

Family

ID=91354016

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/136034 WO2024120325A1 (zh) 2022-12-09 2023-12-04 点云编码方法、点云解码方法及终端

Country Status (2)

Country Link
CN (1) CN118175276A (zh)
WO (1) WO2024120325A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3553745A1 (en) * 2018-04-09 2019-10-16 BlackBerry Limited Methods and devices for binary entropy coding of point clouds
CN112470469A (zh) * 2020-03-31 2021-03-09 深圳市大疆创新科技有限公司 一种用于点云编码、解码的方法和设备
CN112565794A (zh) * 2020-12-03 2021-03-26 西安电子科技大学 一种点云孤立点编码、解码方法及装置
CN113826029A (zh) * 2020-03-30 2021-12-21 腾讯美国有限责任公司 点云编解码中对复制点和孤立点进行编码的方法
CN114078170A (zh) * 2020-08-16 2022-02-22 浙江大学 一种点云几何孤立点解码的方法与装置
US20220224940A1 (en) * 2019-05-30 2022-07-14 Lg Electronics Inc. Method and device for processing point cloud data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3553745A1 (en) * 2018-04-09 2019-10-16 BlackBerry Limited Methods and devices for binary entropy coding of point clouds
US20220224940A1 (en) * 2019-05-30 2022-07-14 Lg Electronics Inc. Method and device for processing point cloud data
CN113826029A (zh) * 2020-03-30 2021-12-21 腾讯美国有限责任公司 点云编解码中对复制点和孤立点进行编码的方法
CN112470469A (zh) * 2020-03-31 2021-03-09 深圳市大疆创新科技有限公司 一种用于点云编码、解码的方法和设备
CN114078170A (zh) * 2020-08-16 2022-02-22 浙江大学 一种点云几何孤立点解码的方法与装置
CN112565794A (zh) * 2020-12-03 2021-03-26 西安电子科技大学 一种点云孤立点编码、解码方法及装置

Also Published As

Publication number Publication date
CN118175276A (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
WO2022121650A1 (zh) 点云属性的预测方法、编码器、解码器及存储介质
CN115474058A (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2024120325A1 (zh) 点云编码方法、点云解码方法及终端
WO2024120326A1 (zh) 几何编码方法、几何解码方法及终端
WO2023098802A1 (zh) 点云属性编码方法、点云属性解码方法及终端
WO2024120324A1 (zh) 属性变换解码方法、属性变换编码方法及终端
WO2024120323A1 (zh) 属性变换编码方法、属性变换解码方法及终端
WO2022257968A1 (zh) 点云编码方法、点云解码方法及终端
WO2022257969A1 (zh) 点云编码处理方法、解码处理方法及相关设备
WO2022257970A1 (zh) 点云的几何信息编码处理方法、解码处理方法及相关设备
WO2022257978A1 (zh) 点云编码方法、解码方法及装置
WO2023155779A1 (zh) 编码方法、解码方法、装置及通信设备
US20240121439A1 (en) Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device
WO2024083039A1 (zh) 网格编码方法、网格解码方法及相关设备
US20240137579A1 (en) Encoding Control Method and Apparatus, and Decoding Control Method and Apparatus
WO2024120431A1 (zh) 点云编码方法、点云解码方法及相关设备
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
WO2023098805A1 (zh) 点云编码方法、解码方法、装置及电子设备
WO2023125231A1 (zh) 环路滤波方法及终端
WO2023098807A1 (zh) 点云编、解码处理方法、装置、编码设备及解码设备
CN116614623A (zh) 预测编码方法、预测解码方法及终端
CN116233385A (zh) 点云属性编码方法、点云解码方法及终端
KR20240027756A (ko) 포인트 클라우드 속성 코딩 방법, 포인트 클라우드 속성 디코딩 방법 및 단말
CN116233389A (zh) 点云编码处理方法、点云解码处理方法及相关设备
JP2024521832A (ja) エントロピーコーディング、デコーディング方法及び装置