## 2 Proposed Scheme
### On Content Owner Side
#### 2.1.3 Closest Pair Prediction  
After vertices grouping and classification, each embeddable vertex is predicted by the closest reference vertex. However, before prediction, each embeddable vertex should be further classified into usable and unusable sets judged by:  
\[\forall g\text{ is}\begin{cases}\text{ usable},&\text{if }\forall g\text{ connects at least one reference vertex},\\ \text{unusable},&\text{otherwise}.\end{cases} \tag{5}\]  
Only usable vertices are processed by CPP, and unusable vertices are preserved unchanged. It should be noted that the proposed CPP will not change the vertex index, so the usable and unusable vertices can be also judged before CPP. Therefore, no additional location map is used for recording usability.  
For each usable vertex, denoted as \(\forall u_{(x,\ y,\ z)}\), the corresponding reference vertex set \(R=\left\{\text{w}r_{(x,\ y,\ z)}^{l}\middle|0<l\leq n_{r}\right\}\) is generated, where \(n_{r}\) denotes the number of reference vertices connected to the current usable vertex. The distance between \(\forall u_{(x,\ y,\ z)}\) and \(\text{w}r_{(x,\ y,\ z)}^{l}\) is calculated by:  
\[d^{l}=\sum_{x,y,z}\left|\forall u_{(x,\ y,\ z)}-\text{w}r_{(x,\ y,\ z)}^{l} \right|. \tag{6}\]  
Next, these distances are compared and the reference vertex with the minimum distance is chosen as the closest reference vertex, denoted as \(\text{w}r^{c}\). Then, the three-dimensional distance between the usable vertex and its closest reference vertex can be obtained by:  
\[d_{(x,\ y,\ z)}^{c}:\left(d_{x}^{c},d_{y}^{c},d_{z}^{c}\right)=\text{w}_{(x, \ y,\ z)}-\text{w}r_{(x,\ y,\ z)}^{c}. \tag{7}\]  
If the closest vertex can be distinguished and the three-dimensional distance between them can be acquired, the original usable vertex can be recovered by:  
\[\forall u_{(x,\ y,\ z)}=\text{w}r_{(x,\ y,\ z)}^{c}+d_{(x,\ y,\ z)}^{c}. \tag{8}\]  
Therefore, we record the index of the closest vertex and the three-dimensional distance using binary bits. First, the index of the closest vertex is recorded by \(\left\lceil log_{2}^{n_{r}}\right\rceil\) bits. Second, each decimal distance is converted into binary, and the maximum length of them is denoted as \(\beta\). Third, \(\beta\) by \(\theta\) bits is recorded and \(3\beta\) bits are used to record three-dimensional distance. It should be declared that \(\theta=4\) is more than enough to record \(\theta\) for most of 3D mesh models. In some extreme cases, the abnormal vertices with higher \(\beta\) can be recorded in advance using a location map, preserving these vertices unchanged. Finally, \(\left\lceil log_{2}^{n_{r}}\right\rceil+\left\lceil log_{2}^{\beta}\right\rceil +3\beta\) binary bits are generated for recording recovery information of one usable vertex. By concatenating all recovery information of each usable vertex, the whole recovery information binary sequence \(\mathbb{R}\) is obtained.  
A simple example of our proposed scheme combining MGP and CPP is illustrated in Figure 2. Assuming there are a dozen vertices indexed from 1 to 12, the MGP technique is initially employed to form four groups of three vertices. The first vertex in a group serves as the reference vertex, and the remaining two vertices are embeddable. Using the example in Figure 2, the third vertex (index 3) is connected to three reference vertices: 1, 4, and 7. The distance between the fourth vertex (index 4) and the third vertex is minimal, so the fourth vertex is selected as the closest reference and utilized for predicting the vertex 3 in our proposed CPP technique. As the reference vertices of the third vertex remain constant (1, 4, and 7), the CPP only needs 2 bits \"01\" to record the index of the closest reference. Consequently, the embeddable vertex 3 can be completely recovered using reference vertex 4 after recording the distance between vertices 3 and 4.