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.
Similar content being viewed by others
References
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)
Konrad, J.: Estimating motion in image sequences. IEEE Signal Process. Mag. 16, 70–91 (1999)
Sohm, O.P.: Fast DCT algorithm for DSP with VLIW architecture. US Patent 20,070,078,921, 5 April 2007
Kappagantula, S., Rao, K.-R.: Motion compensated interframe image prediction. IEEE Trans. Commun. 33, 1011–1015 (1985)
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)
Zhu, S., Ma, K–.K.: A new diamond search algorithm for fast block-matching motion estimation. IEEE Trans. Image Process. 9, 287–290 (2000)
Zhu, S.: Fast motion estimation algorithms for video coding. M.S. thesis, Nanyang Technology University, Singapore (1998)
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)
Liu, B., Zaccarin, A.: New fast algorithms for estimation of block motion vectors. IEEE Trans. Circuits Syst. Video Technol. 3, 148–157 (1993)
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)
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)
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)
Jain, J.-R., Jain, A.-K.: Displacement measurement and its application in interframe image coding. IEEE Trans. Commun. 29, 1799–1808 (1981)
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)
Bei, C.-D., Gray, R.-M.: An improvement of the minimum distortion encoding algorithm for vector quantization. IEEE Trans. Commun. 33, 1132–1133 (1985)
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)
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)
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)
Baker, S., Matthews, I.: Lucas–Kanade 20 years on: a unifying framework. Int. J. Comput. Vis. 56(3), 221–255 (2004)
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)
Huang, C., Chen, Y.: Motion estimation method using a 3D steerable filter. Image Vis. Comput. 13(1), 21–32 (1995)
Adelson, E.H., Bergen, J.R.: Spatiotemporal energy models for the perception of motion. J. Opt. Soc.Am. A 2(2), 284–299 (1985)
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)
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)
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)
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)
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)
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
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)
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)
Horn, B.K.P., Schunck, B.G.: Determining optical flow. Artif. Intell. 17, 185–203 (1981)
Zhang, J.Z., Jonathan, WuQM: A pyramid approach to motion tracking. Real-Time Imaging 7, 529–544 (2001)
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)
Simoncelli, E.P., Heeger, D.J.: A model of neuronal responses in visual area MT. Vis. Res. 38(5), 743–761 (1998)
Franceschini, N., Pichon, J.M., Blanes, C.: From insect vision to robot vision. Philos. Trans. R. Soc. Lond. B 337, 283–294 (1992)
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)
Thomas, G.: Television motion measurement for DATV and other applications. Res. Rep. British Broadcasting Corporation (BBC) Department of Research (1987)
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
Liang, Y.: Phase-correlation motion estimation. EE392J Project Report (2000)
Fitch, A., Kadyrov, A., Christmas, W., Kittler, J.: Fast robust correlation. IEEE Trans. Image Process. 14(8), 1063–1073 (2005)
Huber, P.: Robust Statistics. Wiley, New York (1981)
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
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)
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)
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)
VSI AllianceTM. White Paper: Intellectual property protection: schemes, alternatives and discussion. Version 1.1. (IPPWP1 1.1)
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
Harper, S., Athanas, P.: A security policy based upon hardware encryption. Proc. Int. Conf. Syst. Sci. 7, 1–8 (2004)
Goldstein, H.: The secret art of chip graffiti. IEEE Spectr. 39(3), 50–55 (2002)
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)
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)
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
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
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
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
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)
Meyer-Baese, U., Wolf, S., Taylor, F.: Accumulator-synthesizer with error-compensation. IEEE Trans. Circuits Syst. II 45(7), 885–890 (1998)
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)
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
Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical Report #148. Dept. CS, Uni. Of Auckland, New Zealand (1997)
ISO: ANSI programming language C, sec. 6.4.2 identifiers. http://www.open-std.org/jtc1/sc22/wg14/ (1998)
VHDL: IEEE standard 1076-2008 VHDL language reference manual, IEEE Explore. Section 15: lexical elements (2008)
Verilog: IEEE standard 1364. Chapter 3: lexical conventions (2005)
Meyer-Baese, U.: Digital signal processing with field programmable gate arrays, 3rd edn. Springer, Berlin (2007)
Meyer-Baese, U.: Fast Digital Signal Processing (Schnelle digitale Signalverarbeitung), 364 pages (in German). ISBN: 3-540-67662-7. Springer, Berlin (2000)
http://hardkernel.com/main/products/prdt_info.php?g_code=G137463363079
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)
Meyer-Baese, U.: 128-Length obfuscator tool set. http://www.eng.fsu.edu/~umb/o4.htm. Accessed March 2014
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-014-0421-2