KR100562908B1 - 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및방법 - Google Patents

3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및방법 Download PDF

Info

Publication number
KR100562908B1
KR100562908B1 KR1020040058378A KR20040058378A KR100562908B1 KR 100562908 B1 KR100562908 B1 KR 100562908B1 KR 1020040058378 A KR1020040058378 A KR 1020040058378A KR 20040058378 A KR20040058378 A KR 20040058378A KR 100562908 B1 KR100562908 B1 KR 100562908B1
Authority
KR
South Korea
Prior art keywords
information
component
user
user interface
polyhedron
Prior art date
Application number
KR1020040058378A
Other languages
English (en)
Other versions
KR20060009704A (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 KR1020040058378A priority Critical patent/KR100562908B1/ko
Publication of KR20060009704A publication Critical patent/KR20060009704A/ko
Application granted granted Critical
Publication of KR100562908B1 publication Critical patent/KR100562908B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 3차원 모션 그래픽 사용자 인터페이스에 관한 발명으로서, 본 발명의 실시에 따른 그래픽 사용자 인터페이스 제공 장치는 적어도 1이상의 유도 조건을 나타내는 정보를 갖는 다면체 컴포넌트를 생성하는 제어 모듈과, 상기 제어 모듈에 의해 생성된 다면체 컴포넌트를 저장하는 저장 모듈과, 사용자로부터 입력된 유도 조건을 만족하는 적어도 1이상의 정보 객체들을 상기 다면체 컴포넌트의 위치로 이동하게 하는 사용자 인터페이스 모듈 및 상기 사용자 인터페이스 모듈에 의해 처리된 결과를 디스플레이하는 출력 모듈을 포함한다.
3차원 모션 그래픽 사용자 인터페이스, 이벤트 헬퍼

Description

3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및 방법{Appratus and method for providing three dimensional motion graphic user interface}
도 1은 종래의 PC 운영체제에서 지원하는 그래픽 사용자 인터페이스(Graphic User Interface) 컴포넌트를 사용한 UI를 나타내는 예시도이다.
도 2는 본 발명의 실시예에 따른 모션 그래픽 사용자 인터페이스의 전체 구성을 보여주는 예시도이다.
도 3은 본 발명의 실시예에 따른 모션 그래픽 사용자 인터페이스의 구성요소인 다면체 컴포넌트의 일 실시예를 보여주는 예시도이다.
도 4a는 본 발명의 실시예에 따라 다면체 컴포넌트의 면에 정보가 매핑(Mapping)되고 있음을 나타내는 예시도이다.
도 4b는 본 발명의 실시예에 따라 다면체 컴포넌트의 면에 매핑(Mapping)되는 정보가 3차원 입체형 정보인 경우를 나타내는 예시도이다.
도 5는 본 발명에 실시예에 따른 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치의 구성을 나타내는 블록도이다.
도 6은 도 5에서 도시하고 있는 사용자 인터페이스 모듈의 상세 구성을 나타내는 예시도이다.
도 7은 본 발명에 실시예에 따라 사용자의 작용(Action)에 의해 다면체 컴포 넌트의 모션이 발생하는 과정을 보여주는 플로우차트이다.
도 8은 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 위치가 이동되는 모습을 나타내는 예시도이다.
도 9는 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 크기가 변하는 모습을 나타내는 예시도이다.
도 10은 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 회전하는 모습을 나타내는 예시도이다.
도 11은 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 스프링 락(Spring Lock)의 모습을 나타내는 예시도이다.
도 12a는 본 발명에 실시예에 따른 카메라 뷰(Camera View)의 움직임에 따라 다면체 컴포넌트의 모션이 발생하는 모습을 나타내는 예시도이다.
도 12b는 본 발명에 실시예에 따라 활성 공간(Active Space)과 비활성 공간(Inactive Space)의 분할에 따른 MGUI 공간의 변화를 나타내는 예시도이다.
도 13은 본 발명에 실시예에 따라 다수의 다면체 컴포넌트로 이루어진 사용자 인터페이스에 의해 정보가 표시되는 과정을 나타내는 플로우차트이다.
도 14 내지 도 19는 본 발명에 실시예에 따라 다수의 다면체 컴포넌트로 이루어진 그룹을 배치하는 모습을 나타내는 예시도이다.
도 20은 본 발명의 실시예에 따라 공간 점프 이벤트 헬퍼에 의하여 동영상 객체가 순간적으로 공간 이동되는 것을 나타내는 예시도이다.
도 21은 본 발명의 실시에 따른 유도 이벤트 헬퍼의 동작 과정을 나타내는 플로우차트이다.
도 22는 본 발명의 실시에 따른 유도 이벤트 헬퍼의 동작을 나타내는 예시도이다.
도 23은 본 발명의 또다른 실시에 따른 유도 이벤트 헬퍼의 동작을 나타내는 예시도이다.
도 24는 본 발명의 또다른 실시에 따른 유도 이벤트 헬퍼의 동작을 나타내는 예시도이다.
도 25는 본 발명의 실시예에 따라 이벤트 헬퍼의 모션을 나타내는 예시도이다.
<도면의 주요 부분에 대한 부호의 설명>
500: 사용자 인터페이스 제공 장치
510: 입력 모듈
520: 사용자 인터페이스 모듈
530: 제어 모듈
540: 출력 모듈
550: 저장 모듈
본 발명은 3차원 모션 그래픽 사용자 인터페이스(Motion Graphic User Interface; 이하 'MGUI'라 칭한다)및 이를 제공하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 사용자에 의한 작용(Action)에 따라 동적으로 변화하는 3차원 사용자 인터페이스로 정보를 제공함으로써, 시각적 효과를 높이고 정보 사용의 효율성을 높이는 사용자 인터페이스 제공 방법 및 장치에 관한 것이다.
기존의 디지털 장치의 사용자 인터페이스(User Interface; 이하 UI라 함)는 PC 운영체제의 그래픽 사용자 인터페이스의 컴포넌트들을 사용하고 있다. 따라서, 2차원 UI가 주류를 이루고 3차원 UI라 하더라도 정적이고 기존의 2차원 UI의 특징을 벗어나지 못한 것이 대부분이다.
도 1은 종래의 PC 운영체제에서 지원하는 그래픽 사용자 인터페이스(Graphic User Interface, 이하 'GUI'라 한다) 컴포넌트를 사용한 UI를 나타내는 예시도이다.
종래의 UI들은 2차원의 UI로서 평면적이고 정적이다. 따라서 UI에 의해 표시되는 정보의 형태도 문서 중심이 되어 사용자의 감성을 만족시키기에는 부족하고 시각적으로 정보를 효과적으로 제공하는데는 한계가 있었다. 종래의 GUI가 제공하는 컴포넌트에는 3차원 컴포넌트도 존재하나 아직까지 2차원의 개념을 벗어나지 못하고 있으며, 이로인해 시각적으로는 3차원으로 보이지만 사용방식에서는 3차원의 장점이 많이 활용되지 못하고 있다. 모든 디지털 장치들에 PC 운영체제의 GUI가 적합한 것이 아니고, 특히 멀티미디어 컨텐츠를 제공하는 장치의 경우 사용자의 감성을 만족시키고 엔터테인먼트의 기능을 제공하기에는 기존의 UI는 한계를 갖는다. 이에 여러 발명(예를 들면, 미국 등록 특허 6,344,863 '다양한 속도의 원근 이동을 하는 3차원 GUI 윈도우즈(Three-dimensional gui windows with variable-speed perspective movement)' 발명)이 제시되었으나 상술한 문제는 여전히 해결되지 않고 있다. 이에 다양한 컨텐츠를 제공하는 디지털 장치들을 위한 동적이고 실감나는 UI가 필요하게 되었다.
본 발명은 상기한 문제점을 개선하기 위해 안출된 것으로, 본 발명은 3차원 컴포넌트를 이용하는 UI를 제공함으로써 직관적이고 사용자의 감성을 만족시키는 정보 제공 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시에 따른 그래픽 사용자 인터페이스를 제공하는 장치는 적어도 1이상의 유도 조건을 나타내는 정보를 갖는 다면체 컴포넌트를 생성하는 제어 모듈과, 상기 제어 모듈에 의해 생성된 다면체 컴포넌트를 저장하는 저장 모듈과, 사용자로부터 입력된 유도 조건을 만족하는 적어도 1이상의 정보 객체들을 상기 다면체 컴포넌트의 위치로 이동하게 하는 사용자 인터페이스 모듈 및 상기 사용자 인터페이스 모듈에 의해 처리된 결과를 디스플레이하는 출력 모듈을 포함한다.
또한 상기 목적을 달성하기 위하여, 3차원 모션 그래픽 사용자 인터페이스 환경에 있어서, 본 발명의 실시에 따른 그래픽 사용자 인터페이스를 제공하는 방법은 사용자가 적어도 1이상의 유도 조건을 나타내는 정보를 갖는 다면체 컴포넌트에 억세스하는 (a) 단계와, 사용자가 유도 조건을 선택하는 (b) 단계 및 상기 선택된 유도 조건을 만족하는 적어도 1이상의 정보 객체들이 상기 다면체 컴포넌트의 위치로 이동하는 (c) 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 MGUI를 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑제되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 본 발명의 실시예에 따른 MGUI의 전체 구성을 보여주는 예시도이다.
MGUI는 3차원 환경과 모션 그래픽스(Motion Graphics)를 기반으로 하여 보다 동적인 GUI 환경을 구축할 수 있는 UI 개념이다. 이 때, 3차원이란, Z축 즉 시각적 요소에 깊이(depth) 개념이 포함되어 입체로 보이는 것을 의미하며, 이러한 속성이 적용된 GUI환경을 3차원 GUI환경이라고 할 수 있다.
MGUI 환경은 크게 다음과 같은 요소로 구성된다.
1. MGUI 공간(space)
2. MGUI 컴포넌트(component)
3. MGUI 컴포넌트를 배치(Presentation)하는 방식
4. MGUI 카메라뷰(camera view)
5. MGUI 정보면과 정보 공간
MGUI 공간(200)은 MGUI 환경을 구축하기 위한 공간 영역으로서, 공간이 지정될 때 공간 종류의 특성에 따라 활성 공간(active space)(210)과 비활성 공간(inactive space)(220)으로 나눌 수 있다. UI를 디자인할 때 사용할 수 있는 공간은 활성 공간(210)이다. 활성 공간(210)에 MGUI에서 제공하는 사용자 인터페이스용 컴포넌트(240)들을 배치시기 위해서는 활성 공간 내에서 정보 공간(230)의 영역을 설정해 주어야 한다. 즉, 정보 공간(230)은 활성 공간 내에서 MGUI 컴포넌트들(240)이 실제로 배치될 수 있는 영역이다.
MGUI 컴포넌트들(240)은 MGUI 환경에서 사용자와의 상호작용(Interaction)을 통하여 정보를 제공하는 MGUI의 구성 객체를 의미한다. MGUI 컴포넌트는 하나 이상의 정보면을 포함하는데, MGUI 컴포넌트 및 컴포넌트의 구성요소와 정보면 및 정보 공간에 대한 상세한 설명은 도 3에서 후술하도록 한다.
MGUI 컴포넌트를 배치(Presentation)하는 방식이란 정보 공간 속에서 적어도 1개 이상의 컴포넌트들이 그룹으로 묶여 어떠한 방식으로 조작되고, 조작 과정에서 어떠한 모션이 일어나면서 화면에 배열되는지를 정해주는 방식이다. 이에 대한 상세한 설명은 도 13내지 도 19에서 후술하도록 한다.
카메라 뷰(Camera View)는 MGUI 환경 내에서의 시점(Viewpoint)을 말한다. 시점의 이동은 곧 공간 내에서의 네비게이션(Navigation)이 일어나는 것을 의미하며 이에 따라 공간 전체적으로 모션이 발생하게 된다. MGUI의 카메라 뷰는 MGUI의 각 컴포넌트들이 가지고 있는 고유의 모션 속성과 함께 MGUI 환경에서 모션을 일으키는 주된 요인이다. 이에 대한 상세한 설명은 도 12에서 후술하도록 한다.
도 3은 본 발명의 실시예에 따른 모션 그래픽 사용자 인터페이스의 구성요소인 다면체 컴포넌트의 일 실시예를 보여주는 예시도이다.
다면체 컴포넌트(300)는 다수의 면(310)과 모서리(320)와 꼭지점(330)으로 이루어진다. 다면체는 적어도 4개 이상의 면이 모여 이루어지는 입체도형으로서 사면체, 오면체, 육면체 등이 이에 속한다. 구(Sphere)도 무수히 많은 면으로 이루어진 다면체로 근사될 수 있다. 이하에서는 본 발명의 용이한 설명을 위하여 다면체 중 육면체를 예를 들어 설명하도록 한다.
다면체 컴포넌트(300)가 갖는 속성으로는 다면체의 식별자 및 크기 등이 있고, 면(310)이 갖는 속성으로는 번호, 색상, 투명도, 정보면인지 여부 등이 있다. 또한 모서리(320)가 갖는 속성으로는 모서리의 색상 등이 있다. 이 때, 이러한 속 성들은 앞서 언급한 요소들에 한정되지 않으며 응용되는 분야에 따라 다양한 속성들이 존재할 수 있다.
그리고, 상기 정보면이란 다면체 컴포넌트를 이루는 다수의 면 중 정보가 표현될 수 있는 면을 의미하는데, 도 4a 및 도 4b를 참조하여 설명하도록 한다.
MGUI의 정보면은 종래의 GUI의 윈도우에 해당한다. MGUI에서 정보면은 MGUI 컴포넌트에 종속되어 있으며, MGUI 컴포넌트에 대한 종속은 다음의 2가지 방식으로 이루어질 수 있다. 첫째는 다면체를 구성하는 하나의 면으로 존재하는 것이고, 둘째는 다면체를 구성하는 면이 아닌 다면체와 분리된 가시화된 형태(예를 들어, 도 4a의 정보면(420))로 존재하는 것이다. 결국, 정보면이 MGUI 컴포넌트에 종속되어 있다 함은, MGUI 컴포넌트를 구성하는 면인지, 다면체를 구성하는 면과 분리된 형태인지에 상관없이 해당 정보면이 MGUI 컴포넌트와 연관되어 동작하고 정보를 표시하게 됨을 의미한다.
도 4a는 MGUI의 다면체 컴포넌트의 하나인 육면체의 6면이 모두 정보면 속성을 갖고 각종 정보를 보여주는 것을 나타내고 있다. 육면체 컴포넌트(410)의 우측에 나타나고 있는 사각형(420)은 정보면이 마치 하나의 컴포넌트처럼 화면에 가시화된 모습을 보여준다. 이러한 경우 정보면은 종래의 GUI의 윈도우와 유사하게 깊이(depth)가 없는 2차원 면으로 화면에 존재하고, 육면체 컴포넌트가 표시하는 정보가 변하거나 육면체 컴포넌트(410)가 동작하면 이와 연동되어 정보가 변하고 동작한다.
정보면에는 2D 비주얼 정보에 해당하는 텍스트, 이미지, 동영상, 2차원 위젯 (Widget) 등이 표시될 수 있다. 또한 3차원 아이콘과 같이 입체형 정보도 정보면에 표시 가능한데 도 4b에서 이를 나타내고 있다. 이러한 경우 입체형 정보(430)는 정보면 상에 부착된 것으로 볼 수 있다.
정보면이 다면체 컴포넌트를 구성하는 하나의 면으로 존재하는 경우에는 다면체 컴포넌트에 부여된 속성에 따라 정보면에 정보가 표시되는 형태가 달라질 수 있다. 예를 들면 다면체 컴포넌트의 크기 또는 면의 크기 속성에 따라 정보면에 표시되는 정보의 크기 또는 정보의 양이 달라질 수 있다.
도 5는 본 발명에 실시예에 따른 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치의 구성을 나타내는 블록도이다.
이 때, 상기 장치는 디지털 장치로 구성될 수 있다. 여기서 디지털 장치란 디지털 데이터를 처리하는 디지털 회로를 가진 장치로서, 컴퓨터, 프린터, 스캐너, 페이저, 디지털 카메라, 팩스, 디지털 복사기, 개인용 디지털 단말기(PDA), 핸드폰, 디지털 가전기기, 디지털 전화, 디지털 프로젝트, 홈서버, 디지털 비디오 레코더, 디지털 TV 방송 수신기, 디지털 위성 방송 수신기, 및 셋탑박스 등을 예로 들 수 있다.
본 발명의 실시예에 따른 사용자 인터페이스 제공 장치(500)는 입력 모듈(510), 사용자 인터페이스 모듈(520), 제어 모듈(530), 출력 모듈(540), 저장 모듈(550)을 포함한다.
이 때, 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC) 과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다.  모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다.  따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.  구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 
제어 모듈(530)은 MGUI 공간 또는 다면체 컴포넌트를 생성하고 다른 모듈들(510, 520, 540, 550)을 연결하고 관리한다.
저장 모듈(550)은 제어 모듈(530)에 의해 생성된 MGUI 공간 또는 다면체 컴포넌트를 저장한다.
입력 모듈(510)은 다면체 컴포넌트에 대한 사용자의 작용과 관련된 데이터를 입력받는다. 이 때, 사용자의 작용이란 사용자가 다면체 컴포넌트에 접근(access)하거나, 특정 다면체 컴포넌트를 선택하거나, 다면체 컴포넌트의 특정 정보면 또는 정보면상의 특정 메뉴 등을 선택하거나, 다면체 컴포넌트를 동작시키는 행위 등을 모두 포함한다.
출력 모듈(540)은 사용자 인터페이스 모듈(520)에 의해 처리된 데이터를 디 스플레이 장치를 통하여 디스플레이한다.
사용자 인터페이스 모듈(520)에 관한 설명은 도 6을 참조하여 구체적으로 설명하도록 한다.
사용자 인터페이스 모듈(520)은 제어 모듈(530)에서 생성된 MGUI 공간 또는 다면체 컴포넌트를 이용하여 사용자 인터페이스를 제공하는 역할을 한다. 사용자 인터페이스 모듈(520)은 컴포넌트 속성 부여 모듈(521), 모션 처리 모듈(522) 및 컴포넌트 그룹 관리 모듈(523)을 포함한다.
컴포넌트 속성 부여 모듈(521)은 제어 모듈(530)에서 생성된 다면체 컴포넌트에 도 3에서 상술한 속성을 부여하고, 그 속성에 따라 다면체 컴포넌트의 정보면에 표시되는 정보를 매핑한다.
모션 처리 모듈(522)은 입력 모듈(510)에서 입력받은 사용자의 작용에 관한 데이터에 따라 MGUI 공간 내에서의 다면체 컴포넌트의 모션을 처리하고, 컴포넌트 속성 부여 모듈(521)를 이용하여 모션에 따라 다면체 컴포넌트의 정보면에 표시되는 정보를 다시 매핑시킨다.
컴포넌트 그룹 관리 모듈(523)은 입력 모듈(510)로부터 사용자가 선택한 다면체 컴포넌트 그룹 내의 특정 다면체에 관한 데이터를 제공받아 선택된 다면체를 강조하는 처리를 하고, 컴포넌트 속성 부여 모듈(521)을 통하여 선택된 다면체의 정보면에 매핑되는 정보를 수정한다. 또한 그룹 내의 선택되지 않은 다른 다면체 컴포넌트들의 표시를 변화시킨다. 이와 같이 사용자 인터페이스 모듈(520)은 그 기능에 따라 세부 모듈(521, 522, 523)로 나누어지고, 이들에 의해 처리된 사용자 인 터페이스에 관한 데이터는 제어 모듈(530)을 거쳐 출력 모듈(540)에 의해 디스플레이된다.
도 7은 본 발명에 실시예에 따라 사용자의 작용(Action)에 의해 다면체 컴포넌트의 모션이 발생하는 과정을 보여주는 플로우차트이다.
MGUI의 다면체 컴포넌트는 사용자의 작용에 따라 모션이 일어나는 동적인 3차원 UI 컴포넌트이다. 모션이 일어나는 과정은 다음과 같다. 사용자가 다면체 컴포넌트에 접근(access)하여(S710) 다면체 컴포넌트에 일정한 작용(Action)을 한다(S720). 사용자의 작용(Action)(S720)에 따라 다면체 컴포넌트의 정보면들에 표시되는 정보가 변하면서(S730) 다면체 컴포넌트의 모션이 일어난다(S740).
한편, 다른 실시예에서는 정보면들에 표시되는 정보가 변화하지 않고 다면체 컴포넌트의 모션이 발생할 수도 있다.
사용자가 다면체 컴포넌트에 접근(access)하는 단계(S710)는, 사용자가 MGUI 환경에서 관심있는 정보를 표시하고 있는 특정 다면체 컴포넌트에 접근함으로써 이루어진다. 사용자의 다면체 컴포넌트에 대한 접근은 마우스, 키보드, 키 패드, 터치 패드 등의 다양한 입력 수단을 통하여 이루어질 수 있다.
사용자가 다면체 컴포넌트에 일정한 작용(Action)을 하는 단계(S720)는 다면체 컴포넌트의 정보면에 있는 특정 메뉴를 선택하거나, 필요한 정보를 찾기 위하여 다면체 컴포넌트를 이동 또는 회전시키거나, 크기를 변화시키는 등의 형태로 일어날 수 있다. 특정 메뉴의 선택, 다면체 컴포넌트의 이동, 회전 등은 마우스, 키보드, 키 패드, 터치 패드 등의 다양한 입력 수단을 통하여 이루어질 수 있다. 예를 들면, 특정 메뉴의 선택은 키 패드 상의 선택 버튼을 클릭하고, 다면체 컴포넌트의 이동 또는 회전은 키 패드 상의 화살표 버튼을 이용하여 이루어질 수 있다. 다른 실시예에서는 모션을 발생시키고자 하는 다면체 컴포넌트를 특정하면 디스플레이 상에 사용자가 선택할 수 있는 모션에 대한 메뉴가 팝업(Pop-Up)되어 메뉴를 선택함으로써 다면체 컴포넌트에 작용을 할 수 있다. 이러한 사용자의 접근 또는 사용자의 작용에 관한 데이터는 디지털 장치(500)의 입력 모듈(510)에 의해 제어 모듈(530)을 통하여 사용자 인터페이스 모듈(520)로 제공된다.
사용자가 다면체 컴포넌트에 일정한 작용을 하면 그 작용에 따라 다면체 컴포넌트의 정보면들에 표시되는 정보가 바뀔 수 있다. 이는 사용자 인터페이스 모듈(520)내의 컴포넌트 속성 부여 모듈(521)이 정보면에 매핑되는 정보를 수정함으로써 이루어진다. 예를 들면, 사용자가 작용 단계(S720)에서 특정 정보면의 특정 메뉴를 선택하면 컴포넌트 속성 부여 모듈(521)은 다면체 컴포넌트의 정보면들에 선택된 메뉴의 하위 메뉴 또는 하위 정보들을 매핑하고 그 결과를 출력 모듈(540)이 디스플레이하게 된다.
또한 사용자의 작용에 따라 다면체 컴포넌트의 모션이 일어나는데 이는 사용자의 작용의 형태에 따라 다른 모션을 유발시킨다. 사용자의 작용에 따른 모션의 처리는 사용자 인터페이스 모듈(520)내의 모션 처리 모듈(522)에서 이루어진다. 모션 처리 모듈(522)은 모션에 따른 다면체 컴포넌트의 위치나 디스플레이에 필요한 데이터를 처리하고 그 결과를 출력 모듈(540)을 통하여 디스플레이한다.
다면체 컴포넌트가 취할 수 있는 모션에는 이동, 크기의 변동, 회전, 스프링 락 등이 있다. 이 때 모션의 기준이 되는 면은 다면체 컴포넌트의 정면이나 사용자와 배향된 면이 될 수 있다. 한편, 다른 실시예에서는 사용자가 모션의 기준이 되는 면을 다양한 입력 수단을 이용하여 선택할 수 있다. 또 다른 실시예에서는 모션의 기준이 되는 면에 포인터를 두어 사용자가 그 포인터를 움직여 모션의 기준이 되는 면을 선택할 수도 있다. 각각의 모션에 대하여는 도 8 내지 도 12를 참조하여 설명하도록 한다.
도 8은 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 위치가 이동되는 모습을 나타내는 예시도이다.
다면체 컴포넌트의 이동은 사용자가 특정 다면체 컴포넌트를 선택한 후 다양한 입력 수단에 의하여 이동 후의 위치를 지정해 줌으로써 해당 위치로의 이동이 일어난다. 예를 들면, 입력 수단이 마우스인 경우 사용자가 이동시키고자 하는 컴포넌트를 마우스로 클릭하여 선택한 후 이동시킬 위치로 컴포넌트를 드래그(Drag)할 수 있다.
도 9는 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 크기가 변하는 모습을 나타내는 예시도이다.
사용자는 크기를 확대 또는 축소하고자 하는 다면체 컴포넌트를 선택한 후 크기를 변화시킨다. 예를 들면, 입력 수단이 마우스인 경우 다면체의 꼭지점을 선택하여 드래그(Drag)하는 방식으로 다면체 컴포넌트의 크기를 확대하거나 축소할 수 있다.
도 10은 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 회전 하는 모습을 나타내는 예시도이다.
도 10은 육면체를 X축을 중심으로 오른쪽으로 회전시키는 것을 보여주고 있는데, 회전은 X축, Y축, 또는 Z축 뿐만 아니라 임의의 축을 중심으로 임의의 각도로 이루어질 수 있다.
도 11은 본 발명에 실시예에 따른 다면체 컴포넌트의 모션(Motion) 중 스프링 락(Spring Lock)의 모습을 나타내는 예시도이다.
스프링 락(Spring Lock)이란 사용자의 작용에 의하여 일정한 방향으로 사용자가 원하는 각만큼 회전이 되었다가 회전의 원인이 된 사용자의 작용이 해제되면 다시 원래의 상태로 돌아오는 것을 말한다. 다른 실시예에서는 회전된 상태에서 이를 유지하고 있다가 사용자가 특정 조작을 하면 원래 상태로 돌아가게 만들 수도 있다.
다면체 컴포넌트의 모션은 상술한 바와 같이 사용자의 직접적인 작용에 의해 발생하나, MGUI 공간의 변화(활성 공간의 분할 방식 변동, 공간 축소, 공간 확대 등) 또는MGUI 공간에서의 시점(Viewpoint)인 카메라 뷰가 이동함에 따라 발생할 수도 있다.
도 12a는 본 발명에 실시예에 따른 카메라 뷰(Camera View)의 움직임에 따라 다면체 컴포넌트의 모션이 발생하는 모습을 나타내는 예시도이다.
도 12a에서는 카메라 뷰가 반시계방향으로 회전함에 따라 MGUI 공간 내의 모든 다면체 컴포넌트들이 시계방향으로 회전하는 효과를 보여주고 있다. 이외에 카메라 뷰가 줌-아웃(Zoom-out)되면 MGUI 공간 내의 모든 다면체 컴포넌트들이 축소 되고, 카메라 뷰가 줌-인(Zoom-in)되면 MGUI 공간 내의 모든 다면체 컴포넌트들이 확대되어 보인다.
도 12b는 본 발명에 실시예에 따라 활성 공간(Active Space)과 비활성 공간(Inactive Space)의 분할에 따른 MGUI 공간의 변화를 나타내는 예시도이다.
다면체 컴포넌트는 도 2에서 상술한 바와 같이 MGUI 공간 내에서도 활성 공간에만 위치할 수 있다. 따라서 활성 공간과 비활성 공간을 분할하는 방식에 따라 다면체 컴포넌트의 위치가 달라지므로 사용자에게 보여지는 모습이 변할 수 있다. 도 12b에서는 X축과 Z축 방향으로 제한을 두고 기준면(1230) 위쪽의 Y축 방향으로 무제한인 활성 공간을 보여주고 있다. 즉, X축과 Z축 방향으로는 기준면(1230)에 의해 지정되는 영역으로 제한을 받고 기준면 위쪽으로 무한한 활성 공간이 지정되는 것이다. 따라서 다면체 컴포넌트는 화살표로 표시되는 기둥의 안쪽 공간인 활성 공간(1210)에만 위치할 수 있고, 화살표로 표시되는 기둥의 바깥쪽 공간 및 기준면(1230)의 아래쪽 공간은 비활성 공간(1220)이므로 위치할 수 없다. 다른 실시예의 경우 MGUI 공간이 여러 개의 활성 공간으로 나누어질 수도 있는데, 이 경우 여러 개의 다면체 컴포넌트로 이루어진 그룹의 배치 모양도 활성 공간이 나누어지는 방식에 따라 달라질 수 있다.
MGUI는 다수의 다면체 컴포넌트로 이루어지기도 한다. 다수의 다면체 컴포넌트를 하나의 그룹으로 관리하여 UI상의 배치나 움직임에 통일성을 주고, 사용자에게 정보를 탐색하는데 효율적인 UI를 제공할 수 있다.
도 13은 본 발명에 실시예에 따라 다수의 다면체 컴포넌트로 이루어진 사용 자 인터페이스에 의해 정보가 표시되는 과정을 나타내는 플로우차트이다.
사용자가 다면체 컴포넌트 그룹내의 특정 다면체 컴포넌트를 선택하면(S1310), 선택된 다면체 컴포넌트가 강조되어 표시된다(S1320). 또한 선택된 다면체 컴포넌트의 정보면에 매핑된 정보가 상세정보로 표시될 수 있다(S1330). 한편, 같은 그룹내의 다른 다면체 컴포넌트들의 표시가 변하게 된다(S1340).
사용자가 다면체 컴포넌트 그룹 내의 특정 다면체 컴포넌트를 선택하는 단계(S1310)는 사용자가 마우스, 키보드, 키패드, 터치패드 등의 다양한 입력 수단을 이용하여 특정 다면체 컴포넌트에 접근하여 선택함으로써 이루어진다.
사용자가 다양한 입력 수단을 이용해 특정 다면체 컴포넌트를 선택하면 입력 모듈(510)이 관련 정보를 제어 모듈(530)을 통해 사용자 인터페이스 모듈(520) 내의 컴포넌트 그룹 관리 모듈(523)에 전달한다.
특정 다면체 컴포넌트가 선택되면 선택된 다면체가 강조되어 표시(S1320)되는데, 이는 선택된 다면체가 확대되거나 Z축 방향으로 사용자에게 가깝게 앞쪽으로 이동되는 것으로 나타날 수 있다. 다른 실시예에서는 색상이 변하거나 모서리가 굵게 표시될 수 있다. 또 다른 실시예에서는 포커스를 표시하는 다양한 표시가 나타날 수도 있다. 특정 다면체 컴포넌트가 선택되면 다면체의 정보면은 컴포넌트 속성 부여 모듈(521)에서 매핑되어 있던 개략적인 정보보다 더욱 상세한 정보를 표시(S1330)할 수 있다. 또한, 선택된 다면체 컴포넌트가 강조되어 표시되는 것과 반대로 같은 그룹 내의 다른 다면체 컴포넌트들은 축소되거나 사용자로부터 멀어지거나 색상이 흐려짐으로써 선택된 다면체 컴포넌트를 강조하면서 정보의 연속성을 표시 하게 된다(S1340). 이 단계는 컴포넌트 그룹 관리 모듈(523) 및 컴포넌트 속성 부여 모듈(521)에서 이루어진다.
도 14 내지 도 19에서는 도 13에서 상술한 다수의 다면체 컴포넌트로 이루어진 그룹을 배치하는 실시예를 보여주고 있다.
도 14는 다면체 컴포넌트의 크기에 변화를 주어 표현함으로써 사용자로 하여금 중요한 정보와 중요하지 않은 정보를 직관적으로 파악할 수 있도록 하는 배치 방법을 보여준다. 즉, Z축 방향으로 사용자에게 가까운 다면체의 정보가 중요한 정보이며 멀리있는 다면체의 정보가 중요하지 않은 정보가 될 수 있다. 따라서 Z축 방향으로 멀리있는 다면체 컴포넌트를 앞으로 당기면 확대되고 Z축 방향으로 가까이 있는 다면체 컴포넌트를 뒤로 밀면 축소될 수 있다. 이 때, 선택된 다면체(1410)가 확대되면서 충돌하는 주변의 다른 다면체 컴포넌트들은 축소되게 된다. 또한, 특정 다면체 컴포넌트를 선택하면 확대될 수 있다. 컴포넌트의 선택은 사용자의 포커스가 이동하거나, 사용자의 포커스는 고정된 채 컴포넌트들이 상하 또는 좌우로 이동함으로써 가능하다.
도 15는 선택된 다면체 컴포넌트(1510)만 확대되고 다른 컴포넌트들은 점진적으로 작게 표현되어 정보들간의 자연스러운 연결성을 나타내는 배치 방법을 보여준다. 이 방법은 도 15에 도시된 바와 같이 다수의 다면체 컴포넌트들이 곡선으로 연결될 수도 있고, 다른 실시예에서는 원 또는 직선으로 연결될 수도 있다. 컴포넌트의 선택은 사용자의 포커스가 이동하거나, 사용자의 포커스는 고정된 채 컴포넌트들이 상하 또는 좌우로 이동함으로써 가능하다.
도 16은 동일한 크기의 다수의 다면체 컴포넌트들을 격자모양으로 배치되고, 특정 컴포넌트가 선택되면 그 컴포넌트가 전체화면으로 확대되어 표시되는 배치 방법을 보여준다. 이 방법은 많은 양의 정보를 간략하게 하나의 화면상에 펼쳐보여주는 방식으로 더 상세한 정보를 알고 싶은 경우에는 해당 컴포넌트를 선택하여 확대하면 된다.
도 17은 정보가 표시된 여러 다면체 컴포넌트들을 동일한 크기로 한 줄로 펼쳐서 보여주거나 여러 컴포넌트들이 쌓여진 상태로 보여주는 배치 방법을 보여준다. 이 방법을 통해 사용자는 한 방향의 시선처리를 통해 일관성 있는 정보 검색을 할 수 있다. 사용자가 입력 수단으로 상하로 이동하여 특정 컴포넌트를 선택하면 선택된 컴포넌트의 윗면에 공간이 생성되어 더욱 상세한 정보를 보여준다. 컴포넌트의 선택은 사용자의 포커스가 이동하거나, 사용자의 포커스는 고정된 채 컴포넌트들이 상하 또는 좌우로 이동함으로써 가능하다.
도 18은 다수의 컴포넌트들을 방사형으로 배치함으로써 정보의 트리구조를 한눈에 파악할 수 있는 배치 방법을 보여준다. 사용자가 관심있는 정보가 표시된 컴포넌트를 선택하면 해당 컴포넌트가 확대되고 관련 정보들이 나열된다. 이때 주변의 선택되지 않은 컴포넌트들은 축소되거나 멀어진다.
도 19는 많은 양의 정보들이 뒤로 겹쳐져서 보여지고 현재 선택된 컴포넌트의 정보가 가장 앞에 위치하며 중요하지 않은 정보들은 뒤쪽에 위치하는 배치 방법을 보여준다. 겹쳐져 있는 정보면 중 하나를 사용자가 꺼내보는 방식은 다음의 방식들이 가능하다.
첫째, 사용자가 지정한 정보면이 슬라이드 되면서 튀어 나오는 방식(1910)으로, 슬라이딩 되는 방향, 슬라이딩이 멈추는 시점과 위치 등은 UI의 디자인 단계에서 다양하게 설정할 수 있다. 둘째, 일반 책에서 페이지를 넘기는 것과 유사하게 사용자가 지정한 정보면의 앞에 있는 모든 정보면들이 넘겨지는(flip) 방식(1920)으로 지정한 정보면이 보여진다. 셋째, 사용자가 지정한 정보면의 앞에 있는 모든 정보면들이 투명하게 바뀌는 방식(1930)이다.
지금까지 MGUI 환경을 구성하는 다양한 구성 요소들을 설명하였는데, 특히 MGUI 컴포넌트에는 '이벤트 헬퍼(event helper)'라고 불리우는 특별한 MGUI 컴포넌트가 있다.
이벤트 헬퍼는 임의의 MGUI 객체에 설정된 이벤트를 유발(trigger)하는 역할을 하는데, 이 때, 상기 이벤트는 새로 생성되는 MGUI 객체에 설정될 수 있다. 또한, 이벤트 헬퍼에 특정 이벤트가 지정되어 MGUI 객체에 적용될 수도 있는데, 이렇게 특정 이벤트가 지정된 이벤트 헬퍼에는 '활성화 이벤트 헬퍼(activation event helper)', '공간 점프 이벤트 헬퍼(space jump envent helper)', '유도 이벤트 헬퍼(attraction event helper)' 등이 있다. 이하에서 구체적으로 설명한다.
(1) 활성화 이벤트 헬퍼(activation event helper)
어떤 객체가 활성화 이벤트 헬퍼에 접촉하거나 활성화 이벤트 헬퍼 내에 들어왔을 때 그 객체가 가지고 있는 이벤트 또는 활성화 이벤트 헬퍼에 설정되어 있는 이벤트가 시작된다. 후자의 경우 예컨대, '동영상 재생'이라는 이벤트를 갖는 활성화 이벤트 헬퍼에 동영상을 갖는 객체가 들어오면 동영상이 자동으로 재생된 다.
(2) 공간 점프 이벤트 헬퍼(space jump envent helper)
서로 다른 두 활성 공간에 놓인 두 개의 공간 점프 이벤트 헬퍼 간에 연결을 만들어 둔 상태에서 어떤 객체가 두 개의 공간 점프 이벤트 헬퍼 중 어느 한 공간 점프 이벤트 헬퍼에 접촉하거나 안으로 들어오는 경우 그 공간 점프 이벤트 헬퍼에 연결되어 있는 다른 공간 점프 이벤트 헬퍼로 순간적인 공간 이동을 하게 된다.
즉, 공간 점프 이벤트 헬퍼는 3차원 공간의 정보를 이용함에 있어서 효율적으로 정보간의 이동을 할 수 있도록 하는 역할을 한다. 따라서, 공간 점프 이벤트 헬퍼를 이용하여 공간 간의 이동을 설정해 놓으면 이동되는 경로를 빠르게 동적으로 보여줌으로써 정보의 흐름과 연결을 사용자가 자연스럽게 따라갈 수 있게 된다.
공간 점프 이벤트 헬퍼의 기본 형태는 바람직하게는 반투명한 육면체의 형태로 할 수 있지만, 삼각형, 사각형, 육각형, 원형 다이얼 등과 같은 다양한 다면체의 형태로도 변형 가능하다. 또한, 공간 점프 이벤트 헬퍼는 면이 없이 선으로만 표현하는 것도 가능하고, 공간 점프 이벤트 헬퍼의 각 면에도 정보를 나타낼 수 있다.
도 20에서 본 발명의 실시예에 따라 공간 점프 이벤트 헬퍼를 이용하여 동영상 객체를 순간적으로 공간 이동시키는 과정을 나타내고 있다.
이와 같이 공간 점프 이벤트 헬퍼를 이용하여 공간 간의 이동을 설정해 놓으면 이동되는 경로를 빠르게 동적으로 나타냄으로써 정보의 흐름과 연결을 사용자가 자연스럽게 따라 갈 수 있게 된다.
(3) 유도 이벤트 헬퍼(attraction event helper)
유도 이벤트 헬퍼는 마치 자석이 쇠를 끌어오듯 유조 조건을 만족하는 다른 객체들을 유도한다. MGUI 개발자는 유도 이벤트 헬퍼를 만들 때 유도 조건을 설정해 주어야 한다. 예컨대 '동영상 미디어 찾기'라는 유도 조건이 주어진 유도 이벤트 헬퍼의 경우, 사용자가 이 유도 이벤트 헬퍼를 MGUI 환경에서 끌고 다니면 동영상을 포함하고 있는 객체들이 유도 이벤트 헬퍼 쪽으로 모이게 된다.
유도 이벤트 헬퍼는 바람직하게는 다면 입체 도형으로 표현될 수 있는데, 이하에서는 육면체를 예로 하여 설명하기로 한다.
육면체로 표현되는 유도 이벤트 헬퍼는 6개의 정보면으로 구성될 수 있는데, 각각의 정보면에는 시각 정보, 컨텐츠 및 종래의 2차원 GUI 요소들이 표시된다. 이 때, 시각 정보와 컨텐츠는 문자, 웹 페이지, 그림, 동영상 등을 의미하고, 2차원 GUI 요소란 문자입력창(Edit field), 아이콘(icon), 풀다운 메뉴(pull-down menu), 버튼(button)과 같은 요소들을 의미한다.
도 21은 본 발명의 실시에 따른 유도 이벤트 헬퍼의 동작 과정을 나타내는 플로우차트이다.
우선 유도 이벤트 헬퍼가 사용자로부터 사용자 명령을 수신한다(S2110). 이 때, 사용자 명령이란, 사용자에 의해 포커스(선택)/클릭(확인)/컨트롤(작동) 등의 행위가 일어나는 것을 말한다.
유도 이벤트 헬퍼가 사용자로부터 수신하는 사용자 명령의 방식은 ⅰ) 유도 이벤트 헬퍼에 미리 설정된 메뉴 중 하나를 선택하거나, ⅱ) 유도 이벤트 헬퍼의 입력창에 사용자가 찾고자 하는 정보와 관련된 텍스트 키워드(text keyword)를 입력하거나, ⅲ) 유도 이벤트 헬퍼의 형태가 내부가 비어있는 입체도형의 형태인 경우 유도 이벤트 헬퍼의 내부에 특정 정보를 넣을 수 있다. 이 때, 텍스트 키워드란 찾고자 하는 정보의 제목, 내용, 위치 값, 좌표 값, 생성 날짜, 데이터 크기에 해당한는 내용 중 일부를 문자로 나타낸 것을 의미한다.
유도 이벤트 헬퍼가 사용자로부터 사용자 명령을 수신하면, 유도 조건을 만족하는 정보 객체를 유도한다(S2120). 이 때, 유도되는 정보 객체들의 좌표값이 유도 이벤트 헬퍼 쪽으로 이동된다.
유도 조건을 만족하는 정보 객체들이 유도되는 시점은 상기 ⅰ)의 경우에는 사용자가 명령을 내리는 순간과 동시에, 상기 ⅱ)의 경우에는 입력이 되는 순간과 동시에 또는 입력을 마친 후 사용자가 명령을 내리는 순간에, 상기 ⅲ)의 경우에는 유도 이벤트 헬퍼의 내부에 특정 정보를 넣는 순간과 동시에 또는 정보를 넣고 사용자가 확인을 하는 순간이 될 수 있다.
경우에 따라서는 유도된 정보 객체들이 원래의 위치로 되돌아갈 수도 있다(S2130). 즉, 유도된 정보 객체들이 유도 이벤트 헬퍼 쪽으로 유도되기 전의 좌표값으로 이동하게 되는데, 이 과정은 생략될 수 있다.
유도된 정보 객체들이 원래의 위치로 되돌아가는 시점은 시점은 상기 ⅰ)의 경우에는 유도 이벤트 헬퍼의 메뉴가 변경되는 경우에, 상기 ⅱ)의 경우에는 유도 이벤트 헬퍼에 입력되었던 텍스트 키워드가 변경되는 경우에, 상기 ⅲ)의 경우에는 유도 이벤트 헬퍼의 내부에 있던 정보가 유도 이벤트 헬퍼의 외부로 나가는 순간이 될 수 있다. 그 밖에 상기 ⅰ) 내지 ⅲ) 의 경우에 공통으로 유도 이벤트 헬퍼에 고정되어 있던 포커스가 사라지거나 또는 유도 이벤트 헬퍼로 정보 객체들이 유도된 시점으로부터 일정 시간이 경과한 후 자동으로 원래의 위치로 되돌아갈 수도 있다.
도 22는 본 발명의 실시에 따른 유도 이벤트 헬퍼의 동작을 나타내는 예시도로서, 유도 이벤트 헬퍼(2210)가 유도 조건을 만족하는 정보 객체들(2220, 2230)을 유도 이벤트 헬퍼(2210)쪽으로 유도하는 모습을 나타내고 있다.
도 23은 본 발명의 또다른 실시에 따른 유도 이벤트 헬퍼의 동작을 나타내는 예시도로서, 유도 이벤트 헬퍼가 3차원 아바타들과 멀티미디어 아이콘을 유도하는 과정을 나타내고 있다.
(a): 유도 이벤트 헬퍼에 'Familiy Avatar'라는 텍스트 키워드를 입력한다.
(b): 유도 이벤트 헬퍼 쪽으로 'Familiy Avatar'와 관련된 정보 객체들이 이동하기 시작한다.
(c): 유도 이벤트 헬퍼 쪽으로 'Familiy Avatar'와 관련된 정보 객체들이 완전히 끌어당겨진다.
(d): 유도 이벤트 헬퍼에 'Entertainment'라는 텍스트 키워드를 입력한다.
(e): 이미 끌어당겨져 있던 'Familiy Avatar'와 관련된 정보 객체들은 원래의 위치로 되돌아가기 시작하고, 'Entertainment'와 관련된 정보 객체들이 유도 이벤트 헬퍼 쪽으로 이동하기 시작한다.
(f): 유도 이벤트 헬퍼 쪽으로 'Entertainment'와 관련된 정보 객체들이 완 전히 끌어당겨진다.
도 24는 본 발명의 또다른 실시에 따른 유도 이벤트 헬퍼의 동작을 나타내는 예시도로서, 유도 이벤트 헬퍼(2410)가 검색기의 역할을 수행하고 있는 것을 나타내고 있다.
즉, 사용자가 'ch'로 시작하고, 확장자가 'ppt'인 파일들을 검색하기 위하여 유도 이벤트 헬퍼(2410)의 내부에 'ch*.ppt'라는 검색어를 입력하면 해당하는 파일들(2420, 2440, 2460)이 유도 이벤트 헬퍼(2410) 근처로 모여들게 된다. 이러한 기능은 한 화면에 전체가 보이지 않는 3차원 무한 공간에 파일들이 여기저기 놓여져 있는 상태에서 사용자가 원하는 파일들은 검색하고자 할 때 유용하게 이용될 수 있다.
한편, 이벤트 헬퍼는 여러 가지 기본 속성을 갖을 수 있는데, 예컨대 이벤트 헬퍼가 육면체인 경우, 면의 색상, 선의 색상, 면의 투명도, 육면체의 크기, 각 면의 번호, 각 면의 정보면 속성, 육면체의 이름, 특수 옵션, 이벤트(활성화 이벤트의 경우), 연결된 다른 이벤트 헬퍼의 정보(공간 점프 이벤트 헬퍼인 경우), 유도 조건(유도 이벤트 헬퍼인 경우), 이벤트 유발 조건 등이 있다.
면과 선의 색상은 MGUI 환경이 구축된 시스템에서 지원하는 색상에 해당하는 값으로 설정될 수 있다.
면의 투명도는 예컨대 가장 투명한 면의 경우를 0으로, 가장 불투명한 면의 경우를 100으로 함으로써 0부터 100까지의 값으로 설정할 수 있다.
육면체의 크기는 0이상의 값으로 나타낼 수 있고, 각 면의 번호는 0부터 5까 지 연속된 값으로 나타낼 수 있다.
각 면의 정보면 속성은 'TRUE' 또는 'FALSE'로 나타낼 수 있으며, 이 때 'TRUE'로 나타낸 면에 정보가 표현될 수 있다. 또한 육면체를 구성하는 모든 면에 정보면 속성이 부여될 수 있다.
육면체의 이름은 MGUI 환경이 구축된 시스템에서 지원하는 텍스트 형태의 코드로 설정할 수 있다.
특수 옵션은 이벤트 헬퍼가 활성화 이벤트 헬퍼인지, 공간 점프 이벤트 헬퍼인지, 유도 이벤트 헬퍼인지를 나타낸다.
이벤트는 이벤트 헬퍼가 활성화 이벤트 헬퍼인 경우, 지원되는 이벤트 중 적어도 1개 이상 설정될 수 있다.
연결된 다른 이벤트 헬퍼의 정보는 이벤트 헬퍼가 공간 점프 이벤트 헬퍼인 경우, 다른 활성 공간에 존재하는 공간 점프 이벤트 헬퍼의 식별 정보로 설정할 수 있는데, 바람직하게는 상기 식별 정보로는 이벤트 헬퍼의 이름으로 할 수 있다.
유도 조건은 이벤트 헬퍼가 유도 이벤트 헬퍼인 경우, 지원되는 유도 조건 중 적어도 1개 이상 설정될 수 있다.
이벤트 유발 조건은 이벤트 헬퍼에 의해 이벤트가 유발되기 위해 객체가 이벤트 헬퍼에 접촉하기만 해도 되는지, 아니면 객체가 이벤트 헬퍼에 완전히 포함되어야 하는지를 나타낸다.
한편, 이벤트 헬퍼도 MGUI 컴포넌트에 해당하므로 모션을 갖는다. 예컨대, 어떤 객체가 이벤트 헬퍼와 접촉하거나 이벤트 헬퍼 안으로 들어가게 되면, 그 객 체의 외형이 그물을 씌운 듯한 점선으로 바뀌게 된다. 이렇게 함으로써, 이벤트 헬퍼와 객체가 연동되었음을 알 수 있게 되는데, 도 25에서는 이와 같은 이벤트 헬퍼의 모션을 도시하고 있다. 또한, 유도 옵션이 설정된 경우 유도 조건을 만족하는 객체들이 유도 이벤트 헬퍼로 서서히 모여들게 된다. 이 때, 유도 이벤트 헬퍼와 접촉하는 객체들은 유도 이벤트 헬퍼에 붙어 다닐 수도 있다.
사용자는 이벤트 헬퍼를 화면 상에서 이동시켜 다른 객체에 접촉시키거나 다른 객체를 포함하게 할 수도 있다.
한편, 이벤트 헬퍼도 MGUI 컴포넌트에 해당하므로 도 5에서 설명한 블록 구조를 통하여 생성되고 사용자에게 제공될 수 있다. 이하에서는 유도 이벤트 헬퍼를 예로 하여 설명하기로 한다.
이벤트 헬퍼를 제공하는 사용자 인터페이스 제공 장치(500)에 있어서, 제어 모듈(530)은 적어도 1이상의 유도 조건을 나타내는 정보를 갖는 다면체 컴포넌트를 생성한다. 이 때, 상기 정보는 상기 다면체 컴포넌트에 미리 설정된 메뉴 형태로 표현되거나, 상기 다면체 컴포넌트의 문자입력창에 텍스트 키워드를 입력하는 형태로 표현되거나 또는 상기 다면체 컴포넌트의 내부가 비어있는 경우, 사용자가 비어있는 내부에 상기 유도 조건을 입력하는 형태로 표현되는 것이 바람직하다.
또한, 상기 다면체 컴포넌트는 육면체의 형태로 표현되는 것이 바람직하며, 이 경우에 적어도 1이상의 면에 유도 조건을 나타내는 정보가 표현될 수 있다.
생성된 유도 이벤트 헬퍼에 대한 정보는 MGUI 환경에 대한 정보를 저장하는 저장 모듈(550)에 저장된다.
사용자가 입력 모듈(510)을 통하여 특정한 유도 조건을 선택하면, 제어 모듈(530)은 입력 모듈(510)로부터 선택된 유도 조건을 사용자 인터페이스 모듈(520)로 전달한다.
사용자 인터페이스 모듈(520)에서는 상기 입력 모듈로부터 입력된 유도 조건을 만족하는 적어도 1이상의 정보 객체들을 상기 다면체 컴포넌트의 위치로 이동하게 한다. 이 때, 사용자 인터페이스 모듈(520)은 제어 모듈(530)로 하여금 상기 유도 조건을 만족하는 정보 객체에 대한 정보를 저장 모듈(550)로부터 추출하여 사용자 인터페이스 모듈(520)에게 제공하도록 할 수 있다.
또한, 사용자 인터페이스 모듈(520)은 유도 조건을 만족하여 상기 다면체 컴포넌트의 위치로 이동한 정보 객체들이 원래의 위치로 되돌아가게 할 수도 있다.
제어 모듈(530)은 사용자 인터페이스 모듈(520)에 의해 처리된 결과를 받아서 출력 모듈(540)로 전달하고, 출력 모듈(540)은 상기 결과를 디스플레이하게 된다.
한편, 이벤트 헬퍼도 MGUI 컴포넌트에 해당하므로 사용자의 작용(Action)에 의해 이벤트 헬퍼의 모션이 발생하는 과정은 도 7에서 설명한 과정이 그대로 적용될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정하는 것은 아니다.
본 발명의 실시에 따라 3차원 컴포넌트를 이용하여 동적인 3차원 UI를 제공함으로써 정보의 전달에 있어서 직관적이고 사용자의 감성을 만족시킬 수 있는 효과가 있다.
또한, 본 발명의 실시에 따라 3차원 GUI환경과 같은 넓은 GUI 공간에서 사용자가 원하는 정보 객체를 보다 빠르고 효율적으로 볼 수 있는 효과가 있다.

Claims (5)

  1. 적어도 1이상의 유도 조건을 나타내는 정보를 갖는 다면체 컴포넌트를 생성하는 제어 모듈;
    상기 제어 모듈에 의해 생성된 다면체 컴포넌트를 저장하는 저장 모듈;
    사용자로부터 입력된 유도 조건을 만족하는 적어도 1이상의 정보 객체들을 상기 다면체 컴포넌트의 위치로 이동하게 하는 사용자 인터페이스 모듈; 및
    상기 사용자 인터페이스 모듈에 의해 처리된 결과를 디스플레이하는 출력 모듈을 포함하는 사용자 인터페이스 제공 장치.
  2. 제1항에 있어서,
    상기 정보는 상기 다면체 컴포넌트에 미리 설정된 메뉴 형태로 표현되거나, 상기 다면체 컴포넌트의 문자입력창에 텍스트 키워드를 입력하는 형태로 표현되거나 또는 상기 다면체 컴포넌트의 내부가 비어있는 경우, 사용자가 비어있는 내부에 상기 유도 조건을 입력하는 형태로 표현되는 사용자 인터페이스 제공 장치.
  3. 제1항에 있어서,
    상기 다면체 컴포넌트는 육면체의 형태로 표현되는 사용자 인터페이스 제공 장치.
  4. 3차원 모션 그래픽 사용자 인터페이스 환경에 있어서,
    사용자가 적어도 1이상의 유도 조건을 나타내는 정보를 갖는 다면체 컴포넌트에 억세스하는 (a) 단계;
    사용자가 유도 조건을 선택하는 (b) 단계; 및
    상기 선택된 유도 조건을 만족하는 적어도 1이상의 정보 객체들이 상기 다면체 컴포넌트의 위치로 이동하는 (c) 단계를 포함하는 사용자 인터페이스 제공 방법.
  5. 제4항에 있어서,
    상기 정보는 상기 다면체 컴포넌트에 미리 설정된 메뉴 형태로 표현되거나, 상기 다면체 컴포넌트의 문자입력창에 텍스트 키워드를 입력하는 형태로 표현되거나 또는 상기 다면체 컴포넌트의 내부가 비어있는 경우, 사용자가 비어있는 내부에 상기 유도 조건을 입력하는 형태로 표현되는 사용자 인터페이스 제공 방법.
KR1020040058378A 2004-07-26 2004-07-26 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및방법 KR100562908B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040058378A KR100562908B1 (ko) 2004-07-26 2004-07-26 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040058378A KR100562908B1 (ko) 2004-07-26 2004-07-26 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및방법

Publications (2)

Publication Number Publication Date
KR20060009704A KR20060009704A (ko) 2006-02-01
KR100562908B1 true KR100562908B1 (ko) 2006-03-21

Family

ID=37120268

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040058378A KR100562908B1 (ko) 2004-07-26 2004-07-26 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및방법

Country Status (1)

Country Link
KR (1) KR100562908B1 (ko)

Also Published As

Publication number Publication date
KR20060009704A (ko) 2006-02-01

Similar Documents

Publication Publication Date Title
KR100631763B1 (ko) 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치
KR100608589B1 (ko) 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치
KR100755684B1 (ko) 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치
KR100736078B1 (ko) 3차원 모션 그래픽 유저 인터페이스, 이를 제공하는 장치및 방법
KR100746008B1 (ko) 3차원 모션 그래픽 유저 인터페이스, 이를 제공하는 장치및 방법
KR100643276B1 (ko) 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치
US8024671B2 (en) Three-dimensional graphic user interface, and apparatus and method of providing the same
CN102365635B (zh) 界面导航工具
US5546529A (en) Method and apparatus for visualization of database search results
Zeleznik et al. Unicam—2D gestural camera controls for 3D environments
US7068288B1 (en) System and method for moving graphical objects on a computer controlled system
JP2003518681A (ja) 3d画像「ナビゲーション3d」の操作による3d画像の合成におけるナビゲーション方法
WO2009070319A1 (en) Computer graphic user interface and display system
JP2008123376A (ja) メニュー表示装置、情報処理装置及びメニュー表示方法
JP2006039872A (ja) 情報処理方法及び情報処理装置
JP3754111B2 (ja) 階層的に関連した情報の生成方法及びコンピュータ制御ディスプレイシステム
KR100562908B1 (ko) 3차원 모션 그래픽 사용자 인터페이스를 제공하는 장치 및방법
KR20060014874A (ko) 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치
KR100714718B1 (ko) 3차원 모션 그래픽 사용자 인터페이스 및 이를 제공하는방법 및 장치
EP1621988A2 (en) Three-Dimensional Motion Graphic User Interface and method and apparatus for providing the same.
Evans et al. Thinking about 3D-design Constraints for Effective 3D Interfaces
Sudarsanam et al. CubeCam: A Screen-space Camera Manipulation Tool.
Lee Justine users manual
JPH0535437A (ja) ユーザインタフエース作成システム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee