# The Influence of Immersive Virtual Reality Systems on Online Social Application
## 3 Developing RVM-IVRSA
### Compensate Visual Delay  
RVM-IVRSA is an immersive virtual reality system with distributed characteristics. When immersive virtual reality system is used, visual delay will occur, which is manifested as HMD conducting angular motion, wherein image generation time in the scene is later than motion time. Humans can sense a visual delay of more than 30 ms, and to maintain a good sense of immersion, a scene needs a frame rate of at least 15 fps and a visual delay of less than 100 ms [35]. There is also some network delay in the RVM-IVRSA in its use of the TCP socket communication system before communication to establish a connection relationship [36; 37]. In order to improve delay, some simulation algorithms are needed to estimate motion of HMD in advance. \[\Delta P=P-\hat{P}=\frac{\tau^{3}}{3!}P^{(3)}(\xi)\qquad\qquad\xi\in[t_{0},t_{0}+\tau] \tag{2}\]  
where \(P\) is position vector at time \(t_{0}+\tau\). All position vectors in Equations (1) and (2) need position parameters \((x,y,z)\) and angle parameters \((\varphi,\theta,\gamma)\) of HMD, that is, \(P=(x,y,z,\varphi,\theta,\gamma)^{\tau}\). The velocity and acceleration in Equation (1) can be calculated by Equation (3):  
\[ \begin{split} V[t]&=\frac{P[t]-P[t-1]}{\Delta t}\\ A[t]&=\frac{V[t]-V[t-1]}{\Delta t}\end{split}  \tag{3}\]  
In addition to the DR algorithm, we also used the Sklansky model and its prediction algorithm to predict the motion of HMD. The Sklansky model is a kind of basic motion model; the calculation of the algorithm is small, and it is suitable for real-time tracking [41]. Its discrete form is  
\[ \begin{split} X(k+1)=F(k+1|k)X(k)+G\omega(k)\\ F(k+1|k)=\left[\begin{array}{ccc}1&T&0\\ 0&1&0\\ 0&0&1\end{array}\right],\ G=\left[\begin{array}{c}\frac{T^{2}}{2}\\ T\\ 1\end{array}\right],\ \ X(k)=\left[\begin{array}{c}x_{1}(k)\\ x_{2}(k)\\ x_{3}(k)\end{array}\right]\end{split}  \tag{4}\]  
In Equation (4), \(T\) is sampling period. \(x_{1}(k)\) is position of head at time \(k\), \(x_{2}(k)\) is velocity of head at time \(k\), and \(x_{3}(k)\) is acceleration of head at time \(k\). Noise \(\omega(k)\) is a gaussian white noise sequence with an average value of \(0\left(\mathbb{E}\left[\omega(k)\omega^{\mathrm{T}}(j)\right]=Q\delta_{kj}\), \(\delta_{kj}\) is Kronecker delta). According to the obtained HMD position information, we can establish the measurement equation of the system as follows:  
\[Z(k)=H(k)X(k)+\
u(k) \tag{5}\]  
where \(H(k)=\left[ \begin{array}{ccc}1&0&0\\ \end{array} \right]\), and measuring noise \(\
u(k)\) is a gaussian white noise sequence with an average value of \(0(\mathbb{E}\left[\
u(k)\
u^{\mathrm{T}}(j)\right]=R\delta_{kj})\). Kalman filter is used in prediction calculation [42], which is a data processing scheme. It can give a new state estimation value from a recursive equation at any time, and thus the amount of calculation and data storage is small [43]. Kalman filtering assumes two variables: position and velocity, which are both random and subject to a gaussian distribution. In this case, position and velocity are related, and the possibility of observing a particular position depends on current velocity. This correlation is represented by \(\sum_{ij}\) covariance matrix. In short, each element \(\sum_{ij}\) in the matrix represents degree of correlation between \(i\)th and \(j\)th state variables. \[\hat{X}_{k}=\left[ \begin{array}{c}position\\ velocity\end{array} \right]P_{k}=\left[ \begin{array}{cc}\sum_{pp}&\sum_{pv}\\ \sum_{vp}&\sum_{vv}\end{array}