KR20130047071A - 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법 - Google Patents

모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법 Download PDF

Info

Publication number
KR20130047071A
KR20130047071A KR1020110111857A KR20110111857A KR20130047071A KR 20130047071 A KR20130047071 A KR 20130047071A KR 1020110111857 A KR1020110111857 A KR 1020110111857A KR 20110111857 A KR20110111857 A KR 20110111857A KR 20130047071 A KR20130047071 A KR 20130047071A
Authority
KR
South Korea
Prior art keywords
mobile
view
mobile terminal
object data
mixed reality
Prior art date
Application number
KR1020110111857A
Other languages
English (en)
Other versions
KR101343182B1 (ko
Inventor
이상수
이지정
김동환
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020110111857A priority Critical patent/KR101343182B1/ko
Publication of KR20130047071A publication Critical patent/KR20130047071A/ko
Application granted granted Critical
Publication of KR101343182B1 publication Critical patent/KR101343182B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2625Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of images from a temporal image sequence, e.g. for a stroboscopic effect
    • H04N5/2627Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects for obtaining an image which is composed of images from a temporal image sequence, e.g. for a stroboscopic effect for providing spin image effect, 3D stop motion effect or temporal freeze effect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법이 제공된다. 합성부는 카메라에 의해 획득된 실제 영상과 3D 가상물체를 합성하며, 객체 변환부는 합성된 실제 영상과 3D 가상물체가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하고, 합성된 실제 영상과 3D 가상물체를 객체데이터로 변환하여 출력하며, 모바일 단말기의 플랫폼은 모바일 단말기에서 사용가능한 복수 개의 플랫폼들 중 하나이다.

Description

모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법{Apparatus and Method for Developing Mixed Reality Application for Mobile Terminal}
본 발명은 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법 에 관한 것으로, 보다 상세하게는 별도의 코딩없이 MR 어플리케이션을 개발하여 모바일 단말기에게 배포할 수 있는 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법에 관한 것이다.
혼합현실(MR: Mixed Reality) 기술은 사용자가 눈으로 보는 현실세계에 부가정보를 가지는 가상 물체를 오버랩시켜 하나의 영상으로 보여주는 기술로서, 증강현실(AR: Augmented Reality) 기술이라고도 한다. 실제환경과 가상의 객체가 혼합된 증강현실기술은 사용자가 실제환경을 볼 수 있게 하여 보다 나은 현실감과 부가 정보를 제공한다. 예를 들어, 스마트폰의 카메라로 주변을 비추면 인근에 있는 상점의 위치, 전화번호 등의 정보가 입체영상으로 표기되는 것이 증강현실이다.
최근, 스마트폰과 같은 운영체제를 기반으로 하는 모바일 단말기의 보급이 확대됨에 따라 모바일 단말기용 MR 어플리케이션에 대한 관심도 높아지고 있다. 그러나, 대부분의 MR 어플리케이션은 데스크탑과 같은 개인 컴퓨터용으로 개발되고 있을 뿐, 모바일 단말기에서 사용될 수 있는 어플리케이션은 아직 활성화되지 않고 있다.
또한, 기존에는 모바일 환경에서 사용할 MR 응용 프로그램을 개발하기 위해, 개발자는 3D 저작툴을 이용하여 3D 객체를 별도로 생성하고, 모바일 단말기가 지원하는 다양한 플랫폼을 대상으로 소스를 코딩하여야만 한다. 모바일 단말기가 지원하는 플랫폼은 예를 들어, IOS, 안드로이드, 바다, 윈도우 모바일 등 다양하며, 따라서, 개발자는 플랫폼 별로 사용가능한 개발 언어와 툴을 별도로 익혀야 한다. 예를 들어, MR 기능을 구현하기 위해 개발자는 Java, C++, Object C 및 MR API와 같은 언어를 별도로 익혀야 하며, 한가지 응용프로그램을 개발하는 경우에도 다양한 플랫폼용 소스를 개발하고 유지보수해야 하므로, 모바일 단말기용 MR 어플리케이션을 개발하는데 한계가 있다.
본 발명적 개념의 예시적 실시예에 따르면, 3차원 저작도구 및 다양한 플랫폼을 지원하는 MR 어플리케이션을 각 플랫폼 별로 코딩하지 않고 개발하여 모바일 단말기에게 배포할 수 있는 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법을 제공하는 것이다.
본 발명적 개념의 다른 예시적 실시 예에 따르면, 카메라에 의해 획득된 실제 영상과 3D 가상물체를 합성하는 합성부; 상기 합성된 실제 영상과 3D 가상물체가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하고, 상기 합성된 실제 영상과 3D 가상물체를 객체데이터로 변환하여 출력하는 객체 변환부;를 포함하며, 상기 모바일 단말기의 플랫폼은 상기 모바일 단말기에서 사용가능한 복수 개의 플랫폼들 중 하나인 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치가 제공될 수 있다.
상기 객체 변환부는, 상기 합성된 실제 영상과 3D 가상물체를 혼합현실에서 표현하기 위한 패턴으로서 마커(Marker) 패턴 및 마커리스(Markerless) 패턴 중 하나를 지정하고, 마커 API(Application Programming Interface) 및 마커리스 API 중 하나가 상기 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성할 수 있다.
상기 객체 변환부는, 상기 합성된 실제 영상과 3D 가상물체를 사용자로부터 지정받은 마커 패턴 및 마커리스 패턴 중 하나로 연결하는 마커 및 마커리스 연결부; 및 상기 합성된 실제 영상과 3D 가상물체를 상기 지정받은 마커 패턴 및 마커리스 패턴 중 하나를 고려하여 상기 객체데이터로 생성하는 객체 생성부;를 포함할 수 있다.
상기 객체 변환부는 상기 모바일 단말기에 내장된 디지털 카메라의 입력을 컨트롤할 수 있는 코드를 상기 플랫폼의 종류 별로 자동 생성할 수 있다.
상기 객체 변환부에서 출력되는 객체데이터가 상기 모바일 단말기에서 보여지도록 하는 뷰의 레이아웃, 뷰의 개수, 뷰의 종류 및 커맨드 버튼을 드로잉 방식으로 지정받아 멀티뷰를 구성하는 멀티뷰 구성부;를 더 포함할 수 있다.
상기 멀티뷰를 구성하는 각 뷰와 관련된 동작, 상기 커맨드 버튼과 관련된 동작 및 상기 객체데이터와 상기 뷰 간의 동작관계를 정의하는 이벤트 핸들러를 생성하여 상기 멀티뷰에 추가하는 이벤트 합성부;를 더 포함할 수 있다.
상기 객체 변환부로부터 출력되는 객체데이터를 웹 페이지에서 3D 그래픽으로 보여지는 혼합현실 이미지로서 생성하는 MR 생성부;를 더 포함할 수 있다.
상기 MR 생성부는, 상기 객체데이터가 웹 브라우저를 통해 상기 웹 페이지에서 3D 그래픽으로 표시되도록, 상기 객체데이터에 대한 웹 기반의 그래픽 라이브러리(WebGL)를 생성하는 WebGL 생성부; 및 상기 객체데이터를 이루는 실제 영상과 3D 가상물체가 보여지는 UI(User Interface)를 생성하는 UI 생성부;를 더 포함할 수 있다.
상기 UI 생성부는 상기 UI를 이루는 뷰와 커맨드 버튼을 HTML5(Hypertext Mark-up Language 5), CSS3(Cascading Style Sheet 3) 및 JavaScript를 이용하여 웹 소스로 생성할 수 있다.
상기 WebGL 및 상기 웹 소스가 다수의 서로 다른 모바일 플랫폼들을 지원하도록, 상기 WebGL 및 상기 웹 소스를 모바일 플랫폼들 각각에 해당하는 파일들로 생성하는 패키지 생성부;를 더 포함할 수 있다.
한편, 본 발명적 개념의 다른 예시적 실시 예에 따르면, 카메라에 의해 획득된 실제 영상과 3D 가상물체를 합성하는 단계; 상기 합성된 실제 영상과 3D 가상물체가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하는 단계; 및 상기 합성된 실제 영상과 3D 가상물체를 객체데이터로 변환하여 출력하는 단계;를 포함하며, 상기 모바일 단말기의 플랫폼은 상기 모바일 단말기에서 사용가능한 복수 개의 플랫폼들 중 하나인 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법이 제공될 수 있다.
상기 변환하여 출력하는 단계는, 상기 합성된 실제 영상과 3D 가상물체를 사용자로부터 지정받은 마커 패턴 및 마커리스 패턴 중 하나로 연결하는 단계; 상기 합성된 실제 영상과 3D 가상물체를 상기 지정받은 마커 패턴 및 마커리스 패턴 중 하나를 고려하여 상기 객체데이터로 생성하는 단계; 상기 모바일 단말기에 내장된 디지털 카메라의 입력을 컨트롤할 수 있는 코드를 상기 플랫폼의 종류 별로 자동 생성하는 단계; 및 마커 API(Application Programming Interface) 및 마커리스 API 중 하나가 상기 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하는 단계;를 포함할 수 있다.
상기 출력되는 객체데이터가 상기 모바일 단말기에서 보여지도록 하는 뷰의 레이아웃, 뷰의 개수, 뷰의 종류 및 커맨드 버튼을 드로잉 방식으로 지정받아 멀티뷰를 구성하는 단계;를 더 포함할 수 있다.
상기 멀티뷰를 구성하는 각 뷰와 관련된 동작, 상기 커맨드 버튼과 관련된 동작 및 상기 객체데이터와 상기 뷰 간의 동작관계를 정의하는 이벤트 핸들러를 생성하여 상기 멀티뷰에 추가하는 단계;를 더 포함할 수 있다.
상기 출력되는 객체데이터를 웹 페이지에서 3D 그래픽으로 보여지는 혼합현실 이미지로서 생성하는 단계;를 더 포함할 수 있다.
상기 혼합현실 이미지로서 생성하는 단계는, 상기 객체데이터가 웹 브라우저를 통해 상기 웹 페이지에서 3D 그래픽으로 표시되도록, 상기 객체데이터에 대한 웹 기반의 그래픽 라이브러리(WebGL)를 생성하는 단계; 및 상기 객체데이터를 이루는 실제 영상과 3D 가상물체가 보여지는 UI(User Interface)를 생성하는 단계;를 더 포함할 수 있다.
본 발명적 개념의 하나 이상의 예시적 실시 예에 따르면, 모바일용 MR 응용프로그램의 최종 실행 결과를 HTML5/CSS3/JavaScript를 이용한 웹 기반의 소스로 생성하므로, 모바일 단말기에서 사용가능한 다양한 플랫폼으로 용이하게 개발할 수 있다.
또한, 하나의 웹 기반의 소스를 생성하고, 생성된 소스를 각 플랫폼에 적합한 형태의 파일로 생성함으로써, 소스의 개발 및 소스의 유지 보수에 소모되는 시간과 비용을 최소화할 수 있다.
또한, 3D 저작도구와 MR 어플리케이션을 프로그래밍하는 방식은 VPL(Visual Programming Language)로 구현함으로써, 개발자는 그림을 그리는 듯한 방식으로 모바일용 MR 어플리케이션을 개발할 수 있으며, 별도의 모바일 플랫폼 별 코딩을 필요로 하지 않을 수 있다.
도 1은 본 발명적 개념의 예시적 실시예에 따른 모바일용 혼합현실(MR: Mixed Reality) 어플리케이션을 개발하기 위한 솔루션의 구조를 도시한 도면,
도 2는 본 발명적 개념의 예시적 실시예에 따른 모바일용 MR 어플리케이션을 개발하는 장치를 도시한 블록도,
도 3은 본 발명적 개념의 예시적 실시예에 따른 모바일용 MR 어플리케이션 개발부를 도시한 블록도,
도 4는 본 발명적 개념의 예시적 실시예에 따른 객체 생성부에서 생성하는 객체데이터의 트리구조를 도시한 도면, 그리고,
도 5는 본 발명적 개념의 예시적 실시예에 따른 모바일용 MR 어플리케이션 개발 방법을 설명하기 위한 흐름도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서, 어떤 구성요소가 다른 구성요소 상에 있다고 언급되는 경우에 그것은 다른 구성요소 상에 직접 형성될 수 있거나 또는 그들 사이에 제 3의 구성요소가 개재될 수도 있다는 것을 의미한다.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시예들은 그것의 상보적인 실시예들도 포함한다.
또한, 제1 엘리먼트 (또는 구성요소)가 제2 엘리먼트(또는 구성요소) 상(ON)에서 동작 또는 실행된다고 언급될 때, 제1 엘리먼트(또는 구성요소)는 제2 엘리먼트(또는 구성요소)가 동작 또는 실행되는 환경에서 동작 또는 실행되거나 또는 제2 엘리먼트(또는 구성요소)와 직접 또는 간접적으로 상호 작용을 통해서 동작 또는 실행되는 것으로 이해되어야 할 것이다.
어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.
또한 어떤 엘리먼트(또는 구성요소)가 구현됨에 있어서 특별한 언급이 없다면, 그 엘리먼트(또는 구성요소)는 소프트웨어, 하드웨어, 또는 소프트웨어 및 하드웨어 어떤 형태로도 구현될 수 있는 것으로 이해되어야 할 것이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하, 도면을 참조하여 본 발명적 개념을 상세히 설명하도록 한다. 아래의 특정 실시예들을 기술하는데 있어서, 여러 가지의 특정적인 내용들은 발명적 개념을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명적 개념을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용들이 없어도 사용될 수 있다는 것을 인지할 수 있다. 어떤 경우에는, 발명적 개념을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명적 개념을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
도 1은 본 발명적 개념의 예시적 실시예에 따른 모바일용 혼합현실(MR: Mixed Reality) 어플리케이션을 개발하기 위한 솔루션의 구조를 도시한 도면이다.
도 1에 도시된 본 발명적 개념의 예시적 실시예에 따른 솔루션은 3D 저작툴, MR 어플리케이션 드로잉 도구 및 멀티 플랫폼으로의 배포 기능을 통합한 솔루션으로서, 개발자는 이 솔루션을 이용함으로써 별도의 코딩없이 MR 서비스를 위한 어플리케이션을 멀티 플랫폼에 맞게 개발한 후 다양한 플랫폼을 사용하는 모바일 단말기들에게 배포할 수 있다. 멀티 플랫폼은 애플의 IOS, 구글의 안드로이드(Android), 삼성의 바다(Bada), 마이크로 소프트의 Windows Mobile 등 다양한 운영체제를 의미한다.
도 1을 참조하면, 모바일용 혼합현실 어플리케이션을 개발하기 위한 솔루션은 패키지 빌더 모듈(110), 크로스 플랫폼 MR 엔진 모듈(120), MR 개발 인터페이스 모듈(130), 3D 저작툴(140), MR 샘플 실행모듈(150), 프로젝트 템플릿 모듈(160) 및 프로파일 모듈(170)을 포함할 수 있다.
패키지 빌더 모듈(110)은 스마트폰과 같은 모바일 단말기에서 지원하는 다양한 운영체제에 적합한 파일을 패키지 형태로 생성하여, 다양한 운영체제로 배포하는 인터페이스 역할을 할 수 있다. 다양한 운영체제의 예로는 애플의 IOS, 구글의 안드로이드(Andoroid), 삼성의 바다(Bada), 마이크로 소프트의 Windows Mobile 등을 들 수 있다.
패키지 빌더 모듈(110)은 그래픽 라이브러리, 3D 라이브러리, HTML5(Hypertext Mark-up Language 5), CSS3(Cascading Style Sheet 3) 또는 자바스크립트가 멀티 플랫폼, 즉, 여러 운영체제에서도 동작할 수 있도록 한다.
크로스 플랫폼 MR 엔진 모듈 (120)은 웹브라우저에서 2D 이미지 또는 3D 이미지를 표현하기 위해 WebGL(Web Graphic Library)을 지원할 수 있다. 이를 위해, 크로스 플랫폼 MR 엔진 모듈 (120)은 3D 엔진과 Native Wrapper Engine을 포함할 수 있다. 3D 엔진은 WebGL을 지원하고, 마커 트래킹 및 마커리스 트래킹 기능을 제공할 수 있다. Native Wrapper Engine은 웹브라우저에 의해 제공되는 웹 페이지가 카메라, 위치 센서, 방위 센서, 웹킷, 자이로스코프 센서 등 다양한 센싱 장치의 결과를 보여줄 수 있도록 할 수 있다. 예를 들어, 크로스 플랫폼 MR 엔진 모듈 (120)은 웹 페이지가 카메라에 의해 촬영된 영상을 표시할 수 있도록 하며, 그 외 각종 센서의 결과가 웹 페이지에 반영되도록 동작할 수 있다.
일반적으로 크로스 플랫폼 또는 멀티 플랫폼은 소프트웨어나 하드웨어 등이 서로 다른 환경의 운영 체계에서 공통으로 사용되는 것으로서, 컴퓨터 프로그램, 운영 체제, 컴퓨터 언어, 프로그래밍 언어, 컴퓨터 소프트웨어 등이 여러 종류의 컴퓨터 플랫폼에서 동작할 수 있음을 뜻한다. 따라서, 크로스 플랫폼 응용 프로그램은 둘 이상의 플랫폼에서 실행될 수 있다. 크로스 플랫폼의 대표적인 예로는 자바로 작성한 프로그램이 있으면, 본 실시예에서는 웹 브라우저를 예로 들 수 있다.
MR 개발 인터페이스 모듈(130)은 크로스 플랫폼 MR 엔진 모듈 (120)이 다양한 센서의 센싱 결과, 카메라에 의해 촬영된 영상, 3D 저작툴(140)에 의해 만들어진 3D 이미지 등을 HTML5, CSS3 및 Javascript 형태로 사용할 수 있도록 인터페이스를 제공할 수 있다. ‘HTML5, CSS3 및 Javascript 형태로 사용하는 것’은 웹 페이지에서 카메라 영상과 같은 센싱 결과를 반영하여 보여주는 것을 의미한다.
3D 저작툴(140)은 MR 응용프로그램의 개발에 필수적인 3D 가상물체를 저작하는 도구이다. 개발자 또는 일반 사용자(이하에서는, ‘개발자’를 예로 든다)는 3D 저작툴(140)을 이용하여 MR 서비스에 사용할 3D 가상물체를 저작할 수 있다.
MR 샘플 실행모듈(150)은 솔루션을 이용하여 미리 작성해 놓은 MR 샘플을 미리 실행하여, 실행 시 발생하는 오류 또는 정상 실행 등의 결과를 제공할 수 있다. MR 샘플은 샘플 실행 시 MR 결과까지 보여줄 수 있는 하나의 샘플로서, QR(Quick Response) 코드를 예로 들 수 있다.
프로젝트 템플릿 모듈(160)은 Hello World와 같이 기본적인 프로그램의 틀을 제공한다. 프로젝트 템플릿 모듈(160)은 새로운 프로젝트(예를 들어, 새로운 플랫폼에 적합한 MR 어플리케이션을 개발하는 프로젝트)를 제작할 때 사용할 수 있다.
프로파일 모듈(170)은 모바일 단말기에서 구동될 수 있는 다양한 플랫폼 중 배포하고자 하는 플랫폼을 개발자가 선택할 수 있도록 한다.
3D 저작툴(140), MR 샘플 실행모듈(150), 프로젝트 템플릿 모듈(160) 및 프로파일 모듈(170)은 MR 응용프로그램을 개발할 때 개발자가 직접 접하는 개발환경이다. 또한, 패키지 빌더 모듈(110), 크로스 플랫폼 MR 엔진 모듈(120) 및 MR 개발 인터페이스 모듈(130)은 MR 패키지 빌더의 프레임워크로 동작할 수 있다.
도 1을 참조하여 설명한 솔루션은 이클립스 프레임워크(Eclipse Framework)(190)와 플러그인 형태로 연결될 수 있다. 이클립스 프레임워크(190)는 툴의 통합을 위한 공개 플랫폼으로서, 여러 개발환경들을 용이하게 사용할 수 있게 해 주는 프레임워크로서, 본 실시예에서는 다양한 운영체제 환경을 고려한 MR 어플리케이션을 단일 통합 어플리케이션으로 합치기 위한 프레임워크를 제공한다.
도 2는 본 발명적 개념의 예시적 실시예에 따른 모바일용 MR 어플리케이션을 개발하는 장치(200)를 도시한 블록도이다.
도 2에 도시된 장치(200)는 일 예로 개발자가 사용하는 개인 컴퓨터일 수 있으며, 사용자 입력부(210), 표시부(220), 카메라(230), 모바일용 MR 어플리케이션 개발부(240), 배포부(250) 및 제어부(260)를 포함할 수 있다. 단말기기 위한 솔루션의 구조를 도시한 도면이다.
사용자 입력부(210)는 개발자와 장치(200) 간의 인터페이싱 경로를 제공하며, 키보드, 마우스, 광학펜 등 다양한 입력장치를 포함한다. 예를 들어, 개발자는 사용자 입력부(210)를 이용하여 3D 저작툴(140)에서 제공하는 기능을 통해 3D 가상객체를 생성하거나 마커 패턴 또는 마커리스 패턴을 지정할 수 있다. 또한, 개발자는 사용자 입력부(210)를 이용하여 개발한 MR 어플리케이션의 소스를 배포할 플랫폼의 종류를 정하고, 플랫폼에 해당하는 어플리케이션의 배포를 요청할 수도 있다.
표시부(220)는 장치(200)의 현재 상태, 현재 구동 중인 프로그램의 화면 등 다양한 정보를 출력한다. 예를 들어, 3D 저작툴(140)이 구동되고 있는 경우, 표시부(220)는 3D 저작툴에서 제공하는 3D 저작을 위한 UI(User Interface)를 표시하고, 개발자가 생성한 3D 가상객체를 표시하며, 3D 객체와 카메라의 실제 영상에 의해 만들어지는 MR을 표시할 수 있다.
카메라(230)는 내장형 디지털 카메라 또는 외장형 디지털 카메라로서, MR 서비스를 제공할 다양한 실체를 촬영하여 이미지를 획득할 수 있다.
모바일용 MR 어플리케이션 개발을 위한 장치로 적용된 모바일용 MR 어플리케이션 개발부(240)는 도 1과 같은 솔루션을 이용하여 모바일용 MR 어플리케이션을 생성하고, 모바일용 MR 어플리케이션을 배포할 플랫폼에 따라 적응적으로 파일을 생성할 수 있다. 모바일용 MR 어플리케이션 개발부(240)의 구체적인 동작 또는 기능에 대해서는 도 3을 참조하여 설명한다.
배포부(250)는 모바일 단말기에게 모바일 단말기의 플랫폼에 적합한 파일을 배포할 수 있다. 예를 들어, 모바일 단말기의 사용자가 장치(200)에 모바일 단말기 및 네트워크를 통해 접속하여 모바일 단말기의 플랫폼의 종류를 선택하고, MR 어플리케이션을 구매하거나 무료 다운을 요청하면, 배포부(250)는 선택된 플랫폼에 적합한 파일을 모바일 단말기에게 배포할 수 있다.
제어부(260)는 상술한 장치(200)의 전반적인 동작을 적어도 하나의 프로세서와 제어 프로그램을 이용하여 제어할 수 있다.
도 3은 본 발명적 개념의 예시적 실시예에 따른 모바일용 MR 어플리케이션 개발부(240)를 도시한 블록도이다.
도 3을 참조하면, 모바일용 MR 어플리케이션 개발부(240)는 합성부(310), 객체 변환부(320), 멀티뷰 구성부(330), 이벤트 합성부(340), MR 생성부(350) 및 패키지 생성부(360)를 포함할 수 있다.
합성부(310)는 카메라(230)에 의해 획득된 실제 영상과 3D 가상물체를 합성할 수 있다. 합성부(310)는 3D 저작부(312)와 이미지 합성부(314)를 포함할 수 있다.
3D 저작부(312)는 카메라(230)에 의해 촬영한 실제 영상에 해당하는 3D 가상물체를 저작하는 툴을 제공할 수 있다. 개발자는 3D 개발부(240)에서 제공하는 3D 저작툴을 이용하여 3D MR을 생성하는데 필요한 3D 가상물체를 생성할 수 있다.
이미지 합성부(314)는 실제 영상과 생성된 3D 가상물체를 합성할 수 있다.
객체 변환부(320)는 합성된 실제 영상과 3D 가상물체가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하고, 합성된 실제 영상과 3D 가상물체를 객체데이터로 변환하여 출력할 수 있다. 모바일 단말기는 스마트폰 또는 태블릿 PC와 같이 운영체제가 탑재된 단말기이다. 또한, 모바일 단말기의 플랫폼은 모바일 단말기에서 사용가능한 복수 개의 플랫폼들(즉, 운영체제들) 중 하나로서, 도 1을 참조하여 기재한 IOS, 안드로이드, 바다, Windows Mobile 등 다양하며, 그 종류는 추가 또는 삭제될 수 있다.
이러한 객체 변환부(320)는 마커 및 마커리스 연결부(322) 및 객체 생성부(324)를 포함할 수 있다.
마커 및 마커리스 연결부(322)는 이미지 합성부(314)에서 합성된 실제 영상과 3D 가상물체와 개발자로부터 지정받은 마커(Marker) 패턴 및 마커리스(Markerless) 패턴 중 하나와 트래킹 알고리즘과 연결할 수 있다. 이는 합성된 실제 영상과 3D 가상물체에 MR을 부여하기 위해, 실제 영상과 3D 가상물체의 관계를 마커 기반 또는 마커리스 기반으로 동작하도록 지정하는 것이다.
마커 패턴 또는 마커리스 패턴은 합성된 실제 영상과 3D 가상물체를 혼합현실에서 표현하기 위한 방식 중 하나이다. 마커 패턴은 사용자가 모바일 단말기의 디지털 카메라를 통해 촬영한 동영상(또는 정지영상)에 사전에 정해진 3D 객체를 지정된 마커 트래킹 알고리즘을 이용하여 합성하는 것을 의미한다. 마커의 예로는 QR 코드를 들 수 있다. 마커리스 패턴은 사용자가 모바일 단말기의 카메라를 통해 촬영한 동영상(또는 정지영상)에 특정 3D 객체를 지정된 마커리스 트래킹 알고리즘을 이용하여 실시간으로 합성하는 것을 의미한다.
개발자가 마커 패턴 및 마커리스 패턴 중 하나를 지정하면, 마커 및 마커리스 연결부(322)는 마커 API(Application Programming Interface) 및 마커리스 API가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성할 수 있다. 이는, 현재 모바일용 MR 어플리케이션 개발부(240)는 개발자의 단말기인 데스크탑에서 개발되고 있으므로, 마커 및 마커리스 연결부(322)에서 지정된 패턴이 모바일 단말기에서도 활용될 수 있도록 모바일 단말기의 플랫폼에 적합한 코드를 MR 어플리케이션을 통해 제공하기 위함이다.
객체 생성부(324)는, 지정된 마커 패턴 및 마커리스 패턴 중 하나를 고려하여, 합성된 실제 영상과 3D 가상물체를 MR에서 3D로 표현하기 위한 객체데이터로 생성할 수 있다. 객체 생성부(324)는 XML(eXtensible MarkUp Language) 형태의 객체데이터를 생성할 수 있다.
또한, 객체 생성부(324)는 사용자의 모바일 단말기에 내장된 디지털 카메라의 입력을 컨트롤할 수 있는 코드를 플랫폼의 종류 별로 자동 생성할 수 있다. 이는, 현재 모바일용 MR 어플리케이션 개발부(240)는 개발자의 단말기인 데스크탑에서 개발되고 있으므로, 모바일 단말기에서도 디지털 카메라의 입력을 컨트롤할 수 있는 명령어나 함수 등이 필요하기 때문이다. 예를 들어, 모바일 단말기에서 웹 브라우저에 의해 구현되는 웹 페이지에 카메라의 실제 영상이 보여지도록 컨트롤하는 커맨드는 플랫폼마다 다를 수 있으며, 따라서, 객체 생성부(324)는 해당 커맨드를 플랫폼의 종류마다 생성할 수 있다.
멀티뷰 구성부(330)는 객체 생성부(324)에서 출력되는 객체데이터가 모바일 단말기에서 보여지도록 하는 뷰의 레이아웃, 뷰의 개수, 뷰의 종류 및 커맨드 버튼을 드로잉 방식으로 개발자로부터 지정받아 모바일 페이지를 구성할 수 있으며, 뷰가 여러 개인 경우 멀티뷰 또는 멀티페이지를 구성할 수 있다. 즉, 개발자는 모바일용 MR 응용프로그램에 의해 보여줄 뷰의 종류, 개수, 커맨드 버튼, 컨텐츠 등을 메뉴를 통해 그림 그리듯 화면에 드로잉하여 설정함으로써 멀티뷰를 구성할 수 있다. 뷰의 종류는 리스트뷰, 페이지뷰, 이미지뷰 등 다양하다.
이벤트 합성부(340)는 멀티뷰를 구성하는 각 뷰와 관련된 동작을 정의하는 이벤트 핸들러, 커맨드 버튼과 관련된 동작을 정의하는 이벤트 핸들러 및 객체데이터와 뷰 간의 동작관계를 정의하는 이벤트 핸들러를 생성하여 멀티뷰에 적용할 수 있다. 이벤트 핸들러는 예를 들어, 사용자가 하나의 뷰에 표시된 커맨드 버튼을 클릭하거나 뷰 자체를 클릭하는 경우 수반되는 동작(또는, 함수)를 설정하기 위한 것이다. 이벤트 합성부(340)에 의해 이벤트 핸들러가 적용되면, 실제 영상과 3D 가상물체가 보여지는 뷰를 포함하는 다수의 뷰들이 생성되고, 뷰와 객체데이터 간의 이벤트 상관관계가 만들어질 수 있다.
MR 생성부(350)는 객체 변환부(320) 또는 이벤트 합성부(340)로부터 출력되는 객체데이터를 웹 페이지에서 3D 그래픽으로 보여지는 MR 이미지로서 생성할 수 있다. 이를 위하여, MR 생성부(350)는 WebGL 생성부(352) 및 UI 생성부(354)를 포함할 수 있다.
WebGL 생성부(352)는 객체데이터가 웹 브라우저를 통해 웹 페이지에서 3D 그래픽으로 표시되도록, 객체데이터에 대한 웹 기반의 그래픽 라이브러리(WebGL)를 생성할 수 있다. 객체데이터는 객체 변환부(320)에서 생성된 것으로, 합성된 실제 영상과 3D 가상물체를 객체화한 데이터이다. WebGL은 자바스크립트 프로그래밍 언어를 통해서 사용할 수 있으며 호환성이 있는 웹 브라우저에서 인터랙티브한 3D 그래픽을 사용할 수 있도록 제공된다.
UI 생성부(354)는 객체데이터를 이루는 실제 영상과 3D 가상물체가 오버랩되어 보여지는 UI를 생성할 수 있다. 이를 위해, UI 생성부(354)는 UI를 이루는 요소들(예를 들어, 뷰와 커맨드 버튼)을 HTML5(Hypertext Mark-up Language 5), CSS3(Cascading Style Sheet 3) 및 JavaScript를 이용하여 웹 소스로 생성할 수 있다.
패키지 생성부(360)는 WebGL 및 웹 소스가 다수의 서로 다른 모바일 플랫폼들을 지원하도록, WebGL 및 웹 소스를 하나로 통합하고 모바일 플랫폼들 각각에 해당하는 파일들로 생성할 수 있다. 또는 패키지 생성부(360)는 개발자가 선택한 플랫폼의 종류에 해당하는 파일을 생성할 수도 있다.
일 예로, 패키지 생성부(360)는 IOS 패키지 생성부(362), 안드로이드 패키지 생성부(364), 바다 패키지 생성부(366) 및 윈도우 모바일 패키지 생성부(368)를 포함할 수 있다. 새로운 플랫폼이 구현되면, 패키지 생성부(360)는 새로운 플랫폼에 대응하는 패키지 생성부(미도시)를 추가할 수 있다.
IOS 패키지 생성부(362)는 MR 생성부(350)에서 생성된 WebGL 및 웹 소스를 IOS 플랫폼에 적합한 파일, 즉, IOS 향 패키지로 생성할 수 있다.
안드로이드 패키지 생성부(364)는 MR 생성부(350)에서 생성된 WebGL 및 웹 소스를 안드로이드 플랫폼에 적합한 파일, 즉, 안드로이드 향 패키지로 생성할 수 있다.
바다 패키지 생성부(366)는 MR 생성부(350)에서 생성된 WebGL 및 웹 소스를 바다 플랫폼에 적합한 파일, 즉, 바다 향 패키지로 생성할 수 있다.
윈도우 모바일 패키지 생성부(368)는 MR 생성부(350)에서 생성된 WebGL 및 웹 소스를 윈도우 모바일 플랫폼에 적합한 파일, 즉, 윈도우 모바일 향 패키지로 생성할 수 있다.
상술한 본 발명적 개념의 예시적 실시예에 따르면, 3D 저작도구와 MR 어플리케이션을 프로그래밍하는 방식은 VPL(Visual Programming Language) 로 구현함으로써, 개발자는 그림을 그리는 듯한 방식으로 모바일용 MR 어플리케이션을 개발할 수 있으며, 별도의 모바일 플랫폼 별 코딩을 필요로 하지 않을 수 있다.
도 4는 본 발명적 개념의 예시적 실시예에 따른 객체 생성부(324)에서 생성하는 객체, 또는 객체데이터의 트리구조를 도시한 도면이다.
도 4를 참조하면, 객체 생성부(324)는 XNL 형태의 객체데이터를 도 4와 같은 트리 구조로 생성할 수 있다. 도 4의 XML 객체 데이터의 구성 요소는 MR 장면 정보와, MR 마커와, MR 이미지가 보여지는 멀티뷰 데이터 구조를 포함할 수 있다.
MR 장면정보는 사용자의 모바일 단말기에서 카메라를 통해 입력되는 실제 영상과 실제 영상에 대한 정보(예를 들어, 위치, 방위 등)이다.
MR 마커는 모바일 단말기에서 구현될 MR의 패턴을 정의하기 위한 것으로서, AR 알고리즘 합성 데이터 구조와, 이벤트 데이터 구조를 포함할 수 있다.
AR 알고리즘 합성 데이터 구조는 실제 영상에 대응하는 3D 가상물체를 정의하는 3D 모델과, MR 동작 또는 MR 트래킹 알고리즘을 나타내는 트래킹 알고리즘으로 구성되어 있다.
3D 모델은 3D 가상물체를 정의하기 위한 점, 선, 면, 벡터 등 다양한 정보로 이루어질 수 있다.
트래킹 알고리즘은 마커 기반 또는 마커리스 기반 중 하나와, 그에 해당하는 트래킹 알고리즘의 종류가 포함된다. 특히, 트래킹 알고리즘은 마커 패턴의 MR 및 마커리스 패턴의 MR 모두를 지원해 줄 수 있는 트리 형태로 구조화되어 있으므로, 개발자는 원하는 트래킹 알고리즘을 화면의 리스트에서 선택할 수 있다. 예를 들어, 마커리스 트래킹 알고리즘은 SURF, SIFT 및 FERNS 3가지가 리스트되어 있으며, 실제 트리 구조에는 이 3가지 중 개발자에 의해 선택된 하나가 기록될 수 있다.
멀티뷰 데이터 구조는 멀티뷰 구성부(330)에서 구성되는 멀티뷰들을 기록하기 위해 객체 생성부(324)가 미리 마련한 공간이다.
이벤트 데이터 구조는 이벤트 합성부(340)에서 지정되는 이벤트 핸들러를 기록하기 위해 객체 생성부(324)가 미리 마련한 공간이다.
도 5는 본 발명적 개념의 예시적 실시예에 따른 모바일용 MR 어플리케이션 개발 방법을 설명하기 위한 흐름도이다.
도 5의 모바일용 MR 어플리케이션 개발 방법을 수행하는 장치는 도 2를 참조하여 설명한 장치(200)이거나 도 3을 참조하여 설명한 개발부(240)일 수 있으며, 적어도 하나 이상의 프로세스를 이용할 수 있다.
도 5를 참조하면, 장치는 카메라에 의해 획득된 실제 영상과 3D 저작도구를 이용하여 작성된 3D 가상물체를 합성할 수 있다(S500).
장치는 MR에 적용할 마커 패턴 및 마커리스 패턴 중 하나와, 마커 트래킹 알고리즘 및 마커리스 트래킹 알고리즘 중 하나를 S500단계에서 합성된 실제 영상과 3D 가상물체에 연결할 수 있다(S510).
그리고, 장치는 합성된 실제 영상과 3D 가상물체가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동으로 생성할 수 있다(S520). S520단계에서, 장치는 S510단계에 의해 마커 패턴 및 마커리스 패턴 중 하나가 연결되면, 마커 API 및 마커리스 API 중 하나가 사용자의 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드와, 모바일 단말기에 내장된 디지털 카메라로부터의 입력(예를 들어, 촬영된 영상)을 컨트롤할 수 있는 코드를 플랫폼의 종류 별로 자동 생성할 수 있다.
모바일 단말기에서 실행될 수 있는 모바일용 코드가 생성되면, 장치는 지정된 마커 패턴 및 마커리스 패턴 중 하나를 고려하여, S500단계에서 합성된 실제 영상과 3D 가상물체를 객체, 또는 객체데이터로 생성할 수 있다(S530).
그리고, 장치는 S530단계에서 생성된 객체데이터가 모바일 단말기에서 보여지도록 하는 모바일 페이지를 위한 멀티뷰를 구성할 수 있다(S540). S540단계에서, 장치는 뷰의 레이아웃, 뷰의 개수, 뷰의 종류 및 커맨드 버튼을 드로잉 방식으로 개발자로부터 지정받아 모바일 페이지를 구성할 수 있다.
멀티뷰가 구성되면, 장치는 멀티뷰를 구성하는 각 뷰, 커맨트 버튼과 관련된 이벤트를 각 뷰와 커맨드 버튼에 연결할 수 있다(S550). S550단계에서, 장치는 예를 들어, 각 뷰와 관련된 동작을 정의하는 이벤트 핸들러, 커맨드 버튼과 관련된 동작을 정의하는 이벤트 핸들러 및 객체데이터와 뷰 간의 동작관계를 정의하는 이벤트 핸들러를 생성하여 멀티뷰에 적용할 수 있다.
이벤트 연결이 완료되면, 장치는 객체데이터가 웹 브라우저를 통해 웹 페이지에서 3D 그래픽으로 표시되도록, 객체데이터에 대한 WebGL을 생성할 수 있다(S560).
또한, 장치는 멀티뷰를 이루는 요소들을 HTML5, CSS3 및 JavaScript를 이용하여 웹 소스로 생성할 수 있다(S570).
WebGL과 웹 소스가 생성된 후 개발자가 멀티뷰의 미리보기를 요청하면(S580-Y), 장치는 미리보기를 실행하여 실제 영상과 3D 가상물체가 오버랩된 MR 이미지를 S540단계에서 구성된 멀티뷰에 맞춰 보여줄 수 있다(S590).
반면, WebGL과 웹 소스가 생성된 후 미리보기 요청이 없으면(S580-N), 장치는 개발자로부터 파일을 배포할 모바일 단말기의 플랫폼 종류를 선택받는다(S600).
장치는 S600단계에서 선택된 모바일 플랫폼 종류에 기초하여, 모바일 플랫폼에서 실행될 수 있는 파일을 생성할 수 있다(S610). S610단계에서 실행되는 파일은 모바일용 MR 어플리케이션을 이루는 파일로서, S600단계에서 선택된 모바일 플랫폼을 사용하는 모바일 단말기로 배포되어 사용될 수 있다.
상기와 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
240: 모바일용 MR 어플리케이션 저작부
310: 합성부 320: 객체 변환부
330: 멀티뷰 구성부 340: 이벤트 합성부
350: MR 생성부 360: 패키지 생성부

Claims (18)

  1. 카메라에 의해 획득된 실제 영상과 3D 가상물체를 합성하는 합성부;
    상기 합성된 실제 영상과 3D 가상물체가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하고, 상기 합성된 실제 영상과 3D 가상물체를 객체데이터로 변환하여 출력하는 객체 변환부;를 포함하며,
    상기 모바일 단말기의 플랫폼은 상기 모바일 단말기에서 사용가능한 복수 개의 플랫폼들 중 하나인 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  2. 제1항에 있어서,
    상기 객체 변환부는,
    상기 합성된 실제 영상과 3D 가상물체를 혼합현실에서 표현하기 위한 패턴으로서 마커(Marker) 패턴 및 마커리스(Markerless) 패턴 중 하나를 지정하고, 마커 API(Application Programming Interface) 및 마커리스 API 중 하나가 상기 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  3. 제1항에 있어서,
    상기 객체 변환부는,
    상기 합성된 실제 영상과 3D 가상물체를 사용자로부터 지정받은 마커 패턴 및 마커리스 패턴 중 하나로 연결하는 마커 및 마커리스 연결부; 및
    상기 합성된 실제 영상과 3D 가상물체를 상기 지정받은 마커 패턴 및 마커리스 패턴 중 하나를 고려하여 상기 객체데이터로 생성하는 객체 생성부;를 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  4. 제1항에 있어서,
    상기 객체 변환부는 상기 모바일 단말기에 내장된 디지털 카메라의 입력을 컨트롤할 수 있는 코드를 상기 플랫폼의 종류 별로 자동 생성하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  5. 제1항에 있어서,
    상기 객체 변환부에서 출력되는 객체데이터가 상기 모바일 단말기에서 보여지도록 하는 뷰의 레이아웃, 뷰의 개수, 뷰의 종류 및 커맨드 버튼을 드로잉 방식으로 지정받아 멀티뷰를 구성하는 멀티뷰 구성부;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  6. 제5항에 있어서,
    상기 멀티뷰를 구성하는 각 뷰와 관련된 동작, 상기 커맨드 버튼과 관련된 동작 및 상기 객체데이터와 상기 뷰 간의 동작관계를 정의하는 이벤트 핸들러를 생성하여 상기 멀티뷰에 추가하는 이벤트 합성부;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  7. 제1항에 있어서,
    상기 객체 변환부로부터 출력되는 객체데이터를 웹 페이지에서 3D 그래픽으로 보여지는 혼합현실 이미지로서 생성하는 MR 생성부;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  8. 제7항에 있어서,
    상기 MR 생성부는,
    상기 객체데이터가 웹 브라우저를 통해 상기 웹 페이지에서 3D 그래픽으로 표시되도록, 상기 객체데이터에 대한 웹 기반의 그래픽 라이브러리(WebGL)를 생성하는 WebGL 생성부; 및
    상기 객체데이터를 이루는 실제 영상과 3D 가상물체가 보여지는 UI(User Interface)를 생성하는 UI 생성부;를 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  9. 제8항에 있어서,
    상기 UI 생성부는 상기 UI를 이루는 뷰와 커맨드 버튼을 HTML5(Hypertext Mark-up Language 5), CSS3(Cascading Style Sheet 3) 및 JavaScript를 이용하여 웹 소스로 생성하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  10. 제9항에 있어서,
    상기 WebGL 및 상기 웹 소스가 다수의 서로 다른 모바일 플랫폼들을 지원하도록, 상기 WebGL 및 상기 웹 소스를 모바일 플랫폼들 각각에 해당하는 파일들로 생성하는 패키지 생성부;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 장치.
  11. 카메라에 의해 획득된 실제 영상과 3D 가상물체를 합성하는 단계;
    상기 합성된 실제 영상과 3D 가상물체가 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하는 단계; 및
    상기 합성된 실제 영상과 3D 가상물체를 객체데이터로 변환하여 출력하는 단계;를 포함하며,
    상기 모바일 단말기의 플랫폼은 상기 모바일 단말기에서 사용가능한 복수 개의 플랫폼들 중 하나인 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
  12. 제11항에 있어서,
    상기 변환하여 출력하는 단계는,
    상기 합성된 실제 영상과 3D 가상물체를 사용자로부터 지정받은 마커 패턴 및 마커리스 패턴 중 하나로 연결하는 단계;
    상기 합성된 실제 영상과 3D 가상물체를 상기 지정받은 마커 패턴 및 마커리스 패턴 중 하나를 고려하여 상기 객체데이터로 생성하는 단계;
    상기 모바일 단말기에 내장된 디지털 카메라의 입력을 컨트롤할 수 있는 코드를 상기 플랫폼의 종류 별로 자동 생성하는 단계; 및
    마커 API(Application Programming Interface) 및 마커리스 API 중 하나가 상기 모바일 단말기의 플랫폼에서 동작할 수 있도록 하는 모바일용 코드를 자동 생성하는 단계;를 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
  13. 제11항에 있어서,
    상기 출력되는 객체데이터가 상기 모바일 단말기에서 보여지도록 하는 뷰의 레이아웃, 뷰의 개수, 뷰의 종류 및 커맨드 버튼을 드로잉 방식으로 지정받아 멀티뷰를 구성하는 단계;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
  14. 제13항에 있어서,
    상기 멀티뷰를 구성하는 각 뷰와 관련된 동작, 상기 커맨드 버튼과 관련된 동작 및 상기 객체데이터와 상기 뷰 간의 동작관계를 정의하는 이벤트 핸들러를 생성하여 상기 멀티뷰에 추가하는 단계;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
  15. 제11항에 있어서,
    상기 출력되는 객체데이터를 웹 페이지에서 3D 그래픽으로 보여지는 혼합현실 이미지로서 생성하는 단계;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
  16. 제15항에 있어서,
    상기 혼합현실 이미지로서 생성하는 단계는,
    상기 객체데이터가 웹 브라우저를 통해 상기 웹 페이지에서 3D 그래픽으로 표시되도록, 상기 객체데이터에 대한 웹 기반의 그래픽 라이브러리(WebGL)를 생성하는 단계; 및
    상기 객체데이터를 이루는 실제 영상과 3D 가상물체가 보여지는 UI(User Interface)를 생성하는 단계;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
  17. 제16항에 있어서,
    상기 UI를 생성하는 단계는, 상기 UI를 이루는 뷰와 커맨드 버튼을 HTML5(Hypertext Mark-up Language 5), CSS3(Cascading Style Sheet 3) 및 JavaScript를 이용하여 웹 소스로 생성하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
  18. 제17항에 있어서,
    상기 WebGL 및 상기 웹 소스가 다수의 서로 다른 모바일 플랫폼들을 지원하도록, 상기 WebGL 및 상기 웹 소스를 모바일 플랫폼들 각각에 해당하는 파일들로 생성하는 단계;를 더 포함하는 것을 특징으로 하는 모바일용 혼합현실 어플리케이션 개발 방법.
KR1020110111857A 2011-10-31 2011-10-31 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법 KR101343182B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110111857A KR101343182B1 (ko) 2011-10-31 2011-10-31 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110111857A KR101343182B1 (ko) 2011-10-31 2011-10-31 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20130047071A true KR20130047071A (ko) 2013-05-08
KR101343182B1 KR101343182B1 (ko) 2013-12-19

Family

ID=48658630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110111857A KR101343182B1 (ko) 2011-10-31 2011-10-31 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101343182B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108063972A (zh) * 2017-12-20 2018-05-22 深圳市康冠技术有限公司 一种tv界面优化方法及系统
CN108363571A (zh) * 2018-01-02 2018-08-03 武汉斗鱼网络科技有限公司 一种基于智能过滤的控件布局方法及系统
CN109542494A (zh) * 2018-10-19 2019-03-29 福建天泉教育科技有限公司 一种vr软件外设的扩展控制方法及终端
KR20190046296A (ko) 2017-10-26 2019-05-07 박대건 Mr 기반 프레젠테이션 시스템
CN110083231A (zh) * 2019-03-12 2019-08-02 杭州电子科技大学 一种面向安卓VR一体式头显的WebGL全景显示方法
WO2022237571A1 (zh) * 2021-05-10 2022-11-17 北京字跳网络技术有限公司 图像融合方法、装置、电子设备和存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426488B (zh) * 2015-11-20 2019-07-23 中国地质大学(武汉) 一种基于WebGL的大批量倾斜摄影测量三维模型加载方法
KR102020881B1 (ko) 2017-11-28 2019-09-11 주식회사 디앤피코퍼레이션 스마트 폰의 움직임 구동에 의한 인터랙티브 ar/mr 구현 장치 및 방법
US11151747B2 (en) 2019-03-20 2021-10-19 Kt Corporation Creating video augmented reality using set-top box

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190046296A (ko) 2017-10-26 2019-05-07 박대건 Mr 기반 프레젠테이션 시스템
CN108063972A (zh) * 2017-12-20 2018-05-22 深圳市康冠技术有限公司 一种tv界面优化方法及系统
CN108363571A (zh) * 2018-01-02 2018-08-03 武汉斗鱼网络科技有限公司 一种基于智能过滤的控件布局方法及系统
CN108363571B (zh) * 2018-01-02 2022-02-18 武汉斗鱼网络科技有限公司 一种基于智能过滤的控件布局方法及系统
CN109542494A (zh) * 2018-10-19 2019-03-29 福建天泉教育科技有限公司 一种vr软件外设的扩展控制方法及终端
CN109542494B (zh) * 2018-10-19 2021-11-05 福建天泉教育科技有限公司 一种vr软件外设的扩展控制方法及终端
CN110083231A (zh) * 2019-03-12 2019-08-02 杭州电子科技大学 一种面向安卓VR一体式头显的WebGL全景显示方法
CN110083231B (zh) * 2019-03-12 2022-04-08 杭州电子科技大学 一种面向安卓VR一体式头显的WebGL全景显示方法
WO2022237571A1 (zh) * 2021-05-10 2022-11-17 北京字跳网络技术有限公司 图像融合方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
KR101343182B1 (ko) 2013-12-19

Similar Documents

Publication Publication Date Title
KR101343182B1 (ko) 모바일용 혼합현실 어플리케이션 개발 장치 및 그 방법
CN107832108B (zh) 3D canvas网页元素的渲染方法、装置及电子设备
JP6149165B2 (ja) メタデータを利用したチャート変換システム及びその方法
KR101143606B1 (ko) 모바일 기기를 이용한 전시 정보를 제공하는 시스템, 사용자 단말 및 전시 정보 제공 방법
US20200264695A1 (en) A cloud-based system and method for creating a virtual tour
CN104216691A (zh) 一种创建应用的方法及装置
KR101416104B1 (ko) 하이브리드 웹 어플리케이션의 네이티브 기능을 수행하는 자바스크립트 코드의 동적 로딩 장치와 방법
JP2022520263A (ja) ミニプログラムのデータバインディング方法、装置、デバイス及びコンピュータプログラム
EP2780802B1 (en) Progressively providing software components for browser-based 3d modeling
CN109445891B (zh) 画面组态及展示方法、装置、计算机可读存储介质
CN113821201A (zh) 一种代码开发方法、装置及电子设备和存储介质
CN116610881A (zh) 一种基于低代码软件的WebGL浏览交互方法
CN113676677B (zh) 动态图片合成方法、装置、电子设备及可读存储介质
Mikkonen et al. Lively for Qt: A platform for mobile web applications
KR101456507B1 (ko) N-스크린 적용을 위한 웹 어플리케이션 ui 저작 장치 및 그 저작 방법
CN110990106A (zh) 数据展示方法、装置、计算机设备及存储介质
US20130069953A1 (en) User Interface Feature Generation
Hipp Slide Decks in HTML
Randhawa User Interaction Optimization
JP2023003489A (ja) 映像処理システム、映像処理プログラム及び映像処理方法
Sheehan Developing Mobile Web ArcGIS Applications
CN116701807A (zh) 一种同时支持app、h5加载3D模型的方法
KR20150097936A (ko) 애플리케이션 개발 환경 제공 장치
CN114816411A (zh) 增强现实模型转换的方法、装置、设备及存储介质
CN117519653A (zh) 一种基于PlayCanvas的微信小程序AR互动实现方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160920

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 7