# Experimental Evaluation of Display Field Communication Based on Machine Learning and Modern Design
## 3 The Proposed DCT-Based DFC System
### Data Embedding  
As mentioned above, to embed data in the frequency domain, first, we convert the spatial-domain image to its frequency domain equivalent. For this, we use DCT due to its several advantages. First of all, aforementioned, DCT is already used in compressions such as JPEG and MPEG, and hence, it is compatible with our DFC system that uses JPEG images or MPEG frames. Second, DCT uses only the cosine (real) signal part of the complex exponential signal, which has the advantage of reducing the operational load on the proposed scheme. The frequency-domain image (\(\mathbf{I}_{F}\)) after the DCT conversion can be obtained as  
\[\mathbf{I}_{F} =\left[\mathbf{i}_{F_{1}},\mathbf{i}_{F_{2}},\dots,\mathbf{i}_{F_{Q}}\right]\] \[=\left[\mathbf{C}\cdot\mathbf{i}_{1}\,,\mathbf{C}\cdot\mathbf{i}_{12}\,,\dots,\bm {C}\cdot\mathbf{i}_{I_{Q}}\right]=\mathbf{C}\cdot\mathbf{I}_{t}, \tag{1}\]  
where \(\mathbf{I}_{t}\) is a \(P\times Q\) spatial-domain image, \(\mathbf{i}_{F_{q}}\) and \(\mathbf{i}_{t_{q}}\) (\(q=1,2,\dots,Q\)) are the column vectors of the frequency-domain and spatial-domain image, respectively, and \(\mathbf{C}\) is a \(P\times P\) DCT matrix whose \(m,n\)th element is given as  
\[C_{mn}= \begin{cases}\frac{1}{\sqrt{P}}&m=0,\quad 0\leq n\leq P-1\\ \sqrt{\frac{2}{P}}\cos\frac{\pi(2n+1)m}{2P}&1\leq m\leq P-1,\quad 0\leq n\leq P-1 \end{cases} . \tag{2}\]  
Note that the result of 1D-DCT has low-frequency components on the upper side of each column vector \(\mathbf{i}_{F_{q}}\), whereas mid-frequency components lie in the central region, and high-frequency components lie in the lower part of each \(\mathbf{i}_{F_{q}}\)[18]. The data matrix is also generated to be of \(P\times Q\) size given as \(\mathbf{X}=\left[\mathbf{X}_{1},\mathbf{X}_{2},\dots,\mathbf{X}_{Q}\right]\), where the \(q\)th column vector is given as  
\[\mathbf{X}_{q}=\left[\underbrace{\mathbf{0}}_{1\times s}\qquad\underbrace{(\mathbf{d}_{q} )^{T}}_{L}\qquad\underbrace{\mathbf{0}}_{1\times(P-s-L)}\right]^{T}, \tag{3}\]  
where \(\mathbf{d}_{q}=\left[\mathbf{d}_{q}(1),\dots,\mathbf{d}_{q}(L)\right]^{T}\) is the data symbol vector on the \(q\)th column of the data matrix, \(s\) is the starting pixel of the data symbol, and \(L\) is the number of data symbols embedded per column. The value of \(d\) is given as  
\[d= \begin{cases}-1&\forall\,b:b=0\\ 1&\forall\,b:b=1\end{cases} . \tag{4}\]  
From Equation (3), we can see that the data structure will cover a \(L\times Q\) rectangular region on the frequency-domain image. Each pixel in the frequency-domain image represents a specific frequency. Figure 2 shows the location of the data embedded in the frequency-domain image as white rectangular regions called _sub-bands_. The remaining black part is the area where the data are not embedded. Note that increasing the width of the white band, i.e., \(L\to P\), will result in visible artifacts when we convert the frequency-domain image back to the spatial domain. This will demolish the original purpose of the screen. As shown in the figure, the data can be embedded in different sub-bands of a frequency-domain image. Embedding the data in the upper part of the image implies embedding the data in the low-frequency region, and embedding the data in the lower part of the image implies embedding the data in the high-frequency region. On this basis, data can be embedded in three different regions of a frequency-domain image called as low sub-band, middle sub-band, and high sub-band, representing data embedding at low-frequency, mid-frequency, and high-frequency regions of the image, respectively. Generally, low-frequency components in an image indicate that changes in the brightness value of the image pixels are limited. Conversely, high-frequency components indicate that the brightness values of the pixels in the image change frequently. Normally, the low-frequency components occupy larger proportions than the high-frequency components.