Skip to Content
AlgorithmsAlgorithms
  • Article
  • Open Access

22 September 2009

11 Pages

Multiplication Symmetric Convolution Property for Discrete Trigonometric Transforms

and
Department of Electrical Engineering, University of Texas at Arlington, Box 19016 Arlington, TX 76019, USA
*
Author to whom correspondence should be addressed.
This article belongs to the Special Issue Data Compression

Abstract

The symmetric-convolution multiplication (SCM) property of discrete trigonometric transforms (DTTs) based on unitary transform matrices is developed. Then as the reciprocity of this property, the novel multiplication symmetric-convolution (MSC) property of discrete trigonometric transforms, is developed.

1. Introduction

Shen et al. [1] developed fast DCT-domain convolution for time/spatial-domain multiplication using DCT type-2. They exploited symmetry and orthogonality for the fast algorithm. Logo-keying operation in the spatial domain can be done in the DCT domain for compressed image/video editing. However, they have not derived the convolution from the symmetric-convolution multiplication (SCM) property of discrete trigonometric transforms (DTTs), which will be the focus of this paper.
Time-domain symmetric convolution for a linear phase filtering application has been developed by Martucci [2] and is called the symmetric-convolution multiplication property of DTTs. Based on the SCM property, Zou et al. [3] have developed a symmetric convolution for linear phase FIR filtering. Filter coefficients consist of symmetric and asymmetric parts.
Based on those earlier works, Reju et al. [4] have finally developed fast circular convolution using DTTs. The input sequences to be convolved need not be symmetric or asymmetric. Thus fast DCTs and DSTs can be used instead of the FFTs for FIR filtering. Generalized fast convolution using numerous transforms as well as the DFT and DTTs has been studied by Korohoda et al. in [5].
In this paper we show that swapping the forward and inverse transforms in the SCM property [2] yields a multiplication-convolution (MSC) property. That is, the convolution of transformed sequences gives the same results as the forward transform after element-by-element multiplication of the data sequences. The necessary scaling factor M for these new properties has been described in the third line below Eq. (20) in [2], saying “it is possible to swap the usage of the forward and inverse transform; in that case, an extra scaling factor may be required”. Here M is the size of the generalized DFT (GDFT) when a DTT is derived from an M-point GDFT. We can get 40 types of MSCs corresponding to 40 types of SCMs in Tables VI, VII of [2].
In (1) of [6], the formulation of the SCM for the unitary matrices is presented, with only the exception of some of the 40 options mentioned by Martucci [2], because they cannot be expressed with the assumed tools. Here, we fill that gap. Consider the following matrix relationship between convolutional/unnormalized DTTs (denoted with lower-case subscript like C1e) and unitary DTTs (denoted with capital-letter subscript like CIE).
C 1 e = 2 N A 1 − 1 C 1 E A 1 C 2 e = 2 N A 2 − 1 C I I E
C 3 e = 2 N C I I I E A 2 C 4 e = 2 N C I V E
S 1 e = 2 N S I E S 2 e = 2 N A 3 − 1 S I I E
S 3 e = 2 N S I I I E A 3 S 4 e = 2 N S I V E
C 1 o = 2 N − 1 A 2 − 1 C I O A 2 C 2 o = 2 N − 1 A 2 − 1 C I I O A 4
C 3 o = 2 N − 1 A 4 − 1 C I I I O A 2 C 4 o = 2 N − 1 C I V O
S 1 o = 2 N − 1 S I O S 2 o = 2 N − 1 S I I O
S 3 o = 2 N − 1 S I I I O S 4 o = 2 N − 1 A 4 − 1 S I V O A 4
Here the fact that scalars commute with matrices is used for C3e and others.
A 1 = [ k n ] N + 1 = [ k m ] N + 1 = diag ( 1 2 , 1 , 1 , … , 1 , 1 2 ) , where   m , n = 0 , 1 , … , N
A 2 = [ k n ] N = [ k m ] N = diag ( 1 2 , 1 , 1 , … , 1 ) , where   m , n = 0 , 1 , … , N − 1
A 3 = [ k n ] N = [ k m ] N = diag ( 1 , 1 , … , 1 , 1 2 ) , where   m , n = 1 , 2 , … , N
A 4 = [ l n ] N = [ l m ] N = diag ( 1 , 1 , … , 1 , 1 2 ) , where   m , n = 0 , 1 , … , N − 1
k p = 1 / 2 p = 0 , N   = 1 p = 1 , 2 , … , N − 1
l p = 1 p = 0 , 1 , … , N − 2   = 1 / 2 p = N − 1
where diag(a11, a11, …, aNN) implies a diagonal matrix with the diagonal elements as (a11, a11, …, aNN). IN is the identity matrix of size N × N.
Let matrices J, K, Q, and R be defined as:
J = ( I N O 1 × N ) K = ( O 1 × N I N ) Q = ( I N − 1 O 1 × ( N − 1 ) ) R = ( O 1 × ( N − 1 ) I N − 1 ) ( N + 1 ) × N ( N + 1 ) × N N × ( N − 1 ) N × ( N − 1 )
where O1×N is the zero row-vector, with N elements, whose entries are all zero. Multiplying one of those matrices with an input vector appends a single zero on the top of the first or under the last element of the vector. Multiplying the transpose of one of those matrices with an input vector discards the first or last element of the vector.

2. Symmetric-Convolution Multiplication Property

One of the forty cases of symmetric convolution is proven as an example.
Property.
y = A1−1CIE−1 J ℋC2e CIIE x        [(A8) in Table 3]
Proof.
Equation (A.1) in the appendix of [2] can be rewritten as:
C 1 e = 2 C ^ 1 e [ k n ] N + 1
where C ^ 1 e is the kernel.
C I E = 2 / N [ k m ] N + 1 C ^ 1 e [ k n ] N + 1
( [ k n ] N + 1 ) − 1 = [ 1 / k n ] N + 1
From (16), (17) and (18):
C 1 e = [ 2 N / k m ] N + 1 C 1 E [ k n ] N + 1
C 1 e − 1 = [ 1 / k n ] N + 1 C I E − 1 [ k m / ( 2 N ) ] N + 1
From (1) and (10):
C 2 e − 1 = C I I E − 1 [ k m / ( 2 N ) ] N
Let x and w be input column vectors in time domain. Let y be an output column vector in time domain. Let ℋC2e be a diagonal matrix defined as ℋC2e = diag([C2e w]T), where superscript T denotes the transpose operator. We rewrite the 8th property in Table VI of [2] as:
y = C 1 e − 1 { ℋ C 2 e C 2 e x } = C 1 e − 1 { ℋ C 2 e [ 2 N / k m ] N C I I E x } = [ 1 / k n ] N + 1 C I E − 1 [ k m ] N + 1 J { ℋ C 2 e [ 1 / k m ] N C I I E x }
The matrix J shows up in the last line of (22) for zero padding. Since ℋC2e and [ 1 / k m ]N are diagonal matrices, they can commute. Thus:
y = [ 1 / k n ] N + 1 C I E − 1 J { ℋ C 2 e C I I E x } = [ 1 / k n ] N + 1 C I E − 1 J { ℋ C 2 e C I I E x }
Another example is shown in (11) of [6]. Equation (12) of [6] is expanded to full for our derivation and only results are listed in the first column of Table 3 and Table 4 in the Appendix.

3. Multiplication Symmetric-Convolution Property

Let X and Y be transformed input and output data vectors. Since there are one-to-one correspondences between unitary discrete trigonometric transforms (DTTs), we can exchange the forward transform for inverse one and vice versa as follows. In other words, a pair has the same matrix but has different names. Define h C3e as:
h C3e = diag( [(C3e) −1 W]T )
where C3e will be defined in (27). That is, ℋC2e and h C3e are the same matrix with different names (thus names of DTTs need to change).
Then from (23):
Y = [ 1 / k m ] N + 1 C I E   J   h C 3 e   C I I I E − 1   X
Notice the forward transform matrix CIIE is replaced by the inverse transform matrix CIIIE −1 since they are the same matrix, and vice versa. Now this equation represents a SCM of DTTs. A key point of this new property is that we need to redefine convolution forms of DCTs and DSTs. The factor of M is divided for the inverse DCT of the convolution form in [2] whereas it is divided for the forward DCT of the new convolution form. M is 2N for even and 2N – 1 for odd. Now new convolution form for DCT 2 is denoted as C2e:
Forward Inverse ( old ) C 2 e ⇔ C 2 e − 1 = 1 M C 3 e
( new ) C 2 e = 1 M C 2 e ⇔ ( C 2 e ) − 1 = C 3 e   or   ( C 3 e ) − 1 = C 2 e
The rest of DTTs can be readily obtained from the appendix of [2].
MSC properties can be described in terms of convolutional / unnormalized DTTs to obtain similar results:
( 11 th  SCM in Table IV of  [ 2 ] ) C 3 e − 1 ( C 3 e × C 3 e )
( ours ,   MSC ) M    C 2 e ( ( C 2 e ) − 1 × ( C 2 e ) − 1 )
Only results are listed. Matrices J, K, Q, and R are required for different index ranges between operands. Link between the index range-based maneuvers described by Martucci [2] and the introduction of the J, K, Q and R matrices is presented in Table 1 and Table 2 for M = 2N and M = 2N − 1, respectively.

4. Applications

For an image resizing (filter) application, one of 40 MSC properties is used. The definition of a normalizing parameter F(k) in [7] needs a minor change as:
F ( k ) = 2 k = 0 1 1 ≤ k ≤ N − 1
Then we can derive one of MSC properties, which is (4) in [7], from our equation as follows:
C I I { x ( n ) × w ( n ) } = C I I { x ( n ) } ⊗ C 2 e { w ( n ) } = C I I { x ( n ) } ⊗ 1 2 N C 2 e { w ( n ) }
where the symbol ⊗ denotes symmetric convolution. Since C2e = 2 N A2−1CIIE in (1),
C I I { x ( n ) × w ( n ) } = C I I { x ( n ) } ⊗ 1 2 N A 2 − 1 C I I { w ( n ) }
By the associativity of (continuous and discrete) convolution:
C I I { x ( n ) × w ( n ) } = 1 2 N C I I { x ( n ) } ⊗ A 2 − 1 C I I { w ( n ) } = 1 2 N A 2 [ A 2 − 1 C I I { x ( n ) } ⊗ A 2 − 1 C I I { w ( n ) } ]
This is shown in block diagram format in Fig. 1(b). Since G(k) and F(k) are A2−1 and 1 2 N A2 in matrix form:
CII{x(n) × w(n)} = G(k) [ F(k) CII{x(n)} ⊗ F(k) CII{w(n)} ]
Convolution has the property of associativity with scalar multiplication. Let F and G be any real sequences. Then:
a(F ⊗ G) = (aF) ⊗ G = F ⊗ (aG)
for any real (or complex) number a.
For a numerical example, let:
w = (1, 2, 3, 4) T, x = (1, 0, 3, 2) T and N = 4
Then the time domain element-by-element multiplication of the two vectors is:
w × x = (1, 0, 9, 8) T
W = A2−1 CII w = (a0, a1, a2, a3) T
       = (7.071, − 2.230, 0, − 0.159) T
X = A2−1 CII x
         = (4.243, −1.465, 0, 1.689) T
Y = W ⊗ X = (Wt + Wh) X
   = (36, − 19.823, 0, 11.272) T
where:
W = ( W t + W h ) ( a 0 a 1 a 2 a 3 a 1 a 0 a 1 a 2 a 2 a 1 a 0 a 1 a 3 a 2 a 1 a 0 ) + ( 0 a 1 a 2 a 3 0 a 2 a 3 0 0 a 3 0 − a 3 0 0 − a 3 − a 2 )
Equation (32) is [ y ( N ) , t 3 e ] + [ y ( N ) , h 3 e ] in [8, p. 2635], and Wt and Wh are a symmetric Toeplitz matrix and a Hankel matrix [9]. Symmetric convolution is represented in matrix multiplication form of (31) using (32). Since the expression inside the square brackets of (30) is the matrix Y defined in (31):
Y = 2 N A 2 − 1 C I I   ( w × x )
C I I   ( w × x ) = 1 2 N A 2 Y
Equation (34) corresponds to (30). Thus Y can be computed by using either (33) or (31). In other words, the symmetric convolution of DCT coefficients, Figure 1(b) is an alternative method to computing the DCT of multiplication of two time sequences, Figure 1(a).
Figure 1. For compressed image / video editing, logo-keying operation (alpha blending) can be done in (a) the spatial and (b) transform domains [1]. The symbol × denotes the element-by-element multiplication of the two vectors and ⊗ denotes the symmetric convolution of the two vectors.

5. Conclusions

For logo-keying operation or alpha blending, one image is scaled by α and the other is scaled by (1 − α), where α is a value between zero and one, and then two images are added up. For compressed image / video editing, multiplication operation in logo-keying operation in the spatial can be done in the DTT domain by convolving the unitary DTT coefficients of the two images. For those applications, we have developed 40 types of the MSC properties for the unitary DTTs (DCTs and DSTs [11,12,13]).

Acknowledgements

The authors wish to thank the reviewers.

Appendix

Table 1. Link between the index range-based maneuvers described by Martucci [2] and the introduction of the J, K, Q and R matrices, M = 2N.
Table 2. Link between the index range-based maneuvers described by Martucci [2] and the introduction of the J, K, Q and R matrices, M = 2N − 1.
Table 3. 20 of 40 types of SCM and MSC properties for the DTTs, M = 2N.
Table 4. 20 of 40 types of SCM and MSC properties for the DTTs, M = 2N − 1.

References and Notes

  1. Shen, Bo; Sethi, I.K.; Bhaskaran, V. DCT convolution and its application in compressed domain. IEEE T. Circ. Syst. Vid. 1998, 8, 947–952. [Google Scholar]
  2. Martucci, S.A. Symmetric convolution and the discrete sine and cosine transforms. IEEE Trans. SP 1994, 42, 1038–1051. [Google Scholar] [CrossRef]
  3. Zou, X.; Muramatsu, S.; Kiya, H. The generalized overlap-add and overlap-save methods using discrete sine and cosine transforms for FIR filtering. In Proceedings of the 3rd IEEE Int’l Conf. on Signal Processing, ICSP'96, Beijing, China, October 1996; pp. 91–94.
  4. Reju, V.G.; Koh, S.N.; Soon, I.Y. Convolution using discrete sine and cosine transforms. IEEE Signal Proc. Let. 2007, 14, 445–448. [Google Scholar] [CrossRef]
  5. Korohoda, P.; Dabrowski, A. Generalized convolution as a tool for the multi-dimensional filtering tasks. Multidim. Syst. Sign. P. 2008, 19, 361–377. [Google Scholar] [CrossRef]
  6. Foltz, T.M.; Welsh, B.M.; Holmberg, C.D. Symmetric convolution using unitary transform matrices. IEEE T. Signal Proces. 2000, 48, 2691–2692. [Google Scholar] [CrossRef]
  7. Park, Y.S.; Park, H.W. Design and analysis of an image resizing filter in the block-DCT domain. IEEE T. Circ. Syst. Vid. 2004, 14, 274–279. [Google Scholar]
  8. Sánchez, V.; García, P.; Peinado, A.M.; Segura, J.C.; Rubio, A.J. Diagonalizing properties of the discrete cosine transforms. IEEE T. Signal Proces. 1995, 43, 2631–2641. [Google Scholar] [CrossRef]
  9. Sánchez, V.; García, P.; Peinado, A.M.; Segura, J.C.; Rubio, A.J. Generating matrices for the discrete sine transforms. IEEE T. Signal Proces. 1996, 44, 2644–2646. [Google Scholar] [CrossRef]
  10. Martucci, S.A. Image resizing in the discrete sine and cosine domain. In Proceedings of the IEEE International Conference on Image Processing 1995, Washington, DC, USA, October 1995; Volume 2, pp. 244–247.
  11. Foltz, T.M.; Welsh, B.M. Symmetric convolution of asymmetric multidimensional sequences using discrete trigonometric transforms. IEEE T. Image Proces. 1999, 8, 640–651. [Google Scholar] [CrossRef] [PubMed]
  12. Rao, K.R.; Yip, P. Discrete Cosine Transform: Algorithms, Advantages, And Applications; Academic Press: London, England, 1990. [Google Scholar]
  13. Britanak, V.; Yip, P.; Rao, K.R. Discrete Cosine and Sine Transforms; Academic Press (Elsevier): Orlando, FL, USA, 2007; pp. 32–38. [Google Scholar]

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.