<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Information Control Systems &amp; Technologies, September</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>The Analysis of Models of the Block-cyclic Structures of the DCT- II core for the Synthesis of Fast Algorithms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ihor Prots'ko</string-name>
          <email>ihor.o.protsko@lpnu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roman Rykmas</string-name>
          <email>roman.rikmas@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lviv Polytechnic National University</institution>
          ,
          <addr-line>str. S.Bandery, 12, Lviv, 79013</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>2</volume>
      <fpage>1</fpage>
      <lpage>23</lpage>
      <abstract>
        <p>The approach of computing the discrete cosine transforms based on cyclic convolutions requires an analysis of the block-cyclic structure of the core of the transform. A model of a compressed description of the block-cyclic structure of the core of a discrete cosine transform in the form of a cyclic decomposition of the substitution is considered. The cyclic decomposition of the substitution contains integer elements of the arguments of the basic function of the transform. In addition, the model are supplemented by a cyclic decomposition of the substitution with simplified values of the elements of the arguments of the basic function and a cyclic decomposition of substitution of signs. An analysis and determination of identical cyclic submatrices in the basic matrix of transform is performed with a variable step of the search, based on the parameters of the model of the discrete cosine transform. As a result of software implementation of the block-cyclic structure analysis, the use of cycles from the cyclic decomposition of the substitution allows us to speed up the process of analysis of the block-cyclic structure of the core of the transform, reduce the number of cyclic convolutions for computation of the discrete cosine transforms of arbitrary sizes. decomposition of substitution Discrete cosine transforms; model of transform core; analysis block-cyclic structure; cyclic</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The use of a set of effective algorithms for information data processing provides compression,
encoding and encryption of input data streams, increases the speed of formation and reliability of
transmission of information and communication systems of compact, secure information packets.
Thanks to fast algorithms of discrete Fourier class transforms, efficient storage, transmission and
processing of multimedia data is achieved with a significant reduction of computational costs [1]. For
wide practical application by international standardization organizations, ISO / IEC and ITU-T, 8 types
of discrete cosine transforms (DCT I-VIII) are recommended [2]. DCT refers to orthogonal
trigonometric transforms that correspond to the properties of DFT [3]. Orthogonal trigonometric basic
systems of DCT I-VIII provide computation of direct and inverse transforms in the real domain, which
is especially important for the effective solution of specific practical problems of audio and video data
processing.</p>
      <p>There are many algorithmic approaches, which can simplify digital transforms and reduce
computational cost. For efficient computation of DCT, the various forms of recording the core of
transform are used, including matrix multiplication with partial factorization [4], full factorization [5],
recursive factorization [6] and other forms [7].</p>
      <p>In many scientific fields and several problems, not only fast algorithms, block circulant matrices
have been used [8]. Mathematical rules, linear algebra and graph theory have some techniques by which
calculation cost and size of the structural matrices can be reduced in repetitive, regular and circulant</p>
      <p>2023 Copyright for this paper by its authors.
structures. Symmetry and regularity of structures or repetitive structures have been widely studied in
details in book [9].</p>
      <p>One of the approaches to the development of efficient algorithms is the ability to compute harmonic
transforms through cyclic convolutions, which was first described for DFT in the publication by Charles
Raider in 1968 [10]. A further development of this approach for the efficient computation of DCT is to
bring a harmonic basis to block-cyclic matrix structures and computations of transforms using fast
cyclic convolutions [11, 12]. The cyclic decomposition of the substitution is used to bring the harmonic
basis of DCT to a set of cyclic submatrices [13]. Execution of the synthesis of fast DCT algorithms
requires an analysis and research of the obtained block-cyclic structure of the core of the transform in
order to reduce the computational complexity and efficient organization of its execution.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Mathematical model of the structure of the block-cyclic core of DCT-II</title>
      <p>The approach of efficient computation of different types of DCT, based on block cyclic structuring
and analysis of the matrix of arguments of basic functions, is considered in [14]. Among the existing
eight types of DCT I-VIII [4], the first was DCT-II, which was simply called a discrete cosine transform.
DCT-II is obtained on the basis of the DFT formula, in which the input sequence of transform is
symmetrically extended to the half-sample [15]. This continuation with periodic symmetry of the HSHS
type corresponds to DCT-II, where for each axis of symmetry the sequence of transform can be
symmetrically extended to half-samples (HS) according to the systematization of trigonometric
transforms in [16].</p>
      <p>Direct and reverse DCT-II is described by expressions:</p>
      <p>X c2 (k) =
x(n) =
2 N −1</p>
      <p> x(n) cos[</p>
      <p>N n=0
2 N −1</p>
      <p> X c2 (k) cos[
N k=0
(2n + 1)k</p>
      <p>2N
(2n + 1)k
2N
],
],
k = 0,1,..., N −1 ;
n = 0,1,..., N −1,
where x(n), Xc2(k) are input and output sequences of transform.</p>
      <p>Let's analyze the core of DCT-II in the matrix form:</p>
      <p>
        X c2 (k ) = C NII (k, n) x(n),
(k, n = 0,1,..., N − 1) ,
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
where сk,n = (2n+1)k is the argument of the basic cosine function for each n-th element of the k-th
component of DCT-II.
      </p>
      <p>To form a substitution, choose two columns of the base matrix CIIa. These columns are arbitrary, but
should not have an index of n, which is an element of the decomposition of the size N of the transform.
where CIIN is the basic matrix of dimension (N × N) with indices on rows k = 0,1,…, N-1 and indices on
columns n = 0,1…, N-1.</p>
      <p>The function cos [k (2n + 1) π / (2N)] is periodic in relation to 4N samples, so we can write the basic
matrix CIІa (k,n) as integer arguments of the cosine function:</p>
      <p>CaII (k, n) = [((2n + 1)k mod 4N ],
(k, n = 0,1,..., N − 1) ,
without taking into account φ=π/(2N).</p>
      <p>
        To obtain a model of the structure of the block-cyclic core DCT-II, according to [12], we analyze
the matrix CIIa twice as large for k, n = 0, 1,…, (2N-1) taking into account the periodicity (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ),
Ca II (k, n) = (ck,n ) mod (4N ) , (k, n = 0,1,...,2N − 1),
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
      </p>
      <p>The basic function cos[k(2n+1)π/(2N)] is symmetric in relation to the argument 2N, which
corresponds to the value of π, so the values of the elements сk,n of the columns are reduced according
to the properties of symmetry</p>
      <p>CaII (k, n) = 4N − [ (ck ,n ) mod(4N )],
if [(ck ,n ) mod 4N ] 2N ,</p>
      <p>(k, n = 0,1,...2N − 1).</p>
      <p>
        Therefore the model of the block-cyclic structure of the basis matrix of the DCT-II can be described
using a cyclic decomposition determined by the substitution of the corresponding columns in the matrix
CIIa (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) with integer values of the arguments of the basis function:
      </p>
      <p>H (L) = H1 (L1 ) H 2 (L2 )... H k (Lk ) = (h11, h12 ,...h1L1 ) (h21, h22 ,...h2L2 )...(hkL1, hkL2 ,...hkLk ) ,
where hij are integer elements of cycles Hi(Li) with size Li elements (i = 1,2,…, k; j = 1,2,…, Li), k is the
number of cycles.</p>
      <p>
        The elements hij of the cycle Hi(Li) correspond to the values from the matrix of arguments of the
basic harmonic transform function CIIa (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) and are less than or equal to 2N. The number of cycles k in
the model H(L) is determined by the specific value of the transform size N.
      </p>
      <p>
        Due to the different expressions for the indexes of columns and rows included in the arguments of
the basis function (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), it is necessary to use two arrays Hr(n) for rows and Hc(n/2) for columns [11] to
re-index the matrix CIIa (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ).
      </p>
      <p>
        For example of the DCT-II of size N = 7, we will form a substitution on the basis of two columns
CIIa. The first column of arguments of the basis function in the matrix CIIa with the index n = 0
corresponds to a natural series. The second substitution column is 3, which is the index (2n+1) for n =
1 and is not an element of the factorization of the size N of the transform. That is, the substitution will
contain elements сk,n , which are defined according to the properties of symmetry (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ),
0- column
1- column
      </p>
      <p>
        H(14)=H0(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )H1(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )H2(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )H3(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )H4(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )H5(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )=(0)(
        <xref ref-type="bibr" rid="ref1 ref3 ref9">1,3,9</xref>
        )(
        <xref ref-type="bibr" rid="ref10 ref2 ref6">2,6,10</xref>
        )(
        <xref ref-type="bibr" rid="ref12 ref4 ref8">4,12,8</xref>
        )(
        <xref ref-type="bibr" rid="ref11 ref5">5,13,11</xref>
        )(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ),
where h01=0, h11=1, h21=2, h31=4, h41=5, h51=7.
      </p>
      <p>In order to reduce the computational complexity of the transform [12], it is necessary to reformat
the standard cyclic decomposition of substitution. For this provided that each subsequent cycle
Hi+1(L i+1) begins with the first element equal to (2N-hi1), where hi1 is the first element of the previous
cycle Hi (Li) , if it exists and Li+1 = Li. In each cycle, which is formed as a result of cyclic decomposition
of the substitution, the cyclic shift of the elements is possible. The cyclic decomposition Hr(14) for
indexing the rows of the base matrix DCT-II uses the cycles from the H(14) with the corresponding
first elements, which corresponds to the described condition,</p>
      <p>
        Hr(14) = (0)(
        <xref ref-type="bibr" rid="ref1 ref3 ref9">1,3,9</xref>
        ) (
        <xref ref-type="bibr" rid="ref11 ref5">13,11,5</xref>
        ) (
        <xref ref-type="bibr" rid="ref10 ref2 ref6">2,6,10</xref>
        ) (
        <xref ref-type="bibr" rid="ref12 ref4 ref8">12, 8, 4</xref>
        ) (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ).
      </p>
      <p>
        The cyclic decomposition Hc(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) for indexing the columns of the base matrix DCT-II uses selected
cycles from H(14) with the first odd elements (2n+1) less than 2N:
      </p>
      <p>
        Hc(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) = (
        <xref ref-type="bibr" rid="ref1 ref3 ref9">1,3,9</xref>
        )(
        <xref ref-type="bibr" rid="ref11 ref5">13,11,5</xref>
        )(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ),
the transition of the values of the elements from (2n+1) to n will look like in Hc(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ):
      </p>
      <p>
        Thus, as a result of rearrangements of sequences of rows, respectively Hr(14), and columns,
respectively Hc(
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), we obtain the basic matrix DCT-II of simplified arguments which contains a set of
cyclic submatrices with integer elements.
      </p>
      <p>
        According to the properties of asymmetric (π) of DCT-II basis function the matrix (Fig. 1) consists
of the simplified elements ck,n of the arguments, which are determined by the consistent arithmetic
operations:
ck,n = 2N − {4N − [ (ck,n ) mod(4N )], if {4N - [(ck,n ) mod 4N ] N ,
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
otherwise
      </p>
      <p>ck,n = ck,n , (k, n = 0,1,...2N − 1).</p>
      <p>The property of the symmetric/asymmetric of the basis functions of DCT-II proves efficient
representation over less value of elements with the addition of corresponding signs Zc(n) in Figure 1 is
denoted s_matrix[k][n]. The matrix of signs Zc(n) consists of the values of elements equal to +1, -1, 0
and has the same block cyclic structure with simplified arguments.</p>
      <p>
        Based on the model (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) in the form of an arrays Hr(n) and Hc(n/2), the rows / columns of the matrix
of the simplified elements ck,n of the arguments (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) are re-indexed, which results in the formation of
block-cyclic structures CIIN the core of the DCT-II.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. The Analysis of models of block-cyclic structures of the core of DCT-II</title>
      <p>For automatic synthesis of the fast algorithm DCT-II it is necessary to perform the analysis of the
structure of the obtained block-cyclic matrix in order to determine identical blocks that are placed
horizontally and vertically relative to each other. The presence of identical blocks reduces the
computational complexity and provides an opportunity to organize the efficient computation of DCT.</p>
      <p>The analysis of the structure and search for a set of elements in the matrix are tasks that are used in
many subject areas in the formalization of the algebraic matrix approach. That is, the analysis of the
structure of the matrix depends on the application, which imposes a number of requirements and criteria
for analysis.</p>
      <p>
        To synthesize efficient algorithms for computing DCT-II based on cyclic convolutions, the analysis
of the block-cyclic basis matrix CIIN is given for the search for identical cyclic submatrices. The criterion
and initial parameters of the analysis is a search for identical blocks with the corresponding indices of
placement in the basic matrix, the elements of which belong to one of the cycles of the model (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ). As a
result, the obtained data allow us to determine the minimum number and dimension of cyclic
convolutions for further computation of DCT-II based on the fast cyclic convolutions.
      </p>
      <p>To research the structures of matrices a software analysis is used, which performs iterative scanning
of the entire set of elements of the matrix. To find the specified fragments, a step-by-step scan of the
matrix with the corresponding direction of movement is performed. The disadvantage of this scan is the
large number of computations, which with increasing dimension of the matrix of size N × N has the
order of computational complexity O(N4). The values of the elements of the matrix N × N can be
determined in advance, but the large sizes of transforms require significant memory costs to save them.</p>
      <p>For automatic synthesis of algorithms for computing DCT-II based on cyclic convolutions, it is
necessary to provide efficient, in terms of speed, analysis of the structure of the block-cyclic core of
transform. To do this, we apply the basic parameters of the model H(L) of the block-cyclic structure of
the basic matrix DCT-II.</p>
      <p>
        The model H(L) of the block-cyclic structure of the base matrix DCT-II complements its
representation in the form of a simplified cyclic decomposition H'(L), the simplified elements h’ij of
which are determined by formula (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), and additional cyclic decomposition of signs Zc(L)
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
H ' (L) = H '1 (L1) H '2 (L2 )... H 'k (Lk ) =
      </p>
      <p>= (h'11 , h'12 ,...h'1L1 ) (h'21 , h'22 ,...h'2L2 )...( h'kL1 , h'kL2 ,...h'kLk ) ,</p>
      <p>Zc (L) = Z1 (L1 ) Z 2 (L2 )...Z k (Lk ) = (z11, z12 ,...z1L1 ) (z21, z22 ,...z2L2 )...(zkL1, zkL2 ,...zkLk ) ,
where zij =1, if hij &lt; N, or zij =-1, if N &lt; hij ≤ 2N, or hij =0 if hij =N; i=1,2,…,k; j=1,2,…,Li.</p>
      <p>
        Therefore, accordance the model (
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ) for the analysis of the block-cyclic structure of the core
of the DCT-II, we use the parameters:
k is the number of cycles in H(L);
Li is the number of elements in each cycle Hi(Li);
t is the repetition of groups of elements h’ij of the corresponding cycle Hi’(Li) in the row of
submatrices of the matrix structure;
      </p>
      <p>i,j is coordinates of the first elements of submatrices with the corresponding sign and value of zijcij
in the matrix structure;</p>
      <p>r is the number of repetitions of identical cyclic submatrices in the matrix structure
horizontally/vertically;</p>
      <p>r’ is the number of submatrices, starting not from the first cij = h’i1 but from the intermediate
simplified element h’ij of the corresponding cycle Hi’(Li);
m is the total number of submatrices in the block-cyclic structure.</p>
      <p>The block-cyclic structure of a square matrix Ca (k,n) contains a set of cyclic submatrices of different
size Li. These submatrices contain integers and are Latin squares. In addition, each square submatrix
contains equal elements arranged parallel to the side diagonal or equal pairs of elements symmetrically
arranged relative to the main diagonal. Such square submatrices are called Hankel or left-circulant,
completely defined by their first row or first column.</p>
      <p>
        The model of the block-cyclic structure of the core of the DCT-II of size N, which contains
leftcirculant submatrices, is determined by cyclic decompositions (
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ) with the corresponding parameters.
Therefore, to find and determine identical submatrices in the basic matrix, it is advisable to use an
algorithm based on the parameters of cyclic decompositions.
      </p>
      <p>Taking into account the peculiarities of submatrices (square, left-circulant) in the block-cyclic
structure of the basic matrix DCT-II is possible to analyze identical submatrices by different algorithms
in the directions of search and comparison.</p>
      <p>The search and analysis by sorting through the elements, starting from the top row or the first
column, involves checking for cyclicity (the same values of elements with the next offset row or
column). In the case of non-fulfillment of the requirement for cyclicity, we conclude that the size of the
submatrix is complete, and the obtained size determines the dimension of the square submatrix. Next,
we move from top to bottom and left to right (horizontally / vertically) to this defined size. We continue
the analysis by searching the elements of the first rows or columns, determining a new submatrix,
compare it with previously identified submatrices for identity.</p>
      <p>The search and analysis by sorting through the elements on the lateral diagonal begins with the first
element by checking for cyclicity (the same values of elements parallel to the side diagonal). If the
requirement of cyclicity is not met or the maximum value of the number of elements in the lateral
diagonal is determined, we conclude that the size of the submatrix is complete and determine its
dimension. Next, move from top to bottom and left to right (horizontally/vertically) to this defined size.
Continue the analysis by searching for elements in the lateral diagonal when determining a new
submatrix, compare it with previously identified, determining the same separately for the same vertical
and horizontal coordinates.</p>
      <p>Mixed search for the values of elements in the row / column and the values of elements relative to
the lateral diagonal, combining these two strategies, taking into account the peculiarities of the
corresponding sizes of submatrices will also identify identical cyclic submatrices in the block-cyclic
structure of the basic matrix DCT-II.</p>
      <p>Identical cyclic submatrices are identical submatrices that have the same corresponding values of
elements from the simplified cycle Hi’(Li) and the sign cycle Zc(Li). Quasi-identical cyclic submatrices
have the same elements from the simplified cycle Hi’(Li), but opposite values in the cyclic
decomposition of signs Zc(Li).</p>
      <p>
        An important feature of the block-cyclic structure of the formed basic matrix DCT-II is presence of
square, left-circulant integer submatrices, the location coordinates, elements and dimensions of which
are determined by the corresponding cycles in (
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ). This feature allows you to speed up the analysis
of the structure of the matrix by changing the scanning step equal to the size of the cycle Li, containing
the corresponding integer elements hij in the cycle Hi(Li).
      </p>
      <p>The analysis of the matrix structure for the identity of the submatrices placed in it will be performed
by coordinates (i, j), for which we will determine the values of zijci,j of the first elements of submatrices.
Next, it is compared (ci,j) with the corresponding values h’ij of the first or other elements of the cycle
Hi’(Li) and as a result of the correspondence, the dimension Li × Li of the square submatrix is
determined. Further selection of identical horizontally and vertically placed matrices under the
condition of equality of their first elements is performed by the coordinates of the column / row at
offsets on the size Li.</p>
      <p>The following coordinates (Table 1) of the first elements of submatrices are determined by (i+Li),
(j+ Li), where the dimension Li is chosen according to the values of the first elements of submatrices in
the matrix structure for the cycle Hi’(Li).</p>
      <p>We define identical cyclic submatrices by selecting the coordinates (i+Li), (j+Li) of the first elements
zi,jсi,j of identical submatrices horizontally (i+Li) = const in the block-cyclic structure of the basis matrix.
For horizontally identical cyclic submatrices, cyclic convolution with element-wise
addition/subtraction input data will be performed.</p>
      <p>Similarly, identical cyclic submatrices are determined by selecting the coordinates (i+Li), (j+Li) of
the first elements of identical submatrices vertically (j+Li) = const in the block-cyclic structure of the
basis matrix. For vertically placed identical cyclic submatrices, one cyclic convolution will be
performed with the corresponding input data.</p>
      <p>For the remaining cyclic submatrices, that do not have identical block-cyclic structure of core of
DCT-II in size N, one cyclic convolution will be performed.</p>
    </sec>
    <sec id="sec-4">
      <title>4. The software implementation of the analysis of block-cyclic structure the core of DCT-II</title>
      <p>
        The software implementation of analysis and search of identical matrices includes two main
functions: search and selection of cyclic matrices in the block-cyclic structure of the core of DCT-II
based on the model (
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ) and a function of determination of identical blocks for the definition of the
minimum number of cyclic convolutions required for computation of DCT-II. The software solution is
implemented using C++ in the development environment of Visual Studio C++ 2022. The first function
searches for and determines the affiliation of cyclic blocks to the corresponding cycles Hi’(Li) with the
same first elements ci,j. The analysis and selection of cyclic blocks is performed for each cycle Hi’(Li)
of the model of the block-cyclic structure of the DCT-II of size N.
      </p>
      <p>The analysis is the research of the obtained data set with values of сi,j of the first elements of cyclic
blocks and their coordinates (i, j) in the structure of the block-cyclic matrix. The analysis is aimed at
identifying identical blocks placed horizontally and vertically relative to each other. The block diagram
of the algorithm for determining identical blocks and, accordingly, the minimum number of cyclic
convolutions is given in Fig. 2.</p>
      <p>No</p>
      <p>Start</p>
      <p>As a result of execution of the first function, a set of cyclic subarrays is determined in the form of
an array of data containing the values of ci,j of the first elements of the blocks and their corresponding
coordinates (i,j), which accordingly are the indices of the two-dimensional array. For example, as a
result of the analysis for DCT-II, for size N = 14, we obtain an array of data shown in Table 2.</p>
      <p>
        According to Table 2, the first elements of cyclic subarrays of the basis matrix, equal to, for example,
сi,j = 1, are located in the matrix at coordinates 1 (
        <xref ref-type="bibr" rid="ref1">1,0</xref>
        ); 1 (4.0); 1 (
        <xref ref-type="bibr" rid="ref1 ref3">1,3</xref>
        ); 1 (4.3). That is, in the structure
of the basic matrix there are two identical blocks, placed horizontally (1 (1.0); 1 (1.3) and 1 (4.0); 1
(4.3)), and vertically (1 (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) , 0); 1 (
        <xref ref-type="bibr" rid="ref4">4,0</xref>
        ) and 1 (
        <xref ref-type="bibr" rid="ref1 ref3">1,3</xref>
        ); 1 (
        <xref ref-type="bibr" rid="ref3 ref4">4,3</xref>
        )) relative to each other.
      </p>
      <p>For clarity of the results of the analysis in Table 2, in Figure 3, we show the block-cyclic structure
of the arguments of the basic matrix DCT-II of size N = 14 with the coloring of the first elements and
identical cyclic matrices, which in the analysis are not calculated, except for integer values of the first
elements of submatrices.</p>
      <p>The algorithm for determining the minimum number of convolutions (Figure 3) uses the result of
the first search and selection of cyclic submatrices. In the next stage, the values of the first simplified
elements of cyclic submatrices are selected and are compared in the structure of the basis matrix
according to the formed coordinates. For each group of coordinates of the found first elements сi,j on
the same coordinate yi (i = 0,1,…, 2N-1), a set of convolutions is formed using the function get_conv(v).
After each iteration, the processed convolutions are added to the unique list.</p>
      <p>As a result of definition of identical blocks horizontally and vertically by means of the software
decision, the sequence of cyclic convolutions between a set of the simplified arguments and a set of the
corresponding input data is formed. For example, for DCT-II of size N = 14, we obtain (Fig. 4) a
conditionally written sequence of cyclic convolutions (X) for the corresponding values of the first
elements with coordinates zi,jсi,j { i, j }.</p>
      <p>To compute DCT-II of size N = 14 according to the formed block-cyclic structure (Fig. 2) it is
necessary to perform 4 one-point and 8 three-point cyclic convolutions. Convolution number 5.c was
determined to be opposite in sign to convolution number 2.c based on the analysis of identical cyclic
submatrices vertically. At this stage of the analysis, the equals but opposite in sign of the convolutions
are considered to be of the same type.</p>
      <p>As a result of the analysis of the structure of the formed block-cyclic matrix for the identity of the
blocks placed horizontally and vertically, we determine the reduced number and size of cyclic
convolutions for the synthesis of the computation algorithm of DCT-II. A set of a reduced number of
identical cyclic submatrices in the structure of the basic matrix determines the organization of the
computations DCT-II of size N.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion of the results of analysis of the models the block-cyclic structure of DCT-II cores</title>
      <p>The formation of the basic matrix of DCT in the form of a set of cyclic submatrices and analysis of
block structure with variable step allows us to speed up the process of analysis of the structure of the
core of the transform, reduce the number of computations of cyclic convolutions and, consequently,
reduce computational complexity.</p>
      <p>
        The reduced number of cyclic submatrices in the structure of the basis matrix depends on the value
of the transform size N and model (
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ) of the block-cyclic structure of the core of DCT-II of size N.
      </p>
      <p>
        Identical cyclic submatrices placed vertically relative to each other lead to a one-time computation
of cyclic convolutions, the results of which are used in the process of combining for different X2c(k)
output values of the transform (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>
        Identical cyclic submatrices placed horizontally relative to each other lead to the union of groups of
input values x(n) of the transform and a one-time computation of cyclic convolutions, the results of
which are used for one group X2c(k) of output values of the transform (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ).
      </p>
      <p>Depending on the specific size of the transform N, we have in the block-cyclic structures a
corresponding number of cyclic convolutions, which is not constantly increasing with an increasing
size N of transform.</p>
      <p>In the process of analysis the block-cyclic structures of the DCT-II core for sizes N = pi, the regular
increase of horizontal and vertical lines in the structure of transform basis with increasing size of degree
is confirmed, which is shown in Fig. 5 for sizes N = 3i on the example of sizes of N = 9,27.</p>
      <p>
        As it can be seen in the example for N = 3i (Fig. 5), for block-cyclic structures of the core of
DCTII for sizes of the integer N = pi is characterized by a regular increase of horizontal and vertical lines in
the structure of the basis. Similarly, this is confirmed by the corresponding increase in the number of
cycles in the model (
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ) of the block-cyclic structure of the core of the DCT-II with an increasing
value of the degree of size N = pi.
      </p>
      <p>
        Depending on the specific value of the transform of the size N according to the corresponding value,
the choice of columns to form a substitution for the model (
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ) of the block-cyclic structure of the
core of the DCT-II yields different variants of block-cyclic structures with the corresponding number
and sizes of cyclic matrices. For example, in Table 3 for DCT-II of size N=20 according to the values
of the indices of columns 1, 3, 4, 5, 9, we have four variants of the block-cyclic structures.
      </p>
      <p>This creates the possibility of choosing the structural diagrams of computers of DCT-II at the system
(algorithmic) stage of design.</p>
      <p>There are sizes of DCT-II, which have only one variant of the block-cyclic structure for any values
of column indices. For example, one variant of the block-cyclic structure has simple values of sizes N
= 11, 23, 47, 59, 83.</p>
      <p>Computations of DCT-II for short sizes based on cyclic convolutions are characterized by the least
time among other approaches to computing transforms and reducing the cost of implementing
computers on VLSI [17, 18].</p>
      <p>The synthesized DCT-II algorithms as a result of the analysis of the block-cyclic structures for short
sizes are basic in the transition to large composite sizes of transform.</p>
      <p>Thus, the analysis of the models of the block-cyclic structures of the core of the DCT-II allows us,
in the process of synthesis of algorithms, to provide efficient software or hardware organization of
transforms based on cyclic convolutions for each specific size N.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>The analysis of model of the block-cyclic structures of the DCT-II core for the synthesis of fast
algorithms is obtained in the work. The analysis of the block-cyclic structure of the basic matrix for
identical blocks is performed using the variable search step, based on the models of the block-cyclic
structures of the core of the DCT-II. Algorithmic support and software for analysis of the structure of
the block-cyclic basis matrix have been developed, which is used to determine an array of parameters
for the formal description of the structure of core of the DCT-II. As a result of the analysis of the models
of the block-cyclic structures of core of the DCT-II, a reduced number of identical cyclic submatrices
is determined, which allows us to reduce the number of cyclic convolutions for computing of the
DCTII of arbitrary sizes N. A fast cosine transform algorithm implements in the form of a set of operations
of cyclic convolutions over combined sequences of input data and coefficients of the basic function of
transform.</p>
      <p>The practical significance of the work lies in the fact that the obtained results of analysis of the
block-cyclic structures for specific sizes of transform is important for the system engineering stage of
designing a DCT-II based on cyclic convolutions, because clearly reflect the quantitative interactions
of its parts on algorithmic level. These transforms are used in information technologies for various
purposes, especially in convolutional neural networks [19].</p>
      <p>Prospects for further research are the development the synthesis of fast algorithms of the DCT-II in
parallel implementation of analysis the block-cyclic structures of the DCT-II core for large sizes.</p>
    </sec>
    <sec id="sec-7">
      <title>7. References</title>
      <p>[13] I. Prots’ko, Algorithm of Efficient Computation of DCT I-IV Using Cyclic Convolutions, Int. J.</p>
      <p>Circuits, System and Signal Processing, 7 1 (2013) 1–9.
[14] I. Prots’ko, M. Mishcuk, Block-Cyclic Structuring of the Basis of Fourier Transforms Based on</p>
      <p>Cyclic Substitution, Cybernetics and Systems Analysis, 57 6 (2021) 1008–1016.
[15] I. Prots’ko, V. Teslyuk, Relationship of Fast Computing DCT-II and DST-II Based on Cyclic
Convolutions, International Journal of Condition Monitoring and Diagnostic Engineering
Management (International Journal of COMADEM), 25 3 (2022) 9–19.
[16] S. A. Martucci, Symmetric convolution and discrete sine and cosine transforms, IEEE Transactions
on Signal Processing, 42 (1994) 1038–1051.
[17] D. F. Chiper, L.-T. Cotorobai, An Efficient Algorithm for the VLSI Implementation of Inverse
DCT Based on Quasi-Circular Correlation Structures, in: 15th International Conference on
Advanced Technologies, Systems and Services in Telecommunications (TELSIKS), Nis, Serbia,
20-22 Oct. 2021, pp.197–201. doi:10.1109/TELSIKS52058.2021.9606373
[18] P.K, Meher, S. K. Lam, T. Srikanthan, D.H. Kim, S.Y. Park, Area-Time Efficient
TwoDimensional Reconfigurable Integer DCT Architecture for HEVC, Electronics, 10 603 (2021).
doi:10.3390/electronics10050603.
[19] S. Ju, Y. Lee, S. Lee, Convolutional Neural Networks with Discrete Cosine transform features,
IEEE Transactions on Computers, 71 12 (2022) 3389 – 3395. doi: 10.1109/TC.2022.3150574</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C. S.</given-names>
            <surname>Burrus</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Frigo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.G.</given-names>
            <surname>Johnson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pueschel</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Selesnick</surname>
          </string-name>
          ,
          <source>Fast Fourier Transforms, Samurai Media Limited</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] IEEE Standard for Second-Generation IEEE 1857 Video Coding</article-title>
          .
          <source>IEEE STD</source>
          <year>1857</year>
          .4
          <article-title>- 2018</article-title>
          .
          <article-title>Institute of Electrical and Electronics Engineers</article-title>
          .
          <source>August 30</source>
          ,
          <year>2019</year>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>199</lpage>
          . doi:
          <volume>10</volume>
          .1109/IEEESTD.
          <year>2019</year>
          .
          <volume>8821610</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>Stankovic</surname>
          </string-name>
          ,
          <article-title>Digital signal processing</article-title>
          .
          <source>Basic Theory and Applications</source>
          .
          <source>Revised edition</source>
          , North Charleston, South Carolina, USA,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>V.</given-names>
            <surname>Britanak</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. R.</given-names>
            <surname>Rao</surname>
          </string-name>
          , Cosine-/
          <string-name>
            <surname>Sine-Modulated Filter Banks</surname>
          </string-name>
          . Cham. Springer International Publishing,
          <year>2018</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -61080-1
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Cariow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Lesiecki</surname>
          </string-name>
          ,
          <article-title>Small-size algorithms for type-IV discrete cosine transform with reduced multiplicative complexity</article-title>
          .
          <source>Radioelectronics and Communications Systems</source>
          ,
          <volume>63 9</volume>
          (
          <year>2020</year>
          )
          <fpage>465</fpage>
          -
          <lpage>487</lpage>
          . doi:
          <volume>10</volume>
          .3103/S0735272720090022
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Malaschonok</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ivashkevich</surname>
          </string-name>
          , Quick Recursive QR Decomposition,
          <source>in: Proceedings of the Conference on Mathematical Foundations of Informatics (MFOI2020)</source>
          ,
          <fpage>12</fpage>
          -
          <lpage>16</lpage>
          January 2021, Kyiv, Ukraine,
          <year>2021</year>
          , pp.
          <fpage>268</fpage>
          -
          <lpage>275</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>I.</given-names>
            <surname>Tsmots</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Rabyk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kryvinska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yatsymirskyy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Teslyuk</surname>
          </string-name>
          ,
          <article-title>Design of the Processors for Fast Cosine and Sine Fourier Transforms</article-title>
          ,
          <source>Circuits, Systems, and Signal Processing</source>
          ,
          <volume>41 9</volume>
          (
          <year>2022</year>
          )
          <fpage>4928</fpage>
          -
          <lpage>4951</lpage>
          . doi:
          <volume>10</volume>
          .1007/s00034-022-02012-8
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>O.</given-names>
            <surname>Beaumont</surname>
          </string-name>
          , Ph. Duchon,
          <string-name>
            <given-names>L.</given-names>
            <surname>Eyraud-Dubois</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Langou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Verite</surname>
          </string-name>
          ,
          <article-title>Symmetric block-cyclic distribution: fewer communications leads to faster dense cholesky factorization</article-title>
          ,
          <source>in: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC '22)</source>
          ,
          <year>November 2022</year>
          , Dallas, Texas,
          <year>2022</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>15</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kaveh</surname>
          </string-name>
          ,
          <article-title>Optimal analysis of structures by concepts of symmetry and regularity"</article-title>
          , 1st ed., Springer, Vienna, Austria,
          <year>2013</year>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>7091</fpage>
          -1565-7
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>C. M. Rader</surname>
          </string-name>
          ,
          <article-title>Discrete Fourier transform when the number of data samples is prime</article-title>
          ,
          <source>in: Proceedings IEEE</source>
          ,
          <volume>56</volume>
          (
          <year>1968</year>
          )
          <fpage>1107</fpage>
          -
          <lpage>1108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P. K.</given-names>
            <surname>Meher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. C.</given-names>
            <surname>Patra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. N. S.</given-names>
            <surname>Swamy</surname>
          </string-name>
          ,
          <article-title>High-throughput memory-based architecture for DHT using a new convolutional formulation</article-title>
          ,
          <source>IEEE Trans. Circuits Syst. II., 54</source>
          <volume>7</volume>
          (
          <year>2007</year>
          )
          <fpage>606</fpage>
          -
          <lpage>610</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D. F.</given-names>
            <surname>Chiper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Structured</given-names>
            <surname>Fast</surname>
          </string-name>
          <article-title>Algorithm for the VLSI Pipeline Implementation of Inverse Discrete Cosine Transform</article-title>
          ,
          <source>Circuits, Systems, and Signal Processing</source>
          ,
          <fpage>40</fpage>
          <lpage>11</lpage>
          (
          <year>2021</year>
          )
          <fpage>5351</fpage>
          -
          <lpage>5366</lpage>
          . doi:
          <volume>10</volume>
          .1007/s00034-021-01718-5
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>