US12184849B2 - Device and method for performing fast grid-based refining segmentation for V-PCC encoding - Google Patents
Device and method for performing fast grid-based refining segmentation for V-PCC encoding Download PDFInfo
- Publication number
- US12184849B2 US12184849B2 US18/058,634 US202218058634A US12184849B2 US 12184849 B2 US12184849 B2 US 12184849B2 US 202218058634 A US202218058634 A US 202218058634A US 12184849 B2 US12184849 B2 US 12184849B2
- Authority
- US
- United States
- Prior art keywords
- voxels
- voxel
- smooth
- surrounding
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- 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
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Definitions
- the present disclosure relates to a video-based point cloud compression (V-PCC) encoding technology, and more particularly, to a technology for precisely and highly efficiently performing segmentation refinement for V-PCC encoding.
- V-PCC video-based point cloud compression
- a point cloud (also referred to as a “three-dimensional (3D) point cloud”) is a set of points in a 3D space. Such a point cloud is intermediate data that is used for converting 3D video data acquired through a 3D scanner or the like into another model.
- point clouds can be applied to 3D video data such as augmented reality (AR), virtual reality (VR), 3D holograms, etc.
- AR augmented reality
- VR virtual reality
- 3D holograms etc.
- the present disclosure is directed to providing a technology for precisely and highly efficiently performing fast grid-based refining segmentation (FGRS) which heavily influences a compression rate and picture quality for video-based point cloud compression (V-PCC) encoding.
- FGRS fast grid-based refining segmentation
- V-PCC video-based point cloud compression
- the present disclosure is also directed to providing a technology for improving performance, such as a compression rate, picture quality, etc., of V-PCC encoding.
- the present disclosure is also directed to providing a technology for performing FGRS with low complexity at a high speed by performing a surrounding voxel search process, which is necessarily performed in FGRS for V-PCC encoding, on the basis of a lookup table in which a wide range of surrounding voxel information is used rather than on the basis of a k-dimensional (k-d) tree radius search.
- the present disclosure is also directed to providing a technology for increasing an encoding rate in V-PCC encoding.
- a method of performing FGRS for V-PCC in an electronic device including dividing a space of a three-dimensional (3D) point cloud into multiple grids to derive multiple voxels, searching for filled voxels which are voxels including one or more points, searching for surrounding voxels which are filled voxels within a certain radius from each of the filled voxels, searching for edge voxels which are present at a segment edge among all the filled voxels, calculating smooth scores for surrounding voxels of each edge voxel and calculating a smooth score sum which is a smooth score for the edge voxel on the basis of the smooth scores of the surrounding voxels of the edge voxel, and updating a projection plane index (PPI) for each individual point in the edge voxel using the calculated smooth score sum.
- PPI projection plane index
- the calculating of the smooth score sum may include giving weights to distances between the edge voxel and the surrounding voxels to calculate the smooth score sum.
- the calculating of the smooth score sum may include reflecting the weights inversely proportional to the distances while adding the smooth scores of the surrounding voxels of the edge voxel.
- the calculating of the smooth score sum may include reflecting the weights so that the smooth score sum of the edge voxel is more affected by a smooth score value of a surrounding voxel which is closer to the edge voxel.
- the calculating of the smooth score sum may include calculating the smooth score sum of the edge voxel which is proportional to a first sum of values obtained by dividing the smooth scores of the surrounding voxels of the edge voxel by a distance item including a corresponding distance.
- the calculating of the smooth score sum may include calculating the smooth score sum of the edge voxel which is inversely proportional to a second sum of reciprocals of the distance item for the surrounding voxels of the edge voxel.
- the distance item may include a constant added to the distances.
- the updating of the PPI may include calculating a final score for the edge voxel on the basis of the smooth score sum and updating the PPI in accordance with the final score, and the final score may be proportional to a value obtained by normalizing the smooth score sum (scoreSmoothSum[v][p]).
- a device including a memory configured to store point clouds and a controller configured to control FGRS for V-PCC encoding using information stored in the memory.
- the controller may perform operations of dividing a space of a 3D point cloud into multiple grids to derive multiple voxels, searching for filled voxels which are voxels including one or more points, searching for surrounding voxels which are filled voxels including one or more points within a certain radius from each of the filled voxels, searching for edge voxels which are present at a segment edge among all the filled voxels, calculating smooth scores for surrounding voxels of each edge voxel and calculating a smooth score sum which is a smooth score for the edge voxel on the basis of the smooth scores of the surrounding voxels of the edge voxel, and updating a PPI for each individual point in the edge voxel using the calculated smooth score sum.
- the controller may give weights to distances between the edge voxel and the surrounding voxels to calculate the smooth score sum.
- the controller may reflect the weights inversely proportional to the distances while adding the smooth scores of the surrounding voxels of the edge voxel.
- the smooth score sum of the edge voxel may be more affected by a smooth score value of a surrounding voxel which is closer to the edge voxel.
- the smooth score sum of the edge voxel may be proportional to a first sum of values obtained by dividing the smooth scores of the surrounding voxels of the edge voxel by a distance item including a corresponding distance.
- the smooth score sum of the edge voxel may be inversely proportional to a second sum of reciprocals of the distance item for the surrounding voxels of the edge voxel.
- the distance item may include a constant added to the distances.
- the controller may calculate a final score for the edge voxel on the basis of the smooth score sum and update the PPI in accordance with the final score, and the final score may be proportional to a value obtained by normalizing the smooth score sum (scoreSmoothSum[v][p]).
- FIG. 1 is a block diagram of an electronic device according to an exemplary embodiment of the present disclosure.
- FIG. 2 is a flowchart illustrating an encoding method according to an exemplary embodiment of the present disclosure.
- FIG. 3 is a flowchart illustrating a detailed process of operation according to the exemplary embodiment of the present disclosure.
- FIGS. 4 A- 4 D show an example of the detailed process of operation.
- FIG. 5 shows an example of three-dimensional (3D) grid-based spatial division of a 3D point cloud.
- FIG. 6 is a detailed flowchart of operation S 130 according to a third refinement technology
- FIG. 7 is a detailed flowchart of operation S 133 performed on the basis of a lookup table
- FIGS. 8 A and 8 B are examples of fixed positions in accordance with distances between a current voxel and surrounding voxels
- FIG. 9 is an example of a lookup table generated according to a first exemplary embodiment.
- FIG. 10 is an example of pseudocode for generating a bit array and searching for surrounding voxels using a lookup table.
- a point cloud is generally a large amount of data, and thus it is necessary to compress 3D video data in order to transmit the corresponding large amount of data through a limited bandwidth.
- ISO/IEC International Organization for Standardization/International Electrotechnical Commission
- MPEG Moving Picture Expert Group
- encoding technologies for compressing a 3D point cloud on the basis of a two-dimensional (2D) video have been standardized (ISO/IEC MPEG-I Part 5: Visual Volumetric Video-based Coding (V3C) and Video-based Point Cloud Compression (V-PCC)).
- V-PCC 3D video data is divided into 2D patches, reconstructed into a 2D image, and then encoded using a standard 2D video codec such as high efficiency video coding (HEVC) or the like.
- HEVC high efficiency video coding
- a weight is calculated on the basis of the PPI distribution of voxels surrounding the edge voxel to update PPIs of points in the edge voxel.
- a simple method of equally adding the number of PPIs regardless of the distances from the current voxel to the surrounding voxels is used.
- a PPI based on a normal vector of a point naturally has a closer relationship with an adjacent voxel than a distant voxel.
- the surrounding voxel search process has the following problems: 1) it takes considerable time to create a tree data structure, and 2) the amount of computation and memory access for finding surrounding voxels on the basis of the generated data structure drastically increase with an increase in the number of target voxels.
- the surrounding voxel search process based on k-d tree radius search occupies more than 70% of the total computation amount of FGRS. Due to the large computation amount of the surrounding voxel search process based on k-d tree radius search, the total computation amount of a V-PCC encoding process increases, and the processing speed becomes very slow.
- the terms “or,” “at least one,” etc. may denote one of the elements that are listed together or a combination of two or more of the elements. For example, “A or B,” and “at least one of A and B” may include only one of A and B or both A and B.
- first may be named a “second component”
- second component may be named a “first component.”
- FIG. 1 is a block diagram of an electronic device 100 according to an exemplary embodiment of the present disclosure.
- the electronic device 100 is a device that processes encoding for compressing a three-dimensional (3D) point cloud (hereinafter, a “point cloud”) which is a set of points representing 3D video data of a 3D object in a 3D space.
- 3D three-dimensional
- the electronic device 100 may be, but is not limited to, a device for encoding a prestored point cloud or providing a 3D video on demand (VOD) service, a real-time 3D video streaming service, etc. which encodes and transmits a corresponding point cloud.
- VOD video on demand
- the electronic device 100 is a device for performing encoding in accordance with video-based point cloud compression (V-PCC) and may precisely and highly efficiently perform fast grid-based refining segmentation (FGRS). Also, the electronic device 100 may perform FGRS with low complexity at a high speed.
- V-PCC video-based point cloud compression
- FGRS fast grid-based refining segmentation
- Such FGRS is a segmentation refinement process that is necessarily performed for V-PCC encoding and may heavily influence a compression rate and picture quality in V-PCC. Accordingly, the electronic device 100 can improve performance, such as a compression rate, picture quality, etc., of V-PCC encoding. This will be described in further detail in an encoding method to be described below.
- the electronic device 100 may be a terminal capable of computing.
- the electronic device 100 may be, but is not limited to, a general-use computing system, such as a desktop personal computer (PC), a laptop PC, a tablet PC, a netbook computer, a workstation, a personal digital assistant (PDA), a smartphone, a smart pad, a mobile phone, etc., or a dedicated embedded system implemented on the basis of embedded Linux or the like.
- PC personal computer
- PDA personal digital assistant
- smartphone a smart pad
- mobile phone etc.
- a dedicated embedded system implemented on the basis of embedded Linux or the like.
- the electronic device 100 may include an input part 110 , a communicator 120 , a display 130 , a memory 140 , and a controller 150 .
- the memory 140 and the controller 150 may be necessary elements, and the input part 110 , the communicator 120 , and the display 130 may be additional elements.
- the input part 110 generates input data in accordance with various inputs of a user and may include various input devices.
- the input part 110 may include, but is not limited to, a keyboard, a keypad, a dome switch, a touch panel, a touch key, a touchpad, a mouse, a menu button, etc.
- the communicator 120 is an element for communication with other devices such as a server and the like.
- the communicator 120 may transmit encoded data of a point cloud to another device.
- the communicator 120 may perform wireless communication, such as fifth generation (5G) communication, Long Term Evolution Advanced (LTE-A), LTE, Bluetooth, Bluetooth low energy (BLE), near field communication (NFC), WiFi communication, etc., and wired communication, such as cable communication and the like, but communication performed by the communicator 120 is not limited thereto.
- 5G fifth generation
- LTE-A Long Term Evolution Advanced
- BLE Bluetooth low energy
- NFC near field communication
- WiFi communication etc.
- wired communication such as cable communication and the like, but communication performed by the communicator 120 is not limited thereto.
- the display 130 displays various pieces of video data on a screen and may be a non-luminescent panel or a luminescent panel.
- the display 130 may be, but is not limited to, a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic LED (OLED) display, a micro-electro mechanical system (MEMS) display, an electronic paper, etc.
- the display 130 may be implemented as a touchscreen or the like in combination with the input part 110 .
- the memory 140 stores various pieces of information necessary for operations of the electronic device 100 .
- Information stored in the memory 140 may include, but is not limited to, point clouds, program information related to an encoding method to be described below, etc.
- the memory 140 may be, but is not limited to, a hard disk type, a magnetic media type, a compact disc read only memory (CD-ROM), an optical media type, a magneto-optical media type, a multimedia card micro type, a flash memory type, a ROM type, a random access memory (RAM) type, etc.
- the memory 140 may be, but is not limited to, a cache, a buffer, a main memory, an auxiliary memory, or a separately provided storage system according to its purpose/location.
- the controller 150 may perform various control operations of the electronic device 100 .
- the controller 150 may control performing of the encoding method to be described below and control operations of other elements of the electronic device 100 , that is, the input part 110 , the communicator 120 , the display 130 , the memory 140 , etc.
- the controller 150 may be, but is not limited to, a hardware processor, a software process performed by a corresponding processor, etc.
- the processor may be, but is not limited to, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc.
- FIG. 2 is a flowchart illustrating an encoding method according to an exemplary embodiment of the present disclosure.
- the encoding method according to an exemplary embodiment of the present disclosure is a method in which the electronic device 100 performs encoding in accordance with V-PCC to compress a point cloud. As shown in FIG. 2 , the present method includes operations S 100 to S 300 . Performing operations S 100 to S 300 may be controlled by the processor or the process of the controller 150 .
- Operation S 100 is a process of dividing each point cloud frame of 3D video data into 3D patches.
- a virtual bounding box is set for a 3D object, and then it is determined which projection planes are appropriate using normal vectors of points constituting the object.
- projection planes are determined for all the points, points having the same projection plane are grouped as connected components and defined as a 3D patch.
- Operation S 200 is a process of orthographically projecting segmented 3D patches into two-dimensional (2D) patches to reconstruct a 2D image.
- Operation S 300 is a process of encoding the reconstructed 2D image using a 2D video codec.
- a standard video codec such as high efficiency video coding (HEVC), AOMedia Video 1 (AV1), versatile video coding (VVC), etc., may be used.
- HEVC high efficiency video coding
- AV1 AOMedia Video 1
- VVC versatile video coding
- FIG. 3 is a flowchart illustrating a detailed process of operation S 100 according to the exemplary embodiment of the present disclosure
- FIGS. 4 A- 4 D show an example of the detailed process of operation S 100 .
- operation S 100 may include a detailed process of operations S 110 to S 140 for 3D patch segmentation.
- operation S 110 is a process of normal estimation.
- a normal vector for each 3D point (each individual point) of a point cloud is estimated using surrounding points.
- Operation S 120 is a process of initial segmentation.
- a projection plane index (PPI) of one of multiple directions is assigned to a corresponding individual point on the basis of a normal vector of the individual point estimated in operation S 110 .
- the inner products of a normal vector of an individual point and normal vectors of object projection planes (basically 6 directions, and 18 directions at most) is calculated, and a PPI having the largest value (i.e., which is almost parallel to the corresponding projection plane) may be assigned.
- Surrounding points belonging to the same projection plane are grouped as an initial segment (i.e., cluster).
- each individual point has an individual PPI, and all points in one segment have the same PPI.
- PPIs corresponding to the minimum of 6 directions to the maximum of 18 directions may be assigned to a corresponding individual point.
- each group expressed in the same color corresponds to an initial segment (cluster).
- Operation S 130 is a process of segmentation refinement.
- a smoothing process is performed on a PPI of each individual point (current point) using PPIs of surrounding points.
- the PPI of the current point may be changed to reflect at least some of the PPIs of the surrounding points, thereby being refined.
- Operation S 130 is necessary for the following two reasons.
- initial segments have many distinguished points as shown in FIG. 4 B . For this reason, there are a large number of segments, and many patches are generated, which leads to a degradation in the compression efficiency.
- Operation S 140 is a process of patch segmentation.
- the point cloud which has undergone segmentation refinement is divided into a minimum number of 3D patches having smooth boundaries.
- a smoothing operation is performed by giving weights to a normal vector value of a certain point and the PPI distribution of surrounding points. Through this operation, smoothed patches may be generated as shown in FIG. 4 C .
- GRS grid-based refine segmentation
- a point cloud space is divided into 3D grids, 3D voxels including one or more points are found, and PPIs of points in a current one of the 3D voxels are refined using 3D voxels surrounding the current 3D voxel.
- smooth scores scoreSmooth of surrounding points i.e., the sum of the numbers of PPIs that surrounding points have
- smooth scores of surrounding voxels are calculated for one voxel at a time and repeatedly used so that the amount of computation can be reduced.
- FIG. 5 shows an example of 3D grid-based spatial division of a 3D point cloud.
- an FGRS method (hereinafter, a “second refinement technology”) also has been proposed.
- the second refinement technology will be described below.
- a point cloud space is divided into 3D grids, and then voxels which are cubic areas and include one or more points are defined as filled voxels.
- a “surrounding voxel search process” is performed to search for all surrounding filled voxels (nnFilledVoxels) close to each of the filled voxels, and voxels including at least a part of a segment boundary are classified as edge voxels among all the filled voxels.
- PPIs of points in each edge voxel are updated (i.e., refined) on the basis of an “appropriate weight.”
- This process is not performed only once but is repeated for the entire space so that PPIs of points are updated several times. For example, the process is repeated at least 10 times, and voxel dimensions used in grid division have a minimum width ⁇ length ⁇ depth size of 2 ⁇ 2 ⁇ 2. Optionally, a size of 4 ⁇ 4 ⁇ 4 or 8 ⁇ 8 ⁇ 8 may be used.
- a weight is calculated on the basis of PPI distribution of surrounding voxels.
- the numbers of PPIs in the surrounding voxels are simply added regardless of the distances between the current voxel and the surrounding voxels.
- a PPI based on a normal vector of a point naturally has a closer relationship with an adjacent voxel than a distant voxel. Accordingly, according to the second refinement technology, there is a high probability of over-smoothing due to an incorrect PPI update affected by a voxel distant from an initial segment boundary or the like. As a result, the precision of segmentation refinement is degraded, and compressed picture quality is highly likely to be lowered.
- the present encoding method implements a third refinement technology obtained by solving the problem of the second refinement technology described in the segmentation refinement process of operation S 130 in the detailed process of operation S 100 .
- the third refinement technology will be described in detail below.
- FIG. 6 is a detailed flowchart of operation S 130 according to the third refinement technology.
- a 3D point cloud coordinate space including segments to be refined is divided into grids at regular intervals (S 131 ).
- a grid size may be set differently depending on features of the point cloud.
- Multiple unit voxels are obtained through the grid division, and each of the unit voxels may or may not include a point constituting the point cloud.
- voxels may correspond to cubic spaces divided by multiple grids. Such a voxel may or may not include a point.
- a voxel including one or more points is referred to as a “filled voxel,” and a voxel including no point is referred to as an “empty voxel.”
- the found filled voxels may be stored as a one-dimensional (1D) array, and an additional bit array for determining filled voxels among all the voxels may also be stored.
- the bit array may be referred to as “occFlagArray[1D conversion coordinates],” which will be described below.
- surrounding filled voxels (nnFilledVoxel) which are within a specific search radius (or the sum of the numbers of points included in surrounding voxels) from each filled voxel are searched for (S 133 ).
- indirect edge voxel candidates idecVoxel may also be searched for within a certain radius from each filled voxel.
- a current filled voxel which is the center of a surrounding search is also referred to as a “current voxel,” and found filled voxels (nnFilledVoxel) surrounding the current voxel are also referred to as “surrounding voxels (nnFiledVoxel).”
- a k-d tree radius search algorithm As a method of searching for filled voxels (nnFilledVoxel) surrounding each filled voxel in a 3D space, a k-d tree radius search algorithm, a lookup table-based search algorithm, etc. may be used. In other words, filled voxels within a certain distance from each filled voxel may be searched for as surrounding filled voxels (nnFilledVoxel) using the k-d tree radius search algorithm, the lookup table-based search algorithm, etc.
- an algorithm that is most frequently used in searching for surrounding points or voxels in a 3D space is the k-d tree radius search algorithm.
- a surrounding voxel search process is performed on the basis of the k-d tree radius search algorithm, there are the following two problems: 1) it takes considerable time to create a k-d tree data structure, and 2) the amount of computation and memory access for finding surrounding voxels on the basis of the generated data structure drastically increase with an increase in the number of voxels.
- a surrounding voxel search process on the basis of a k-d tree radius search occupies more than 70% of the total amount of computation for FGRS. Due to the large amount of computation for the surrounding voxel search process based on a k-d tree radius search, the total amount of computation for an FGRS and V-PCC encoding process increases, and the processing speed becomes very slow. Accordingly, it is very difficult to perform V-PCC encoding in real time.
- the lookup table-based search algorithm may be used.
- filled voxels within a certain distance from each filled voxel may be searched for as surrounding filled voxels (nnFilledVoxel) using the lookup table-based search algorithm.
- the lookup table-based search algorithm will be described in detail below.
- edge voxels located at segment boundaries are searched for among all the filled voxels (S 134 ).
- the edge voxels are filled voxels that are present at the segment (cluster) boundaries or at a certain distance from the segment boundaries and include one or more points.
- the edge voxels may include direct edge voxels deVoxel and indirect edge voxels ideVoxel.
- the direct edge voxels are filled voxels that include at least a part of the segment (cluster) boundaries and one or more points in which at least two points have different PPIs when a plurality of points are included.
- the indirect edge voxels are filled voxels that are within a certain radius from a direct edge voxel and include one or more points.
- a segment is a set (cluster) of points having the same PPI.
- segmentation refinement is not performed on all the points. Rather, edge voxels that are present at segment boundaries and surroundings thereof are searched for, and refinement is only performed on points included in the corresponding edge voxels. Accordingly, refinement can be performed at a high speed.
- a smooth score scoreSmooth of each of all the filled voxels is calculated (S 135 ).
- a smooth score is a score used for updating a PPI of each point in all edge voxels.
- a smooth score of a filled voxel v may be represented by Expression 1.
- v is an index of the filled voxel
- p is a PPI value within a certain range (e.g., from 0 to 17).
- the number of points having the PPI value of p in the filled voxel v may be calculated as a smooth score of the filled voxel.
- Such a smooth score in accordance with Expression 1 may be calculated for all the filled voxels.
- smooth scores may be calculated only for the edge voxels and filled voxels (nnFilledVoxel) surrounding the edge voxels, or smooth scores may be calculated only for the filled voxels (nnFilledVoxel) surrounding the edge voxels.
- a smooth score sum scoreSmoothSum of each edge voxel is calculated (S 136 ).
- a smooth score sum of each edge voxel may be calculated using (i.e., by adding) smooth scores (scoreSmooth) of filled voxels surrounding the edge voxel. Accordingly, a smooth score sum scoreSmoothSum of an edge voxel may be interpreted as a smooth score of the edge voxel.
- each smooth score sum may be calculated in accordance with Expression 2 below.
- scoreSmoothSum[v][p] is a smooth score sum of filled voxels that surround an edge voxel v and have a PPI of p.
- N is the number of filled voxels (nnFilledVoxel) surrounding the edge voxel v
- j is an index of a filled voxel (nnFilledVoxel) surrounding the edge voxel v.
- Expression 2 shows a method of calculating a smooth score sum by giving weights to distances between a current edge voxel and filled voxels (nnFilledVoxel) surrounding the edge voxel.
- weights inversely proportional to the distances may be given.
- the second refinement technology a simple method of equally adding the number of PPIs regardless of the distances from a current voxel to surrounding voxels is used.
- a PPI based on a normal vector of a point naturally has a closer relationship with an adjacent voxel than a distant voxel.
- the precision of segmentation refinement is degraded, and compressed picture quality is highly likely to be lowered.
- the simple score calculation method of Expression 2′ is improved by giving weights which are inversely proportional to the distances between a current edge voxel and voxels surrounding the edge voxel, to the distances in accordance with Expression 2.
- a smooth score sum of the current edge voxel is more affected by a smooth score of a voxel at a shorter distance so that the above-described problem can be solved.
- the third refinement technology allows precise segmentation refinement which reduces over-smoothing, and as a result, it is possible to improve performance, such as a compression rate, picture quality, etc., of V-PCC encoding.
- dist[v][j] is the distance between edgeFilledVoxel[v] which is a current edge voxel and nnFilledVoxel[j] which is one of the voxels surrounding the edge voxel.
- dist[v][j] may be calculated using L2 norm, squared L2 norm, etc.
- N filled voxels (nnFilledVoxel) having a PPI value of p surround the filled voxel v.
- scoreSmooth[nnFilledVoxels[v][j][p] which is a smooth score of a surrounding filled voxel j is divided by dist[v][j]+M which is a distance item.
- Such divided values calculated for all the N surrounding filled voxels are added (hereinafter, a “first sum”) so that the dividend item
- Expression 2 Unlike in the second refinement technology of Expression 2′ in which smooth scores of N surrounding filled voxels are added, in Expression 2, the first sum of values obtained by dividing the smooth scores of the surrounding filled voxels by the distance item is divided by the second sum of reciprocals of the distance item. Accordingly, it is possible to reflect weights inversely proportional to the distances between the current edge voxel and the surrounding filled voxels.
- M is a constant for adjusting a weight reflection ratio and may have a value of 2, 4, etc. Unlike in Expression 2, M may be a value multiplied by dist[v][j]. Further, a constant may be multiplied by dist[v][j], and another constant may be added to the product.
- Such a weight reflection ratio constant has the following two functions.
- M has a first function of avoiding a calculation of dividing the first sum or the second sum by zero when dist[v][j] is 0. Also, M has a second function of partially adjusting a distance-based weight which is affected by dist[v][j].
- the distance item obtained by adding M to dist[v][j] works as a weight so that the weight can be adjusted by M which is adjusted by a setting of a user.
- a PPI of each individual point in each edge voxel is updated using the calculated smooth score sum (S 137 ).
- a PPI of each individual point in a current edge voxel to be refined may be updated on the basis of a final score which is calculated using the calculated smooth score sum.
- a PPI of each individual point in a current edge voxel may be updated by comparing a best score bestScore and a final score score[i][p] of the current edge voxel with each other.
- the best score is initially set to 0 and compared with a final score calculated with respect to each individual projection plane of the corresponding point.
- the final score value of the projection plane is larger than the existing best score, the final score is set as the best score. This is repeated for all projection planes (e.g., a minimum of 6 to a maximum of 18), and then a PPI of the corresponding point is updated with p which is a projection plane set as the best score.
- a final score of points in the current edge voxel is calculated on the basis of the smooth score sum calculated in operation S 136 .
- the final score may be calculated by multiplying the smooth score sum by a weight and adding a normal score to the product.
- a normal score scoreNormal[v][i][p] for a point index i, a projection index p, and the current edge voxel v may be calculated as the inner product of a normal vector normal[v][i] of an i th point in the current edge voxel v and a projection plane vector orientation[p] for the projection plane index p as shown in Expression 3 below.
- scoreNormal[ v][i][p ] normal[ v][i ] ⁇ orientation[ p] [Expression 3]
- the normal vector normal[v][i] is the normal vector of the i th point included in the current edge voxel v
- the projection plane vector orientation[p] is a predefined p th projection plane.
- the final score score[v][i][p] may be calculated by adding the normal score scoreNormal[i][p] to a normalized value of the smooth score sum scoreSmoothSum[v][p].
- the normalized value may be calculated by multiplying a weight ⁇ by a value obtained by dividing the smooth score sum scoreSmoothSum[v][p] by a value
- score[v][i][p] is a final score for a p th PPI of the i th point in the current edge voxel v and may be proportional to each of the normalized value of the smooth score sum scoreSmoothSum[v][p] and the normal score scoreNormal[i][p].
- the weight ⁇ may be set to 3 as a default value.
- a refined second final score score[v][i][p] may be calculated by adding the normal score scoreNormal ⁇ i ⁇ p ⁇ to a value obtained by dividing the product of the smooth score sum scoreSmoothSum[v][p] and the weight ⁇ by the number of points nnNumPoints included in surrounding filled voxels of the current edge voxel as shown in Expression 4′ below.
- FIG. 7 is a detailed flowchart of operation S 133 performed on the basis of a lookup table.
- operation S 133 surrounding voxels nnFilledVoxel which are filled voxels within a specific search radius (or the sum of the numbers of points included in surrounding voxels) from each filled voxel are searched for on the basis of a lookup table.
- operation S 133 may include operations S 1331 and S 1332 as shown in FIG. 7 .
- FIGS. 8 A and 8 B examples of fixed positions in accordance with distances between a current voxel and surrounding voxels.
- FIG. 8 A shows a 2D example
- FIG. 8 B shows a 3D example.
- Each voxel corresponds to one of voxels surrounding a central voxel.
- the search radius is a circular shape in two dimensions but is a spherical shape in three dimensions.
- surrounding voxels close to a current voxel in a 3D space may be defined by a sphere range in accordance with a search distance, and corresponding coordinates (relative coordinates of the surrounding voxels with respect to the current voxel) have already been fixed in accordance with distance. For example, when coordinates of a current voxel are (0, 0) in the 2D example of FIG. 8 A , a total of four surrounding voxels are present at a distance d of 1 from the current voxel and have coordinates of ( ⁇ 1, 0), (1, 0), (0, 1), and (0, ⁇ 1).
- a total of four surrounding voxels are present at a squared distance d 2 of 2 from the current voxel having the coordinates of (0, 0) and have coordinates of (1, 1), (1, ⁇ 1), ( ⁇ 1, 1), and ( ⁇ 1, ⁇ 1).
- a “lookup table based on the squared distance d 2 (dist2)” (see FIG. 9 ), which is expressible with a small amount of data as long as a maximum search radius is limited, may be generated and stored in the memory 140 .
- a lookup table is generated by sequentially sorting voxels surrounding a current voxel by squared distance from the current voxel (S 1331 ).
- 3D coordinates of a current voxel are (x, y, z)
- relative coordinates (dx, dy, dz) of a surrounding voxel in accordance with the distance d may be calculated through the lookup table, and actual coordinates of the surrounding voxel are calculated to be (x+dx, y+dy, z+dz).
- a maximum value N MAX of the sum of the numbers of points in the surrounding voxels is defined (set) as a parameter to prevent an excessive increase in the number of points included in the surrounding voxels (i.e., to search for surrounding voxels within a specific search radius or the sum of the numbers of points included in surrounding voxels).
- the maximum value N MAX may be set to 1024 by default.
- surrounding filled voxels within a corresponding search distance may be included in a final search result as surrounding voxels nnFilledVoxel.
- surrounding voxels nnFilledVoxel when filled voxels within the squared distance d 2 of 25 are searched for surrounding voxels nnFilledVoxel, only some filled voxels at the squared distance d 2 of 25 (the outermost voxels in FIGS. 8 A and 8 B ) may be included in a final search result as surrounding voxels nnFilledVoxel due to the limitation on the maximum value N MAX of the sum of the numbers of points, which happens frequently.
- the other operations of operation S 130 are performed using information on only surrounding voxels at biased positions (i.e., clustering on one side in the 3D space), and thus the precision of segmentation refinement, the final goal of FGRS, is degraded.
- only voxels present on the upper side among the voxels at the squared distance d 2 of 25 may be used as surrounding voxels.
- voxels present at the same distance e.g., in the above example, voxels at the squared distance of 25
- voxels at the squared distance of 25 are sorted regardless of geometrical 3D positions, which leads to the above-described problem.
- a lookup table is designed to sort voxels present at the same search distance from a current voxel (i.e., surrounding voxels at the same squared distance from the current voxel) in a 3D space geometrically in a coarse-to-fine manner (S 1332 ).
- FIG. 9 is an example of a lookup table generated according to a first exemplary embodiment.
- d 2 is a squared distance.
- sorting i.e., a fast sorting order
- voxels surrounding a current voxel are primarily sorted by the squared distance d 2 from the current voxel (i.e., sorted in increasing order of squared distance from the top row to the bottom row in FIG. 9 ), and in operation S 1332 , voxels at the same search distance among the primarily sorted voxels (i.e., voxels at the same row in FIG. 9 ) are sorted in accordance with a first or second exemplary embodiment to be described below. Operations S 1331 and S 1332 may be simultaneously performed.
- voxels at the same search distance are sorted in order of the following conditions ⁇ circle around (1) ⁇ , ⁇ circle around (2) ⁇ , and ⁇ circle around (3) ⁇ .
- coordinates of surrounding voxels having the same search distance on the x-axis, y-axis, and z-axis are first sorted one by one (coarse) under condition ⁇ circle around (1) ⁇ , coordinates of surrounding voxels having the same search radius in the y-z plane, x-z plane, and x-y plane are next sorted one by one under condition ⁇ circle around (2) ⁇ , and coordinates of other voxels in the eight spaces are finally sorted one by one (fine) under condition ⁇ circle around (3) ⁇ .
- a method of selecting voxels one by one with respect to each axis, plane or space and sequentially sorting the selected voxels (hereinafter, a “first method”) or a method of sequentially sorting surrounding voxels in a random order (hereinafter, a “second method”) may be performed.
- the first method when the first method is performed on surrounding voxels that satisfy condition ⁇ circle around (1) ⁇ while having the same squared distance d 2 , one of surrounding voxels on any one (first axis) of the x-axis, y-axis, and z-axis is first selected and sorted in priority order, one of surrounding voxels on another (second axis) of the x-axis, y-axis, and z-axis is selected and sorted next in priority order, and then one of surrounding voxels on the other (third axis) of the x-axis, y-axis, and z-axis is selected and sorted next in priority order.
- the above-described method may be continuously performed on the remaining voxels to sequentially sort the voxels, or the second method may be performed.
- surrounding voxels on the x-axis, y-axis, and z-axis are sorted by order (priority order).
- the next condition when the first method is performed on surrounding voxels that satisfy subsequent condition ⁇ circle around (2) ⁇ , the next condition, while having the same squared distance d 2 , one of surrounding voxels in any one (first plane) of the y-z plane, x-z plane, and x-y plane is selected and sorted in priority order, one of surrounding voxels in another (second plane) of the y-z plane, x-z plane, and x-y plane is selected and sorted next in priority order, and one of surrounding voxels in the other (third plane) of the y-z plane, x-z plane, and x-y plane is selected and sorted next in priority order.
- the above-described method may be continuously performed on the remaining voxels to sequentially sort the voxels, or the second method may be performed.
- surrounding voxels on the y-z plane, x-z plane, and x-y plane are sorted in random order (priority order).
- the next condition when the first method is performed on surrounding voxels that satisfy subsequent condition ⁇ circle around (3) ⁇ , the next condition, while having the same squared distance, one of surrounding voxels in a first space among the eight spaces is selected and sorted in priority order, one of surrounding voxels in a second space among the eight spaces is selected and sorted in priority order, one of surrounding voxels in a third space among the eight spaces is selected and sorted in priority order, and then one of surrounding voxels in a fourth space among the eight spaces is selected and sorted in priority order. In this way, voxels in each of fifth to eighth spaces are sequentially selected one by one and sorted in priority order.
- the above-described method may be continuously performed on the remaining voxels to sequentially sort the voxels, or the second method may be performed.
- surrounding voxels in the eight spaces are sorted in random order (priority order).
- surrounding voxels satisfying condition ⁇ circle around (1) ⁇ at (1, 0, 0), (0, 1, 0), (0, 0, 1), ( ⁇ 1, 0, 0), (0, ⁇ 1, 0), and (0, 0, ⁇ 1) may be sorted in accordance with the first or second method. After that, subsequent conditions ⁇ circle around (2) ⁇ and ⁇ circle around (3) ⁇ are skipped because there is no surrounding voxel satisfying conditions ⁇ circle around (2) ⁇ and ⁇ circle around (3) ⁇ .
- condition ⁇ circle around (1) ⁇ may be skipped.
- the next condition at (0, 1, 1), (1, 0, 1), (1, 1, 0), (0, ⁇ 1, 1), ( ⁇ 1, 0, 1), and ( ⁇ 1, 1, 0) may be sorted in accordance with the first or second method, and subsequent condition ⁇ circle around (3) ⁇ , the next condition, is skipped because there is no surrounding voxel satisfying condition ⁇ circle around (3) ⁇ .
- the squared distance d 2 of 9, from the current voxel, surrounding voxels satisfying condition ⁇ circle around (1) ⁇ at (3, 0, 0), (0, 3, 0), (0, 0, 3), ( ⁇ 3, 0, 0), (0, ⁇ 3, 0), and (0, 0, ⁇ 3) may be sorted in accordance with the first or second method.
- Subsequent condition ⁇ circle around (2) ⁇ , the next condition, is skipped because there is no surrounding voxel satisfying condition ⁇ circle around (2) ⁇ , and surrounding voxels satisfying condition ⁇ circle around (3) ⁇ , the next condition, at (1, 2, 2), ( ⁇ 2, ⁇ 2, ⁇ 1), (2, 2, ⁇ 1), ( ⁇ 2, ⁇ 1, 2), ( ⁇ 2, 2, ⁇ 1), (2, ⁇ 1, 2), ( ⁇ 1, 2, 2), (2, ⁇ 2, ⁇ 1), (2, 1, 2), ( ⁇ 2, ⁇ 1, ⁇ 2), (1, 2, ⁇ 2), ( ⁇ 1, 2, ⁇ 2), (1, ⁇ 2, 2), ( ⁇ 2, 1, 2), (2, ⁇ 1, ⁇ 2), (2, 2, 1), ( ⁇ 1, ⁇ 2, ⁇ 2), (2, 1, ⁇ 2), ( ⁇ 2, ⁇ 2, 1), ( ⁇ 2, 1, ⁇ 2), (2, ⁇ 2, 1), ( ⁇ 2, 2, 1), and (1, ⁇ 2, ⁇ 2) may be sorted in accordance with the first or second method.
- 3D vectors are generated from relative coordinates of voxels surrounding an origin at coordinates of a current voxel, and then angles of the generated vectors of the relative coordinates with respect to each of planes based on the three axes (the x-axis, y-axis, and z-axis) are calculated as follows. Subsequently, the voxels surrounding the current voxel are sorted by the calculated angles of the voxel coordinates in a coarse-to-fine manner.
- An angle of a 3D vector in a 3D space may be calculated with respect to each plane (y-z, x-z, and x-y) using the inner product of vectors. Accordingly, one 3D vector has one angle corresponding to each plane and thus has three angles in total. The surrounding voxels may be appropriately sorted in the coarse-to-fine manner using these three angles.
- the voxels surrounding the current voxel are selected and sorted one by one in accordance with angles based on the x-axis, y-axis, and z-axis (in a first order which is increasing order of angle or a second order which is decreasing order of angle).
- relative coordinates of candidates in the lookup table are primarily sorted by squared distance d 2 (S 1331 ), and relative coordinates at the same squared distance d 2 are 3D-geometrically sorted in the coarse-to-fine manner of the first or second exemplary embodiment (S 1332 ).
- filled voxels may not be distinguished with the lookup table alone. This is because the lookup table only has coordinates and squared distances of voxels. Accordingly, the lookup table may be searched for surrounding voxels, and then it may be determined whether found surrounding voxels are filled voxels with reference to the bit array previously stored in operation S 132 .
- gridDimension is a voxel coordinate range obtained by dividing x, y, and z point coordinate ranges of a point cloud by a voxel size (2 or 4).
- x, y, and z coordinates of a point have a maximum of 1024, and when a voxel size is 2, gridDimension has a value of 512 which is the maximum of the voxel coordinate range.
- the index information of the existing 1D filledVoxel array is stored at a position of a 1D conversion coordinate in accordance with Expression 5 (i.e., a coordinate obtained by converting 3D coordinates of filled voxels into one dimension).
- a value e.g., ⁇ 1 representing an empty voxel is stored at a position of a corresponding 1D conversion coordinate.
- 1D coord of( x,y,z ) x+y ⁇ grid Dimension+ z ⁇ grid Dimension 2 [Expression 5]
- 1D coord of (x, y, z) is a result of converting coordinates (x, y, z) of a voxel into a 1D coordinate.
- a filledVoxelsIndex array which is an array of pieces of index information of a 1D filledVoxel array is expressed not as a simple 1D array but as a map data structure including multiple elements which include (key, value) pairs as one element, the corresponding data size can be remarkably reduced.
- index information of filled voxels since only index information of filled voxels is stored in a map, it is unnecessary to indicate empty voxels, and memory use is very low accordingly.
- the number of filled voxels is much smaller than the number of empty voxels, and the amount of data corresponding to empty voxels can be reduced.
- “key” is a 1D conversion coordinate (i.e., the result of Expression 5) of a filled voxel
- “value” is the index information of the existing 1D filledVoxel array.
- search a very low value access (search) speed compared to a general 1D array access speed.
- search target when a search target has no key value in such a map search, the search target corresponds to an empty voxel, which occupies a large amount of data compared to a filled voxel.
- many searches for the empty voxel require a large amount of computation.
- an “empty voxel display” function is separated and stored in a bit ( 0 or 1 ) array occFlagArray[1D conversion coordinate] (i.e., each element of the bit array has a size of one bit to only represent whether a voxel of a corresponding 1D conversion coordinate is an empty voxel), and index information of an existing 1D filledVoxel array is stored using a map.
- occFlagArray[1D conversion coordinate] may be stored and displayed as 1, and when the voxel is not valid (i.e., an empty voxel), occFlagArray[1D conversion coordinate] may be stored and displayed as 0.
- 3D coordinate values of a target voxel are converted into a 1D conversion coordinate in accordance with Expression 5, and a bit array occFlagArray of the 1D conversion coordinate is directly accessed to determine whether the target voxel is an empty voxel.
- the target voxel When it is determined that the target voxel is an empty voxel, the target voxel is skipped, and when it is determined that the target voxel is a filled voxel, a corresponding index of a 1D array in which the filled voxel is stored may be calculated using the map.
- a map value access (search) which requires a high cost of search computation is not used for empty voxels having a larger number than filled voxels, and thus the search speed can be increased.
- FIG. 10 is an example of pseudocode for generating a bit array and searching for surrounding voxels using a lookup table.
- ADJ_List corresponds to nnFilledVoxels
- IDEV_List corresponds to idecVoxels.
- a sparse symmetric cross array corresponds to a “lookup table in which voxels at the same search distance are 3D-geometrically sorted in the coarse-to-fine manner” generated in advance in accordance with operations S 1331 and S 1332 of the present disclosure.
- idecVoxels corresponds to a list of indirect edge voxels surrounding an edge voxel which is used by the FGRS algorithm.
- the present disclosure improves an existing simple score calculation method for PPI updates in FGRS for V-PCC encoding into a precise score calculation method in which weights are given to voxel distances. Accordingly, scores for PPI updates are calculated with weights which are inversely proportional to voxel distances. For this reason, precise segmentation refinement for reducing over-smoothing is possible, and as a result, it is possible to improve performance, such as a compression rate, picture quality, etc., of V-PCC encoding.
- FGRS it is possible to perform FGRS with low complexity at a high speed by performing a surrounding voxel search process, which is necessarily performed in FGRS for V-PCC encoding, on the basis of a lookup table in which a wide range of three-dimensionally surrounding voxel information is used rather than on the basis of a k-d tree radius search. Accordingly, FGRS can be performed by a low amount of computation with low complexity at a high speed. Further, according to the present disclosure, it is possible to increase an encoding rate in V-PCC encoding.
- module execution speed by an average of 50% and slightly improve the overall performance (a compression rate and picture quality) of a V-PCC encoder compared to existing FGRS in which a k-d tree radius search is performed.
- This is not only because execution speed increases due to a lookup table-based search instead of a k-d tree radius search but also because the overall performance of V-PCC encoding is improved with an improvement in segmentation refinement efficiency through a lookup table design-based search for finding a 3D-geometrically wide range of (unbiased) surrounding voxels.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
Description
scoreSmooth[v][p] [Expression 1]
of
In other words, the smooth score sum scoreSmoothSum[v][p] of the current edge voxel v has a value inversely proportional to the second sum.
scoreNormal[v][i][p]=normal[v][i]·orientation[p] [Expression 3]
obtained by adding K (where K is the number of PPIs ranging from a minimum of 6 to a maximum of 18 in accordance with an encoder setting) smooth score sums scoreSmoothSum[v][p]. In other words, score[v][i][p] is a final score for a pth PPI of the ith point in the current edge voxel v and may be proportional to each of the normalized value of the smooth score sum scoreSmoothSum[v][p] and the normal score scoreNormal[i][p]. For example, the weight λ may be set to 3 as a default value.
-
- {circle around (1)} Voxels on each of the three axes in the coordinate system
- {circle around (2)} Voxels in each of the three planes in the coordinate system
- {circle around (3)} Voxels in eight spaces equally divided by the planes excluding the axes and the planes
-
- An angle with respect to the y-z plane on the basis of the x-axis (a voxel coordinate angle of the x-axis)
- An angle with respect to the x-z plane on the basis of the y-axis (a voxel coordinate angle of the y-axis)
- An angle with respect to the x-y plane on the basis of the z-axis (a voxel coordinate angle of the z-axis)
1D coord of(x,y,z)=x+y×grid Dimension+z×grid Dimension2 [Expression 5]
Claims (14)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020220116018A KR102880703B1 (en) | 2022-09-15 | 2022-09-15 | Apparatus and method for high efficiency patch segment refining for v-pcc encoding |
| KR10-2022-0116018 | 2022-09-15 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240098263A1 US20240098263A1 (en) | 2024-03-21 |
| US12184849B2 true US12184849B2 (en) | 2024-12-31 |
Family
ID=90243418
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/058,634 Active 2043-06-24 US12184849B2 (en) | 2022-09-15 | 2022-11-23 | Device and method for performing fast grid-based refining segmentation for V-PCC encoding |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12184849B2 (en) |
| KR (1) | KR102880703B1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020012472A1 (en) * | 2000-03-31 | 2002-01-31 | Waterfall Andrew E. | Method for visualization of time sequences of 3D optical fluorescence microscopy images |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11665372B2 (en) | 2019-01-07 | 2023-05-30 | Samsung Electronics Co., Ltd. | Fast projection method in video-based point cloud compression codecs |
| KR102447796B1 (en) * | 2020-11-27 | 2022-09-27 | 한국전자기술연구원 | Apparatus and method for fast refining of patch segment for v-pcc encoder |
-
2022
- 2022-09-15 KR KR1020220116018A patent/KR102880703B1/en active Active
- 2022-11-23 US US18/058,634 patent/US12184849B2/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020012472A1 (en) * | 2000-03-31 | 2002-01-31 | Waterfall Andrew E. | Method for visualization of time sequences of 3D optical fluorescence microscopy images |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102880703B1 (en) | 2025-11-04 |
| KR20240037474A (en) | 2024-03-22 |
| US20240098263A1 (en) | 2024-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112966587B (en) | Target detection model training method, target detection method and related equipment | |
| US11734910B2 (en) | Real-time object detection using depth sensors | |
| US10872227B2 (en) | Automatic object recognition method and system thereof, shopping device and storage medium | |
| US10430978B2 (en) | Editing digital images utilizing a neural network with an in-network rendering layer | |
| Arshad et al. | Evaluating neural radiance fields for 3D plant geometry reconstruction in field conditions | |
| US9916524B2 (en) | Determining depth from structured light using trained classifiers | |
| US7372990B2 (en) | Texture image compressing device and method, texture image decompressing device and method, data structures and storage medium | |
| US9256693B2 (en) | Recommendation system with metric transformation | |
| US20210272306A1 (en) | Method for training image depth estimation model and method for processing image depth information | |
| US20240013406A1 (en) | Trajectory predicting method and computing system for trajectory prediction | |
| CN115937546A (en) | Image matching, three-dimensional image reconstruction method, device, electronic device and medium | |
| US20240005541A1 (en) | Image depth prediction method and electronic device | |
| CN110717405B (en) | Face feature point positioning method, device, medium and electronic equipment | |
| US12184849B2 (en) | Device and method for performing fast grid-based refining segmentation for V-PCC encoding | |
| US20260044969A1 (en) | Cloud technology–based positioning method and apparatus | |
| CN114241378A (en) | Method and device for generating transition video, electronic equipment and storage medium | |
| US20230137502A1 (en) | Method, device for processing feature image and storage medium | |
| KR20240049999A (en) | Apparatus and method for low-complexity patch segment refining for v-pcc encoding | |
| CN116012883B (en) | Training method of image generation model, image generation method and device | |
| CN113592795B (en) | Visual saliency detection method for stereoscopic image, thumbnail generation method and device | |
| CN107067426B (en) | A kind of image texture characteristic extracting method based on nested three-legged structure | |
| CN114092739B (en) | Image processing method, apparatus, device, storage medium, and program product | |
| US11393166B2 (en) | Generating representations to approximate digital shapes using sample circles | |
| KR20240019434A (en) | Apparatus and method for fast estimating normal for v-pcc encoding | |
| CN119784940B (en) | Method, device and electronic equipment for generating three-dimensional scene images based on large models |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| AS | Assignment |
Owner name: KOREA ELECTRONICS TECHNOLOGY INSTITUTE, KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KIM, YONG HWAN;KIM, YURA;PARK, JONG-GEUN;AND OTHERS;REEL/FRAME:061929/0001 Effective date: 20221122 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |