본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명의 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
그리고, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
도 1은 본 발명의 일실시예에 따른 휴대용 단말기에서의 사용자 인터페이스(UI) 재구성 방법을 나타낸 순서도이다. 도 2는 본 발명의 일실시예에 따른 휴대용 단말기에서의 2차 편집된 제2 스크립트 언어를 사용하여 사용자 인터페이스(UI) 화면을 재구성하는 과정을 설명하기 위한 순서도이다. 도 3 및 도 4는 본 발명의 일실시예에 따른 2차 편집된 제2 스크립트 언어를 사용하여 작성된 사용자 인터페이스(UI) 화면을 나타낸다. 도 5는 본 발명의 일실시예에 따른 1차 편집된 제1 스크립트 언어를 사용하여 작성된 사용자 인터페이스(UI) 화면을 나타낸다. 도 6 및 도 7은 도 5의 제1 영역에 대해 속성을 변경하여 2차 편집을 하기 위한 사용자 인터페이스(UI) 화면을 나타내고, 도 8은 도 5의 제2 영역에 대해 속성을 변경하여 2차 편집을 하기 위한 사용자 인터페이스(UI) 화면을 나타낸다. 이하에서는 스크립트 언어로 스마일(SMIL) 스크립트를 사용하는 경우를 예로 들어 설명한다.
먼저, 도 1을 참조하면, 개인용 컴퓨터(Personal Computer)에서 사용자 인터페이스(UI) 화면의 각 분할 영역마다 컨텐츠 지정하여 1차 편집된 제1 스크립트 언어를 생성한다(단계 S110). 스크립트 언어로서 예를 들어 스마일(SMIL) 스크립트를 사용할 수 있다. 여기서, 스마일(SMIL; Synchronized Muitimedia Integration Language)은 동기식 멀티미디어 통합 언어의 하나이며, XML(eXtensible Markup Language)의 응용의 하나로서, 멀티미디어 자료의 시간적, 공간적 관계를 정의하고 도시하기 위한 언어이다.
구체적으로, 사용자는 개인용 컴퓨터에서 스마일(SMIL) 편집 툴을 사용하여 사용자 인터페이스(UI) 화면을 복수의 분할 영역으로 나누고, 각 분할 영역마다 컨텐츠를 지정함으로써 1차 편집된 제1 스마일(SMIL) 스크립트를 생성할 수 있다. 상기 컨텐츠는 jpeg, gif, png, bmp 파일 포맷의 정지 영상, k3g, avi, mpg, mpeq 파일 포맷의 동영상, mmf, kmp 파일 포맷의 사운드, 텍스트, flash 파일 포맷과 같 은 애니메이션 동영상, SMS(Short Message Service) 메시지, 또는 MMS(Multimedia Messaging Service) 메시지가 될 수 있다.
상기 생성된 제1 스크립트 언어의 일예로 하기의 스마일(SMIL) 스크립트가 사용될 수 있다.
<smil>
<head> ; SMIL 스크립트 헤더 부분
<meta name="*****" content="********" />
<layout>
<root-layout left="0" top="0" width="240" height="270" z-index="0" />
<region id="IMG_ZONE_ID3" left="0" top="0" width="92" height="25" z-index="0" >
<region id="TEXT_ZONE_ID0" left="51" top="4" width="35" height="17" z-index="0" />
</region>
<region id="IMG_ZONE_ID4" left="92" top="0" width="34" height="25" z-index="0" />
<region id="IMG_ZONE_ID5" left="126" top="0" width="114" height="25" z-index="0" >
<region id="TEXT_ZONE_ID1" left="134" top="4" width="99" height="17" z-index="0" />
</region>
<region id="IMG_NEWS_ZONE_ID1" left="0" top="25" width="123" height="104" z-index="0" >
<region id="INFO_ZONE_ID0" left="8" top="29" width="108" height="96" z-index="0" />
</region>
<region id="IMG_NEWS_ZONE_ID2" left="123" top="25" width="117" height="104" z-index="0" >
<region id="INFO_ZONE_ID1" left="129" top="29" width="100" height="96" z-index="0" />
</region>
<region id="IMG_NOTICE_ZONE_ID6" left="0" top="129" width="240" height="24" z-index="0" >
<region id="TEXT_ZONE_ID4" left="52" top="133" width="182" height="16" z-index="0" />
</region>
<region id="IMG_ZONE_ID0" left="0" top="153" width="240" height="28" z-index="0" />
<region id="IMG_NEWS_ZONE_ID7" left="0" top="181" width="240" height="34" z-index="0" >
<region id="INFO_ZONE_ID2" left="31" top="185" width="202" height="26" z-index="0" />
</region>
<region id="IMG_NEWS_ZONE_ID8" left="0" top="215" width="240" height="34" z-index="0" >
<region id="INFO_ZONE_ID3" left="31" top="219" width="202" height="26" z-index="0" />
</region>
<region id="IMG_ZONE_ID9" left="0" top="249" width="126" height="21" z-index="0" >
<region id="TEXT_ZONE_ID2" left="4" top="251" width="117" height="15" z-index="0" />
</region>
<region id="IMG_ZONE_ID10" left="126" top="249" width="114" height="21" z-index="0" >
<region id="TEXT_ZONE_ID3" left="129" top="253" width="107" height="13" z-index="0" />
</region>
</layout>
<customAttributes id="FOCUSZONE">; 초기화시 디폴트로 포커스될 윈도우에 대 한 설정값
<customTest id="ChZone0" title="IMG_NEWS_ZONE_ID1" defaultState="true" override="visible" />; 초기화시 디폴트로 포커스될 윈도우
<customTest id="ChZone1" title="IMG_NEWS_ZONE_ID2" defaultState="false" override="visible" />
<customTest id="ChZone2" title="IMG_NOTICE_ZONE_ID6" defaultState="false" override="visible" />
<customTest id="ChZone3" title="IMG_ZONE_ID0" defaultState="false" override="visible" />
<customTest id="ChZone4" title="IMG_NEWS_ZONE_ID7" defaultState="false" override="visible" />
<customTest id="ChZone5" title="IMG_NEWS_ZONE_ID8" defaultState="false" override="visible" />
</customAttributes>
</head>
<body> ; SMIL 스크립트 바디 부분
<par id="ENTRANCE">
<text src="%CITY%" region="TEXT_ZONE_ID0" /> ; 텍스트 윈도우
<img src="wzone_country.gif" region="IMG_ZONE_ID3"/> ; 이미지 윈도우
<img src="wzone_icon.gif" region="IMG_ZONE_ID4"/>
<text src="%WEATHER%" region="TEXT_ZONE_ID1" />
<img src="wzone_temperature.gif" region="IMG_ZONE_ID5"/>
<animation src="%IMAGE%" region="INFO_ZONE_ID0" mediaRepeat="strip" /> ; 애니메이션 소스를 가지는 이미지 윈도우
<img src="123photozone_01.gif" region="IMG_NEWS_ZONE_ID1"/>
<animation src="%IMAGE%" region="INFO_ZONE_ID1" mediaRepeat="strip" />
<img src="123photozone_02.gif" region="IMG_NEWS_ZONE_ID2"/>
<textstream src="%NOTICE%" region="TEXT_ZONE_ID4" /> ; 슬라이딩되는 텍스트를 가지는 윈도우
<img src="notice_zone.gif" region="IMG_NOTICE_ZONE_ID6"/>
<img src="en_title.gif" region="IMG_ZONE_ID0"/>
<textstream src="%TITLE%" region="INFO_ZONE_ID2" />
<img src="340textzone_01.gif" region="IMG_NEWS_ZONE_ID7"/>
<textstream src="%TITLE%" region="INFO_ZONE_ID3" />
<img src="341textzone_01.gif" region="IMG_NEWS_ZONE_ID8"/>
<text src="%USER_ID%" region="TEXT_ZONE_ID2" />
<img src="mszone_logon.gif" region="IMG_ZONE_ID9"/>
<text src="%TIME%" region="TEXT_ZONE_ID3" />
<img src="22mszone_logon.gif" region="IMG_ZONE_ID10"/>
</par>
<par id="FOCUSSET"> ; 포커스 이벤트 비활성화될 경우 디스플레이될 이미지 설정
<img src="123photozone_01.gif" region="IMG_NEWS_ZONE_ID1"/>
<img src="123photozone_02.gif" region="IMG_NEWS_ZONE_ID2"/>
<img src="notice_zone.gif" region="IMG_NOTICE_ZONE_ID6"/>
<img src="en_title.gif" region="IMG_ZONE_ID0"/>
<img src="340textzone_01.gif" region="IMG_NEWS_ZONE_ID7"/>
<img src="341textzone_01.gif" region="IMG_NEWS_ZONE_ID8"/>
<switch> ; 포커스 이벤트 활성화될 경우 디스플레이될 이미지를 선택
<img src="123photozone_01_s.gif" region="IMG_NEWS_ZONE_ID1" customTest="ChZone0"/>
<img src="123photozone_02_s.gif" region="IMG_NEWS_ZONE_ID2" customTest="ChZone1"/>
<img src="notice_zone_s.gif" region="IMG_NOTICE_ZONE_ID6" customTest="ChZone2"/>
<img src="en_title.gif" region="IMG_ZONE_ID0" customTest="ChZone3"/>
<img src="340textzone_01_s.gif" region="IMG_NEWS_ZONE_ID7" customTest="ChZone4"/>
<img src="341textzone_01_s.gif" region="IMG_NEWS_ZONE_ID8" customTest="ChZone5"/>
</switch>
</par>
</body>
</smil>
도 3 및 도 4를 참조하여 스마일(SMIL) 스크립트와 사용자 인터페이스(UI) 화면간의 관계를 설명하면 다음과 같다.
상기 스마일(SMIL) 스크립트의 헤더(header)는 사용자 인터페이스(UI) 화면상의 각각의 분할 영역에 대한 영역 ID들(region_id) 및 윈도우 영역 정보-예를 들어 윈도우 형태, 윈도우 영역의 위치 X, Y, 윈도우 크기-를 포함한다. 예를 들어 윈도우 형태는 사각형, 삼각형, 원, 타원등이 될 수 있다. 윈도우가 사각형인 경우 윈도우 위치는 사각형의 좌상단 모서리 좌표 X,Y가 될 수 있고, 윈도우 크기는 사각형의 폭 및 높이를 나타낼 수 있다. 윈도우가 원형인 경우에에는 윈도우 위치는 원의 중심 좌표 X, Y를 나타낼 수 있고, 윈도우 크기는 원의 반경이 될 수 있다. 각각의 윈도우(window)는 고유의 영역 ID(region_id)를 가질수 있다. 상기 영역 ID(region_id)는 각 윈도우 영역이 이미지, 텍스트, 정보 데이터와 같은 다양한 컨텐츠 중에서 무엇을 윈도우 영역에 포함하는지를 판단하는 기준으로 사용될 수 있다.
스마일(SMIL) 스크립트의 바디(body)는 상기 영역 ID(region_id) 값을 근거 로하여 어떠한 컨텐츠를 보여줄 지를 결정한다. 예를들어, 상기 스마일(SMIL) 스크립트의 바디(body)의 <text src="%CITY%" region="TEXT_ZONE_ID0" />는 "TEXT_ZONE_ID0"을 영역 ID(region_id)로 갖는 윈도우 영역에 도시 이름을 텍스트로 보여주겠다는 의미를 갖는다.
상기 스마일(SMIL) 스크립트의 바디(body) 부분의 <par> ~ </par>는 사용자에 의한 포커스 이벤트를 받을 수 있는 소정 영역 ID를 갖는 윈도우 영역이 포커스 이벤트를 통해 활성화 됐을 때와 활성화 되지 안 았을 때의 이미지를 결정하기 위한 태그로서 <par> 태그의“FOCUSSET”은 사용자의 포커스 이벤트를 받을 수 있는 ID를 갖는 윈도우가 현재 어떤 이미지를 디스플레이해야 하는지를 가리킨다. <par> ~ </par> 태그 내의 <switch> ~ </switch> 태그 내에 들어있지 않은 윈도우는 각 설정된 비활성화임을 가리키는 이미지를 디스플레이하게 되고, <switch> ~ </switch> 태그 내에 들어있는 포커스 이벤트를 받을 수 있는 ID를 갖고 있는 윈도우 중에서 현재 포커스 이벤트를 갖고 있는 ID를 갖는 하나의 윈도우만이 태그 내에 지정된 활성화된 이미지를 그리게 된다.
예를 들어 <par> 태그의 시작부분부터 <switch>태그의 시작 전까지의 IMG_NEWS_ZONE_ID1, IMG_NEWS_ZONE_ID2, IMG_NOTICE_ZONE_ID6, IMG_ZONE_ID0, IMG_NEWS_ZONE_ID7, IMG_NEWS_ZONE_ID8을 갖는 윈도우들은 비활성화된 이미지를 디스플레이하고 현재 포커스를 갖고 있는 ID에 해당하는는 윈도우가 <switch> ~ </switch> 태그 내에 ID에 설정된 활성화 이미지를 그림으로서 사용자의 커서 이동에 따른 포커스 이벤트를 처리할 수 있게 되는 것이다.
예를 들어, 도 3에 도시된 휴대용 단말기의 대기화면상의 복수의 분할 영역들 중 상단의 ‘서울’이라는 도시명이 표시된 텍스트 영역(310)은 상기 스마일(SMIL) 스크립트 소스의 헤더에서 ‘TEXT_ZONE_ID0’의 region_id를 가지고 대기 화면상의 X=51, Y=4 위치에 좌측 모서리를 가지며 폭 35, 높이 17인 사각 영역을 나타내는 윈도우 영역에 대응된다.
또한, 예를 들어, 도 3에 도시된 대기화면상의 중간의 텍스트 영역(320)은 상기 스마일(SMIL) 스크립트 소스의 헤더에서 ‘TEXT_ZONE_ID4’의 region_id를 가지고, 대기 화면상의 X=52, Y=133 위치에 좌측 모서리를 가지며 폭 182, 높이 16인 사각 영역을 나타내는 윈도우 영역에 대응된다.
한편, 상기 스마일(SMIL) 스크립트 소스의 헤더에서 <customAttributes id="FOCUSZONE"> 부분은 초기화시 사용자 인터페이스(UI) 화면 상에서 복수의 윈도우 영역 중 디폴트로 포커스 이벤트를 받을 윈도우 영역을 결정한다. 상기 스마일(SMIL) 스크립트 소스의 헤더에서 <customAttributes id="FOCUSZONE"> 부분의 defaultState="true"로 표시된 region_id가 ‘IMAGE_NEWS_ZONE_ID1’인 경우, 도 3에 도시된 초기화시 대기화면상에 디폴트로 포커스 이벤트를 받고 있는 분할 영역은 region_id가 ‘IMAGE_NEWS_ZONE_ID1’인 윈도우 영역에 대응되는 이미지 영역(330)임을 나타낸다. 이미지 영역(330)이 포커스 이벤트를 받는 경우 해당 윈도우 영역에 미리 설정된 속성값에 따라서 애니메이션등이 보여질 수 있다.
예를 들어, 도 3의 텍스트 영역(320)이 포커스 이벤트를 받는 경우에는 미리 설정된 속성값에 따라서 해당 윈도우 영역의 텍스트 데이터가 좌 또는 우로 슬라이 딩되면서 보여질 수 있다.
포커스 이벤트가 텍스트 영역(320)에서 도 3의 우측의 이미지 영역(340)으로 옮겨지게 되면 도 4의 우측의 이미지 영역(410)와 같이 디스플레이되며, 미리 설정된 속성값이 애니메이션으로 설정된 경우에는 도 3의 사람 이미지에서 도 4의 사람 이미지로 전환되면서 해당 윈도우 영역에 애니메이션이 보여질 수 있다. 이 경우, 도 3의 텍스트 영역(320)은 포커스 이벤트가 비활성화되면서 도 3의 슬라이딩 동작이 멈추게 된다.
다시 도 1을 참조하면, 상기 생성된 제1 스크립트 언어와 각 영역마다 지정된 컨텐츠 리소스를 개인용 컴퓨터로부터 휴대용 단말기로 다운로드한다(단계 S120).
휴대용 단말기에서는 상기 다운로드한 제1 스크립트 언어를 읽어들여 사용자 인터페이스(UI) 화면을 구성하고, 사용자가 설정창을 통해서 상기 구성된 사용자 인터페이스(UI) 화면의 각 분할 영역의 속성을 변경하여 2차 편집을 수행함으로써 제2 스크립트 언어를 생성한다(단계 S210). 여기서, 각 분할 영역의 속성은 각 분할 영역의 윈도우 위치(X, Y), 윈도우 크기, 윈도우 형태, 각 분할 영역에 할당된 컨텐츠의 종류-예를 들어 정지 영상 이미지, 텍스트, URL, 동영상 이미지등-, 포커스 이벤트를 받는 윈도우 인지 여부, 포커스 이벤트를 받은 경우 디스플레이될 이미지, 포커스 이벤트를 받지 않은 경우 디스플레이될 이미지, 각 분할 영역의 컨텐츠 종류별 적용 가능한 액션(action), 및 각 분할 영역의 컨텐츠를 사용자가 OK 키등 소정의 키를 눌러서 선택한 경우 해당 컨텐츠에 링크된 경로를 포함할 수 있다. 상기 컨텐츠 종류별 액션은 예를 들어 상기 컨텐츠가 텍스트인 경우에는 상하좌우 스크롤, 이미지인 경우는 애니메이션 및 포커스 효과, 동영상인 경우는 재생(play) 및 정지(stop)을 포함할 수 있다.
도 5는 1차 스크립트 언어에 의해 구성된 도 3의 사용자 인터페이스(UI) 화면에 상응하는 각 윈도우 영역을 나타내며, 도 6 내지 도 8은 사용자가 설정창을 통해 도 5의 각 윈도우 영역에 대해 2차 편집을 수행하는 과정을 나타낸다.
도 5의 사용자 인터페이스(UI) 화면은 복수의 분할 영역으로 이루어질 수 있으며, 각 분할 영역은 예를 들어, 텍스트 영역, 이미지 영역 및 정보 영역으로 구분할 수 있다. 텍스트 영역에는 최근 수신된 SMS, 날씨 정보, 시간 정보, 휴대용 단말기 위치 정보 또는 스케쥴 정보등과 같은 텍스트(text)가 포함되어 디스플레이될 수 있다. 이미지 영역에는 사진 데이터등과 같은 정지 영상, 웹브라우저 또는 동영상 같은 이미지가 포함되어 디스플레이될 수 있다. 정보 영역에는 URL(Uniform Resource Locator), 게임등과 같은 휴대용 단말기내의 애플리케이션등이 포함되어 디스플레이될 수 있다.
먼저 도 6을 참조하면, 사용자가 도 3의 이미지 영역(340)의 부모 윈도우인 배경 윈도우 영역(510)에 대해 소정의 속성을 설정할 수 있으며, 속성이 설정된 경우 자동적으로 영역 ID(region_ID)가 생성된다(601). 구체적으로, 사용자는 배경 윈도우 영역(510)에 대해서 포커스 이벤트를 받는 윈도우인지를 체크 박스(603)에 체크하고, 포커스 이벤트가 활성화된 경우 디스플레이할 이미지의 파일 경로(605)를 설정하고, 포커스 이벤트가 비활성화된 경우 디스플레이할 이미지의 파일 경 로(607)를 설정할 수 있다. 또한, 사용자는 배경 윈도우 영역(510)에 대해서 윈도우 형태(609)를 예를 들어 원, 사각형, 삼각형 중에서 선택할 수 있다. 도 6에서는 윈도우 형태가 사각형으로 선택된 경우 윈도우 사이즈(611)로 윈도우 위치 X, Y, 폭(width), 높이(height)를 설정하는 경우를 예로서 나타낸다.
도 7을 참조하면, 사용자가 자식 윈도우 영역(510)에 대해 소정의 속성을 설정할 수 있으며, 속성이 설정된 경우 자동적으로 영역 ID(region_ID)가 생성된다(601). 구체적으로, 사용자는 자식 윈도우 영역(510)에 대해서 포커스 이벤트를 받는 윈도우인지를 체크 박스(603)에 체크하고, 자식 윈도우 영역(510)에 디스플레이될 컨텐츠의 종류(Data Type, 705)를 설정할 수 있다. 예를 들어, 설정 가능한 컨텐츠의 종류로는 텍스트(text), 이미지(image), 동영상 이미지(video) 및 URL(Uniform Resource Locator)를 포함할 수 있다. 선택된 컨텐츠가 이미지인 경우 상기 이미지는 휴대용 단말기에 저장된 사진 데이터, 웹브라우저, PC 싱크 툴(Sync tool)로 다운로드받은 데이터를 포함할 수 있다. 여기서, URL이 사용자에 의해 선택된 경우 사용자는 URL 사이트를 URL 입력란(706)에 입력할 수 있다. 또한, 자식 윈도우 영역(510)에 디스플레이될 컨텐츠로서 정지 이미지가 선택된 경우 휴대용 단말기의 특정 메뉴 아이콘-예를 들어 문자 수신함, 일정 관리, 영상 전화등-가 자식 윈도우 영역(510)에 디스플레이되도록 설정할 수 있다. 또한, 사용자는 상기 설정된 컨텐츠 종류(705)에 따라서 소정의 액션(707)을 설정할 수 있다. 예를 들어, 텍스트의 경우 상하좌우 스크롤 중의 하나를 선택할 수 있다. 정지 이미지의 경우 애니메이션 효과 및 포커스 효과 중의 하나를 선택할 수 있다. 동영상의 경우 재 생(play) 및 정지(stop) 중의 하나를 선택할 수 있다. 또한, 사용자는 해당 영역 ID를 가지는 자식 윈도우가 선택되었을 때 처리해야할 다음 화면을 보여주기 위한 링크 경로(709)를 설정할 수 있다. 예를 들어, 선택된 컨텐츠가 텍스트로서 웹상의 뉴스 타이틀일 경우 해당 뉴스의 본문으로 링크 경로가 설정될 수 있다. 예를 들어, 선택된 컨텐츠가 이미지로서 사진 이미지인 경우 사용자가 찍은 사진 파일로 링크 경로가 설정될 수 있다. 윈도우 형태(711)를 예를 들어 원, 사각형, 삼각형 중에서 선택할 수 있다. 도 7에서는 윈도우 형태가 사각형으로 선택된 경우 윈도우 사이즈(713)로 윈도우 위치 X, Y, 폭(width), 높이(height)를 설정하는 경우를 예로서 나타낸다.
도 8을 참조하면, 사용자가 텍스트 영역(530)에 대해 소정의 속성을 설정할 수 있으며, 속성이 설정된 경우 자동적으로 영역 ID(region_ID)가 생성된다(601). 구체적으로, 사용자는 텍스트 영역(530)에 대해서 포커스 이벤트를 받는 윈도우인지를 체크 박스(603)에 체크하고, 텍스트 영역(530)에 디스플레이될 컨텐츠를 텍스트 입력란(805)에 설정한다. 텍스트 영역(530)에 디스플레이될 컨텐츠로서 휴대용 단말기가 기본적으로 업데이트하여 제공해줄 수 있는 텍스트 데이터를 설정할 수 있다. 예를 들어, 텍스트 영역(530)에 디스플레이될 컨텐츠로서 최근 수신된 SMS 문자 메시지, 현재 날짜 정보, 현재 시간 정보, 휴대용 단말기의 위치 정보, 날씨 정보, 스케쥴 정보등을 설정할 수 있다. 또한, 텍스트 영역(530)을 SMS 메시지 입력창으로 설정할 수도 있다. 또한, 사용자는 상기 설정된 텍스트 데이터(805)에 따라서 소정의 액션(807)을 설정할 수 있다. 예를 들어, 포커스 이벤트를 받았을 때 상하좌우 스크롤 중의 하나가 되도록 설정할 수 있다. 사용자는 윈도우 형태(809)를 원, 사각형, 삼각형 중에서 선택할 수 있다. 도 8에서는 윈도우 형태가 사각형으로 선택된 경우 윈도우 사이즈(811)로 윈도우 위치 X, Y, 폭(width), 높이(height)를 설정하는 경우를 예로서 나타낸다.
또한, 사용자는 도 8의 사용자 인터페이스(UI) 화면 상의 소정의 윈도우 영역에 휴대용 단말기 내에 저장된 게임, 무선 인터넷, 디지털 멀티미디어 방송등과 같은 애플리케이션을 선택할 수 있는 아이콘을 디스플레이할 수 있다.
또한, 도면에서는 도시하지 않았지만 사용자는 별도의 설정창을 통하여 사용자 인터페이스(UI) 화면 상의 소정의 윈도우 영역의 테두리 굵기, 테두리 색상, 영역 내부의 색상등을 설정할 수도 있다.
사용자는 현재 사용자 인터페이스(UI) 화면 상의 소정의 윈도우 영역에 주식 정보가 스크롤 표시되도록 설정되어 있는 상태를 상기 소정의 윈도우 영역에 수신된 최근 SMS 문자가 스크롤 표시되도록 상기 소정의 윈도우 영역의 속성을 변경할 수 있다.
상기 도 6 내지 도 8에서 설명된 바와 같이, 사용자가 사용자 인터페이스(UI) 화면 상의 각 윈도우 영역의 속성을 설정하여 휴대용 단말기 자체에서 2차 편집 과정을 수행하면 상기 2차 편집된 내용을 기초로하여 제2 스크립트 언어가 생성될 수 있다. 예를 들어, 사용자 인터페이스(UI) 화면 상의 각 윈도우 영역에 디스플레이될 컨텐츠의 윈도우 사이즈로서 윈도우 위치 X, Y, 윈도우 폭 및 높이등을 설정하면 이를 이용하여 스마일(SMIL) 스크립트 헤더를 구성할 수 있고, 각 윈도우 영역에 디스플레이될 컨텐츠의 종류로서 이미지, 동영상, 텍스트등을 설정하면 이를 이용하여 스마일(SMIL) 스크립트 바디의 이미지, 애니메이션, 슬라이딩 텍스트, 일반 텍스트의 소스(source)를 구성할 수 있다.
다시 도 1을 참조하면, 휴대용 단말기에서는 상기 2차 편집 과정을 통하여 생성된 제2 스크립트 언어를 적용하여 사용자 인터페이스(UI) 화면을 변경한다(단계 S220).
이하, 휴대용 단말기에서 상기 제2 스크립트 언어를 적용하여 사용자 인터페이스(UI) 화면을 변경하는 과정에 대해 도 2를 참조하여 설명한다.
도 2를 참조하면, 상기 2차 편집 과정을 통하여 생성된 제2 스크립트 언어- 예를 들어 제2 스마일(SMIL) 스크립트-를 읽어오고(단계 S221), 상기 읽어온 제2 스마일(SMIL) 스크립트로부터 헤더(header) 정보 및 바디(body) 정보를 파싱한다(단계 S223). 헤더 정보에는 각 분할 영역의 윈도우 크기, 윈도우 위치(X,Y) 등에 대한 정보가 포함된다. 상기 제2 스마일(SMIL) 스크립트의 파싱 정보를 이용하여 사용자 인터페이스 화면(UI)의 각 분할 영역을 생성한다(단계 S225). 여기서, 상기 제2 스마일(SMIL) 스크립트의 헤더 정보를 이용하여 각 분할 영역의 계층적(hierarchy)인 구조를 가지는 윈도우 영역을 구성하고, 바디 정보를 이용하여 각 계층적인 구조를 가지는 윈도우 영역에 해당되는 컨텐츠를 매핑할 수 있다. 계층적인 구조를 가지는 윈도우에서 자식 윈도우(child window)는 부모 윈도우(parent window)의 속성을 그대로 승계할 수 있다.
각 분할 영역별 사용자에 의해 설정된 속성에 따른 컨텐츠를 뷰어를 통해 각 분할 영역별로 디스플레이한다(단계 S227).
사용자에 의해 발생된 키이벤트에 따라 변경되는 각 분할 영역의 속성값에 따라 사용자 인터페이스(UI) 화면을 업데이트한다(단계 S229).
도 9는 본 발명의 일 실시예에 따른 사용자 인터페이스(UI) 화면 재구성 기능을 가지는 휴대용 단말기의 구성을 나타내는 블록도이고, 도 10은 본 발명의 일 실시예에 따른 사용자 인터페이스(UI) 화면 재구성을 위한 스크립트 편집 모듈을 설명하기 위한 블록도이다.
도 9를 참조하면, 본 발명의 일 실시예에 따른 휴대용 단말기는 무선 송수신부(910), 제어부(920), 저장부(930), 디스플레이부(940), 키입력부(950), 스피커(960) 및 마이크(970)를 포함한다.
무선 송수신부(510)는 안테나(511)에 유기된 무선 고주파 신호(RF: Radio Frequency)를 수신하여 중간 주파수(Intermediate Frequency)로 변환한 후 다시 베이스 밴드(baseband) 신호로 변환하여 제어부(520)에 제공하고, 제어부(520)로부터 제공되는 베이스 밴드 신호를 중간 주파수로 변환한 후 중간 주파수의 신호를 다시 무선 고주파 신호로 변환하여 안테나(511)에 제공한다.
또는, 무선 송수신부(510)는 상기와 같은 고주파 신호를 중간 주파수 변환을 거쳐 베이스 밴드 신호로 복조하는 헤테로다인 수신 방식 대신 주파수 변환 없이 수신된 고주파 신호에서 직접 신호를 복조하는 직접 변환(direct conversion) 방식을 사용할 수도 있다.
제어부(520)는 휴대용 단말기의 고유 기능 및 음성 통화를 수행하기 위한 제 어 및 처리를 수행한다. 이를 위해 제어부(520)는 무선 송수신부(510)로부터 제공된 베이스밴드 신호를 처리하기 위한 베이스밴드 프로세서를 포함할 수 있고, 송신 및 수신되는 음성의 디지털 처리를 위한 위한 보코더(vocoder)를 포함할 수 있다.
제어부(520)는 스크립트 편집 모듈(921)를 포함한다. 도 10을 참조하면, 스크립트 편집 모듈(921)는 스크립트 파서(1020) 및 뷰어 관리자(1030)를 포함할 수 있다.
스크립트 편집 모듈(921)는 PC에서 다운로드된 1차 편집된 제1 스크립트 언어를 저장부(930)로부터 읽어들인다.
스크립트 파서(1020)는 상기 읽어들인 스크립트(1010)로부터 헤더 정보 및 바디 정보를 파싱하여 각 윈도우 영역에 대한 영역 ID(region_ID), 윈도우 영역 정보 및 각 윈도우 영역의 컨텐츠를 추출하여 각 영역을 구성하기 위한 구조체를 생성한다.
뷰어 관리자(1030)는 사용자에 의해 2차 편집 과정에서 변경된 사용자 인터페이스(UI) 화면의 각 분할 영역에 대한 속성 정보를 사용자 업데이트 정보(1031)로 입력받고, 상기 사용자 업데이트 정보(1031)를 기초로하여 변경된 스크립트 정보(1033)를 이용하여 상기 읽어들인 스크립트(1010)를 수정하여 2차 스크립트 언어를 생성하도록 한다. 뷰어 관리자(1030)는 사용자 인터페이스(UI) 화면의 각 분할 영역을 구성하기 위한 스크립트 정보를 포함하는 구조체를 이용하여 디스플레이부(940)를 통하여 각 분할 영역을 디스플레이한다. 뷰어 관리자(1030)는 포커스 이벤트가 발생한 경우에는 상기 포커스 이벤트에 따라 상기 구조체를 변경하여 디스 플레이부(940)를 통하여 각 분할 영역을 디스플레이한다.
스크립트 편집 모듈(921)은 소프트웨어 프로그램으로 구현되어 제어부(920)에 구비된 프로세서(예를 들면, 베이스밴드 프로세서 또는 어플리케이션 프로세서)가 수행하도록 구성될 수 있다.
저장부(530)는 플래쉬(Flash) 메모리, EEPROM(Electrically Erasable And Programmable Read Only Memory) 등과 같은 비휘발성 메모리가 될 수 있고, 휴대용 단말기의 기본 동작에 필요한 시스템 프로그램(예를 들면 운영체제) 및/또는 기타 응용프로그램이 저장된다. 저장부(530)는 PC에서 다운로드된 1차 편집된 제1 스크립트 언어 및 2차 편집과정에서 생성된 제2 스크립트 언어를 저장할 수 있다.
키입력부(950)는 복수의 숫자, 문자 입력 키 및 특수 기능을 수행하기 위한 기능 키를 포함하고, 사용자에 의해 키조작이 발생하면 이에 상응하는 키입력 신호를 제어부(920)에 제공한다.
특히, 키입력부(950)는 사용자에 의해 소정의 설정창을 통하여 각 분할 영역의 속성을 변경하기 위한 키입력 및 소정의 포커스 이벤트를 지시하는 키입력을 받아 이에 상응하는 이벤트 신호를 제어부(920)에 제공한다.
스피커(960)는 음성 통화시에 사용자의 음성 및 음성 통화 상대방의 음성을 출력한다. 마이크(970)는 음성 통화시에 사용자의 음성을 입력받고 입력된 음성을 이에 상응하는 전기신호로 변환하여 제어부(920)에 제공한다.
상기에서는 대기 화면에서의 각 분할 영역의 속성값을 변경함으로써 사용자가 휴대용 단말기를 사용하여 자신이 원하는 사용자 인터페이스(UI) 화면을 재구성 하는 과정에 대해 설명하였으나, 본 발명의 휴대용 단말기에서의 사용자 인터페이스(UI) 화면 재구성 방법은 휴대용 단말기에 저장된 각 메뉴 화면을 재구성하는 경우에도 적용될 수 있다.
상기에서는 휴대용 단말기로 이동통신 단말기를 예를 들어 설명하였지만, 본 발명의 휴대용 단말기는 이동통신 단말기에만 한정되지 않으며, 개인휴대정보단말기(Personal Digital Assistant), 휴대용 멀티미디어 플레이어(Portable Multimedia Player), MP3 플레이어등과 같은 다양한 휴대용 단말기도 포함할 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.