KR100617797B1 - 휴대단말기에서 멀티미디어 데이터를 오버레이 표시하는 장치 및 방법 - Google Patents

휴대단말기에서 멀티미디어 데이터를 오버레이 표시하는 장치 및 방법 Download PDF

Info

Publication number
KR100617797B1
KR100617797B1 KR1020050013132A KR20050013132A KR100617797B1 KR 100617797 B1 KR100617797 B1 KR 100617797B1 KR 1020050013132 A KR1020050013132 A KR 1020050013132A KR 20050013132 A KR20050013132 A KR 20050013132A KR 100617797 B1 KR100617797 B1 KR 100617797B1
Authority
KR
South Korea
Prior art keywords
image
overlay
buffer
display
screen
Prior art date
Application number
KR1020050013132A
Other languages
English (en)
Other versions
KR20060042048A (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 삼성전자주식회사
Publication of KR20060042048A publication Critical patent/KR20060042048A/ko
Application granted granted Critical
Publication of KR100617797B1 publication Critical patent/KR100617797B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B3/00Engineering works in connection with control or use of streams, rivers, coasts, or other marine sites; Sealings or joints for engineering works in general
    • E02B3/04Structures or apparatus for, or methods of, protecting banks, coasts, or harbours
    • E02B3/06Moles; Piers; Quays; Quay walls; Groynes; Breakwaters ; Wave dissipating walls; Quay equipment
    • EFIXED CONSTRUCTIONS
    • E02HYDRAULIC ENGINEERING; FOUNDATIONS; SOIL SHIFTING
    • E02BHYDRAULIC ENGINEERING
    • E02B3/00Engineering works in connection with control or use of streams, rivers, coasts, or other marine sites; Sealings or joints for engineering works in general
    • E02B3/04Structures or apparatus for, or methods of, protecting banks, coasts, or harbours
    • E02B3/12Revetment of banks, dams, watercourses, or the like, e.g. the sea-floor
    • E02B3/129Polyhedrons, tetrapods or similar bodies, whether or not threaded on strings

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Ocean & Marine Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Inorganic Chemistry (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

휴대단말기의 멀티미디어 이미지를 표시하는 장치가, 바탕화면 및 오버레이 이미지들을 저장하는 멀티미디어 메모리와, 상기 바탕화면 이미지를 저장하는 백버퍼와, 상기 오버레이 표시할 이미지들을 오버레이버퍼와, 스크린버퍼와, 상기 백버퍼의 이미지에 상기 오버레이버퍼의 이미지를 오버레이시켜 상기 스크린버퍼에 저장하며, 상기 저장된 스크린버퍼의 이미지를 표시화면으로 출력하는 제어부와, 상기 제어부에서 출력되는 표시화면을 표시하는 표시부로 구성된다.
오버레이, 멀티미디어, 캐릭터 표시

Description

휴대단말기에서 멀티미디어 데이터를 오버레이 표시하는 장치 및 방법{DEVICE AND METHOD FOR DISPLAYING DATA USING OVERLAY TECHNIQUE IN TERMINAL EQUIPMENT}
도 1은 본 발명의 실시예에 따른 휴대단말기의 구성을 도시하는 도면
도 2a - 도 2d는 본 발명의 실시예에 따른 캐릭터 메모리의 구조를 도시하는 도면
도 3a - 도 3d는 본 발명의 실시예에 따른 캐릭터들의 이미지 예를 표시하는 도면
도 4는 본 발명의 제1실시예에 따라 휴대단말기의 표시부에 표시데이타를 표시하기 위한 버퍼의 구조를 설명하기 위한 도면
도 5는 본 발명의 제1실시예에 따라 멀티미디어 데이터를 표시하는 절차를 도시하는 도면
도 6은 본 발명의 제1실시예에 따라 멀티미디어 데이터를 표시하는 절차를 도시하는 도면
도 7은 도 6에서 멀티미디어 데이터를 표시하는 상세한 절차를 도시하는 도면
도 8은 도 6에서 아바타 이미지의 표시 위치를 변경하는 절차를 도시하는 도면
도 9는 도 6에서 아바타 이미지의 크기를 변경하는 절차를 도시하는 도면
도 10은 본 발명의 제2실시예에 따라 멀티미디어 데이터를 표시하는 절차를 도시하는 흐름도
도 11은 도 10에서 사용자에 의해 발생되는 입력을 처리하는 절차를 도시하는 흐름도
도 12는 도 10에서 오버레이 데이터 리스트에 포함된 데이터들을 처리하는 절차를 도시하는 흐름도
도 13은 도 12에서 선택되는 데이터 화소들을 오버레이 처리하는 절차를 도시하는 흐름도
도 14는 도 12에서 선택되는 데이터 화소들을 오버레이 처리하는 다른 절차를 도시하는 흐름도
도 15는 본 발명의 제1실시예에 따라 캐릭터 이미지가 표시화면에 표시되는 동작을 설명하기 위한 도면
본 발명은 휴대단말기의 데이터 표시 장치 및 방법에 관한 것으로, 특히 데 이터를 오버레이시켜 표시할 수 있는 장치 및 방법에 관한 것이다.
일반적으로 휴대단말기라 함은 사용자가 휴대할 수 있는 장치를 의미하는 것으로, 이에 따른 대표적인 장치가 휴대 전화기이다. 상기 휴대전화기는 고유의 전화기 기능 이외에 다양한 부가 기능들을 서비스할 수 있다. 상기 부가 기능을 가지는 휴대전화기들은 카메라를 구비하는 캠코더폰, TV 시청이 가능한 TV폰, MP3 음악화일 청취가 가능한 MP3폰 등이 될 수 있다. 즉, 현재의 휴대전화기는 멀티미디어 데이터를 처리할 수 있는 부가 기능을 가지는 제품들이 증가하고 있는 추세이다.
그리고 상기 멀티미디어 데이터를 처리하는 기능을 가지는 휴대단말기는 일반적으로 LCD 표시부를 구비하며, 상기 멀티미디어 데이터를 표시하기 위한 다양한 표시 방법들이 개발되고 있는 추세이다. 상기 휴대단말기는 다양한 종류의 데이터들을 표시할 수 있어야 한다. 즉, 휴대단말기는 단말기 고유의 기능을 수행하기 위한 데이터를 표시하면서 동시에 멀티미디어 데이터를 표시할 수 있는 기능이 필요하다. 상기 멀티미디어 데이터들 중에서 표시부 상에서 표시 위치를 이동하면서 표시하여야 하는 데이터들이 있다. 즉, 상기 휴대단말기에서 아바타 동작을 표현하는 경우, 상기 아바타의 동작에 따라 표시부 영역의 위치를 바꿔가면서 표시할 수 있어야 한다. 이런 경우, 상기 표시부 상에 위치되고 있는 휴대단말기의 표시 데이터를 유지하면서 상기 아바타의 동작을 표시하는 것이 바람직하다. 즉, 상기 멀티미디어 데이터를 표시하는 경우, 휴대단말기에서 현재 표시되고 있는 화면에 오버레이시켜 멀티미디어 데이터를 표시하는 것이 바람직하다.
따라서 본 발명의 목적은 휴대단말기에서 현재 표시되고 있는 화면 위에 멀티미디어 데이터를 오버레이시켜 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 휴대단말기에서 움직임을 가지는 멀티미디어 데이터를 표시부의 화면 상에 오버레이시켜 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기가 표시화면의 영상에 다른 멀티미디어 데이터 이미지를 블랜딩하여 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기가 오버레이 표시 모드시 표시화면의 오버레이 표시 영역에 오버레이 표시할 멀티미디어 데이터들을 삽입한 후 표시화면 데이터로 출력할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기가 오버레이 표시모드시 표시화면의 오버레이 표시 영역에 오버레이할 멀티미디어 데이터를 설정된 비율로 표시화면 데이터와 블랜딩하여 출력할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기가 화면에 표시할 표시데이타를 저장하는 화면버퍼와 멀티미디어 데이터를 저장하기 위한 오버레이 버퍼를 구비하여 표시부의 화면에 멀티미디어 데이터를 오버레이시켜 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 휴대단말기가 화면에 표시할 표시데이타를 저장하는 화면버퍼와 멀티미디어 데이터를 저장하기 위한 오버레이 버퍼를 구비하여 표시 부의 화면에 멀티미디어 데이터를 오버레이시켜 표시하며, 상기 오버레이 버퍼의 위치를 이동시켜 상기 멀티미디어 데이터의 표시 위치를 가변할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 캐릭터 에이전트 기능을 가지는 휴대단말기가 배경화면의 설정된 표시위치에 캐릭터데이타를 오버레이시켜 표시할 수 있는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 캐릭터 에이전트 기능을 가지는 휴대단말기가 배경화면의 설정된 표시위치에 캐릭터데이타를 오버레이시켜 표시하며, 상기 오버레이 표시시 설정된 비율로 상기 배경화면데이타와 상기 캐릭터데이타를 블랜딩하여 표시할 수 있는 장치 및 방법을 제공함에 있다.
이하 본 발명의 바람직한 실시예들의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
본 발명의 실시예는 휴대단말기에서 멀티미디어 데이터를 표시할 때, 현재 표시되고 있는 있는 화면 위에 멀티미디어 데이터를 오버레이시켜 표시한다. 여기서 상기 멀티미디어 데이터 오버레이(overlay) 기능은 휴대단말기의 운영체제 상에 지원하지 않는 오버레이 기능을 지원하도록 한다. 상기 오버fp이 기능을 수행하기 위한 멀티미디어 이미지 데이터를 처리하는 과정을 추가하며, 상기 멀티미디어 이 미지 데이터의 위치, 방향 및 크기 변화에 따라 가변적으로 표시 기능을 제어할 수 있도록 한다. 또한 본 발명의 실시예에서 상기 멀티미디어 데이터는 캐릭터 데이터들이라고 가정한다. 또한 본 발명의 실시예에서는 상기 캐릭터 데이터가 아바타, 아바타하우스, 아이템 및 배경화면 데이터로 구성된다고 가정한다. 여기서 상기 아바타는 휴대단말기의 사용 상태에 따라 감정을 표현하는 기능을 가질 수 있는 캐릭터이며, 아바타하우스는 휴대단말기의 대기상태에서 표시되는 데이터로 사용될 수 있는 캐릭터이고, 상기 아이템 및 배경화면은 상기 아바타하우스를 구성할 수 있는 캐릭터들이 될 수 있다.
도 1은 본 발명의 실시예에 따른 휴대단말기의 구성을 도시하는 도면이다.
상기 도 1을 참조하면, 무선통신부123은 휴대용 전화기의 무선 통신 기능을 수행한다. 상기 무선통신부123은 송신되는 신호의 주파수를 상승변환 및 증폭하는 RF송신기와, 수신되는 신호를 저잡음 증폭하고 주파수를 하강변환하는 RF수신기등을 포함한다. 데이터처리부120은 상기 송신되는 신호를 부호화 및 변조하는 송신기 및 상기 수신되는 신호를 복조 및 복호화하는 수신기 등을 구비한다. 즉, 상기 데이터 처리부120은 모뎀(MODEM) 및 코덱(CODEC)으로 구성될 수 있다.
키입력부121은 숫자 및 문자 정보를 입력하기 위한 키들 및 각종 기능들을 설정하기 위한 기능키들을 구비한다. 또한 상기 키입력부127은 본 발명의 실시예에 따라 외부의 데이터 단말장치와 근거리 통신을 수행하기 위한 명령어를 발생할 수 있는 키를 구비할 수 있다. 메모리130은 프로그램 메모리, 데이터 메모리들로 구성될 수 있다. 상기 프로그램 메모리는 휴대용 전화기의 일반적인 동작을 제어하기 위한 프로그램들 및 본 발명의 실시예에 따라 캐릭터 데이터들을 오버레이 표시하는 프로그램들을 저장할 수 있다. 또한 상기 데이터메모리는 본 발명의 실시예에 따른 캐릭터 데이터들을 저장하는 캐릭터메모리를 구비한다.
상기 캐릭터메모리는 캐릭터 구조를 저장하는 메모리(이하 캐릭터구조메모리라 칭한다) 및 이에 대응되는 캐릭터이미지데이타들을 저장하는 메모리(이하 캐릭터이미지메모리라 칭한다)들을 구비한다. 여기서 상기 캐릭터구조메모리는 캐릭터의 타입, 애니메이션 및 프레임의 구조들을 저장하며, 캐릭터이미지메모리는 캐릭터의 이미지들을 저장하고 있는 메모리이다.
제어부110은 휴대단말기의 전반적인 동작을 제어하는 기능을 수행한다. 또한 상기 제어부110은 상기 데이터처리부120을 포함할 수도 있다. 따라서 음성 및 오디오신호를 처리하는 마이크 및 스피커는 상기 제어부110에 연결될 수 있으며, 또한 상기 데이터처리부120에 연결될 수도 있다. 상기 제어부110은 본 발명의 실시예에 따라 휴대단말기의 동작에 따라 설정된 캐릭터를 표시하며, 상기 캐릭터의 표시에 따른 아바타의 파라미터들을 갱신하는 동작을 수행한다.
표시부140은 상기 제어부110의 제어하에 상기 휴대단말기의 동작에 따른 정보들을 표시하며, 필요시 상기 캐릭터를 연동시켜 표시한다. 여기서 상기 표시부140은 LCD를 사용할 수 있으며, 이런 경우 상기 표시부140은 LCD제어부(LCD controller), 영상데이타를 저장할 수 있는 메모리 및 LCD표시소자 등을 구비할 수 있다. 여기서 상기 LCD를 터치스크린(touch screen) 방식으로 구현하는 경우, 입력부로 동작할 수도 있다.
상기와 같은 구성을 가지는 휴대단말기는 캐릭터 파일을 구비하며, 상기 캐릭터 파일은 상기 메모리113에 저장된다. 상기 캐릭터 파일의 구조는 도 2a와 같은 구성을 가진다.
상기 도 2a를 참조하면, 상기 캐릭터 파일은 헤더와 이미지들로 구성된다. 즉, 상기 헤더는 캐릭터헤더(character header)210, m개의 애니메이션헤더(animation header)231-23m, 상기 각 에니메이션 헤더 231-23m들에 대응되는 n개의 프레임헤더(frame header)251-25n들로 구성된다. 상기 캐릭터헤더210은 캐릭터의 타입 및 애니메이션 개수를 정의하는 정보 헤더로써, 애니메이션개수는 해당하는 캐릭터 타입에서 표현할 수 있는 캐릭터들의 수가 된다. 상기 애니메이션헤더231-23m은 애니메이션 종류 및 프레임 이미지 수를 정의하는 정보헤더로써, 프레임 이미지의 수가 1이면 단일 이미지(single image)이며 상기 프레임 이미지의 수가 적어도 두개이면 애니메이션으로 표현된다. 상기 프레임헤더251-25m은 애니메이션을 구성하는 프레임 정보와 프레임 이미지 수를 정의하는 정보헤더로써, 상기 대응되는 애니메이션헤더의 프레임 이미지수에 대응되는 수로 구성된다. 즉, 상기 애니메이션헤더의 수(m)는 상기 캐릭터헤더210의 애니메이션 수만큼 구비되며, 상기 프레임 헤더의 수(n)는 대응되는 애니메이션헤더의 수만큼 구비된다. 그리고 상기 캐릭터 이미지271-27m은 는 상기 애니메이션헤더의 수만큼 구비되면, 각각의 애니메이션헤더에 대응되는 캐릭터이미지는 대응되는 프레임헤더의 수에 대응된다.
도 2b는 상기 도 2a의 캐릭터헤더210의 구조를 도시하는 도면이며, 도 2c는 상기 도 2a의 애니메이션헤더231-23m의 구조를 도시하는 도면이고, 도 2d는 상기 도 2a의 프레임헤더251-25m의 구조를 도시하는 도면이다.
상기 도 2b를 참조하면, 캐릭터헤더는 해당하는 캐릭터파일의 타입(type)211, 캐릭터타입211에 대한 정보(detailed information), 그리고 캐릭터타입211에 대한 애니메이션의 수215 등에 정보헤더(information header)이다. 상기 캐릭터헤더210은 캐릭터 타입211, 캐릭터 설명213 및 애니메이션카운터(animation counter)215로 이루어진다. 본 발명의 실시예에서는 상기한 바와 같이 상기 캐릭터타입211은 아바타타입(avatar type), 아바타하우스타입(avatar-house type), 아이템타입(item type), 배경화면타입(back-scenery type)으로 이루어진다고 가정한다. 상기 아바타타입(avatar type)은 아바타에 관한 메모리 영역임을 나타내며, 상기 아바타하우스타입(avatar-house type)은 아바타하우스에 관한 메모리영역임을 나타낸다. 여기서 상기 아바타하우스는 대기상태에서 표시되는 휴대단말기의 화면으로써, 배경화면 및 아이템들의 조합으로 이루어진다. 상기 아이템타입(item type)은 상기 아바타하우스에 사용될 수 있는 아이템에 대한 메모리영역임을 나타내며, 여기서 상기 아이템은 상기 아바타하우스에 포함된 아이템 및 포함되지 않은 아이템들을 모두 포함할 수 있다. 상기 배경화면타입(back-scenery type)은 아바타 하우스에 사용할 수 있는 배경화면에 관한 메모리 영역임을 나타내며, 상기 배경화면도 상기 아바타하우수스에 포함된 배경화면 및 포함되지 않은 배경화면들을 포함할 수 있다.
상기 도 2c를 참조하면, 상기 애니메이션헤더231-23m은 애니메이션식별자(animation identifier, aniID)241, 시작인덱스(start index)243, 메시지정보 (message)245, 프레임카운터(frame counter, framecnt)247 등으로 이루어진다. 상기 애니메이션식별자(animation identifier, aniID)241에는 애니메이션으로 표시되는 이미지블록의 식별자가 저장될 수 있다. 상기 시작인덱스(start index)243은 프레임 이미지의 시작부분을 찾기 위한 주소가 저장될 수 있으며, 이미지 압축을 사용하지 않는 경우에는 상기 시작인덱스(start index)243은 사용되지 않을 수 있다. 상기 메시지정보(message)245 영역에는 애니니메이션 동작에 포함될 수 있는 텍스트 정보들이 저장될 수 있다. 상기 프레임카운터(frame counter, framecnt)247 영역에는 해당 애니메이션으로 표시될 수 있는 이미지 블록의 프레임 이미지 수(상기 프레임 헤더의 수)가 저장될 수 있다. 이때 여기서 상기 애니메이션으로 표시되는 이미지블록의 크기는 적어도 두개 이상의 프레임 이미지들로 구성될 수 있으며, 애니메이션으로 표시되지 않는 단일 이미지(프레임 이미지가 하나로 구성된 경우: non-aniation: just one-cut image)에는 상기 프레임카운터247에는 "1(즉, n=1)"이 저장된다.
상기 도 2d를 참조하면, 상기 프레임헤더251-25m은 프레임 이미지가 표시되는 상기 휴대단말기의 표시부140의 위치 정보 및 표시간격(frame interval)의 정보들을 구비한다. 여기서 상기 PosX 261 및 PosY 263은 해당 이미지가 상기 표시부140에 표시될 시작위치(상대좌표) 정보이며, 폭(width) 265 및 높이(height) 267은 프레임 이미지의 크기를 나타내는 정보이다. 따라서 상기 PosX 261, PosY 263, 폭(width) 265 및 높이(height) 267에 의해 해당하는 프레임 이미지의 표시 위치가 결정된다. 또한 상기 표시간격269는 상기 프레임이미지가 두개 이상으로 구성되는 애니메이션 이미지인 경우에 다음 프레임 표시까지의 시간 간격을 나타내며, 마지막 프레임이미지의 프레임헤더인 경우에는 "0"이 저장된다. 또한 상기 이미지가 단일이미지인 경우에도 상기 표시간격269에는"0"이 저장된다.
상기 도 2d와 같은 구조를 가지는 상기 프레임헤더의 수는 상기한 바와 같이 각 애니메이션헤더231-23m의 프레임카운터247의 수에 의해 결정된다. 즉, 예를들면 애니메이션헤더231에 이미지블록을 구성하는 프레임이미지들의 수가 10이면 상기 프레임헤더251의 프레임헤더의 수는 10이 되며, 애니메이션헤더232의 이미지 블록을 구성하는 프레임이미지들의 수가 15이면 상기 프레임헤더252의 수는 15가 된다. 따라서 상기 프레임헤더251-25m의 수(n)은 해당하는 애니메이션헤더231-23m에 저장된 프레임카운터247의 값에 의해 결정된다.
본 발명의 실시예에서는 상기한 바와 같이 프레임헤더들이 각 애니메이션을 수행하는 이미지블록의 각 프레임이미지들에 대응되는 수로 구성되는 예로 설명되고 있다. 이런 프레임헤더들을 사용하는 경우 상기 표시부140에 이미지를 표시할 때 각 프레임이미지들의 위치를 변경하므로 애니메이션 동작을 표시한다. 그러나 상기 프레임이미지를 구성할 때 이미지의 위치를 미리 변경시켜 프레임이미지를 구성할 수 있다. 이런 방법으로 구성되는 프레임이미지는 상기 표시부140의 고정된 위치에 표시되지만, 상기 프레임이미지를 표시하는 영역내에서 이미지들의 표시위치가 가변되므로 역시 애니메이션 동작으로 표시할 수 있다. 따라서 캐릭터 이미지를 표시할 때 상기 프레임이미지의 구성은 상기 전자 및 후자의 방법을 모두 사용할 수 있다.
도 3a -도 3d는 상기 도 2a - 도 2d와 같은 캐릭터 구조 파일에 대응되는 캐릭터 이미지의 예를 도시하고 있다. 도 3a는 아바타 이미지의 예로써, 하나의 애니메이션이며, 프레임 카운터 값은 7이 된다. 도 3b는 아이템 이미지의 예로써, 7개의 아이템 이미지들을 도시하고 있으며, 이때의 프레임 카운터 값은 1이 된다. 도 3c는 배경화면 이미지의 예로써, 프레임 카운터 값은 1이 된다. 도 3d는 아바타하우스 이미지의 일예로써, 구성은 아바타, 1개의 아이템 및 배경화면 이미지들로 구성된 예를 도시하고 있다.
이때 상기 도 3d와 같은 아바타하우스 이미지를 표시하는 경우, 배경화면 이미지에 상기 아바타 및 아이템 이미지들을 오버레이시켜 표시할 수 있다. 이런 경우 상기 배경화면이미지를 표시하는 영역에 표시되는 상기 아바타 및 아이템의 오버레이 표시영역은 상기 캐릭터파일의 헤더(여기서는 프레임헤더)에 의해 결정될 수 있다. 이때 상기 오버레이영역에 상기 아바타 및(또는) 아이템 이미지를 오버레이시키는 경우, 상기 아바타 및(또는) 아이템 이미지를 그대로 표시할 수 있으며, 또한 상기 배경화면의 이미지에 상기 아바타 및(또는) 아이템 이미지를 설정된 비율로 블랜딩(blending)시켜 표시할 수도 있다. 여기서 상기 배경화면 이미지와 같이 표시부140의 바탕화면이 되는 이미지를 바탕이미지라 칭하고, 상기 바탕이미지에 삽입되어 오버레이되는 이미지를 오버레이 이미지라 칭하기로 한다.
또한 본 발명의 실시예에서는 상기 바탕이미지를 저장하는 버퍼(백버퍼)와 오버레이 이미지를 저장하는 버퍼(오버레이버퍼)를 구비하는 실시예 및 상기 아바타이미지를 저장하는 백버퍼에서 사이 오버레이 이미지를 오버레이시키는 실시예를 살펴보기로 한다.
먼저 상기 백버퍼 및 오버레이버퍼를 사용하는 제1실시 예를 살펴본다.
상기 제1실시예에서 상기 제어부110은 상기 아바타 이미지를 표시하기 위하여 도 4와 같은 표시용 버퍼들을 구비한다.
상기 도 4를 참조하면, 상기 표시부140에 표시되는 표시데이타를 저장하기 위한 버퍼들은 백버퍼(back buffer)151, 오버레이버퍼(overlay buffer)153 및 표시버퍼(screen buffer)155로 구성된다. 여기서 상기 백버퍼151은 상기 표시부140에 표시되는 화면 표시용 데이터(바탕이미지)들을 저장하는 버퍼이며, 오버레이버퍼153은 상기 화면 표시용 데이터들과 오버레이되어 표시되는 이미지(오버레이 이미지)들을 저장하는 버퍼로써, 상기 표시부140에 설정되는 특정 영역에 표시위치가 설정된다. 표시버퍼155는 상기 백버퍼151의 데이터와 상기 오버레이버퍼153의 데이터를 오버레이시켜 상기 표시부140에 표시한다. 이하의 설명에서는 상기 오버레이 이미지가 아바타 이미지라고 가정한다. 여기서 상기 아바타 이미지는 상기 도 5a와 같이 이루어질 수 있으며, 각각의 아바타 이미지들은 각각 표시 위치(프레임헤더의 Pos X, Pos Y, Width, Height)가 결정되어 있으며, 따라서 상기 바탕이미지가 표시되는 화면 영역에서 오버레이되는 영역을 설정할 수 있다.
상기 버퍼151, 153 및 155는 상기 제어부110의 내부메모리, 상기 메모리130의 데이터 메모리 영역, 또는 상기 표시부140의 표시메모리 영역에 위치될 수 있다. 본 발명의 제1실시예에서는 상기 버퍼151, 153, 155는 제어부110의 내부메모리에 위치되는 것으로 가정하여 설명한다.
상기 도 2에서 오버레이버퍼153은 아바타 이미지가 저장되는 표시영역 및 아바타 이미지가 존재하지 않는 투명영역으로 구성된다. 이때 상기 표시영역의 아바타 이미지는 상기 백버퍼151에 저장된 표시데이타와 오버레이되어 표시되며, 투명영역은 상기 백버퍼151에 저장된 표시데이타가 오버레이없이 그대로 표시된다. 또한 상기 오버레이버퍼153의 크기 및 위치는 사용자에 의해 가변될 수 있다. 이때 상기 오버레이버퍼153의 크기 및 위치는 메뉴를 이용하여 설정할 수 있으며, 또한 커서를 이용하여 설정할 수 있다.
상기 제어부110은 상기 표시부140의 화면에 표시하기 위한 바탕화면 데이터를 상기 백버퍼151에 저장하며, 상기 화면 데이터에 오버레이 표시하기 위한 아바타 이미지는 상기 오버레이버퍼153에 저장한다. 그러면 상기 백버퍼151 및 오버레이버퍼153에 저장된 표시데이타는 상기 도 4에 도시된 바와 같이 스크린버퍼155에서 오버레이되어 표시부140에 표시된다.
이때 상기 오버레이버퍼153의 크기 및 위치는 사용자의 지정에 따라 가변할 수 있다. 즉, 사용자가 오버레이버퍼153의 위치 변경을 요구하면, 상기 제어부110은 사용자의 지정에 따라 상기 오버레이버퍼153의 위치를 상하좌우로 이동시킨다. 또한 상기 사용자가 오버레이버퍼153의 크기 변경을 요구하면, 상기 제어부110으 사용자의 지정에 따라 상기 오버레이버퍼153의 크기를 확대 또는 축소할 수 있다. 따라서 상기 표시부140의 화면에 표시되는 아바타이미지는 사용자의 위치 지정에 따라 화면의 특정 영역으로 이동할 수 있으며, 또한 상기 사용자의 크기 변경에 따라 상기 표시부140의 화면에 표시되는 아바타 이미지의 크기를 가변시킬 수 있다.
도 5는 본 발명의 실시에에 따라 휴대단말기에서 표시 화면에 아바타 이미지를 오버레이시켜 표시하는 절차를 도시하는 도면이다.
상기 도 5를 참조하면, 먼저 사용자가 휴대단말기를 동작시키면, 상기 제어부110은 311단계에서 표시모드를 수행한다. 이때 상기 표시모드에서 사용자가 아바타 표시모드를 선택하면, 상기 제어부110은 313단계에서 아바타 표시모드임을 감지하고, 상기 표시부140의 바탕화면 데이터를 상기 백버퍼151에 버퍼링하고 표시하고자 하는 아바타 이미지를 오버레이버퍼153에 저장한다. 이때 상기 휴대단말기는 복수의 아바타들을 구비할 수 있으며, 각 아바타의 구조는 상기 도 2a - 도 2d와 같은 구조를 가진다. 그리고 상기 아바타는 사용자에 의해 선택될 수 있으며, 아바타 표시모드의 경우에 휴대단말기의 상태 또는 사용자의 선택에 의해 상기 도 2c와 같은 구조를 가지는 특정 애니메이션 헤더의 아바타 이미지가 표시될 수 있다. 그리고 특정 애니메이션 헤더에 대응되는 아바타이미지들은 도 2a와 같은 구조로 메모리130의 캐릭터이미지 저장 영역에 저장되어 있으며, 이때 아바타 이미지의 프레임수는 상기 아바타 애니메이션헤더의 프레임카운터(Frame] Cnt)에 의해 알 수 있으며, 각 프레임 이미지들의 위치는 대응되는 상기 도 2d와 같은 프레임헤더들에 의해 알 수 있다. 즉, 하나의 애니메이션 헤더에 대응되는 아바타이미지의 프레임수는 다수개로 이루어져 연속되는 동작으로 아바타의 프레임 이미지들이 표시된다.
따라서 상기 제어부110은 상기 표시 데이터를 프레임 단위로 처리한다. 본 발명의 제1실시예에서는 상기한 바와 같이 상기 백버퍼151, 오버레이버퍼153 및 스크린버퍼155가 제어부110의 내부메모리에 위치된다고 가정한다. 이런 경우 상기 제 어부110은 프레임 크기단위로 화면표시데이타 및 아바타이미지 데이터들을 버퍼링하며, 상기 버퍼링된 데이터들을 픽셀 단위로 오버레이시켜 상기 스크린버퍼153에 출력하여 표시하게 된다. 한다. 여기서는 픽셀단위로 버퍼링된 데이터들을 오버레이시키는 것으로 설명되지만, 라인단위 또는 프레임 단위로 오버레이시킬 수 있다. 또한 상기 백버퍼151의 크기는 상기 스크린버퍼155의 크기와 동일하게 도는 더 크게 설정할 수 있으며, 상기 스크린버퍼155의 크기는 상기 표시부140의 화면크기와 동일할 수 있다.
이때 상기 313단계에서 아바타 표시모드임을 감지하면, 상기 제어부110은 315단계에서 백버퍼151에 상기 표시부140의 화면에 표시할 화면표시 정보들을 버퍼링하고, 오버레이버퍼153에 상기 첫 번째 프레임의 아바타 이미지를 버퍼링한다. 그리고 상기 제어부110은 317단계에서 첫 번째 화소를 선택한 후 319단계에서 상기 오버레이버퍼 영역의 화소인가 검사한다. 이때 오버레이버퍼153의 화소가 아니면 상기 제어부110은 325단계에서 상기 백버퍼151의 화소 데이터를 선택하여 스크린버퍼155에 저장한다.
그러나 상기 화소가 오버레이표시영역에 위치된 경우, 상기 제어부110은 319단계에서 이를 감지하고 321단계에서 오버레이 영역의 투명영역에 위치되는 화소인가를 검사한다. 이때 상기 오버레이 영역의 투명영역은 상기 오버레이버퍼153의 해당 화소위치에 아바타 이미지가 없는 경우이다. 이런 경우 상기 제어부110은 325단계로 진행하여 상기 백버퍼151에 저장된 화소를 상기 스크린버퍼155에 저장한다. 즉, 오버레이 영역이지만 표시할 실제 데이터가 없으므로 화면 표시 데이터를 표시 한다. 또한 상기 제어부110은 상기 아바타 이미지의 표시를 선명하게 하기 위하여 상기 투명영역인 경우에는 상기 표시부140에 투명 영역으로 표시할 수도 있다. 즉, 아바타 이미지가 표시되는 윤곽을 명확하게 하여 상기 아바타의 동작을 선명하게 표시할 수도 있다.
또한 상기 화소 위치가 오버레이 표시영역이고, 상기 오버레이 표시영역 내의 투명영역이 아닌 경우, 이는 실제 아바타 이미지가 있는 오버레이 표시영역이다. 이런 경우 상기 제어부110은 319단계 및 321단계를 통해 이를 감지하고, 323단계에서 상기 스크린버퍼155에 상기 오버레이버퍼153의 화소데이타를 저장하여 오버레이 기능을 수행한다. 이때 상기 오버레이 방법은 상기 백버퍼151에 저장된 화면표시 화소 대신에 상기 오버레이버퍼153의 아바타이미지를 저장할 수 있다. 이런 경우 아바타 이미지의 색상 자체가 표시된다. 그러나 상기 백버퍼151의 화면 표시 화소 데이터와 상기 오버레이버퍼153의 아바타 이미지 화소 데이터의 평균값 또는 상기 아바타 이미지 화소에 가중치를 둔 평균값을 취하여 상기 스크린버퍼155에 저장할 수도 있다. 이런 경우 상기 화면 표시 데이터에 상기 아바타 이미지가 오버레이되어 표시된다.
이후 다음 화소를 선택한 후, 화소 위치가 상기 표시부140의 화면 표시범위 내의 화소인가 검사한다. 즉, 상기 제어부110에서 처리되는 표시데이타가 상기 표시부140의 크기를 벗어날 수 있다. 따라서 상기 제어부110은 상기 표시부140의 화면의 범위 내의 화소인가를 검사하여 벗어나면 한 프레임의 표시가 종료된 것으로 인지한다. 따라서 화면 범위 내의 화소이면 상기 제어부110은 329단계에서 이를 감 지하고 상기 319단계로 진행하여 상기와 같은 동작을 반복한다. 상기 319단계 - 327단계를 반복 수행하면 상기 스크린버퍼155에는 상기 백버퍼151의 화소들과 상기 오버레이버퍼153의1 프레임에 대한 화소들이 오버레이되어 저장된다. 그리고 상기 스크린버퍼155에 저장된 화소들은 라인단위로 상기 표시부140에 전달되어 표시된다.
상기한 바와 같이, 상기 제어부110은 먼저 현재의 화소 위치가 아바타 표시영역 내의 화소인가를 판별하하고, 표시 영역의 범위이면 해당 화소에 대한 아바타의 표시 정보가 투명 영역 내의 화소인가를 판단한다. 이때 상기 아바타 표시영역은 상기 제어부110이 아바타 이미지를 표시하는 표시영역의 시작점을 가지고 있음으로서 처리를 한다. 이때 상기 아바타 표시영역의 투명영역이 아닐 경우 즉 비트맵 정보를 가지고 있을 경우에는 두 가지 방법으로 아바타 이미지를 표현할 수 있다. 그 한 가지 방법은 아바타 이미지의 화소를 그대로 출력하는 방법이며, 다른 한 가지 방법은 두 영역의 화소의 평균값을 구하여 출력하는 방법이다. 이때 상기 후자의 평균값은 출력의 한 방법으로 인식될 수 있으며, 흐리기 효과 (Blur) 등 다른 형태의 이미지 처리 과정을 거칠 수도 있다. 한편, 아바타 표시영역이 아니거나 투명 영역인 경우에는 상기와 마찬가지로 화면 표시데이타(즉, 배경 이미지)를 출력한다.
그리고 상기 1프레임의 화면 및 아바타 이미지들의 오버레이 동작이 종료되면, 상기 제어부110은 상기 329단계에서 이를 감지하고, 231단계에서 현재 처리한 프레임이 마지막 아바타 이미지 프레임인가 검사하며, 아니면 333단계로 진행하여 다음 프레임의 화면 및 아바타 이미지를 선택한 후, 315단계에서 상기 백버퍼151 및 오버레이버퍼153에 버퍼링하면서 상기와 같은 동작을 반복 수행한다. 그리고 상기와 같은 동작은 상기 애니메이션 구별자의 마지막 프레임의 아바타 이미지까지 처리된 후 종료한다.
상기한 바와 같이 오버레이 표시모드이면 상기 제어부110은 상기 백버퍼151의 바탕 화면 이미지 및 오버레이버퍼153의 오버레이 이미지를 스크린버퍼155에 오버레이시켜 저장하며, 상기 제어부110은 상기 스크린버퍼155에 저장된 오버레이 이미지를 표시부140에 표시한다. 오버레이 표시모드시 상기 백버퍼151 및 오버레이버퍼153에 버퍼링되는 이미지들은 프레임 단위로 처리된다. 그리고 처리하여야 할 이미지가 이전에 처리된 프레임 이미지와 동일한 경우에는 해당 버퍼의 내용을 그대로 유지한다. 즉, 상기 오버레이 이미지를 저장하는 오버레이버퍼153은 프레임단위로 오버레이 이미지가 변경될 수 있으므로 (즉, 오버레이되는 이미지가 아바타 이미지와 같은 애니메이션 이미지인 경우 프레임 단위로 오버레이 이미지가 변경되며, 하나의 프레임 이미지로 구성되는 아이템과 같은 경우에는 오버레이 이미지가 고정되어 프레임 간격으로 변경되지 않는다.) 상기 도 5의 317단계에서 버퍼링 동작을 수행하지만, 백버퍼151의 경우에는 프레임 단위로 바탕화면 이미지가 바뀌지 않을 수 있으며, 이런 경우 상기 제어부110은 315단계에서 이전에 백버퍼151에 버퍼링하고 있는 바탕화면 이미지를 그대로 유지시킨다.
또한 상기 백버퍼151은 스크린버퍼155에 동일한 크기를 가질 수 있으며, 따라서 상기 백버퍼151에 저장되는 이미지는 상기 표시부140에 표시되는 가로 및 세 로 방향의 바탕화면범위가 될 수 있다. 그리고 상기 오버레이버퍼153에 버퍼링되는 오버레이 이미지는 상기 백버퍼151의 이미지와 오버레이되어 스크린버퍼155에 저장된다. 이때 상기 스크린버퍼155의 시작점은 상기 백버퍼151의 바탕화면이미지의 시작점이 되며, 미리 설정된 특정 위치에서 오버레이 표시영역의 시작점이 된다. 그리고 상기 오버레이 표시영역의 시작점에서 종료 점 사이의 특정 위치에서 오버레이 영역이 설정된다.
이때 상기 바탕화면 이미지에 상기 오버레이 이미지를 오버레이시켜 표시부140에 표시하기 위하여, 먼저 상기한 바와 같이 상기 백버퍼151에 바탕화면 이미지를 버퍼링하고 상기 오버레이버퍼153에 오버레이 이미지를 버퍼링한다. 이후 상기 제어부110은 표시부140의 바탕화면범위의 시작점에서 시작하여 마지막 점 까지 상기 백버퍼151 및 오버레이버퍼153의 이미지 화소들을 오버레이시켜 스크린버퍼155에 버퍼링시킨다. 이때 상기 바탕화면 이미지의 시작점에서 상기 오버레이 표시영역의 시작점까지는 오버레이 표시영역이 아니므로 상기 백버퍼151에 저장된 바탕화면 이미지 화소들이 버퍼링되며, 오버레이 표시영역 외의 표시영역에서도 상기 바탕화면이미지 화소들이 버퍼링된다. 그리고 상기 오버레이 표시영역 내에서도 투명영역(즉, 오버레이 영역 내에서 오버레이 표시할 실제 이미지가 존재하지 않는 영역)에는 상기 바탕화면이미지들의 화소들이 버퍼링되며, 상기 오버레이 표시영역 내에서만 오버레이 이미지 화소들이 버퍼링된다. 이때 상기 오버레이 표시영역에 버퍼링되는 화소는 상기 오버레이 이미지 화소들이 될 수 있으며, 또한 상기 바탕화면이미지 및 오버레이 이미지 화소의 평균값이 될 수 있다. 또한 상기 오버레이 영역의 투명영역은 상기한 바와 같이 바탕화면이미지 화소들 대신에서 오버레이 이미지의 투명영역의 화소들로 버퍼링할 수도 있다.
상기와 같이 백버퍼151의 바탕화면이미지 및 상기 오버레이버퍼153의 오버레이 이미지들의 화소들을 상기 스크린버퍼155에 저장하면서 상기 화면표시범위 내의 화소들을 모두 버퍼링하면, 상기 제어부110은 1프레임의 화면 및 아바타이미지의 오버레이 동작을 종료하게 된다. 그리고 상기와 같은 두 이미지들의 오버레이 동작을 프레임 단위로 반복 수행하게 되며, 상기와 같이 오버레이 처리된 스크린버퍼155의 이미지들을 표시부140에 표시하게 된다.
상기 도 5와 같은 절차로 아바타 이미지를 오버레이 표시할 수 있다. 이때 상기 도 5는 상기 오버레이 이미지인 아바타 이미지가 상기 표시부140 내의 특정 위치에 고정되어 표시된다. 그러나 휴대단말기에서 상기 표시부140에 표시되는 아바타 이미지는 그 표시 위치를 가변할 수 있으며, 또한 상기 표시되는 아바타 이미지의 크기를 가변시킬 수도 있다. 도 6은 휴대단말기에서 표시부140에 표시되는 아바타 이미지의 크기 및 이미지를 가변시켜 표시하는 절차를 도시하는 흐름도이다.
상기 도 6을 참조하면, 휴대단말기에서 표시모드가 수행되면, 상기 제어부110은 411단계에서 이를 감지하고, 413단계에서 오버레이 표시모드인가를 검사한다. 이때 오버레이 표시모드가 아니면 상기 제어부110은 421단계에서 이를 감지하고 일반 표시모드를 수행한다. 여기서 상기 일반표시모드는 휴대단말기가 휴대단말기의 동작 중에 발생되는 표시 정보를 상기 표시부140에 표시하는 동작을 의미한다.
이때 상기 오버레이표시모드를 수행하는 상태에서 아바타 표시위치의 변경 요구가 발생되면, 상기 제어부110은 417단계에서 이를 감지하고, 419단계에서 상기 아바타 이미지의 표시 위치를 변경하는 절차를 수행한다. 도 8은 상기 도 6의 419단계에서 아바타 이미지의 표시 위치를 변경하는 절차를 도시하는 흐름도이다.
상기 도 8을 참조하면, 상기 제어부110은 아바타 이미지의 표시 위치 변경이 요구되면, 이를 감지하고 표시부140 상의 변경 위치정보의 수신을 대기한다. 이때 상기 아바타 이미지의 표시 위치를 변경하기 위한 정보는 스타일러스 펜(stylus pen)이나 방향키 등을 이용하여 입력할 수 있다. 상기 위치정보가 입력되면, 상기 제어부110은 511단계에서 이를 인지하고, 513단계에서 입력되는 위치정보를 획득한 후, 515단계에서 기본 출력 위치에서 상기 입력된 위치정보의 오프셋 값을 구한 후, 상기 기본출력 위치에 상기 오프셋 정보를 추가한다. 여기서 기본 출력위치라 함은 위치변경을 하지 않은 경우에 아바타 이미지가 표시되는 상기 표시부140의 위치를 의미한다. 이후 상기 제어부110은 517단계에서 상기 오프셋 정보가 추가된 상기 아바타의 표시 변경 위치를 상기 표시부140 상에 표시하며, 사용자의 설정을 대기한다. 이때 사용자가 상기 설정키를 입력하면, 상기 제어부110은 519단계에서 이를 감지하고 상기 오프셋 정보가 추가된 상기 아바타 이미지의 표시위치를 저장한 후 리턴한다.
상기와 같이 아바타 이미지의 표시위치 변경은 상기 제어부110이 가지고 있는 기본출력위치에 그대로 출력하게 되는지, 아니면 사용자가 표시위치를 변경하는지에 대한 판단을 한 후, 기본 출력 위치가 아닌 경우에는 사용자가 이동한 값을 읽어와서 위치 변환 정보를 획득한다. 그리고 상기 아바타 이미지의 기본 출력 위치에 상기 획득된 위치 변환정보에 따른 오프셋 정보를 추가하고, 이에 변환된 데이터를 오버레이 화면 출력에 사용한다.
또한 상기 표시모드를 수행하는 상태에서 사용자가 아바타 이미지의 크기 변경을 요구하면, 상기 제어부110은 도 6의 421단계에서 이를 인지하고, 423단계에서 상기 아바타 이미지의 표시 크기를 변경하는 절차를 수행한다. 도 9는 상기 도 6의 423단계에서 상기 아바타 이미지의 표시 크기를 변경하는 절차를 도시하는 흐름도이다.
상기 도 9를 참조하면, 상기 아바타 크기 변경이 요구되면 상기 제어부110은 551단계에서 기본으로 설정된 아바타 이미지를 억세스하여 상기 표시부140에 표시하며, 사용자의 크기 조정을 위한 입력을 대기한다. 이때 상기 아바타 이미지의 크기 변경 요구도 사용자가 상기 스타일러스 펜 이나 방향키 또는 숫자키를 이용하여 입력할 수 있다. 이때 상기 아바타 이미지의 크기 조절은 확대 또는 축소가 될 수 있다. 이때 확대 요구이면 상기 제어부110은 553단계에서 이를 감지하고 상기 표시되는 아바타 이미지를 요구된 크기로 확대하며, 축소 요구이면 상기 제어부110은 557단계에서 이를 감지하고 559단계에서 상기 표시되는 아바타 이미지를 요구된 크기로 축소한다. 이후 사용자가 설정키를 입력하면, 상기 제어부110은 561단계에서 이를 감지하고 563단계에서 상기 크기가 조정된 아바타 이미지의 사이즈를 저장한다.
상기한 바와 같이 상기 아바타 이미지(즉, 오버레이 이미지)의 크기 변경과 관련한 명령이 발생되면, 상기 제어부110은 아바타의 이미지를 로드하여 표시한 후 크기 조절값을 수신한다. 이때 상기 아바타 이미지의 크기 조절값은 실제 사용자가 숫자로서 지정을 할 수도 있으며 스타일러스 펜등을 이용한 입력으로서 인식이 될 수도 있다. 이 때의 크기 조절 값이 확대일 경우에는 확대 이미지 변환 과정을 수행하며, 축소일 경우에는 축소 이미지 변환 과정을 수행한다. 상기 두 과정은 기본적으로 평균값을 이용한 픽셀의 비트맵의 변환 및 좌표의 확장이라는 구조를 가지고 있으나, 수학적 모델로서 확대의 경우에는 외분점을 가지고 계산을 하게 되며 축소 이미지의 경우에는 내분점을 가지고 계산한다는 차이가 있을 수 있다. 이렇게 변환된 아바타 이미지의 크기 정보는 제어부110에서 아바타 이미지를 출력할 때의 면 크기 값으로 사용한다.
또한 상기 표시모드에서 오버레이 표시모드가 선택되면, 상기 제어부110은 413단계에서 이를 감지하고 415단계에서 상기 오버레이 표시모드를 수행한다. 도 7은 상기 415단계에서 수행하는 오버레이 표시모드의 절차를 도시하는 흐름도이다.
상기 도 7을 참조하면, 상기 제어부110은 451단계 - 465단계에서 상기 도 5의 317단계 - 329단계에서와 같이 1프레임의 화면 이미지 화소들과 아바타 이미지 화소들을 오버레이하여 표시한다. 그리고 상기와 같이 바탕화면 이미지와 아바타 이미지들을 오버레이 표시하는 중에 사용자는 상기 아바타 이미지의 표시 위치 및(또는) 크기를 변경할 수 있다. 이때 상기 아바타 이미지의 표시위치 변경이 요구되면, 상기 제어부110은 469단계에서 이를 감지하고 471단계에서 상기 도 8에 도시된 절차를 수행하면서 상기 아바타 이미지의 표시위치를 변경한다. 그리고 상기 표시 위치가 변경되면, 상기 제어부110은 다음 프레임의 아바타 이미지를 표시할 때 상기 455단계에서 상기 위치가 변경된 오버레이 영역에 아바타 이미지를 표시하게 된다. 또한 상기 아바타 이미지의 크기 변경이 요구되면, 상기 제어부110은 473단계에서 이를 인지하고, 475단계에서 상기 도 9에 도시된 절차를 수행하면서 상기 아바타 이미지의 크기를 변경한다. 그리고 상기 아바타 이미지의 크기가 변경되면, 상기 제어부100은 다음 프레임의 아바타 이미지를 표시할 때 상기 455단계에서 상기 크기가 변경된 상기 오버레이 영역에 아바타 이미지를 표시하게 된다.
그리고 상기와 같은 아바타 이미지의 오버레이 표시동작은 아바타 이미지의 마지막 프레임 까지 반복 수행되며, 마지막 아바타 이미지 프레임이면, 상기 제어부110은 467단계에서 이를 감지하고 상기 오버레이 표시모드를 종료한다.
도 10은 본 발명의 제2실시예에 따른 오버레이 표시 절차를 도시하는 흐름도이다. 본 발명의 제2실시예에서는 오버레이버퍼를 사용하지 않고 백버퍼만을 이용하여 오버레이 기능을 구현한다. 즉, 상기 제2실시예에서는 백버퍼의 바탕화면 데이터에 오버레이 데이터를 삽입하여 오버레이 기능을 구현한다.
상기 도 10을 참조하면, 오버레이 표시 기능이 시작되면 상기 제어부110은 611단계에서 오버레이 데이터 리스트를 빈상태로 초기화하고, 오버레이 데이터의 출력여부를 표시하는 플래그를 초기화한다. 여기서 오버레이 이미지는 압축되지 않은 이미지 데이터를 사용하게 되며, 본 발명의 실시예에서는 비트맵(bitmap) 데이터라고 가정한다. 따라서 상기 오버레이 데이터 리스트는 오버레이비트맵 리스트(overlay bitmap list: 이하 OBL이라 칭한다)가 될 수 있다.
이후 상기 제어부110은 613단계에서 사용자의 입력에 따라 상기 오버레이 기능을 수행하기 위한 기능들을 처리한다. 도 11은 상기 도 10의 613단계에서 수행되는 입력 처리 과정의 절차를 도시하는 흐름도이다. 상기 도 11에서 상기 제어부110은 사용자의 입력에 따라 상기 OBL의 출력여부, 상기 OBL에 오버레이할 이미지의 추가 및 삭제, 그리고 변경들을 설정한다.
상기 도 11을 참조하면, 상기 제어부110은 711단계에서 상기 OBL의 출력여부를 결정하기 위한 위한 입력이 발생되는가 검사하며, OBL 출력여부를 변경하는 입력이 발생되면 713단계에서 사용자의 설정값으로 상기 OBL의 출력여부를 변경한다. 즉, 상기 제어부110은 711단계 및 713단계에서 사용자가 상기 오버레이 표시 기능의 설정을 요구하면 상기 OBL 플래그를 세트하고, 상기 오버레이 표시 기능의 설정을 해제하면 상기 OBL 플래그를 리세트시킨다. 두 번째로 상기 제어부110은 715단계에서 상기 OBL에 비트맵을 추가하는 입력이 발생되는가 검사하며, 비트맵 추가 요구가 발생되면 717단계에서 사용자가 추가를 요구한 비트맵, 표시부140 상의 출력위치, 블랜딩에 사용할 변수 α값을 설정하여 상기 OBL에 추가한다. 세 번째로 상기 제어부110은 719단계에서 상기 OBL에서 포함된 비트맵을 삭제하는 입력이 발생되는가 검사하며, 비트맵 삭제 요구가 발생되면 721단계에서 사용자가 선택한 비트맵을 상기 OBL에서 삭제한다. 네 번째로 상기 제어부110은 723단계에서 비트맵의 출력여부, 위치 및 블랜딩변수 α값의 변경 요구의 발생을 감지하면, 725단계에서 사용자가 변경한 비트맵(출력여부, 위치 및 블랜딩변수 α값)의 변경값을 상기 OBL 내의 해당하는 비트맵에 적용한다.
상기한 바와 같이, 상기 제어부110은 오버레이 표시 기능을 수행하는 경우, 사용자의 설정에 의해 OBL의 출력여부, OBL에 비트맵을 추가하거나 삭제, 그리고 상기 OBL에 등록된 비트맵에 대한 설정값들을 변경할 수 있다.
상기 613단계에서 사용자의 설정에 의해 OBL의 출력여부, 비트맵 추가 및 삭제, 그리고 비트맵의 설정값들을 변경한 후 상기 제어부110은 상기 OBL에 의해 오버레이 표시 기능을 수행하게 된다. 이때 상기 OBL 플래그가 리세트상태이면, 상기 제어부110은 615단계에서 이를 감지하고 617단계에서 상기 바탕화면 데이터를 백버퍼151에 복사하며, 623단계에서 상기 백버퍼151에 복사된 바탕화면 데이터를 상기 스크린버퍼155에 복사한다. 이후 상기 제어부110은 625단게에서 상기 스크린버퍼155에 저장된 바탕화면 데이터를 표시부140에 출력하여 화면으로 표시한다. 상기와 같은 표시 방법은 일반적인 화면 표시방법이 된다.
그러나 상기 615단계에서 OBL 플래그가 세트된 상태이면, 상기 제어부110은 619단계 및 621단계를 수행하면서 상기 백버퍼151에 바탕화면 데이터를 복사한 후 오버레이할 데이터를 복사하여 블랜딩한다. 즉, 상기 제어부110은 619단계에서 상기 표시할 바탕화면 데이터를 상기 백버퍼151에 복사하며, 621단계에서 상기 OBL에 포함된 비트맵 데이터를 백버퍼151의 오버레이 표시영역에 복사한다. 도 12는 상기 621단계에서 상기 OBL의 비트맵 데이터를 상기 백버퍼에 적용하는 절차를 도시하는 흐름도이다.
상기 도 12를 참조하면, 상기 제어부110은 751단계에서 OBL에 오버레이 표시할 비트맵이 포함되어있는가 검사한다. 이때 상기 OBL에 오버레이할 비트맵 데이터 가 포함되어 있지 않으면 상기 백버퍼에 비트맵 데이터를 복사하는 절차를 종료하고 상기 도 10의 623단계로 진행한다. 즉, 상기 OBL 플래그가 세트된 상태이지만 실제 OBL에 포함된 비트맵 데이터가 없으면 바탕화면 데이터만을 출력하게 된다. 그러나 상기 751단계에서 OBL에 비트맵 데이터가 포함되어 있으면, 상기 제어부110은 753단계에서 상기 OBL에 등록된 첫 번째 비트맵 데이터를 선택한 후, 755단계에서 선택된 비트맵 데이터가 출력플래그가 온 상태인가를 검사한다. 이때 상기 출력플래그 온상태가 아니면 상기 선택된 비트맵 데이터를 상기 바탕화면에 복사하는 동작을 수행하지 않는다. 즉, 상기 OBL에 포함된 비트맵 데이터를 상기 백버퍼151에 적용할 때, 해당 비트맵 데이터의 출력 플래그가 오프상태이면 해당 비트맵 데이터의 백버퍼151에 복사하지 않는다.
그러나 상기 선택된 비트맵 데이터의 출력플래그가 온 상태이면, 상기 제어부110은 755단계에서 이를 감지하고 757단계에서 해당 비트맵 데이터의 설정값을 분석하면서 설정된 표시 위치에 상기 비트맵 데이터를 상기 백버퍼151에 복사한다. 이런 경우 상기 백버퍼151에는 상기 바탕화면 데이터가 복사되어 있는 상태이며, 상기 바탕화면에 상기 비트맵 데이터를 오버레이하면서 복사하게 된다. 도 13 및 도 14는 상기 도 12의 757단계에서 상기 비트맵 데이터를 상기 백버퍼151에 복사된 바탕화면 데이터에 오버레이시키는 절차를 도시하는 흐름도이다. 여기서 상기 도 13은 상기 선택된 비트맵 데이터의 블랜딩 변수 α를 동일한 값으로 적용한 경우의 동작 절차를 도시하는 흐름도이고, 상기 도 14는 선택된 비트맵 데이터의 블랜딩 변수 α를 각각 다르게 설정한 경우의 동작 절차를 도시하는 흐름도이다.
먼저 상기 도 1을 참조하면, 먼저 상기 제어부110은 811단계에서 상기 비트맵 데이터의 블랜딩 변수 α를 검사한다. 여기서 상기 블랜딩 변수 α는 상기 비트맵 데이터를 바탕화면 데이터에 오버레이시킬때 두 화소 데이터들을 혼합하는 변수 값을 의미한다. 이때 상기 블랜딩 변수 α가 0이면 상기 비트맵 데이터가 표시되는 오버레이 표시영역에 바탕화면 데이터를 그대로 출력하게 되며, 상기 블랜딩 변수α가 1이면 상기 상기 비트맵 데이터가 표시되는 오버레이 표시영역에 비트맵 데이터를 그대로 출력하게 되고, 상기 블랜딩 변수 α가 0<α<1의 값을 가지면 상기 블랜딩 변수 α의 설정된 값에 따라 상기 오버레이 표시영역에서 상기 바탕화면 데이터와 상기 비트맵 데이터가 블랜딩되어 출력된다.
따라서 상기 811단계에서 상기 블랜딩 변수 α가 0이면 상기 제어부110은 이를 감지하고 비트맵 데이터의 블랜딩 동작을 수행하지 않고 리턴한다. 그러나 상기 블랜딩 변수 α가 0<α<1의 값을 가지면, 상기 제어부110은 811단계에서 이를 감지하고 813단계에서 상기 비트맵 데이터의 첫 번째 화소의 좌표를 위치좌표변수(x,y)에 입력한다. 이후 상기 제어부110은 815단계에서 상기 화소의 좌표를 상기 비트맵이 표시부140 상에 위치할 비트맵 좌표변수(sx+x, sy+y)에 적용한 후, 해당 좌표가 표시부140의 표시영역에 속하는가 검사한다. 즉, 비트맵 데이터가 아바타 또는 아이템일 경우, 상기 도 2d와 같은 프레임 이미지의 프레임 카운터에는 해당하는 이미지가 표시될 시작좌표 및 프레임 이미지의 크기가 미리 결정되어 있다. 따라서 상기 제어부110은 상기 813단계에서 비트맵 데이터을 구성하는 화소의 위치(x,y)를 확인한 후, 상기 화소 위치를 표시부140 상에 표시할 비트맵의 좌표(sx, sy)에 적용하여 해당화소를 상기 표시부140 상에 표시할 위치(sx+x, sy+y)를 결정한 후, 이 위치가 표시부140에 표시할 수 있는 영역 내에 있는가를 검사한다. 이때 상기 표시부140의 영역 내에 속하면, 상기 제어부110으 817단계에서 해당 화소가 투명영역 내의 화소인가를 검사한다. 여기서 상기 투명영역이라 함은 오버레이 표시 영역에서 비트맵 데이터의 화소가 없는 영역을 의미한다. 따라서 상기 화소가 스크린 표시 영역에 포함되고 화소가 투명영역의 화소가 아니면, 상기 제어부110은 819단계에서 상기 오버레이 표시영역에서 상기 바탕화면의 화소와 상기 비트맵의 화소를 상기 블랜딩 변수α(0<α<1) 값으로 블랜딩한다. 이때 블랜딩 방법은 상기 백버퍼151의 표시위치인 (sx+x,sy+y) 좌표에 존재하는 바탕화면의 화소의 RGB 값을 각각 R1,G1,B1이라하고, 상기 비트맵 데이터에서 상기 위치에 해당하는 좌표(x,y) 화소의 RGB 값을 R2,G2,B2라고 하면, 상기 해당 위치의 백버퍼151에서 블랜딩되는 화소를 다음과 같이 α블랜딩하여 설정한다.
R1 = αR2 + (1-α)R1
G1 = αG2 + (1-α)G1
B1 = αB2 + (1-α)B1
그리고 상기 815단계에서 해당 화소가 스크린 표시영역을 벗어나거나 또는 투명영역의 화소이면 상기 블랜딩 동작을 수행하지 않는다. 이런 경우 상기 비트맵 데이터의 해당 화소 위치에는 바탕화면의 화소가 표시될 수 있다. 상기와 같이 비트맵 데이터의 한 화소에 대하여 블랜딩 동작을 수행한 후, 상기 제어부110은 821단계에서 상기 비트맵 데이터의 다음 화소의 좌표를 위치좌표변수(x,y)에 입력한 후, 상기 815단계로 되돌아가 상기와 같은 동작을 반복 수행한다.
따라서 상기 블랜딩 변수α(0<α<1) 값을 가지면, 상기 제어부110은 813단계 - 823단계를 수행하면서 오버레이 표시영역의 비트맵 데이터의 각 화소들을 해당하는 대응되는 바탕화면 데이터의 화소들과 상기와 같이 블랜딩하여 백버퍼151에 다시 저장한다. 따라서 상기 비트맵 데이터들이 상기 바탕화면 데이터들과 상기 상기 블랜딩 변수α(0<α<1) 값으로 혼합되어 표시될 수 있다. 상기와 같은 동작을 반복하여 상기 비트맵 데이터가 표시될 오버레이 표시영역의 화소들에 대한 블랜딩을 모두 종료하면, 상기 제어부110은 823단계에서 이를 감지하고 상기 도 12로 리턴한다.
또한 상기 811단계에서 상기 블랜딩 변수 α가 1(α=1)이면, 상기 제어부110은 831단계-841단계를 수행하면서 상기 오버레이 표시영역에 상기 비트맵 데이터를 그대로 삽입한다. 상기 블랜딩 변수 α가 1(α=1)인 경우, 837단계에서 상기 비트맵 데이터의 화소를 오버레이 표시영역에 블랜딩 없이 삽입하는 동작을 제외하면, 상기 831단계 - 841단계의 동작은 상기 813단계 - 823단계와 유사하게 수행된다. 이때 상기 837단계에서 오버레이 표시영역의 비트맵 데이터들은 블랜딩없이 그대로 삽입되므로, 상기 백버퍼151은 상기 바탕화면 데이터의 오버레이 표시영역에 상기 비트맵 데이터를 포함하는 구조를 가지게 된다. 이때 상기 비트맵 데이터의 투명영역의 화소들 위치인 경우, 상기 도 13에서는 상기 바탕화면의 화소들이 그대로 유지되게 되지만, 상기 835단계의 동작을 수행하지 않으면 상기 오버레이 표시영역은 상기 비트맵 데이터의 구성 그대로 삽입할 수 있음을 알 수 있다.
도 14는 상기 비트맵 데이터들의 각 화소들에 다른 블랜딩 변수 α를 설정하여 오버레이 표시영역에서 바탕화면 데이터와 비트맵 데이터를 블랜딩할 수 있는 방법을 도시하는 흐름도이다.
상기 도 14를 참조하면, 상기 제어부110은 851단계에서 먼저 첫 번째 화소 위치를 확인한 후, 853단계에서 해당 화소의 상기 블랜딩 변수 α값을 분석한다. 이때 상기 블랜딩 변수 α값이 0이면 비트맵 데이터의 해당 화소의 오버레이 표시를 하지 않는다. 두 번째로 상기 블랜딩 변수 α값이 0과 1 사이의 값을 가지면 855단계 - 861단계를 수행하면서 상기한 바와 같이 상기 블랜딩 변수 α값에 따라 바탕화면 데이터의 화소와 비트맵 데이터의 화소를 블랜딩하여 백버퍼151에 저장한다. 세 번째로 상기 블랜딩 변수 α값이 1이면 상기 비트맵의 화소를 상기 백버퍼151의 해당하는 위치에 삽입한다. 따라서 상기와 같이 오버레이 표시영역에 표시될 비트맵 데이터의 각 화소들을 각각 설정된 상기 블랜딩 변수 α값에 의해 처리하여 상기 백버퍼151의 오버레이 표시영역 위치에 저장한다. 상기 도 14와 같은 방법은 오버레이 표시영역에 표시될 비트맵 데이터의 일부 화소 데이터들을 각각 다른 블랜딩 변수 α값으로 처리하여 오버레이 표시 기능을 수행할 수 있게 한다.
상기와 같이 비트맵 데이터를 상기 도 13 또는 도 14와 같이 처리하여 상기 백버퍼151에 저장한 후, 상기 제어부110은 도 12의 761단계로 리턴하여 OBL에 포함된 다음 비트맵 데이터가 존재하는지 검사한다. 즉, 상기 OBL에 등록된 비트맵 데이터가 두개 이상인 경우, 상기 제어부110은 761단계에서 이를 감지하고 759단계에서 다음 비트맵 데이터를 선택한 후, 상기 755단계로 되돌아가 상기 도 13 또는 도 14와 같은 동작을 수행하면서 상기 백버퍼151에 처리되는 비트맵 데이터를 삽입한다. 이후 상기 OBL에 등록된 모든 비트맵 데이터들을 처리하여 상기 백버퍼151에 저장을 완료하면, 상기 제어부110은 761단계에서 이를 감지하고, 상기 도 10의 623단계로 리턴한다.
그러면 상기 제어부110은 상기 도 10의 623단계에서 상기 백버퍼151에 저장된 데이터를 상기 스크린버퍼155에 저장하며, 625단계에서 상기 스크린버퍼155에 저장된 표시데이타들을 상기 표시부140에 출력하도록 제어한다. 그러면 상기 표시부140은 상기 스크린버퍼155에서 출력되는 표시 데이터를 표시한다. 이때 상기 표시되는 데이터는 바탕화면 데이터 및 상기 바탕화면의 설정된 오버레이 표시영역에 비트맵 데이터를 표시하게 된다. 상기와 같은 동작은 오버레이 표시 기능을 해제할 때 까지 수행되며, 상기 오버레이 표시 기능을 종료시키면, 상기 제어부110은 627단계에서 이를 감지하고 629단계에서 상기 OBL에 등록된 비트맵 데이터들의 등록을 해제하고 종료한다.
상기와 같은 오버레이 표시 동작을 상기 도 3d와 같은 아바타하우스 화면을 참조하여 살펴본다. 상기 도 3d와 같은 구성을 가지는 아바타 하우스 화면은 상기 도 3c와 같은 배경화면 이미지에 상기 도 3a 및 도 3b와 같은 아바타 이미지 및 아이템 이미지들이 오버레이되어 표시되는 것임을 알 수 있다. 따라서 상기 도 3c와 같은 대기화면 이미지는 바탕화면 이미지가 될 수 있으며, 도 3a 및 도 3b와 같은 아바타 및 아이템 이미지는 오버레이 이미지들이 됨을 알 수 있다.
상기 제어부110은 도 10의 611단계에서 OBL 및 OBL 플래그들을 초기화하며, 613단계에서 사용자에 의해 입력되는 OBL 정보들을 처리한다. 이때 상기 사용자에 의해 상기 도 5a와 같은 아바타 비트맵 데이터 및 도 5b와 같은 아이템 비트맵 데이터들이 선택되고, 블랜딩 변수 α값이 선택되면, 상기 제어부110은 613단계에서 상기 도 11과 같은 절차를 수행하면서 상기 OBL에 상기 아바타 비트맵 데이터 및 아이템 비트맵 데이터들을 등록하고, 각 비트맵의 블랜딩 변수 값을 설정하며, OBL 출력 플래그를 세트시켜 이후의 오버레이 표시 기능을 수행할 수 있도록 한다. 그러면 상기 OBL 플래그가 온 상태이므로, 상기 제어부110은 도 10의 615단계에서 이를 감지하고, 도 10의 619단계에서 도 3c와 같은 배경화면 이미지를 상기 백버퍼151에 바탕화면 데이터로 복사한다. 이후 상기 제어부110은 621단계에서 상기 OBL에 등록된 비트맵 데이터들을 오버레이 이미지로 상기 백버퍼151에 복사 또는 블랜딩하여 복사한다. 여기서는 상기 오버레이 이미지를 상기 바탕화면 이미지에 블랜딩하지 않고 원래의 오버레이 이미지를 그대로 삽입하는 경우를 예로들어 설명하기로 한다.
이런 경우, 상기 제어부110은 도 12와 같은 절차를 수행하면서 도 3b와 같은 아이템 이미지를 먼저 선택하게 되며, 도 13의 831단계 - 841단계를 수행하면서 상기 아이템 이미지를 상기 백버퍼151에 삽입한다. 즉, 도 3b와 같은 아이템 이미지의 프레임헤더에 존재하는 상기 아이템 이미지의 시작위치 및 크기를 분석한 후, 상기 아이템 이미지들을 표시 위치에 따라 상기 아이템 이미지들을 상기 백버퍼151에 복사한다. 이후 상기 제어부110은 두 번째로 상기 도 3a와 같은 아바타 이미지를 선택한 후, 상기 도 13의 831단계 - 841단계를 수행하면서 상기 아바타 이미지 를 상기 백버퍼151에 삽입한다. 이런 경우 상기 백버퍼151에는 상기 도 3c와 같은 배경화면(바탕화면)에 도 3a 및 도 3b와 같은 아바타 및 아이템 이미지(오버레이 이미지)들이 삽입되어 도 3d와 같은 이미지로 재구성된다. 그러면 상기 제어부110은 도 10의 623단계에서 상기와 같이 배경화면 이미지에 아바타 및 아이템 이미지가 오버레이되어 재구성된 표시화면 데이터를 스크린버퍼155에 복사하며, 625단계에서 상기 스크린버퍼155의 표시 데이터를 표시부140에 출력하여 상기 도 3d와 같이 표시한다.
이때 상기와 같은 동작 절차를 프레임 이미지 단위로 수행되는데, 상기 도 3a와 같은 아바타 이미지들은 애니메이션으로 표시되는 다수의 프레임 이미지들로 구성되고, 상기 배경화면 및 아이템 이미지들은 하나의 이미지(just one-cut image)이므로 변화가 매 프레임마다 동일한 형태로 표시된다. 따라서 상기 애니메이션으로 구성되는 아바타 이미지들은 매 프레임 단위로 상기 백버퍼151에 삽입되어 움직이는 형태의 애니메이션으로 표현된다. 여기서는 상기 배경화면 및 아이템 이미지들이 하나의 프레임 이미지로 예를 들고 있지만, 상기 이미지들도 애니메이션 형태의 복수 프레임 이미지들로 구성되는 경우에는 매 프레임마다 상기 아바타와 같이 백버퍼151에 해당하는 프레임의 이미지들을 복사하면 애니메이션 형태로 표시할 수 있다.
도 15는 본 발명의 제2실시예에 따라 캐릭터 이미지를 표시부140에 오버레이 표시하는 동작을 설명하기 위한 도면이다.
상기 도 15를 참조하면, 상기 오버레이 표시모드이면 상기 제어부110은 상기 백버퍼151에 바탕 화면 이미지에 오버레이 이미지를 오버레이시켜 저장하며, 이후 상기 백버퍼151에 저장된 이미지를 스크린버퍼155에 저장하여 상기 표시부140에 표시하도록 제어한다. 상기 오버레이 표시모드시 상기 바탕화면 이미지 및 오버레이 이미지들은 프레임 단위로 처리된다.
상기 백버퍼151은 스크린버퍼155에 동일한 크기를 가질 수 있으며, 상기 버퍼151 및 155의 크기는 표시부140에 표시되는 화면범위 내의 이미지들을 버퍼링할 수 있는 크기를 가질 수 있다. 따라서 상기 백버퍼151에 저장되는 이미지는 상기 표시부140에 표시되는 가로 및 세로 방향의 바탕화면범위가 될 수 있다. 그리고 상기 오버레이 표시영역의 오버레이 이미지는 상기 백버퍼151에서 바탕화면의 이미지에 오버레이되어 저장되며, 상기 오버레이 표시영역은 상기 도 15에 도시된 바와 같이 화면 표시 범위 내의 임의 위치가 될 수 있다. 상기 도 15에서는 상기 도 3a - 도 3d에 도시된 바와 같은 바탕화면 이미지 및 오버레이 이미지(여기서는 아바타 및 아이템인 경우를 예로들고 있음) 표시하는 경우를 가정하고 있으며, 상기 아바타 및 아이템의 표시 위치는 상기 도 2a - 도 2d와 같은 캐릭터 구조의 프레임 헤더 정보에 의해 결정될 수 있다. 이때 휴대단말기의 사용자가 커서 등을 이용하여 상기 오버레이 이미지의 위치를 변경하면, 상기 제어부110은 상기 이동된 오버레이 이미지의 표시 위치를 확인한 후, 상기 프레임 구조에 해당하는 이미지의 표시위치를 변경하여 설정할 수 있다.
여기서 상기 표시화면의 이미지 시작점은 상기 백버퍼151의 바탕화면이미지의 시작점(또는 오버레이 이미지의 시작점이 상기 표시화면의 시작점인 경우에는 오버레이 이미지의 시작점이 될 수도 있음)이 되며, 미리 설정된 오버레이 표시영역의 시작점에서부터는 상기 오버레이 이미지들이 상기 바탕화면 이미지에 오버레이어 저장된다. 그리고 상기 오버레이 표시영역의 시작점에서 종료 점 사이의 특정 위치에서 오버레이 영역이 설정된다.
상기 도 15를 참조하여 상기 바탕화면 이미지에 상기 오버레이 이미지를 오버레이시켜 표시부140에 표시하는 동작을 살펴보면, 먼저 상기 제어부110은 도 3c와 같은 바탕화면 이미지를 상기 백버퍼151에 버퍼링한다. 이후 상기 제어부110은 표시부140의 바탕화면범위의 시작점에서 시작하여 마지막 점 까지 검사하면서 오버레이 표시영역에 표시할 오버레이 이미지 화소들을 바탕화면 이미지에 오버레이시켜 상기 백버퍼151에 버퍼링한다. 이때 상기 표시화면의 시작점에서 상기 오버레이 표시영역의 시작점까지는 오버레이 표시영역이 아니므로 상기 백버퍼151에는 상기 바탕화면 이미지 화소들이 버퍼링되며, 상기 오버레이 표시영역 영역 외의 화면표시영역에서도 상기 바탕화면이미지 화소들이 버퍼링된다. 그리고 상기 오버레이 표시영역에서는 설정된 오버레이 이미지들이 버퍼링된다. 이때 상기 오버레이 표시영역 내에서 실제 표시되는 이미지 화소들이 없는 투명영역에는 상기 바탕화면이미지들의 화소들을 버퍼링할 수 있으며, 또한 실제 투명영역으로 버퍼링할 수도 있다. 또한 상기 오버레이 표시영역 내에서 오버레이 이미지를 버퍼링할 때, 상기 오버레이 이미지 화소들을 그대로 버퍼링할 수 있으며, 또한 오버레이 이미지 화소에 적절한 가중치를 주어 바탕화면 이미지에 블랜딩할 수도 있다.
상기와 같이 백버퍼151에서 바탕화면이미지 및 오버레이 이미지들의 화소들 을 모두 버퍼링하면, 상기 제어부110은 상기 백버퍼151의 화면 이미지 데이터들을 상기 스크린버퍼155에 버퍼링하여 1프레임의 화면 및 아바타이미지의 오버레이 동작을 종료하게 된다. 그리고 상기와 같은 두 이미지들의 오버레이 동작을 프레임 단위로 반복 수행하게 되며, 상기와 같이 오버레이 처리된 스크린버퍼155의 이미지들이 표시부140에 표시된다.
또한 상기 예는 백버퍼151 및 스크린버퍼155로 구성된 예를들어 설명하고 있지만, 상기 제1실시예에서와 같이 백버퍼151, 오버레이버퍼153 및 스크린버퍼155로 구성된 경우에도 동일하게 적용될 수 있다. 즉, 상기와 같이 3개의 버퍼들을 사용하는 경우, 상기 배경화면 이미지는 백버퍼151에 복사하고, 아이템 이미지들 및 아바타 이미지들은 상기 오버레이버퍼153에 복사한 후, 상기 백버퍼151의 출력에 상기 오버레이버퍼153의 출력을 삽입(또는 블랜딩)하여 상기 스크린버퍼155에 복사하면 동일한 효과를 가지게 된다.
또한 상기 아바타 표시시 아바타 이미지의 방향을 조절할 수도 있다. 즉, 최근의 휴대단말기는 표시되는 이미지의 방향을 회전시킬 수 있다. 이때의 표시되는 이미지의 회전은 90도, 180도 및 270도가 될 수 있다. 따라서 본 발명의 실시예에 따른 아바타 오버레이 표시 기능에서도 역시 상기와 같은 이미지의 방향 조절 기능을 사용할 수 있도록 한다.
[X][Y]→[X1][Y1]
[X`][Y`]=[X1][Y1]
상기 <수학식 1>은 일반적인 경우의 출력값을 나타내며, 상기 <수학식2>는 바탕화면이 회전되었을 경우의 출력값을 나타낸다. 즉, 초기의 [X][Y]에 출력되는 값으로서 [X1][Y1]의 값이 출력이 된다면, 방향이 바뀌어 원래의 [X][Y] 출력이 상하와 좌우가 바뀐 형태가 될 때, [X'][Y'] = [Y1][X1] 이 되는 것이다. 본 발명의 실시예에서 이미지의 방향 전환 방법은 바탕화면 이미지의 방향은 그대로 유지하는 상태에서 오버레이 이미지의 방향만을 회전시켜 표시할 수도 있다.
또한 상기 바탕화면 이미지의 방향이 이미 조절되어 상기 백버퍼151에 버퍼링된 경우에는 상기 스크린버퍼155에 상기 바탕화면이미지의 방향을 역변환하거나 오버레이 이미지를 변환하여 [X][Y]의 변환에 대하여 처리를 할 수 있다.
상술한 바와 같이 멀티미디어 데이터를 표시하는 휴대단말기에서 표시부에 표시되는 화면 이미지에 멀티미디어 이미지를 오버레이시켜 표시할 수 있다. 특히 상기 멀티미디어 이미지가 아바타 이미지인 경우, 상기 표시되는 화면 이미지에 아바타 이미지를 오버레이시켜 표시할 수 있는 이점이 있다. 또한 상기 표시되는 아바타 이미지가 휴대단말기의 상태에 관련된 이미지인 경우에는 휴대단말기의 상태를 시각적으로 표현할 수 있는 이점이 있다.

Claims (16)

  1. 휴대단말기의 멀티미디어 이미지를 표시하는 장치에 있어서,
    바탕화면 및 오버레이 이미지들을 저장하는 멀티미디어 메모리와,
    상기 바탕화면 이미지를 저장하는 백버퍼와,
    상기 오버레이 표시할 이미지들을 오버레이버퍼와,
    스크린버퍼와,
    상기 백버퍼의 이미지에 상기 오버레이버퍼의 이미지를 오버레이시켜 상기 스크린버퍼에 저장하며, 상기 저장된 스크린버퍼의 이미지를 표시화면으로 출력하는 제어부와,
    상기 제어부에서 출력되는 표시화면을 표시하는 표시부로 구성된 것을 특징으로 하는 상기 장치.
  2. 제1항에 있어서, 상기 멀티미디어 메모리의 오버레이 이미지를 저장하는 메모리가 캐릭터 메모리이며,
    상기 캐릭터메모리는,
    오버레이 이미지의 위치 및 크기 정보를 저장하는 헤더메모리와,
    상기 오버레이 이미지를 저장하는 이미지메모리로 구성된 것을 특징으로 하는 상기 장치.
  3. 제2항에 있어서,
    상기 오버레이버퍼가 상기 헤더메모리에 해당하는 위치 및 크기를 가지고, 상기 오버레이 이미지는 이미지 영역과 이미지를 가지지 않는 투명영역으로 구성되며,
    상기 스크린버퍼가 상기 백버퍼의 바탕화면 이미지와, 상기 바탕화면 이미지의 오버레이 표시 영역에 상기 오버레이 이미지를 오버레이 저장하는 것을 특징으로 하는 상기 장치.
  4. 제3항에 있어서, 상기 스크린버퍼에 저장되는 오버레이 이미지는 상기 바탕화면 이미지와의 평균값으로 저장됨을 특징으로 하는 상기 장치.
  5. 휴대단말기의 오버레이 표시방법에 있어서,
    바탕화면 이미지를 버퍼링하는 과정과,
    상기 바탕화면의 표시영역에서 오버레이 표시영역을 결정하는 과정과,
    상기 오버레이 표시영역에 오버레이 이미지를 삽입하는 과정과,
    상기 오버레이 이미지가 삽입된 바탕화면 이미지를 표시하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
  6. 제5항에 있어서, 상기 오버레이 이미지를 삽입하는 과정이,
    상기 오버레이 이미지가 없는 투명 영역이면 상기 바탕화면 이미지를 유지하는 과정과,
    상기 오버레이 이미지가 있으면 상기 오버레이 표시영역에 상기 오버레이 이미지를 삽입하는 과정으로 이루어짐을 특징으로 하는 상기 방법.
  7. 제6항에 있어서, 상기 오버레이이미지를 삽입하는 과정이,
    오버레이 이미지의 블랜딩 변수α(0≤α≤1)에 의해 상기 바탕화면 이미지와 블랜딩되어 삽입됨을 특징으로 하는 상기 방법.
  8. 제6항에 있어서, 상기 오버레이 이미지를 표시하는 과정이,
    상기 바탕화면이미지와 상기 오버레이 이미지의 평균값으로 표시함을 특징으로 하는 상기 방법.
  9. 휴대단말기에서 이미지를 오버레이 표시하는 장치에 있어서,
    바탕화면 및 오버레이 이미지들을 저장하는 캐릭터 메모리와,
    백버퍼 및 스크린버퍼와,
    상기 백버퍼에 바탕화면 이미지 및 오버레이 이미지를 오버레이하여 저장하며, 저장완료시 상기 백버퍼의 이미지를 상기 스크린버퍼에 저장하는 제어부와,
    상기 스크린버퍼에서 출력되는 표시화면을 표시하는 표시부로 구성된 것을 특징으로 하는 상기 장치.
  10. 캐릭터 타입 및 캐릭터 종류에 대한 애니메이션 수에 대한 정보를 포함하는 캐릭터헤더와,
    상기 애니메이션 종류와 해당 애니메이션을 표현하기 위한 프레임 이미지의 수에 대한 정보를 포함하며, 상기 캐릭터헤더의 애니메이션 수 만큼 구비되는 애니메이션헤더들과,
    상기 애니메이션을 구성하는 프레임이미지의 크기 및 표시위치 정보들을 포함하며, 상기 각 애니메이션헤더의 프레임이미지 수 만큼 각각 구비되는 프레임헤더들과,
    상기 애니메이션헤더의 애니메이션 종류에 대응되는 프레임헤더의 프레임 이미지 수 만큼 구비되는 프레임 이미지들로 구성된 것을 특징으로 하는 상기 장치.
  11. 제10항에 있어서, 상기 캐릭터헤더가,
    배경화면인 바탕화면이미지 및 오버레이 이미지인 아바타 및 아이템 이미지 등의 식별자 정보를 나타내는 캐릭터의 타입과,
    상기 캐릭터타입에서 표현할 수 있는 애니메이션 종류의 수를 나타내는 애니메이션 수로 구성된 것을 특징으로 하는 상기 장치.
  12. 제11항에 있어서, 상기 애니메이션헤더가,
    상기 캐릭터의 정의된 동작 애니메이션 또는 동작이미지를 구분하기 위한 식별자와,
    상기 애니메이션을 표현하기 위한 프레임 이미지의 수로 구성된 것을 특징으로 하는 상기 장치.
  13. 제12항에 있어서, 상기 프레임헤더가,
    상기 프레임이미지의 시작위치데이타와,
    상기 프레임이미지의 크기데이타와,
    상기 프레임간의 표시시간 간격 데이터들로 구성된 것을 특징으로 하는 상기 장치.
  14. 제13항에 있어서, 제어부가, 선택되는 배경화면을 바탕화면 이미지로 상기 백버퍼에 저장하며, 선택되는 아바타 및(또는) 아이템들을 상기 바탕화면 이미지에 오버레이시켜 저장하는 것을 특징으로 하는 상기 장치.
  15. 제14항에 있어서, 상기 스크린버퍼에 저장되는 오버레이 이미지는 상기 바탕화면 이미지와의 평균값으로 저장됨을 특징으로 하는 상기 장치.
  16. 제15항에 있어서, 상기 제어부가, 오버레이 이미지의 크기 변경 요구시 지정되는 이미지크기에 대응되는 크기로 상기 오버레이 이미지의 크기를 변경하는 것을 특징으로 하는 상기 장치.
KR1020050013132A 2004-02-17 2005-02-17 휴대단말기에서 멀티미디어 데이터를 오버레이 표시하는 장치 및 방법 KR100617797B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040010381 2004-02-17
KR20040010381 2004-02-17

Publications (2)

Publication Number Publication Date
KR20060042048A KR20060042048A (ko) 2006-05-12
KR100617797B1 true KR100617797B1 (ko) 2006-08-28

Family

ID=37148166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050013132A KR100617797B1 (ko) 2004-02-17 2005-02-17 휴대단말기에서 멀티미디어 데이터를 오버레이 표시하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100617797B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003008694A (ja) 2001-06-22 2003-01-10 Hitachi Kokusai Electric Inc 携帯電話機
KR20040001170A (ko) * 2002-06-27 2004-01-07 삼성전자주식회사 카메라 폰에서 이미지 촬영 및 저장방법
KR20040017054A (ko) * 2002-08-20 2004-02-26 주식회사 팬택 이동통신 단말기에서의 애니메이션 표시 장치 및 방법
KR20040050610A (ko) * 2002-12-10 2004-06-16 엘지전자 주식회사 이동 통신 단말기의 영상 오버레이 장치
KR20050013769A (ko) * 2003-07-29 2005-02-05 삼성전자주식회사 휴대 단말기에서 영상화면의 표시방법
KR20050057702A (ko) * 2003-12-10 2005-06-16 삼성전자주식회사 서브 메모리를 구비한 이동 통신 단말기의 디스플레이 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003008694A (ja) 2001-06-22 2003-01-10 Hitachi Kokusai Electric Inc 携帯電話機
KR20040001170A (ko) * 2002-06-27 2004-01-07 삼성전자주식회사 카메라 폰에서 이미지 촬영 및 저장방법
KR20040017054A (ko) * 2002-08-20 2004-02-26 주식회사 팬택 이동통신 단말기에서의 애니메이션 표시 장치 및 방법
KR20040050610A (ko) * 2002-12-10 2004-06-16 엘지전자 주식회사 이동 통신 단말기의 영상 오버레이 장치
KR20050013769A (ko) * 2003-07-29 2005-02-05 삼성전자주식회사 휴대 단말기에서 영상화면의 표시방법
KR20050057702A (ko) * 2003-12-10 2005-06-16 삼성전자주식회사 서브 메모리를 구비한 이동 통신 단말기의 디스플레이 장치

Also Published As

Publication number Publication date
KR20060042048A (ko) 2006-05-12

Similar Documents

Publication Publication Date Title
CN110766777B (zh) 虚拟形象的生成方法、装置、电子设备及存储介质
CN110377264B (zh) 图层合成方法、装置、电子设备及存储介质
US20090002368A1 (en) Method, apparatus and a computer program product for utilizing a graphical processing unit to provide depth information for autostereoscopic display
JP2009518103A (ja) ユーザがモバイル機器によって大画面ゲームをプレイできるようにするための方法およびシステム
KR20100056049A (ko) 이미지 합성 방법 및 장치
KR100855611B1 (ko) 최소 입력 장치를 통해 작은 스크린 상에서 다중의 비디오 스트림들을 보여주고 편집하는 방법, 장치 및 시스템
WO2010136969A1 (en) Zooming of displayed image data
JP2004172671A (ja) 動画像加工方法及び装置
CN111552530A (zh) 用户界面的终端屏幕适配方法、装置及设备
CN111615682B (zh) 用于基于视角来选择呈现模式的方法和装置
KR20090092035A (ko) 모자이크 영상을 생성하는 방법 및 이를 위한 장치
US20130235081A1 (en) Image processing apparatus, image processing method and recording medium
CN107870703B (zh) 图片全屏展示的方法、系统及终端设备
CN111338743B (zh) 一种界面处理方法、装置及存储介质
US20240272777A1 (en) Method and apparatus for processing incoming call display interface and electronic device
CN115205164A (zh) 图像处理模型的训练方法、视频处理方法、装置及设备
CN113559498B (zh) 三维模型展示方法、装置、存储介质及电子设备
JP2003316490A (ja) 遠隔操作システム及び遠隔操作方法
CN114285958A (zh) 图像处理电路、图像处理方法和电子设备
JP4973908B2 (ja) 通信端末およびその表示方法
US20080163076A1 (en) Replacing web browser images with view finder or gallery pictures
KR100617797B1 (ko) 휴대단말기에서 멀티미디어 데이터를 오버레이 표시하는 장치 및 방법
US20110193873A1 (en) Device and method for generating mosaic image including text
EP2346262A2 (en) Method and apparatus for setting stereoscopic effect in a portable terminal
CN113888673A (zh) 地图编辑方法、系统、装置、计算设备和存储介质

Legal Events

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

Payment date: 20120730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee