자바 기반 휴대용 임베디드 기기의 삼차원 엔진 성능 향상을 위한 바인딩 구현

Design of a Binding for the performance Improvement of 3D Engine based on the Embedded Mobile Java Environment

  • 김영옥 (서울벤처정보대학원대학교 임베디드시스템학과) ;
  • 노영섭 (서울벤처정보대학원대학교 임베디드시스템학과)
  • 발행 : 2007.11.30

초록

휴대용 임베디드 기기에서의 삼차원 엔진은 크게 바이트 코드를 실시간으로 해석하며 실행하는 자바 기반의 JSR184와 C언어 기반의 OpenGL/ES가 있다. 이들 두 표준에서 자바 객체를 지원하는 JSR184는 OpenGL/ES에 비하여 상대적으로 많은 프로세서의 자원을 사용하여 제한된 연산능력을 보유하고 있는 임베디드 기기에 적용할 경우 제약이 따를 수 밖에 없다. 반면에 기존 개인용 컴퓨팅 환경에서 사용되는 삼차원 컨텐츠는 자바의 장점을 이용하여 제작되었기 때문에 유럽에서 많은 사용자 층을 확보하고 있고, 또한 그 컨텐츠의 품질이 우수하여 상용 통신망인 GSM 망에서 많이 서비스 되고 있다. 따라서 GSM 망에서 사용되는 휴대용 임베디드 기기에 기존의 자바 기반 삼차원 컨텐츠를 별도의 변환 과정 없이 지원할 수 있는 JSR184의 지원이 필요하지만, 현재 개발되어 사용되는 자바 기반 삼차원 엔진은 휴대용 기기가 보유한 연산능력에 비하여 상대적으로 많은 연산량을 필요로 하기 때문에 상용제품에 적용하기에 많은 어려움이 따른다. 본 논문에서는 휴대용 임베디드 기기가 가지고 있는 충분하지 않은 연산능력을 바탕으로 자바 객체의 장점을 수용하면서 삼차원 컨텐츠의 처리속도를 향상 시킬 수 있는 바인딩 기법을 제안하였다. 제안된 바인딩 기법은 자바를 이용한 삼차원 컨텐츠를 지원하기 위하여, JSR184의 표준 인터페이스를 상위 계층에서 지원하고, OpenGL/ES와 JSR184를 서로 연결하기 위하여 이기종 코드 변환 언어인 KNI(Kilo Native Interface)를 중간 계층에서 사용하였고, 하위 계층에서 OpenGL/ES의 표준을 구현하였다. 제안하는 바인딩 기법은 모의실험을 통하여 기능을 검증하였고, ARM을 장착한 FPGA를 사용하여 그 성능을 평가하였다.

A 3-Dimensional engine in a mobile embedded device is divided into a C-based OpenGL/ES and a Java-based JSR184 which interprets and executes a byte code in a real-time. In these two standards, the JSR184 supporting Java objects uses more processor resources than an OpenGL/ES and thus has a constraint when it is used in an embedded device with a limited computing power. On the other hand, 3-Dimensional contents employed in existing personal computer are created by utilizing advantages of Java and secured numerous users in European market, due to the good quality in contents and extensive service in a commercial network, GSM. Because of the reason, a mobile embedded device used in a GSM network needs a JSR184 which can provide an existing Java-based 3-Dimensional contents without extra conversion processes, but the current version of Java-based 3-Dimensional engine has drawbacks in application to commercial products because it requires more computing power than the mobile embedded device. This paper proposes a binding technique with the advantages of Java objects to improve a processing speed of 3-Dimensional contents in limited resources of a mobile embedded device. The technique supports a JSR184 standard interface in the upper layer to utilize 3-Dimensional contents using Java, employs a different code-conversion language, KNI(Kilo Native Interface), in the middle layer to interface between OpenGL/ES and JSR184, and embodies an OpenGL/ES standard in the lower layer. The validity of the binding technique is demonstrated through a simulator and a FPGA embedding an ARM.

키워드