Skip to main content
Log in

Code obfuscation using very long identifiers for FFT motion estimation models in embedded processors

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

Abstract

Motion estimation is extensively used in multimedia tasks, video coding standards and home consumer devices, appearing in many FFT-based motion algorithms. On other hand, the intellectual properties of embedded microprocessor systems are typically delivered on HDL and C source code levels. Obfuscating the code is most often the only way to protect and avoid reverse engineering. This paper presents an evaluation of operations widely used in motion estimation for an embedded microprocessor for protection purposes. A set of open source obfuscation tools has been developed that allows the use of very long and hard-to-read identifiers. The implementation of comment methods also allows for the addition of copyright and limited warranty information. The obfuscated code with identifiers of up to 2,048 characters in length is tested for Altera’s and Xilinx’s field programmable gate arrays for a typical HDL example. Compiler penalties as well as FFT runtime results are reported.

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

Similar content being viewed by others

References

  1. Oh, H., Lee, H.: Block-matching algorithm based on an adaptive reduction of the search area for motion estimation. Real-Time Imaging 6, 407–414 (2000)

    Article  MATH  Google Scholar 

  2. Konrad, J.: Estimating motion in image sequences. IEEE Signal Process. Mag. 16, 70–91 (1999)

    Article  Google Scholar 

  3. Sohm, O.P.: Fast DCT algorithm for DSP with VLIW architecture. US Patent 20,070,078,921, 5 April 2007

  4. Kappagantula, S., Rao, K.-R.: Motion compensated interframe image prediction. IEEE Trans. Commun. 33, 1011–1015 (1985)

    Article  Google Scholar 

  5. Kuo, C.-J., Yeh, C.-H., Odeh, S.-F.: Polynomial search algorithms for motion estimation. In: Proceedings of the 1999 IEEE International Symposium on Circuits and Systems, Orlando, pp. 813–818 (2012)

  6. Zhu, S., Ma, K–.K.: A new diamond search algorithm for fast block-matching motion estimation. IEEE Trans. Image Process. 9, 287–290 (2000)

    Article  Google Scholar 

  7. Zhu, S.: Fast motion estimation algorithms for video coding. M.S. thesis, Nanyang Technology University, Singapore (1998)

  8. Koga, T., Iinuma, K., Hirano, A., Iijima, Y., Ishiguro, T.: Motion-compensated interframe coding for video conferencing. In: Proceedings of the IEEE National Telecommunications Conference, New Orleans (1981)

  9. Liu, B., Zaccarin, A.: New fast algorithms for estimation of block motion vectors. IEEE Trans. Circuits Syst. Video Technol. 3, 148–157 (1993)

    Article  Google Scholar 

  10. Li, R., Zeng, B., Liou, M.-L.: A new three-step search algorithm for block motion estimation. IEEE Trans. Circuits Syst. Video Technol. 4, 438–442 (1994)

    Article  Google Scholar 

  11. Po, L.-M., Ma, W.-C.: A novel four-step search algorithm for fast block motion estimation. IEEE Trans. Circuits Syst. Video Technol. 6, 313–317 (1996)

    Article  Google Scholar 

  12. Liu, L.-K., Feig, E.: A block-based gradient descent algorithm for fast block motion estimation in video coding. IEEE Trans. Circuits Syst. Video Technol. 6, 419–422 (1996)

    Article  Google Scholar 

  13. Jain, J.-R., Jain, A.-K.: Displacement measurement and its application in interframe image coding. IEEE Trans. Commun. 29, 1799–1808 (1981)

    Article  Google Scholar 

  14. Zhu, C., Lin, X., Chau, L.-P.: Hexagon-based search pattern for fast block motion estimation. IEEE Trans. Circuits Syst. Video Technol. 12, 349–355 (2002)

    Article  Google Scholar 

  15. Bei, C.-D., Gray, R.-M.: An improvement of the minimum distortion encoding algorithm for vector quantization. IEEE Trans. Commun. 33, 1132–1133 (1985)

    Article  Google Scholar 

  16. Montrucchio, B., Quaglia, D.: New sorting-based lossless motion estimation algorithms and a partial distortion elimination performance analysis. IEEE Trans. Circuits Syst. Video Technol. 15, 210–220 (2005)

    Article  Google Scholar 

  17. Cheung, C.-K., Po, L.-M.: Normalized partial distortion search algorithm for block motion estimation. IEEE Trans. Circuits Syst. Video Technol. 10, 417–422 (2000)

    Article  Google Scholar 

  18. Cheung, C.-K., Po, L.-M.: Adjustable partial distortion search algorithm for fast block motion estimation. IEEE Trans. Circuits Syst. Video Technol. 13, 100–110 (2003)

    Article  Google Scholar 

  19. Baker, S., Matthews, I.: Lucas–Kanade 20 years on: a unifying framework. Int. J. Comput. Vis. 56(3), 221–255 (2004)

    Article  Google Scholar 

  20. Lucas, B.D., Kanade, T.: An iterative image registration technique with an application to stereo vision. In: Proceedings of the Seventh International Joint Conference on Artificial Intelligence, pp. 674–679 (1981)

  21. Huang, C., Chen, Y.: Motion estimation method using a 3D steerable filter. Image Vis. Comput. 13(1), 21–32 (1995)

    Article  Google Scholar 

  22. Adelson, E.H., Bergen, J.R.: Spatiotemporal energy models for the perception of motion. J. Opt. Soc.Am. A 2(2), 284–299 (1985)

    Article  Google Scholar 

  23. Young, R.A., Lesperance, R.M.: A physiological model of motion analysis for machine vision. Technical Report GMR 7878. General Motors Res. Lab, Warren (1993)

  24. Fleet, D.J., Black, M.J., Yacoob, Y., Jepson, A.D.: Design and use of linear models for image motion analysis. Int. J. Comput. Vis. 36(3), 171–193 (2000)

    Article  Google Scholar 

  25. Fleet, D.J., Jepson, A.D.: Hierarchical construction of orientation and velocity selective filters. IEEE Trans. Pattern Anal. Mach. Intell. 11(3), 315–325 (1989)

    Article  Google Scholar 

  26. Botella, G., Meyer-Baese, U., García, C., Rodríguez, M.: Quantization analysis and enhancement of a VLSI gradient-based motion estimation architecture. Digit. Signal Process. 22(6), 1174–1187 (2012). (ISSN 1051-2004)

    Article  MathSciNet  Google Scholar 

  27. Botella, G., Martín H, J.A., Santos, M., Meyer-Baese, U.: FPGA-based multimodal embedded sensor system integrating low- and mid-level vision. Sensors 11, 8164–8179 (2011)

    Article  Google Scholar 

  28. Ayuso, F., Botella, G., García, C., Prieto, M., Tirado, F.: GPU-based acceleration of bio-inspired motion estimation model. Concurr. Comput. Pract. Exp. 25, 1037–1056 (2013). doi:10.1002/cpe.2946

    Article  Google Scholar 

  29. Botella, G., Meyer-Baese, U., García, A.: Bio-inspired robust optical flow processor system for VLSI implementation. IEE Electron. Lett. 45(25), 1304–1305 (2009)

    Article  Google Scholar 

  30. Botella, G., Garcia, A., Rodriguez-Alvarez, M., Ros, E., Meyer-Baese, U., Molina, M.C.: Robust bioinspired architecture for optical-flow computation. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 18(4), 616–629 (2010)

    Article  Google Scholar 

  31. Horn, B.K.P., Schunck, B.G.: Determining optical flow. Artif. Intell. 17, 185–203 (1981)

    Article  Google Scholar 

  32. Zhang, J.Z., Jonathan, WuQM: A pyramid approach to motion tracking. Real-Time Imaging 7, 529–544 (2001)

    Article  MATH  Google Scholar 

  33. Simoncelli, E.P., Adelson, E.H., Heeger, D.J.: Probability distributions of optical flow. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (1991)

  34. Simoncelli, E.P., Heeger, D.J.: A model of neuronal responses in visual area MT. Vis. Res. 38(5), 743–761 (1998)

    Article  Google Scholar 

  35. Franceschini, N., Pichon, J.M., Blanes, C.: From insect vision to robot vision. Philos. Trans. R. Soc. Lond. B 337, 283–294 (1992)

    Article  Google Scholar 

  36. Kuglin, C., Hines, D.: The phase correlation image alignment method. In: Proceedings of the IEEE 1975 International Conference on Systems, Man and Cybernetics, pp. 163–16 (1975)

  37. Thomas, G.: Television motion measurement for DATV and other applications. Res. Rep. British Broadcasting Corporation (BBC) Department of Research (1987)

  38. Vlachos, T., Thomas, G.: Motion estimation for the correction of twin-lens telecine flicker. In: Proceedings of the International Conference on Image Processing, 1996, vol. 1, pp. 109–112 (1996). doi:10.1109/ICIP.1996.559444

  39. Liang, Y.: Phase-correlation motion estimation. EE392J Project Report (2000)

  40. Fitch, A., Kadyrov, A., Christmas, W., Kittler, J.: Fast robust correlation. IEEE Trans. Image Process. 14(8), 1063–1073 (2005)

    Article  Google Scholar 

  41. Huber, P.: Robust Statistics. Wiley, New York (1981)

    Book  MATH  Google Scholar 

  42. Chou, Y.M., Hang, H.M.: A new motion estimation method using frequency components. J. Vis. Commun. Image Represent. 8(1), 83–96 (1997). (ISSN 1047-3203). doi:10.1006/jvci.1997.0343

    Article  Google Scholar 

  43. Kilthau, S.L., Drew, M.S., Möller, T.: Full search content independent block matching based on the fast fourier transform. In: ICIP, vol. 1, pp. 669–672 (2002)

  44. Essannouni, F., Thami, R.O.H., Aboutajdine, D., Salam, A.: Fast exhaustive block-based motion vector estimation algorithm using FFT. Arab. J. Sci. Eng. 32(1), 61–74 (2007)

    Google Scholar 

  45. Meyer-Baese, U., Vera, A., Meyer-Baese, A., Pattichis, M., Perry, R.: Discrete wavelet transform FPGA design using MatLab/Simulink. In: Proc. SPIE 6247, Independent Component Analyses, Wavelets, Unsupervised Smart Sensors, and Neural Networks IV, 624703 (2006)

  46. VSI AllianceTM. White Paper: Intellectual property protection: schemes, alternatives and discussion. Version 1.1. (IPPWP1 1.1)

  47. Lie, D., Mitchell, M., Thekkath, C., Horowitz, M.: Specifying and verifying hardware for tamper-resistant software. In: Proceedings of the 2003 Symposium on Security and Privacy, 2003 pp. 166, 177 (2003). doi:10.1109/SECPRI.2003.119933

  48. Harper, S., Athanas, P.: A security policy based upon hardware encryption. Proc. Int. Conf. Syst. Sci. 7, 1–8 (2004)

    Google Scholar 

  49. Goldstein, H.: The secret art of chip graffiti. IEEE Spectr. 39(3), 50–55 (2002)

    Article  Google Scholar 

  50. Castillo, E., Parrilla, L., García, A., Lloris, A., Meyer-Baese, U.: IPP watermarking technique for IP core protection on FPL devices. In: Proceedings of 16th International Conference on Field Programmable Logic and Applications FPL’2006, pp. 487–492 (2006)

  51. Castillo, E., Meyer-Baese, U., Garcia, A., Parrilla, L., Lloris, A.: IPP@HDL: efficient intellectual property protection scheme for IP cores. IEEE Trans. Very Large Scale Integr. Syst. 15(5), 578–591 (2007)

    Article  Google Scholar 

  52. Castillo, E., Parrilla, L., Garcia, A., Meyer-Baese, U., Botella, G., Lloris, A.: Automated signature insertion in combinational logic patterns for HDL IP core protection. In: 2008 4th Southern Conference on Programmable Logic, pp. 183, 186 (2008). doi:10.1109/SPL.2008.4547753

  53. Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sahai, A., Vadhan, S., Yang, K.: On the (im)possibility of obfuscating programs. J. ACM. 59(2), 48. Art. No. 6 (2012). doi:10.1145/2160158.2160159

  54. Vera, A., Meyer-Baese, U., Pattichis, M.: An FPGA-based rapid prototyping platform for wavelet coprocessors. In: Proc. SPIE 6576, Independent Component Analyses, Wavelets, Unsupervised Nano-Biomimetic Sensors, and Neural Networks V, 657615 (2007). doi:10.1117/12.720134

  55. Meyer-Baese, U., Botella, G., Mookherjee, S., Castillo, E., García, A.: Energy optimization of application-specific instruction-set processors by using hardware accelerators in semicustom ICs technology. Microprocess. Microsyst. 36(2), 127–137 (2012). doi:10.1016/j.micpro.2011.06.003

    Google Scholar 

  56. Meyer-Baese, U., Botella, G., Castillo, E., García, A.: A balanced HW/SW teaching approach for embedded microprocessors. Int. J. Eng. Educ. 26(3), 584–592 (2010)

    Google Scholar 

  57. Meyer-Baese, U., Wolf, S., Taylor, F.: Accumulator-synthesizer with error-compensation. IEEE Trans. Circuits Syst. II 45(7), 885–890 (1998)

    Article  Google Scholar 

  58. Meyer-Baese, U., Rao, S., Ramírez, J., García, A.: Cost-effective Hogenauer cascaded integrator comb decimator filter design for custom ICs. IEE Electron. Lett. 41(3), 66–67 (2005)

    Article  Google Scholar 

  59. Gueguen, J., Bricaud, P.: Applying the OpenMORE assessment program for IP cores. In: Proceedings of the IEEE 2000 First International Symposium on Quality Electronic Design, 2000. ISQED 2000, pp. 379–381 (2000). doi:10.1109/ISQED.2000.838900

  60. Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical Report #148. Dept. CS, Uni. Of Auckland, New Zealand (1997)

  61. ISO: ANSI programming language C, sec. 6.4.2 identifiers. http://www.open-std.org/jtc1/sc22/wg14/ (1998)

  62. VHDL: IEEE standard 1076-2008 VHDL language reference manual, IEEE Explore. Section 15: lexical elements (2008)

  63. Verilog: IEEE standard 1364. Chapter 3: lexical conventions (2005)

  64. Meyer-Baese, U.: Digital signal processing with field programmable gate arrays, 3rd edn. Springer, Berlin (2007)

    MATH  Google Scholar 

  65. Meyer-Baese, U.: Fast Digital Signal Processing (Schnelle digitale Signalverarbeitung), 364 pages (in German). ISBN: 3-540-67662-7. Springer, Berlin (2000)

  66. http://hardkernel.com/main/products/prdt_info.php?g_code=G137463363079

  67. Meyer-Bäse, U., Castillo, E., Botella, G., Parrilla, L., García, A.: Intellectual property protection (IPP) using obfuscation in C, VHDL and Verilog coding. Proc. SPIE Indep. Compon. Anal. Wavelets Neural Netw. Biosyst. Nanoeng. 8058, 1–12 (2011)

    Google Scholar 

  68. Meyer-Baese, U.: 128-Length obfuscator tool set. http://www.eng.fsu.edu/~umb/o4.htm. Accessed March 2014

Download references

Acknowledgments

The authors would like to thank Altera and Xilinx for their FPGA and software support under the university programs. This work was partially supported by Spanish research project, TIN 2012-32180.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Uwe Meyer-Baese.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Meyer-Baese, U., Meyer-Baese, A., González, D. et al. Code obfuscation using very long identifiers for FFT motion estimation models in embedded processors. J Real-Time Image Proc 11, 817–827 (2016). https://doi.org/10.1007/s11554-014-0421-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11554-014-0421-2

Keywords

Navigation