Skip to main content
Log in

DCT-domain coder for digital video applications

  • Special Issue
  • Published:
Journal of Real-Time Image Processing Aims and scope Submit manuscript

Abstract

In this paper, we present an effective DCT-domain video encoder architecture that decreases the computational complexity of conventional hybrid video encoders by reducing the number of transform operations between the pixel and the DCT domains. The fixed video encoder architecture (such as a fixed DCT block of 8 × 8 size) and a huge number of DCT/IDCT transforms performed during the video encoding process limit the minimum possible computational load of conventional video encoders. In this study, we solve this problem by developing a flexible video encoder architecture, which reduces video encoder computational complexity by performing low-resolution coarse-step motion estimation operations in the DCT domain. When a high level of motion activity is detected, the video encoder slightly increases the computational complexity of the motion estimation operation by computing fine-search block matching for a small-size search window in a reference frame. The proposed DCT-domain video encoder architecture is based on the conventional hybrid coder and on a set of fast integer composition and decomposition DCT transforms. The set of transforms implements a technique for estimation of DCT coefficients of a block that is partitioned by the sub-blocks. Experimental results of this method were compared with the results of the conventional hybrid coder in terms of PSNR quality and computational complexity. This comparison shows that the computational complexity of the proposed encoder is lower by 26.8% with respect to the conventional hybrid video coder for the same objective PSNR quality.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Parhi, K.K., Nishitani T.: Digital Signal Processing for Multimedia Systems, pp. 355–369. Marcel Dekker, Inc. (1999)

  2. Loeffler, C., Ligtenberg, A., Moschytz, G.S.: Practical fast 1-D DCT algorithms with 11 multiplications. In: ICASSP-89, pp. 988–991 (1989)

  3. Kamangar, F.A., Rao, K.R.: Fast algorithms for the 2-D discrete cosine transform. IEEE Trans. Comput. 31(9), 899–906 (1982)

    Article  MATH  Google Scholar 

  4. Cho, N.I., Lee, S.U.: Fast algorithm and implementation of 2-D discrete cosine transform. IEEE Trans. Signal Proc. 38(3), 297–305 (1991)

    Google Scholar 

  5. Feig, E., Winograd, S.: Fast algorithms for the discrete cosine transform. IEEE Trans. Signal Proc. 40(9), 2174–2193 (1992)

    Article  MATH  Google Scholar 

  6. Girod, B., Stuhlmüller, K.W.: A content-dependent fast DCT for low bit-rate video coding. In: Proc. ICIP’98, pp. 80–84 (1998)

  7. Pao, I.-M., Sun, M.-T.: Modeling DCT coefficients for fast video encoding. IEEE Trans. Circuits Syst. Video Technol. 9, 608–616 (1999)

    Article  Google Scholar 

  8. Docef, A., Kossentini, F., Nguuyen-Phi, K., Ismaeil, I.R.: The quantized DCT and its application to DCT-based video coding. IEEE Trans. Image Process. 11, 177–187 (2002)

    Article  Google Scholar 

  9. Lengwehasatit, K., Ortega, A.: DCT computation based on variable complexity fast approximations. Presented at the ICIP’98. Chicago, Oct 1998

  10. Lengwehasatit, K., Ortega, A.: Scalable variable complexity approximate forward DCT. Trans. Circuits Syst. Video Technol. 14, 1236–1248 (2004)

    Article  Google Scholar 

  11. Chang, S.-F., Messerschmitt, D.G.: A new approach to decoding and compositing motion-compensated DCT based images. In: Proceedings of ICASSP’93, pp. V.421–V.424. Minneapolis, Apr 1993

  12. Smith, B.C., Rowe, L.: Algorithms for manipulating compressed images. IEEE Comput. Graph. Appl. 13(5), 34–42 (1993)

    Article  Google Scholar 

  13. Chang, S.-F., Messerschmitt, D.G.: Manipulation and compositing of MC-DCT compressed video. IEEE J. Select. Areas Commun. 13(1, Pt. 2), 1–11 (1995)

    Article  Google Scholar 

  14. Chitprasert, B., Rao, K.R.: Discrete cosine transforms filtering. Signal Process. 19, 233–245 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  15. Arman, F., Hsu, A. Chiu, M.Y.: Feature management for large video databases. In: Storage and Retrieval for Image and Video Databases, vol. SPIE-1908, pp. 2–12 (1993)

  16. Meng, J., Juan, Y., Chang, S.; Scene change detection in a MPEG compressed video sequence. In: SPIE Symposium on Electronic Imaging: Science and Technology-Digital Video Compression: Algorithm and Technology. San Jose, Feb 1995

  17. Malvar, H.S., Hallapuro, A., Karczewicz, M., Kerofsky, L.: Low-complexity transform and quantization in H.264/AVC. IEEE Trans. Circuits Syst. Video Technol. 13(7), 598–603 (2003)

    Google Scholar 

  18. Jiang, J., Feng, G.: The spatial relationship of DCT coefficients between a block and its sub-blocks. IEEE Trans. Signal Process. 50(5), 1160–1169 (2002)

    Article  MathSciNet  Google Scholar 

  19. Hallapuro, A., Karczewicz, M.: Low complexity transform and quantization—Part I: basic implementation. In: Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6), 2nd Meeting, Document: JVT-B038. Geneva, Jan 29–Feb 1, 2002

  20. Kuhn, P.: Algorithms, Complexity Analysis and VLSI Architectures for MPEG-4 Motion Estimation, pp. 29–33. Kluwer Academic Publishers, Boston (1999)

    MATH  Google Scholar 

  21. Rao, K.R., Yip, P.: Discrete Cosine Transform: Algorithms, Advantages, Applications, Chap. 4. Academic Press, Boston (1990)

  22. Liu, L., Tran, T.D.: An 8 × 8 IEEE-compliant lifting-based multiplierless IDCT structure and algorithm. In: IEEE Acoustics, Speech and Signal Processing. Honolulu, Apr 2007

  23. Ma, K.K., Housr, P.I., Huang, L.: Status report of core experiment on fast block matching motion estimation. In: ISO/IEC JTC1/SC29/WG11, MPEG98/M3299. Tokyo, March 1998

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Evgeny Kaminsky.

Appendix

Appendix

1.1 Non-zero coefficients of the matrix A

The non-zero coefficients in the transform kernel matrix A can be represented as follows:

$$ \begin{aligned} a & = 1,b = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} (\cos ({\pi \mathord{\left/ {\vphantom {\pi {16}}} \right. \kern-\nulldelimiterspace} {16}}) + \cos ({{3\pi } \mathord{\left/ {\vphantom {{3\pi } {16}}} \right. \kern-\nulldelimiterspace} {16}}) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.9808 + 0.8315} \right) = 1.2815, \\ c & = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} (\cos ({\pi \mathord{\left/ {\vphantom {\pi {16}}} \right. \kern-\nulldelimiterspace} {16}}) - \cos ({{3\pi } \mathord{\left/ {\vphantom {{3\pi } {16}}} \right. \kern-\nulldelimiterspace} {16}}) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.9808 - 0.8315} \right) = 0.1056, \\ d & = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \left( {\cos (5\pi /16) + \cos (7\pi /16)} \right) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.5556 + 0.1951} \right) = 0.5308, \\ e & = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \left( {\cos (5\pi /16) - \cos (7\pi /16)} \right) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.5556 - 0.1951} \right) = 0.2549, \\ f & = \cos (\pi /8) = 0.9239,g = \cos (3\pi /8) = 0.3827, \\ b & = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \left( {\cos (3\pi /16) - \cos (7\pi /16)} \right) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.8315 - 0.1951} \right) = 0.45, \\ i & = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \left( {\cos (3\pi /16) + \cos (7\pi /16)} \right) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.8315 + 0.1951} \right) = 0.7259, \\ j & = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} (\cos ({\pi \mathord{\left/ {\vphantom {\pi {16}}} \right. \kern-\nulldelimiterspace} {16}}) + \cos ({{5\pi } \mathord{\left/ {\vphantom {{5\pi } {16}}} \right. \kern-\nulldelimiterspace} {16}}) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.9808 + 0.5556} \right) = 1.0864{\text{ and}} \\ k & = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} (\cos ({\pi \mathord{\left/ {\vphantom {\pi {16}}} \right. \kern-\nulldelimiterspace} {16}}) - \cos ({{5\pi } \mathord{\left/ {\vphantom {{5\pi } {16}}} \right. \kern-\nulldelimiterspace} {16}}) = \sqrt {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-\nulldelimiterspace} 2}} \cdot \left( {0.9808 - 0.5556} \right) = 0.3007. \\ \end{aligned} $$

1.2 1-D decomposition transform

The 1-D decomposition transform can be computed by the following 32-equation set.

 

M0 = (Y2 ≪ 1) − Y6;

M8 = Y0 + M0;

M16 = M6 − Y7;

×0 = M8 + M20;

M1 = Y2 + (Y6 ≪ 1);

M9 = Y0 − M0;

M17 = (Y5 ≪3)  Y7;

X6 = M8 − M20;

M2 = (Y1 ≪ 3) − Y7;

M10 = (M2 ≪ 1) + M4;

M18 = Y1 + (Y3 ≪ 3);

X1 = M12 + M21;

M3 = Y1 + (Y7 ≪ 3);

M11 = M2 − (M4 ≪ 1);

M19 = Y1 + M7;

X7 = M21 − M12;

M4 = ((Y3 − Y5) ≪ 3);

M12 = M1 + Y4;

M20 = M10 + M16;

X2 = M9 + M22;

M5 = ((Y3 +Y5) ≪ 3);

M13 = M1 − Y4;

M21 = M14 + M17;

X4 = M9 − M22;

M6 = (Y3 ≪ 1) + Y5;

M14 = M3 + (M5 ≪ 1);

M22 = M11 − M18;

X3 = M13 + M23;

M7 = Y3 − (Y5 ≪ 1);

M15 = (M3 ≪ 1) − M5;

M23 = M15 + M19;

X5 = M23 − M13;

  1. where ≪ denotes the left-shift operation

1.3 1-D composition transform

The 1-D composition transform can be computed by following the 24-equation set.

 

M0 = X0 + X6;

M8 = (((M4 ≪ 1) − M6) ≪ 3);

Y0 = M0 + M2;

M1 = X0 − X6;

M9 = (M1 ≪ 1) + M6;

Y1 = M14 + (M15 ≪ 3) − M3 + M6;

M2 = X2 + X4;

M10 = (M4 ≪ 3) + M1;

Y2 = (M12 ≪ 1) + M13;

M3 = X2 − X4;

M11 = M10 − (M3 ≪ 4);

Y3 = ((M1 − M3) ≪ 3) + M8 + M11;

M4 = X1 + X7;

M12 = M0 − M2;

Y4 = M5 − M7;

M5 = X1 − X7;

M13 = M5 + M7;

Y5 = M8 + M10 − (M11 + M9);

M6 = X3 + X5;

M14 = (M6 ≪ 1) + M4;

Y6 = (M13 ≪ 1) − M12;

M7 = X3 − X5;

M15 = (M1 ≪ 1) + M3;

Y7 = (M14 ≪ 3) − M15 − M4 − M1.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kaminsky, E., Ginzburg, A. & Hadar, O. DCT-domain coder for digital video applications. J Real-Time Image Proc 5, 259–274 (2010). https://doi.org/10.1007/s11554-010-0166-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11554-010-0166-5

Keywords

Navigation