Next Article in Journal
Millimeter-Wave Radar Clutter Suppression Based on Cycle-Consistency Generative Adversarial Network
Previous Article in Journal
On the Design of a Simulation-Assisted Human-Centered Quasi-Stiffness-Based Actuator for Ankle Orthosis
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

The Design of Fast Type-V Discrete Cosine Transform Algorithms for Short-Length Input Sequences

1
Institute of Computer Systems, Odesa Polytechnic National University, Shevchenko ave., 1, 65044 Odesa, Ukraine
2
Faculty of Telecommunications, Computer Science and Electrical Engineering, Bydgoszcz University of Science and Technology, Al. prof. S. Kaliskiego 7, 85-796 Bydgoszcz, Poland
3
Faculty of Computer Science and Information Technology, West Pomeranian University of Technology in Szczecin, Żołnierska 49, 71-210 Szczecin, Poland
*
Authors to whom correspondence should be addressed.
Electronics 2024, 13(21), 4165; https://doi.org/10.3390/electronics13214165
Submission received: 18 September 2024 / Revised: 13 October 2024 / Accepted: 22 October 2024 / Published: 23 October 2024

Abstract

:
Fast algorithms for type-five discrete cosine transform (DCT-V) for sequences of input data of short length in the range of two to eight are elaborated in the paper. A matrix–vector product representation of the DCT-V is the starting point for designing the algorithms. In each specific case, the DCT-V matrices have remarkable structural properties that follow from the localization of identical entries within the matrices. Each matrix of the DCT-V has only a few distinct entries that are repeated at different positions in its structure. Using simple transformations such as permutations of the rows and/or columns of this matrix or its favorable decomposition into two or more matrix components, it is possible to obtain efficient matrix structures that lead to useful factorization schemes. Based on the suitable factorization schemes we obtained, we developed fast algorithms that reduce the number of arithmetic operations when calculating the DCT-V. The correctness of the obtained algorithmic solutions was justified theoretically using a strict mathematical background of each of them. The developed algorithms were then further tested using MATLAB R2023b software to finally confirm their correctness. Finally, an evaluation of the computational complexity for each obtained solution is presented. The evaluation results were compared with the computational complexity of the direct calculation of matrix–vector products. The resulting factorizations of the matrices of the DCT-V reduce the average number of multiplications by 57% but increase the number of additions by 29%.

1. Introduction

Discrete cosine transform (DCT) [1,2,3] is widely applied in image compression [4,5], image denoising [6,7,8], healthcare systems [9,10], steganography and image encryption [11,12], image watermarking and image authentication [13,14], data analysis [15], image retrieval [16], video coding [17], audio signal enhancement [18]. The advantages of this transform are real-valued processing of data compared with discrete Fourier transform. This reduces the number of calculations required and simplifies further analysis of the transform results. In the literature, eight types of DCT have been proposed [1,2,3]. The most popular and researched transform is still DCT types I-IV [19,20,21]. DCT variant types V-VIII seem to be rarely used in practice [17,22,23]. One reason, perhaps, is that corresponding algorithms are generally more complicated than algorithms for DCT types I-IV. There are, however, several works concerning the efficient implementation of DCT types I-IV [24,25,26]. This paper is devoted to designing computationally efficient algorithms for small-size DCT-V.
The publication review shows that two approaches to the elaboration of fast algorithms for DCT can be found in the literature, specifically, structural and analytical ones. The first approach is structural [27,28,29,30]. It is usually employed to develop fast algorithms for small-size discrete orthogonal transforms. It is based on a deep analysis of the structures of base transform matrices, identifying individual features of the arrangement of identical entries and, if necessary, changing the matrix structures for subsequent use of certain matrix identities that lead to the suitable factorization of these matrices.
The structural approach does not limit the length of the original data sequence, for example, to a power of two or three. However, as the size of data sets increases, fast algorithms become more cumbersome and difficult to implement. The second approach is analytical and is based on the use of the most general patterns of factorization of the basic transformation matrices of arbitrary order [31,32,33]. It allows the development of efficient algorithms for long-length input sequences. However, in the case of short-length sequences, this approach does not always give good results. The effectiveness of this method in constructing a fast algorithm usually depends on the availability of an analytical representation of the transform’s coefficients. For the same reason, the length of the input data sequence is often limited to a power of two. Since short-length input sequences are considered in our research, the structural approach is selected to design computationally efficient algorithms. So, the aim of the article is the elaboration of reduced-complexity algorithms for DCT-V for short-length input sequences of length N = 2, 3, 4, 5, 6, 7, 8.

2. Materials and Methods

The DCT is one of the orthogonal transforms used, among other things, to analyze and process audio or other types of signals. DCT-V can be represented by the following expression [2,34]:
y k = 2 2 N 1 + 1 n = 0 N 1 x n ϵ n ϵ k   cos 2 n π k 2 N 1 ,   k = 0 ,   1 ,   ,   N 1 ,
where y k is the output sequence after the DCT-V transform is performed; x n is the sequence of input data; and N is the number of signal samples,
ϵ n ,   ϵ k = 1 2 , n , k = 0 , 1 , o t h e r w i s e .
DCT-V can be represented in matrix notation as follows:
Y N × 1 = C N X N × 1 ,
where Y N × 1 = y 0 ,   y 1 ,     ,   y N - 1 T , X N × 1 = x 0 ,   x 1 ,   ,   x N 1 T , c kl = 2 2 N 1 + 1 ϵ n ϵ k   cos 2 n π k 2 N 1 , k, l = 0, …, N − 1.
In this paper, we use the following markings and signs:
  • I N is an order N identity matrix;
  • H 2 is a 2 × 2 Hadamard matrix;
  • 1 N × M is a N × M matrix of ones (a matrix where every entry is equal to one);
  • ⊗ is the Kronecker product of two matrices;
  • ⊕ is the direct sum of two matrices.
Voids in a matrix mean that the entries at those positions have a zero value. The multipliers were marked as s m ( N ) .
DCT-V in matrix notation is as follows:
y 0 y 1 y N 1 = c 0 , 0 c 0 , 1 c 1 , 0 c 1 , 1 c 0 , N 1 c 1 , N 1 c N 1 ,   0 c N 1 ,   1 c N 1 , N 1 x 0 x 1 x N 1
For a two-point DCT-V, the corresponding expression in matrix notation is represented as follows:
Y 2 × 1 = C 2 X 2 × 1 ,
where Y 2 × 1 =   y 0 ,   y 1 T , X 2 × 1 = x 0 ,   x 1 T , C 2 = a 2 b 2 b 2 a 2 , a 2 = 0.5774, b 2   = 0.8165 .
Now, let us take into account the structural properties of the matrix C 2 [18,27]. Then, the expression for DCT-V for N = 2 can be presented as follows:
Y 2 × 1 = W 2 × 3 D 3 W 3 × 2 X 2 × 1 ,
where D 3 = diag s 0 ( 2 ) ,   s 1 ( 2 ) ,   s 2 ( 2 ) , s 0 ( 2 ) = a 2 b 2 ,   s 1 ( 2 ) = ( a 2 + b 2 ) ,   s 2 ( 2 ) = b 2 ,   W 2 × 3 = 1 1 1 1 ,   W 3 × 2 = 1 1 1 1 .
Figure 1 shows a data flow graph of the synthesized algorithm for the two-point DCT-V. As can be seen, the number of multiplication operations may be reduced from 4 to 3, but the number of addition operations is increased from 2 to 3.
Consider the elaboration of the algorithm for three-point DCT-V. The expression for three-point DCT-V is as follows:
Y 3 × 1 = C 3 X 3 × 1 ,
where Y 3 × 1 = y 0 ,   y 1 , y 2 T , X 3 × 1 = x 0 ,   x 1 ,   x 2 T , C 3 = b 3 c 3 c 3 c 3 a 3 d 3 c 3 d 3 a 3 with a 3 = 0.2764,   b 3 = 0.4472, c 3 = 0.6325, d 3 = 0.7236.
The matrix C 3 is decomposed into two components:
C 3 = C 3 ( a ) + C 3 ( b ) ,  
where C 3 ( a ) = b 3 c 3 c 3 c 3 c 3 , C 3 ( b ) = a 3 d 3 d 3 a 3 .
Taken into account properties of structural matrices [27,28], the computational procedure for the three-point DCT-V is represented by expression
Y 3 × 1 = W 3 × 5 W 5 D 5 W 5 W 5 × 6 W 6 × 3 X 3 × 1 ,
where D 5 = diag s 0 ( 3 ) ,   s 1 ( 3 ) ,   s 2 ( 3 ) ,   s 3 ( 3 ) ,   s 3 ( 3 ) , s 0 ( 3 ) = b 3 , s 1 ( 3 ) = ( a 3 d 3 ) / 2 , s 1 ( 3 ) = ( a 3 + d 3 ) / 2 , s 3 ( 3 ) = c 3 ,   W 5 = 1 H 2 I 2 ,
W 3 × 5 = 1 1 1 1 1 1 , W 6 × 3 = 1 1 1 1 1 1 , W 5 × 6 = 1 1 1 1 1 1 1 .
A data flow graph of the proposed algorithm for the three-point DCT-V is shown in Figure 2. The number of multiplication operations can be reduced from 9 to 5, but the number of addition operations is increased from 6 to 8.
Let us design the algorithm for four-point DCT-V. The four-point DCT-V is expressed as follows:
Y 4 × 1 = C 4 X 4 × 1 ,
where Y 4 × 1 =   y 0 ,   y 1 , y 2 ,   y 3 T , X 4 × 1 =   x 0 ,   x 1 ,   x 2 ,   x 3 T , C 4 = b 4 d 4 d 4 d 4 d 4 c 4 a 4 e 4 d 4 a 4 e 4 c 4 d 4 e 4 c 4 a 4 with a 4 = 0.1682, b 4 = 0.3780, c 4 = 0.4713, d 4 = 0.5345, e 4 = 0.6811.
To change the order of columns of C 4 , the permutation
π 4 = 1 2 1 2 3 4 4 3
is defined. After permutation of the columns of C 4 according to π 4 , we obtain the matrix C 4 ( a ) = b 4 d 4 d 4 d 4 d 4 c 4 e 4 a 4 d 4 a 4 c 4 e 4 d 4 e 4 a 4 c 4 with permutation matrix P 4 = 1 1 1 1 .
The matrix C 4 ( a ) is decomposed into two components:
C 4 ( a ) = C 4 ( b ) + C 4 ( c ) ,  
where C 4 ( b ) = b 4 d 4 d 4 d 4 d 4 c 4 e 4 a 4 d 4 a 4 c 4 e 4 d 4 e 4 a 4 c 4 , C 4 ( c ) = b 4 d 4 d 4 d 4 d 4 c 4 e 4 a 4 d 4 a 4 c 4 e 4 d 4 e 4 a 4 c 4 .
To process the matrix C 4 ( a ) , we use the expressions for calculating the entries of a circular convolution matrix H 3 = h 0 h 2 h 1 h 1 h 0 h 2 h 2 h 1 h 0 for N = 3 [28,29]:
H 3 = T 3 ( 1 ) T 3 × 4 diag ( s 0 , s 1 , s 2 , s 3 ) T 4 × 3 T 3 ( 0 ) ,
where s 0 = ( h 0 + h 1 + h 2 ) / 3 ,   s 1 = h 0 h 2 , s 2 = h 1 h 2 ,   s 3 = ( h 0 + h 1 2 h 2 ) / 3 ; T 3 ( 1 ) = 1 1 1 1 1 1 1 , T 3 × 4 = 1 1 1 1 1 , T 4 × 3 = 1 1 1 1 1 , T 3 ( 0 ) = 1 1 1 1 1 1 1 .
Taking into account the properties of structural matrices [28,29], the computational procedure for the four-point DCT-V is represented by the formula
Y 4 × 1 = W 4 × 6 W 6 ( 1 ) W 6 × 7 D 7 W 7 × 6 W 6 ( 0 ) W 6 × 8 W 8 × 4 P 4 X 4 × 1 ,
where W 6 ( 1 ) = 1 T 3 ( 1 ) I 2 , W 6 × 7 = 1 T 3 × 4 I 2 , D 7 = diag s 0 ( 4 ) ,   s 1 ( 4 ) ,   s 2 ( 4 ) ,   s 3 ( 4 ) ,   s 4 ( 4 ) ,   s 5 ( 4 ) ,   s 5 ( 4 ) , s 0 ( 4 ) = b 4 , s 1 ( 4 ) = ( c 4 a 4 e 4 ) / 3 , s 2 ( 4 ) = c 4 + e 4 , s 3 ( 4 ) = a 4 + e 4 , s 4 ( 4 ) = ( c 4 a 4 + 2 e 4 ) / 3 , s 5 ( 4 ) = d 4 , W 7 × 6 = 1 T 4 × 3 I 2 , W 6 ( 0 ) = 1 T 3 ( 0 ) I 2 , W 6 × 8 = I 4 P 2 × 4 , W 4 × 6 = 1 1 1 1 1 1 1 1 , P 2 × 4 = 1 1 1 1 , W 8 × 4 = 1 1 1 1 1 1 1 1 . A data flow graph of the proposed algorithm for the four-point DCT-V is presented in Figure 3. In particularly, the number of multiplication operations may be reduced from 16 to 7, although the number of addition operations is increased from 12 to 17.
Let us obtain the algorithm for five-point DCT-V. The five-point DCT-V is expressed as follows:
Y 5 × 1 = C 5 X 5 × 1 ,
where Y 5 × 1 = y 0 ,   y 1 , y 2 ,   y 3 ,   y 4 T , X 5 × 1 = x 0 ,   x 1 ,   x 2 ,   x 3 ,   x 4 T , a 5 = 0.1158 ,   b 5 = 0.3333, c 5 = 0.4714, d 5 = 0.5107, e 5 = 0.6265, f 5 = 0.6667, C 5 = b 5 c 5 c 5 c 5 c 5 c 5 d 5 a 5 b 5 e 5 c 5 a 5 e 5 b 5 d 5 c 5 b 5 b 5 f 5 b 5 c 5 e 5 d 5 b 5 a 5 .
To change the order of columns and rows of C 5 , the permutations π 5 and π 6 are defined in the following form:
π 5 = 1 2 1 4 3 4 5 2 5 3 ,   π 6 = 1 2 1 4 3 4 5 2 3 5 .
The columns of C 5 are permutated according to π 5 , and the rows of C 5 are permutated according to π 6 . After permutations, the matrix acquires the following structure:
C 5 ( a ) = b 5 c 5 c 5 c 5 c 5 c 5 f 5 b 5 b 5 b 5 c 5 b 5 d 5 e 5 a 5 c 5 b 5 a 5 d 5 e 5 c 5 b 5 e 5 a 5 d 5
Then, the matrix C 5 ( a ) is decomposed into two components:
C 5 ( a ) = C 5 ( b ) + C 5 ( c ) ,
where C 5 ( b ) = b 5 c 5 c 5 c 5 c 5 c 5 f 5 b 5 b 5 b 5 c 5 b 5 c 5 b 5 c 5 b 5 and C 5 ( c ) = d 5 e 5 a 5 a 5 d 5 e 5 e 5 a 5 d 5 .
Matrix C 5 ( b ) has the same entries except on the main diagonal in the first column and first row, and the second column and second row, which allows reducing the number of operations without the need for further transformations. After eliminating the rows and columns containing only zero entries in matrix C 5 ( c ) , we obtain matrix C 3 ( d ) :
C 3 ( d ) = d 5 e 5 a 5 a 5 d 5 e 5 e 5 a 5 d 5 .
To process the matrix C 3 ( d ) we use the expressions for calculating the entries of a circular convolution matrix H 3 for N = 3 (Equation (11)) [28,29]. Taking into account the properties of structural matrices [28,29], the computational procedure for the five-point DCT-V is represented by the matrix–vector procedure
Y 5 × 1 = P 5 ( 1 ) W 5 × 9 W 9 ( 1 ) W 9 × 10 D 10 W 10 × 9 W 9 ( 0 ) W 9 × 10 W 10 × 5 P 5 ( 0 ) X 5 × 1 ,
where
W 9 × 10 = I 5 P 2 × 5 ( 3 ) ,     W 9 ( 1 ) = I 2 T 3 ( 1 ) I 4 , W 9 × 10 = I 2 T 3 × 4 I 4 ,
W 10 × 9 = I 2 T 4 × 3 I 4 ,     W 9 × 9 ( 0 ) = I 2 T 3 ( 1 ) I 4 ,
D 10 = diag ( s 0 5 , s 1 5 , s 2 5 , s 3 5 ,   s 4 5 ,   s 5 5 , s 6 5 , s 7 5 , s 8 5 ,   s 9 5 ) ,
s 0 5 = b 5 , s 1 5 = f 5 , s 2 5 = ( d 5 + a 5 e 5 ) / 3 ,   s 3 ( 5 ) = d 5 + e 5 ,   s 4 ( 5 ) = a 5 + e 5 ,   s 5 ( 5 ) = ( d 5 + a 5 + 2 e 5 ) / 3 ,
s 6 5 = c 5 , s 7 5 = c 5 , s 8 5 = b 5 , s 9 5 = b 5 ,
P 2 × 5 ( 3 ) = 1 1 1 1 1 1 1 1 1 ,   P 5 ( 0 ) = 1 1 1 1 1 ,   P 5 ( 1 ) = 1 1 1 1 1 ,
W 5 × 9 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,   W 10 × 5 = 1 1 1 1 1 1 1 1 1 1 .
A data-flow graph of the proposed algorithm for the five-point DCT-V is presented in Figure 4. In particularly, the number of multiplication operations may be reduced from 25 to 10, but the number of addition operations is increased from 20 to 23.
Let us now synthesize an algorithm for a six-point DCT-V, which is expressed as follows:
Y 6 × 1 = C 6 X 6 × 1 ,
where Y 6 × 1 = y 0 ,   y 1 , y 2 ,   y 3 ,   y 4 ,   y 5 T , X 6 × 1 =   x 0 ,   x 1 ,   x 2 ,   x 3 ,   x 4 ,   x 5 T , a 6 = 0.0858 ,   b 6 = 0.2505, c 6 = 0.3015, d 6 = 0.3949, e 6 = 0.4264, f 6 = 0.5073, g 6 = 0.5786,
C 6 = c 6 e 6 e 6 e 6 e 6 e 6 e 6 f 6 b 6 a 6 d 6 g 6 e 6 b 6 d 6 g 6 a 6 f 6 e 6 a 6 g 6 b 6 f 6 d 6 e 6 d 6 a 6 f 6 g 6 b 6 e 6 g 6 f 6 d 6 b 6 a 6 .
To change the order of columns and rows of C 6 , the permutations π 7 and π 8 are defined in the following form:
π 7 = 1 2 1 2 3 4 5 6 6 4 5 3 ,   π 8 = 1 2 1 2 3 4 5 6 3 5 4 6 .
The columns of C 6 are permutated according to π 7 , and the rows of C 6 are permutated according to π 8 . After permutations, the matrix acquires the following structure:
C 6 ( a ) = c 6 e 6 e 6 e 6 e 6 e 6 e 6 f 6 g 6 a 6 d 6 b 6 e 6 b 6 f 6 g 6 a 6 d 6 e 6 d 6 b 6 f 6 g 6 a 6 e 6 a 6 d 6 b 6 f 6 g 6 e 6 g 6 a 6 d 6 b 6 f 6
Then, the matrix C 6 ( a ) is decomposed into two components:
C 6 ( a ) = C 6 ( b ) + C 6 ( c ) ,
where
C 6 ( b ) = c 6 e 6 e 6 e 6 e 6 e 6 e 6 e 6 e 6 e 6 e 6 ,   C 6 ( c ) = f 6 g 6 a 6 d 6 b 6 b 6 f 6 g 6 a 6 d 6 d 6 b 6 f 6 g 6 a 6 a 6 d 6 b 6 f 6 g 6 g 6 a 6 d 6 b 6 f 6 .
Matrix C 6 ( b ) has the same entries except on the main diagonal in the first column and first row, which allows reducing the number of operations without the need for further transformations. After eliminating the rows and columns containing only zero entries in matrix C 6 ( c ) , we obtain matrix C 5 ( d ) :
C 5 ( d ) = f 6 g 6 a 6 d 6 b 6 b 6 f 6 g 6 a 6 d 6 d 6 b 6 f 6 g 6 a 6 a 6 d 6 b 6 f 6 g 6 g 6 a 6 d 6 b 6 f 6 .
To process the matrix C 5 ( d ) , we use the expressions for calculating the entries of a circular convolution matrix H 5 = h 0 h 4 h 3 h 2 h 1 h 1 h 0 h 4 h 3 h 2 h 2 h 1 h 0 h 4 h 3 h 3 h 2 h 1 h 0 h 4 h 4 h 3 h 2 h 1 h 0 for N = 5 [29]. Then,
h 0 = f 6 , h 1 = b 6 , h 2 = d 6 , h 3 = a 6 , h 4 = g 6 ,
and the computational procedure for the six-point DCT-V is expressed by formula
Y 6 × 1 = P 6 ( 1 ) W 6 × 8 W 8 ( 0 ) W 8 × 10 W 10 × 13 D 13 × 13 W 13 × 10 W 10 × 8 W 8 ( 0 ) W 8 ( 1 ) W 8 × 12 W 12 × 6 P 6 ( 0 ) X 6 × 1 ,
where
P 6 ( 0 ) = 1 1 1 1 1 1 ,   P 6 ( 1 ) = 1 1 1 1 1 1 ,
W 8 × 10 = 1 1 1 1 1 1 1 1 1 1 1 1 ,
W 10 × 8 = 1 1 1 1 1 1 1 1 1 1 1 1 ,   W 8 ( 0 ) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,
W 8 ( 1 ) = 1 1 1 1 1 1 1 1 ,  
W 12 × 6 = 1 1 1 1 1 1 1 1 1 1 1 1 ,   W 6 × 8 = 1 1 1 1 1 1 1 1 1 1 1 1 ,
W 10 × 13 = I 2 T 2 × 3 T 2 × 3 T 2 × 3 I 2 ,   W 13 × 10 = I 2 T 3 × 2 T 3 × 2 T 3 × 2 I 2 , T 2 × 3 = 1 1 1 1 ,  
T 3 × 2 = 1 1 1 1 ,   W 8 × 12 = I 6 P 2 × 6 ( 2 ) , P 2 × 6 ( 2 ) = 1 1 1 1 1 1 ,  
D 13 = diag ( s 0 6 , s 1 6 , s 2 6 , s 3 6 , s 4 6 , s 5 6 , s 6 6 , s 7 6 , s 8 6 , s 9 6 , s 10 6 , s 11 6 , s 11 6 ) ,
s 0 6 = c 6 , s 1 6 = ( h 0 + h 1 + h 2 + h 3 + h 4 ) / 5 , s 2 6 = h 2 h 4 + h 0 h 3 , s 3 6 = h 1 + h 4 + h 0 h 3 , s 4 6 = h 3 h 0 ,
s 5 6   = h 1 h 4 + h 0 h 2 , s 6 6 = h 3 h 1 + h 0 h 2 , s 7 6 = h 2 h 0 , s 8 6 = h 4 h 0 , s 9 6 = h 1 h 0 , s 10 6 = h 0 s 0 6 ,
s 11 6 = e 6 .
A data-flow graph of the proposed algorithm of the six-point DCT-V is presented in Figure 5. We are able to reduce the number of multiplication operations from 36 to 13, but the number of addition operations is increased from 30 to 41.
The seven-point DCT-V transform in matrix notation can be represented by the following expression:
Y 7 × 1 = C 7 X 7 × 1 ,
where Y 7 × 1 =   y 0 ,   y 1 , y 2 ,   y 3 ,   y 4 ,   y 5 ,   y 6 T , X 7 × 1 = x 0 ,   x 1 ,   x 2 ,   x 3 ,   x 4 ,   x 5 ,   x 6 T , a 7 = 0.0669, b 7 = 0.1967, c 7 = 0.2774, d 7 = 0.3151, e 7 = 0.3922, f 7 = 0.4152, g 7 = 0.4912, h 7 = 0.5386,
C 7 = c 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 g 7 d 7 a 7 b 7 f 7 h 7 e 7 d 7 b 7 h 7 f 7 a 7 g 7 e 7 a 7 h 7 b 7 g 7 d 7 f 7 e 7 b 7 f 7 g 7 a 7 h 7 d 7 e 7 f 7 a 7 d 7 h 7 g 7 b 7 e 7 h 7 g 7 f 7 d 7 b 7 a 7 .
Now, we need to change the order of columns and rows. Let us define the permutations π 9 , π 10 in the following form:
π 9 = 1 2 1 2 3 4 5 6 7 7 4 6 5 3 ,   π 10 = 1 2 3 4 5 6 7 1 2 3 5 6 4 7 .
Permute columns and rows of C 7 according to π 9 , π 10 . After permutations, the matrix acquires the following structure:
C 7 ( a ) = c 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 g 7 h 7 a 7 f 7 b 7 d 7 e 7 d 7 g 7 h 7 a 7 f 7 b 7 e 7 b 7 d 7 g 7 h 7 a 7 f 7 e 7 f 7 b 7 d 7 g 7 h 7 a 7 e 7 a 7 f 7 b 7 d 7 g 7 h 7 e 7 h 7 a 7 f 7 b 7 d 7 g 7 .
Then, the matrix C 7 ( a ) is decomposed into two components:
C 7 ( a ) = C 7 ( b ) + C 7 ( c ) ,
where
C 7 ( b ) = c 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 e 7 , C 7 ( c ) = g 7 h 7 a 7 f 7 b 7 d 7 d 7 g 7 h 7 a 7 f 7 b 7 b 7 d 7 g 7 h 7 a 7 f 7 f 7 b 7 d 7 g 7 h 7 a 7 a 7 f 7 b 7 d 7 g 7 h 7 h 7 a 7 f 7 b 7 d 7 g 7 .
Matrix C 7 ( b ) has the same entries in the first column and first row, which allows us to reduce the number of operations without the need for further transformations. After eliminating the rows and columns containing only zero entries in matrix C 7 ( c ) , we obtain matrix C 7 ( d ) :
C 6 ( d ) = g 7 h 7 a 7 f 7 b 7 d 7 d 7 g 7 h 7 a 7 f 7 b 7 b 7 d 7 g 7 h 7 a 7 f 7 f 7 b 7 d 7 g 7 h 7 a 7 a 7 f 7 b 7 d 7 g 7 h 7 h 7 a 7 f 7 b 7 d 7 g 7 .
The obtained matrix acquires the structure of the expressions for calculating the entries of a circular convolution matrix H 6 = h 0 h 5 h 4 h 3 h 2 h 1 h 1 h 0 h 5 h 4 h 3 h 2 h 2 h 1 h 0 h 5 h 4 h 3 h 3 h 2 h 1 h 0 h 5 h 4 h 4 h 3 h 2 h 1 h 0 h 5 h 5 h 4 h 3 h 2 h 1 h 0 for N = 6 [29].
Then, denote
s 0 ( 7 ) = c 7 ; s 1 ( 7 ) = ( g 7 + b 7 f 7 + h 7 ) / 6 ;   s 2 ( 7 ) = ( d 7 + b 7 + a 7 + h 7 ) / 6 ;  
s 3 ( 7 ) = ( d 7 + a 7 g 7 + f 7 ) / 6 ;   s 4 ( 7 ) = ( g 7 + b 7 + f 7 h 7 ) / 6 ;   s 5 ( 7 ) = ( d 7 b 7 a 7 + h 7 ) / 6 ;
s 6 ( 7 ) = ( g 7 + f 7 a 7 + d 7 ) / 6 ;   s 7 ( 7 ) = ( g 7 d 7 b 7 + f 7 + a 7 + h 7 ) / 6 ;   s 8 ( 7 ) = ( g 7 + d 7 b 7 f 7 + a 7 h 7 ) / 6 ;   s 9 ( 7 ) = e 7 .
Based on properties of structural matrices [28,29], the computational procedure for the seven-point DCT-V is represented by expression
Y 7 × 1 = P 7 ( 1 ) W 7 × 9 W 9 × 11 ( 1 ) W 11 ( 0 ) W 11 ( 1 ) D 11 W 11 × 9 ( 1 ) W 9 × 11 ( 0 ) W 11 × 9 ( 0 ) W 9 × 14 W 14 × 7 P 7 ( 0 ) X 7 × 1 ,
where
D 11 = diag ( s 0 7 , s 1 7 , s 2 7 , s 3 7 , s 4 7 , s 5 7 , s 6 7 , s 7 7 , s 8 7 , s 9 7 , s 9 7 ) ,
W 9 × 11 ( 0 ) = 1 T 6 × 8 ( 0 ) I 2 ,   W 9 × 11 ( 1 ) = 1 T 6 × 8 ( 1 ) I 2 ,   W 11 × 9 ( 0 ) = 1 T 8 × 6 I 2 ,   W 11 ( 0 ) = 1 T 3 ( 2 ) T 3 ( 2 ) I 4 ,
W 11 ( 1 ) = 1 T 3 ( 3 ) T 3 ( 4 ) H 2 I 2 ,   W 11 × 9 ( 1 ) = 1 T 6 × 4 I 4 ,   W 9 × 14 = I 7 T 2 × 7 ,
P 7 ( 0 ) = 1 1 1 1 1 1 1 , P 7 ( 1 ) = 1 1 1 1 1 1 1 ,
T 6 × 8 ( 0 ) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 , T 8 × 6 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,
T 6 × 8 ( 1 ) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,   T 6 × 4 = 1 1 1 1 1 1 1 1 ,
T 3 ( 2 ) = 1 1 1 1 1 1 , T 3 ( 3 ) = 1 1 1 1 1 1 ,   T 3 ( 4 ) = 1 1 1 1 1 1 ,
T 2 × 7 = 1 1 1 1 1 1 1 ,
W 14 × 7 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 , W 7 × 9 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 .
Figure 6 shows a data flow graph of the synthesized algorithm for the seven-point DCT-V. As can be seen, we were able to reduce the number of multiplications from 49 to 11, although the number of additions increased from 42 to 55.
Let us design the algorithm for eight-point DCT-V. The eight-point DCT-V is expressed as follows:
Y 8 × 1 = C 8 X 8 × 1 ,
where Y 8 × 1 = y 0 ,   y 1 , y 2 ,   y 3 ,   y 4 ,   y 5 ,   y 6 ,   y 7 T , X 8 × 1 =   x 0 ,   x 1 ,   x 2 ,   x 3 ,   x 4 ,   x 5 ,   x 6 ,   x 7 T ,
C 8 = c 8 e 8 e 8 e 8 e 8 e 8 e 8 e 8 e 8 g 8 d 8 b 8 a 8 c 8 f 8 h 8 e 8 d 8 a 8 f 8 h 8 c 8 b 8 g 8 e 8 b 8 f 8 f 8 b 8 q 8 b 8 f 8 e 8 a 8 h 8 b 8 g 8 c 8 f 8 d 8 e 8 c 8 c 8 q 8 c 8 c 8 q 8 c 8 e 8 f 8 b 8 b 8 f 8 q 8 f 8 b 8 e 8 h 8 g 8 f 8 d 8 c 8 b 8 a 8
with a 8 = 0.0540, b 8 = 0.1596, c 8 = 0.2582, d 8 = 0.3455, e 8 = 0.3651, f 8 = 0.4178, g 8 = 0.4718, h 8 = 0.5051, q 8 = 0.5164.
Let us define the permutations
π 11 = 1 2 1 6 3 4 5 6 7 8 4 7 2 8 5 3 ,   π 12 = 1 2 1 6 3 4 5 6 7 8 7 4 2 3 5 8
to change the order of columns and rows, respectively. As a result of the permutations, the matrix C 8 ( a ) is obtained:
C 8 ( a ) = c 8 e 8 e 8 e 8 e 8 e 8 e 8 e 8 e 8 c 8 q 8 q 8 c 8 c 8 c 8 c 8 e 8 q 8 b 8 f 8 f 8 b 8 f 8 b 8 e 8 q 8 f 8 b 8 b 8 f 8 b 8 f 8 e 8 c 8 b 8 f 8 g 8 h 8 a 8 d 8 e 8 c 8 f 8 b 8 d 8 g 8 h 8 a 8 e 8 c 8 b 8 f 8 a 8 d 8 g 8 h 8 e 8 c 8 f 8 b 8 h 8 a 8 d 8 g 8 .
Further, the matrix C 8 ( a ) is decomposed into two components:
C 8 ( a ) = C 8 ( b ) + C 8 ( c ) ,
where
C 8 ( b ) = c 8 e 8 e 8 e 8 e 8 e 8 e 8 e 8 e 8 c 8 q 8 q 8 c 8 c 8 c 8 c 8 e 8 q 8 b 8 f 8 f 8 b 8 f 8 b 8 e 8 q 8 f 8 b 8 b 8 f 8 b 8 f 8 e 8 c 8 b 8 f 8 e 8 c 8 f 8 b 8 e 8 c 8 b 8 f 8 e 8 c 8 f 8 b 8 , C 8 ( c ) = g 8 h 8 a 8 d 8 d 8 g 8 h 8 a 8 a 8 d 8 g 8 h 8 h 8 a 8 d 8 g 8 .
Matrix C 8 ( b ) has the repeated entries in the first, second, third, and fourth columns and rows, which allows us to reduce the number of operations without the need for further transformations. After eliminating the rows and columns containing only zero entries in matrix C 8 ( c ) , we obtain matrix C 4 ( e ) :
C 4 ( e ) = g 8 h 8 a 8 d 8 d 8 g 8 h 8 a 8 a 8 d 8 g 8 h 8 h 8 a 8 d 8 g 8 .
To process the matrix C 4 ( e ) , we use the expressions for calculating the entries of a circular convolution matrix H 4 = h 0 h 3 h 2 h 1 h 1 h 0 h 3 h 2 h 2 h 1 h 0 h 3 h 1 h 2 h 1 h 0 for N = 4 [29]:
H 3 = T 4 ( 1 ) T 4 × 5 diag ( s 0 ( 0 ) , s 1 ( 0 ) , s 2 ( 0 ) , s 3 ( 0 ) , s 4 ( 0 ) ) T 5 × 4 T 4 ( 0 ) ,
where
s 0 ( 0 ) = ( g 8 + d 8     a 8     h 8 ) / 4 ,   s 1 ( 0 ) = ( g 8     d 8     a 8 +   h 8 ) / 4 ,   s 2 ( 0 ) = ( g 8 + a 8 ) / 2 ,   s 3 ( 0 ) = ( g 8     d 8 +   a 8     h 8 ) / 2 ;
s 4 ( 0 ) = ( g 8 + d 8 + a 8 + h 8 ) / 2 ;
T 4 ( 1 ) = 1 1 1 1 1 1 1 1 , T 4 ( 0 ) = 1 1 1 1 1 1 1 1 ,   T 4 × 5 = 1 1 1 1 1 1 1 1 ,   T 5 × 4 = 1 1 1 1 1 1 1 1 .
Based on properties of structural matrices [29], the computational procedure for the eight-point DCT-V is represented by expression
Y 8 × 1 = P 8 ( 1 ) W 8 × 18 W 18 ( 1 ) W 18 × 19 D 19 W 19 × 18 W 18 ( 0 ) W 18 × 16 W 16 × 8 P 8 ( 0 ) X 8 × 1 ,
where
W 18 × 16 = I 8 T 10 × 8 ,   W 18 ( 1 ) = I 2 H 2 T 4 ( 1 ) H 2 H 2 I 6 ,   W 18 ( 0 ) = I 2 H 2 T 4 ( 0 ) H 2 H 2 I 6 ,   W 19 × 18 = I 4 T 5 × 4 I 10 ,   W 18 × 19 = I 4 T 4 × 5 I 10 ,  
D 19 = diag ( s 0 8 , s 1 8 , s 2 8 , s 3 8 , s 4 8 , s 5 8 , s 6 8 , s 7 8 , s 8 8 , s 2 8 , s 9 8 , s 2 8 , s 3 8 , s 10 8 , s 10 8 , s 11 8 , s 11 8 , s 1 8 , s 1 8 ) ,
s 0 8 = c 8 , s 1 8 = c 8 , s 2 8 = ( b 8 f 8 ) / 2 , s 3 8 = ( b 8 + f 8 ) / 2 , s 4 8 = s 0 ( 0 ) ,
s 5 8 = s 1 ( 0 ) , s 6 8 = s 2 ( 0 ) , s 7 8 = s 3 ( 0 ) , s 8 8 = s 4 ( 0 ) , s 9 8 = ( b 8 + f 8 ) / 2 , s 10 8 = e 8 , s 11 8 = q 8 .
P 8 ( 0 ) = 1 1 1 1 1 1 1 1 , P 8 ( 1 ) = 1 1 1 1 1 1 1 1 ,
W 8 × 18 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,
T 10 × 8 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 , W 16 × 8 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,
A data-flow graph of the proposed algorithm of the eight-point DCT-V is presented in Figure 7. Based on this algorithm, the number of multiplications can be reduced from 64 to 19, but the number of additions is increased from 56 to 61.

3. Discussion of Computational Complexity

The computational complexity of the proposed algorithms is evaluated in this section. The proposed algorithms significantly reduce the number of multiplications in DCT-V algorithms for a 1D signal with the number of samples in the range from two to eight. At the same time, the number of additions was increased by an average of 29%. The number of multiplications was reduced by an average of 57% in the range of number of samples from two to eight. The results obtained based on the elaborated algorithms are shown in Table 1. In parentheses, the percentage difference in the number of operations is indicated: plus means that the number of operations has risen compared to the direct method, and minus means that it has reduced.
The reduction in multiplications significantly contributes to speeding up the signal processing since the multiplications are more expensive to use than additions. As a result, the amount of resources used on the signal processor is significantly reduced, while allowing for easier operation in real time. The correctness of each proposed algorithm is verified by implementation in the MATLAB environment.
Analyzing the obtained results, we note the following. First, it is necessary to emphasize that the number of arithmetic operations in proposed algorithms depends on how successfully the transform matrix can be factorized. And success closely depends on the structural properties of this matrix. That is why often, in such algorithms, the reduction in the number of multiplications is achieved by increasing the number of additions. For example, in the DCT-V algorithms proposed by the authors, the number of additions increases, and not always delicately. However, if the structure of the transform matrix is “suitable”, we obtain a reduction in both multiplications and additions. For example, this is the case with the developed in [28] fast DST-II algorithms.
Secondly, designers usually try to reduce the number of multiplications as much as possible, even at the expense of a small increase in the number of additions. The problem of reducing the number of multiplications is especially relevant when designing parallel VLSI processors. This is because, compared to a hardware adder, a hardware multiplier occupies a significantly larger area in VLSI, consumes more energy, emits more heat, and creates a very large delay.
Thirdly, this paper considers DCT-V algorithms for short-length input sequences. Processing short-length blocks of signals requires less memory to save temporary data, which is critical for mobile phones and other resource-constrained devices [35]. Fast DCT algorithms for short-length block handling allow detailed signal processing and reduce overall system complexity and delay, which is especially useful for real-time applications such as voice control systems and video conferencing [35].
The development of fast algorithms based on structural properties of transform matrices may be extended to larger input sequences processing in two ways. The first one is applying fast algorithms for short-length sequences as typical modules in synthesizing more complex algorithms [1]. Once constructed, the fast algorithms for short-length sequences can be successfully applied in various projects to unify the process of developing the final algorithm. The second way is designing the intelligent system to obtain the “suitable” matrix structure, for example, with a genetic algorithm applied [36].

4. Conclusions

In this paper, fast type-V DCT algorithms designed for processing short input data sequences were developed and investigated. Fast algorithms for short input data sequences are of particular interest because they are subsequently used as building blocks for developing fast algorithms of large-sized discrete transforms.
As a result of the literature review, two main approaches were identified for designing fast algorithms for DCT. The structural approach analyzes and considers the compositions of identical entries, using heuristic tricks to find successful transformation base matrix factorization schemes [27]. The search for successful factorization schemes largely depends on the intuition and experience of the designer of such algorithms. The analytical approach is based on searching and identifying general principles for factorizing the base transform matrix for arbitrary lengths of the input data sequences. To obtain the fast algorithms for short-length data processing, we use a structural approach. With its help, we analyzed the structural properties of the type-V DCT coefficient matrix and found algorithmic solutions that allow us to reduce the computational complexity of implementing the DCT-V transform. The calculations we carried out, as well as the comparison of the obtained solutions with naive calculation methods, prove the usefulness and cost-effectiveness of the developed algorithms. The resulting factorizations of the DCT-V matrix reduce the number of multiplications by 57% but increase the number of additions by 29% on average in the range of signal sample numbers from two to eight.
As the future development of the research might be the implementation of the designed algorithms to elaboration of time–frequency dictionaries of functions [37,38]. Such dictionaries allow obtaining a compact representation of signals and images to increase the performance of their processing [39,40].

Author Contributions

Conceptualization, A.C.; methodology, A.C. and M.P.; software, M.P.; validation, A.C., M.P. and A.W.; formal analysis, A.C., M.P. and A.W.; investigation, M.P.; writing—original draft preparation, M.P. and A.C.; writing—review and editing, A.C. and M.P.; supervision, A.C. All authors have read and agreed to the published version of the manuscript.
All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

References

  1. Bi, G.; Zeng, Y. Transforms and Fast Algorithms for Signal Analysis and Representations, 1st ed.; Birkhäuser: Boston, MA, USA, 2004. [Google Scholar]
  2. Britanak, V.; Yip, P.; Rao, K. Discrete Cosine and Sine Transforms: General Properties, Fast Algorithms and Integer Approximations, 1st ed.; Elsevier Science: Amsterdam, The Netherlands, 2007. [Google Scholar]
  3. Ramamohan Rao, K.; Yip, P. Discrete Cosine Transform: Algorithms, Advantages, Applications, 1st ed.; Academic Press: Cambridge, MA, USA, 2014. [Google Scholar]
  4. Abramova, V.V.; Lukin, V.V.; Abramov, S.K.; Kryvenko, S.S.; Lech, P.; Okarma, K. A fast and accurate prediction of distortions in DCT-based lossy image compression. Electronics 2023, 12, 2347. [Google Scholar] [CrossRef]
  5. Hnativ, L.O. Discrete cosine-sine type VII transform and fast integer transforms for intra prediction of images and video coding. Cybern. Syst. Anal. 2021, 57, 827–835. [Google Scholar] [CrossRef]
  6. Lukin, V.V.; Abramova, V.V.; Abramov, S.K.; Grigelionis, K. A terahertz imaging system using adaptive DCT-based image denoising. In Proceedings of the IEEE 2nd Ukrainian Microwave Week Conference (UkrMW), Kharkiv, Ukraine, 14–18 November 2022. [Google Scholar]
  7. Pogrebnyak, O.B.; Lukin, V.V. Wiener discrete cosine transform based image filtering. J. Electron. Imaging 2012, 21, 043020. [Google Scholar] [CrossRef]
  8. Sugimoto, K.; Kamata, S. Fast Gaussian filter with second-order shift property of DCT-5. In Proceedings of the IEEE International Conference on Image Processing, Melbourne, Australia, 15–18 September 2013. [Google Scholar]
  9. Yamamoto, K.; Toyoda, K.; Ohtsuki, T. Non-contact heartbeat detection by MUSIC with discrete cosine transform-based parameter adjustment. In Proceedings of the IEEE Global Communications Conference (GLOBECOM), Abu Dhabi, United Arab Emirates, 9–13 December 2018. [Google Scholar]
  10. Park, J.; Ham, J.-W.; Park, S.; Kim, D.-H.; Park, S.-J.; Kang, H.; Park, S.-O. Polyphase-basis discrete cosine transform for real-time measurement of heart rate with CW Doppler radar. IEEE Trans. Microw. Theory Tech. 2017, 66, 1644–1659. [Google Scholar] [CrossRef]
  11. Tauhid, A.; Tasnim, M.; Noor, S.A.; Faruqui, N.; Yousuf, M.A. A secure image steganography using advanced encryption standard and discrete cosine transform. J. Inf. Secur. 2019, 10, 117–129. [Google Scholar] [CrossRef]
  12. Krikor, L.; Baba, S.; Alnasiri, T.; Shaaban, Z. Image encryption using DCT and stream cipher. Eur. J. Sci. Res. 2009, 32, 48–58. [Google Scholar]
  13. Lipinski, P.; Puchala, D. Digital image watermarking using fast parametric transforms. Bull. Pol. Acad. Sci. Tech. Sci. 2019, 67, 463–477. [Google Scholar] [CrossRef]
  14. Armas Vega, E.A.; Sandoval Orozco, A.L.; García Villalba, L.J.; Hernandez-Castro, J. Digital images authentication technique based on DWT, DCT and local binary patterns. Sensors 2018, 18, 3372. [Google Scholar] [CrossRef]
  15. Boukhechba, K.; Wu, H.; Bazine, R. DCT-based preprocessing approach for ICA in hyperspectral data analysis. Sensors 2018, 18, 1138. [Google Scholar] [CrossRef]
  16. Ramaputra, M.G.; Irianto, S.Y.; Karnila, S. Content based image retrieval method with discrete cosine feature extraction in natural images. J. Technol. Accept. Model 2021, 12, 171. [Google Scholar] [CrossRef]
  17. Zhang, Z.; Zhao, X.; Li, X.; Li, L.; Luo, Y.; Liu, S.; Li, Z. Fast DST-VII/DCT-VIII with dual implementation support for versatile video coding. IEEE Trans. Circuits Syst. Video Technol. 2021, 31, 355–371. [Google Scholar] [CrossRef]
  18. Koizumi, Y.; Harada, N.; Haneda, Y.; Hioka, Y.; Kobayashi, K. End-to-end sound source enhancement using deep neural network in the modified discrete cosine transform domain. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Calgary, AB, Canada, 15–20 April 2018. [Google Scholar]
  19. Chiper, D.F.; Dobrea, D.M. A novel low-complexity and parallel algorithm for DCT IV transform and its GPU implementation. Appl. Sci. 2024, 14, 7491. [Google Scholar] [CrossRef]
  20. Cariow, A.; Lesiecki, Ł. Small-size algorithms for type-IV discrete cosine transform with reduced multiplicative complexity. Radioelectron. Commun. Syst. 2020, 63, 465–487. [Google Scholar] [CrossRef]
  21. Kolenderski, M.; Cariow, A. Small-size algorithms for the type-I discrete cosine transform with reduced complexity. Electronics 2022, 11, 2411. [Google Scholar] [CrossRef]
  22. Chivukula, R.K.; Reznik, Y.A. Fast computing of discrete cosine and sine transforms of types VI and VII. In Proceedings of the SPIE 8135, Applications of Digital Image Processing XXXIV, San Diego, CA, USA, 19 September 2011. [Google Scholar]
  23. Park, W.; Lee, B.; Kim, M. Fast computation of integer DCT-V, DCT-VIII, and DST-VII for video coding. IEEE Trans. Image Process. 2019, 28, 5839–5851. [Google Scholar] [CrossRef] [PubMed]
  24. Chiper, D.F.; Cotorobai, L.T. A new approach for a unified architecture for type IV DCT/DST with an efficient incorporation of obfuscation technique. Electronics 2021, 10, 1656. [Google Scholar] [CrossRef]
  25. Chiper, D.F.; Cotorobai, L.T. A novel VLSI algorithm for a low complexity VLSI implementation of DCT based on pseudo circular correlation structures. In Proceedings of the International Symposium on Electronics and Telecommunications (ISETC), Timisoara, Romania, 5–6 November 2020. [Google Scholar]
  26. Chiper, D.F.; Cracan, A. An area-efficient unified VLSI architecture for type IV DCT/DST having an efficient hardware security with low overheads. Electronics 2023, 12, 4471. [Google Scholar] [CrossRef]
  27. Cariow, A. Strategies for the synthesis of fast algorithms for the computation of the matrix-vector product. J. Signal Process. Theory Appl. 2014, 3, 1–19. [Google Scholar] [CrossRef]
  28. Bielak, K.; Cariow, A.; Raciborski, M. The development of fast DST-II algorithms for short-length input sequences. Electronics 2024, 13, 2301. [Google Scholar] [CrossRef]
  29. Cariow, A.; Paplinski, J. Algorithmic structures for realizing short-length circular convolutions with reduced complexity. Electronics 2021, 10, 2800. [Google Scholar] [CrossRef]
  30. Cariow, A.; Makowska, M.; Strzelec, P. Small-size FDCT/IDCT algorithms with reduced multiplicative complexity. Radioelectron. Commun. Syst. 2019, 62, 559–576. [Google Scholar] [CrossRef]
  31. Chen, X.; Dai, O.; Li, C. A fast algorithm for computing multidimensional DCT on certain small sizes. IEEE Trans. Signal Process. 2023, 51, 213–220. [Google Scholar] [CrossRef]
  32. Plonka, G.; Potts, D.; Steifdl, G.; Tasche, M. Chebyshev methods and fast DCT algorithms. In Book Numerical Fourier Analysis. Applied and Numerical Harmonic Analysis, 1st ed.; Plonka, G., Potts, D., Steidl, G., Tasche, M., Eds.; Birkhäuser: Boston, MA, USA, 2018; pp. 339–411. [Google Scholar]
  33. Radunz, A.P.; Portella, L.; Oliveira, R.S.; Bayer, F.M.; Cintra, R.J. Extensions on low-complexity DCT approximations for larger blocklengths based on minimal angle similarity. J. Signal Process. Syst. 2023, 95, 495–516. [Google Scholar] [CrossRef]
  34. Korohoda, R.; Dąbrowski, A. Generalized convolution as a tool for multi-dimensional filtering tasks. Multidimens. Syst. Signal Process. 2008, 19, 361–377. [Google Scholar] [CrossRef]
  35. Brysin, P.; Lukin, V. DCT-based denoising of speech signals. Her. Khmelnytskyi Natl. Univ. 2024, 4, 301–309. [Google Scholar]
  36. Chen, Y.; Elliot, M.J.; Sakshaug, J.W. A genetic algorithm approach to synthetic data production. In Proceedings of the 1st International Workshop on AI for Privacy and Security, Hague, The Netherlands, 29–30 August 2016. [Google Scholar]
  37. Průša, Z.; Holighaus, N.; Balazs, P. Fast matching pursuit with multi-Gabor dictionaries. ACM Trans. Math. Softw. (TOMS) 2022, 47, 24. [Google Scholar] [CrossRef]
  38. Průša, Z.; Holighaus, N.; Balazs, P. Accelerating matching pursuit for multiple time-frequency dictionaries. In Proceedings of the 23rd International Conference on Digital Audio Effects (DAFx-20), Vienna, Austria, 8–12 September 2020. [Google Scholar]
  39. Polyakova, M.; Ishchenko, A.; Volkova, N.; Pavlov, O. Combined method for scanned documents images segmentation using sequential extraction of regions. East. Eur. J. Enterp. Technol. 2018, 5, 6–15. [Google Scholar] [CrossRef]
  40. Ishchenko, A.; Polyakova, M.; Nesteryuk, A. The technique of extraction text areas on scanned document image using linear filtration. Appl. Asp. Inf. Technol. 2019, 2, 206–215. [Google Scholar]
Figure 1. The data flow graph of the proposed algorithm for computation of two-point DCT-V.
Figure 1. The data flow graph of the proposed algorithm for computation of two-point DCT-V.
Electronics 13 04165 g001
Figure 2. The data flow graph of the algorithm for computation of three-point DCT-V.
Figure 2. The data flow graph of the algorithm for computation of three-point DCT-V.
Electronics 13 04165 g002
Figure 3. The data flow graph of the algorithm for computation of four-point DCT-V.
Figure 3. The data flow graph of the algorithm for computation of four-point DCT-V.
Electronics 13 04165 g003
Figure 4. The data-flow graph of the algorithm for computation of five-point DCT-V.
Figure 4. The data-flow graph of the algorithm for computation of five-point DCT-V.
Electronics 13 04165 g004
Figure 5. The data-flow graph of the algorithm for computation of six-point DCT-V.
Figure 5. The data-flow graph of the algorithm for computation of six-point DCT-V.
Electronics 13 04165 g005
Figure 6. The data-flow graph of the algorithm for computation of seven-point DCT-V.
Figure 6. The data-flow graph of the algorithm for computation of seven-point DCT-V.
Electronics 13 04165 g006
Figure 7. The data-flow graph of the algorithm for computation of eight-point DCT-V.
Figure 7. The data-flow graph of the algorithm for computation of eight-point DCT-V.
Electronics 13 04165 g007
Table 1. The number of additions and multiplications of the direct method against the proposed algorithms.
Table 1. The number of additions and multiplications of the direct method against the proposed algorithms.
NDirect MethodProposed Algorithms
AdditionsMultiplicationsAdditionsMultiplications
2243 (+33%)3 (−25%)
3698 (+33%)5 (−44%)
4121617 (+42%)7 (−56%)
5202523 (+15%)10 (−60%)
6303641 (+37%)13 (−64%)
7424955 (+31%)11 (−78%)
8566461 (+9%)19 (70%)
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Polyakova, M.; Witenberg, A.; Cariow, A. The Design of Fast Type-V Discrete Cosine Transform Algorithms for Short-Length Input Sequences. Electronics 2024, 13, 4165. https://doi.org/10.3390/electronics13214165

AMA Style

Polyakova M, Witenberg A, Cariow A. The Design of Fast Type-V Discrete Cosine Transform Algorithms for Short-Length Input Sequences. Electronics. 2024; 13(21):4165. https://doi.org/10.3390/electronics13214165

Chicago/Turabian Style

Polyakova, Marina, Anna Witenberg, and Aleksandr Cariow. 2024. "The Design of Fast Type-V Discrete Cosine Transform Algorithms for Short-Length Input Sequences" Electronics 13, no. 21: 4165. https://doi.org/10.3390/electronics13214165

APA Style

Polyakova, M., Witenberg, A., & Cariow, A. (2024). The Design of Fast Type-V Discrete Cosine Transform Algorithms for Short-Length Input Sequences. Electronics, 13(21), 4165. https://doi.org/10.3390/electronics13214165

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop