KR20130048526A - 이동 단말기 및 그 제어 방법 - Google Patents
이동 단말기 및 그 제어 방법 Download PDFInfo
- Publication number
- KR20130048526A KR20130048526A KR1020110113412A KR20110113412A KR20130048526A KR 20130048526 A KR20130048526 A KR 20130048526A KR 1020110113412 A KR1020110113412 A KR 1020110113412A KR 20110113412 A KR20110113412 A KR 20110113412A KR 20130048526 A KR20130048526 A KR 20130048526A
- Authority
- KR
- South Korea
- Prior art keywords
- layer
- mobile terminal
- unit
- application
- module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Telephone Function (AREA)
Abstract
본 발명은 이동 단말기에 관한 것으로, 보다 상세히는 고해상도를 지원하는 이동 단말기의 디스플레이 성능 저하를 방지하기 위한 방법 및 이를 구현한 이동 단말기에 관한 것이다. 본 발명의 일 실시예에 따른 이동 단말기는 복수의 디스플레이 레이어를 포함하는 어플리케이션 및 상기 어플리케이션이 구동될 때, 상기 복수의 레이어 중 제 1 레이어의 활성화 여부에 따라 제 2 레이어를 선택적으로 드로잉(drawing)하는 운영체제가 저장된 제 1 메모리; 및 상기 운영체제의 구동을 위한 연산을 수행하는 제어부를 포함한다.
Description
본 발명은 이동 단말기에 관한 것으로, 보다 상세히는 고해상도를 지원하는 이동 단말기의 디스플레이 성능 저하를 방지하기 위한 방법 및 이를 구현한 이동 단말기에 관한 것이다.
단말기는 이동 가능 여부에 따라 이동 단말기(mobile/portable terminal) 및 고정 단말기(stationary terminal)으로 나뉠 수 있다. 다시 이동 단말기는 사용자의 직접 휴대 가능 여부에 따라 휴대(형) 단말기(handheld terminal) 및 거치형 단말기(vehicle mount terminal)로 나뉠 수 있다.
이와 같은 단말기(terminal)는 기능이 다양화됨에 따라 예를 들어, 사진이나 동영상의 촬영, 음악이나 동영상 파일의 재생, 게임, 방송의 수신 등의 복합적인 기능들을 갖춘 멀티미디어 기기(Multimedia player) 형태로 구현되고 있다.
이러한 단말기의 기능 지지 및 증대를 위해, 단말기의 구조적인 부분 및/또는 소프트웨어적인 부분을 개량하는 것이 고려될 수 있다.
최근, 스마트폰이나 스마트 태블릿과 같은 이동 단말기가 보급된 후 보다 고성능의 이동 단말기에 사용자들의 니즈가 증가하고 있는 추세이다. 그러한 니즈 중 하나는 보다 높은 해상도의 디스플레이를 구비한 이동 단말기이다. 그러나, 디스플레이 해상도가 증가하면, 디스플레이 영상에 대한 연산 부담이 필연적으로 증가하기 때문에 디스플레이 성능(예를 들어, 초당 프레임 수:FPS)이 저하될 수 있다. 이를 해결하기 위하여 단순히 하드웨어 스펙을 올리는 방안이 있을 수 있으나, 이는 이동 단말기의 가격상승과 직결되어 바람직하지 않다.
본 발명은 보다 효율적으로 고해상도 디스플레이 환경에서 디스플레이 성능 저하를 방지할 수 있는 이동 단말기 및 그 제어방법을 제공하기 위한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 이동 단말기는 복수의 디스플레이 레이어를 포함하는 어플리케이션 및 상기 어플리케이션이 구동될 때, 상기 복수의 레이어 중 제 1 레이어의 활성화 여부에 따라 제 2 레이어를 선택적으로 드로잉(drawing)하는 운영체제가 저장된 제 1 메모리; 및 상기 운영체제의 구동을 위한 연산을 수행하는 제어부를 포함한다.
이때, 상기 이동 단말기는 상기 복수의 레이어 중 적어도 하나가 중첩된 영상을 표시하는 디스플레이부를 더 포함할 수 있다.
또한, 상기 제어부는 중앙 처리 유닛(CPU)과 그래픽 연산 유닛(GPU)을 포함하고, 상기 중첩된 영상은 상기 GPU에 의해 생성되는 것이 바람직하다.
또한, 상기 드로잉은 상기 GPU를 통한 드로잉 가속을 위한 소정의 응용 프로그램 프로그래밍 인터페이스(API)의 드로잉 함수를 통해 수행되는 것이 바람직하다.
아울러, 상기 이동 단말기는 상기 CPU와 상기 GPU에 공유된 제 2 메모리를 더 포함할 수 있고, 상기 GPU는 상기 GPU의 레지스터로부터 스왑 아웃(swapped out)되는 컨텍스트의 상태정보를 상기 제 2 메모리로 하여 저장하고, 상기 컨텍스트가 활성화되는 경우, 상기 제 2 메모리를 직접 억세스할 수 있다.
상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 이동 단말기를 통하여 보다 효율적으로 고해상도 디스플레이 환경에서 디스플레이 성능 저하를 방지할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예와 관련된 이동 단말기의 블록 구성도(block diagram)이다.
도 2는 본 발명의 일 실시예에 관련된 이동 단말기의 전면 사시도이다.
도 3은 이동 단말기의 사용자 인터페이스 구성의 일례를 나타낸다.
도 4는 도 3의 사용자 인터페이스를 구성하는 레이어 구조의 일례를 각각 나타낸다.
도 5는 본 발명의 일 실시예에 따른 이동 단말기에서 선택적 레이어 비활성화 방법을 적용한 디스플레이 과정의 일례를 나타낸 순서도이다.
도 6은 본 발명의 일 실시예에 따른 이동 단말기에서 월페이퍼 레이어 드로우 여부에 따른 중첩 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 관련된 이동 단말기의 전면 사시도이다.
도 3은 이동 단말기의 사용자 인터페이스 구성의 일례를 나타낸다.
도 4는 도 3의 사용자 인터페이스를 구성하는 레이어 구조의 일례를 각각 나타낸다.
도 5는 본 발명의 일 실시예에 따른 이동 단말기에서 선택적 레이어 비활성화 방법을 적용한 디스플레이 과정의 일례를 나타낸 순서도이다.
도 6은 본 발명의 일 실시예에 따른 이동 단말기에서 월페이퍼 레이어 드로우 여부에 따른 중첩 과정을 설명하기 위한 도면이다.
이하, 본 발명과 관련된 이동 단말기에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 명세서에서 설명되는 이동 단말기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, 태플릿 컴퓨터 등이 포함될 수 있다. 그러나, 본 명세서에 기재된 실시예에 따른 구성은 이동 단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.
전체구성
도 1은 본 발명의 일 실시예와 관련된 이동 단말기의 블록 구성도(block diagram)이다.
상기 이동 단말기(100)는 무선 통신부(110), A/V(Audio/Video) 입력부(120), 사용자 입력부(130), 센싱부(140), 출력부(150), 메모리(160), 인터페이스부(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 이동 단말기가 구현될 수도 있다.
이하, 상기 구성요소들에 대해 차례로 살펴본다.
무선 통신부(110)는 이동 단말기(100)와 무선 통신 시스템 사이 또는 이동 단말기(100)와 이동 단말기(100)가 위치한 네트워크 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예를 들어, 무선 통신부(110)는 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114) 및 위치정보 모듈(115) 등을 포함할 수 있다.
방송 수신 모듈(111)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다.
상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 상기 방송 관리 서버는, 방송 신호 및/또는 방송 관련 정보를 생성하여 송신하는 서버 또는 기 생성된 방송 신호 및/또는 방송 관련 정보를 제공받아 단말기에 송신하는 서버를 의미할 수 있다. 상기 방송 신호는, TV 방송 신호, 라디오 방송 신호, 데이터 방송 신호를 포함할 뿐만 아니라, TV 방송 신호 또는 라디오 방송 신호에 데이터 방송 신호가 결합한 형태의 방송 신호도 포함할 수 있다.
상기 방송 관련 정보는, 방송 채널, 방송 프로그램 또는 방송 서비스 제공자에 관련한 정보를 의미할 수 있다. 상기 방송 관련 정보는, 이동통신망을 통하여도 제공될 수 있다. 이러한 경우에는 상기 이동통신 모듈(112)에 의해 수신될 수 있다.
상기 방송 관련 정보는 다양한 형태로 존재할 수 있다. 예를 들어, DMB(Digital Multimedia Broadcasting)의 EPG(Electronic Program Guide) 또는 DVB-H(Digital Video Broadcast-Handheld)의 ESG(Electronic Service Guide) 등의 형태로 존재할 수 있다.
상기 방송 수신 모듈(111)은, 예를 들어, DMB-T(Digital Multimedia Broadcasting-Terrestrial), DMB-S(Digital Multimedia Broadcasting-Satellite), MediaFLO(Media Forward Link Only), DVB-H(Digital Video Broadcast-Handheld), ISDB-T(Integrated Services Digital Broadcast-Terrestrial) 등의 디지털 방송 시스템을 이용하여 디지털 방송 신호를 수신할 수 있다. 물론, 상기 방송 수신 모듈(111)은, 상술한 디지털 방송 시스템뿐만 아니라 다른 방송 시스템에 적합하도록 구성될 수도 있다.
방송 수신 모듈(111)을 통해 수신된 방송 신호 및/또는 방송 관련 정보는 메모리(160)에 저장될 수 있다.
이동통신 모듈(112)은, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(113)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 이동 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다.
근거리 통신 모듈(114)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee, 인접자장통신(NFC) 등이 이용될 수 있다.
위치정보 모듈(115)은 이동 단말기의 위치를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Position System) 모듈이 있다.
도 1을 참조하면, A/V(Audio/Video) 입력부(120)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(121)와 마이크(122) 등이 포함될 수 있다. 카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시될 수 있다.
카메라(121)에서 처리된 화상 프레임은 메모리(160)에 저장되거나 무선 통신부(110)를 통하여 외부로 전송될 수 있다. 카메라(121)는 사용 환경에 따라 2개 이상이 구비될 수도 있다.
마이크(122)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(112)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(122)에는 외부의 음향 신호를 입력받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(130)는 사용자가 단말기의 동작 제어를 위한 입력 데이터를 발생시킨다. 사용자 입력부(130)는 키 패드(key pad) 돔 스위치 (dome switch), 터치 패드(정압/정전), 조그 휠, 조그 스위치 등으로 구성될 수 있다.
센싱부(140)는 이동 단말기(100)의 개폐 상태, 이동 단말기(100)의 위치, 사용자 접촉 유무, 이동 단말기의 방위, 이동 단말기의 가속/감속 등과 같이 이동 단말기(100)의 현 상태를 감지하여 이동 단말기(100)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. 예를 들어 이동 단말기(100)가 슬라이드 폰 형태인 경우 슬라이드 폰의 개폐 여부를 센싱할 수 있다. 또한, 전원 공급부(190)의 전원 공급 여부, 인터페이스부(170)의 외부 기기 결합 여부 등을 센싱할 수도 있다. 한편, 상기 센싱부(140)는 근접 센서(141)를 포함할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 이에는 디스플레이부(151), 음향 출력 모듈(152), 알람부(153), 햅틱 모듈(154) 및 프로젝터 모듈(155) 등이 포함될 수 있다.
디스플레이부(151)는 이동 단말기(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 이동 단말기가 통화 모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 이동 단말기(100)가 화상 통화 모드 또는 촬영 모드인 경우에는 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
디스플레이부(151)는 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다.
이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 투명 디스플레이라 호칭될 수 있는데, 상기 투명 디스플레이의 대표적인 예로는 TOLED(Transparant OLED) 등이 있다. 디스플레이부(151)의 후방 구조 또한 광 투과형 구조로 구성될 수 있다. 이러한 구조에 의하여, 사용자는 단말기 바디의 디스플레이부(151)가 차지하는 영역을 통해 단말기 바디의 후방에 위치한 사물을 볼 수 있다.
이동 단말기(100)의 구현 형태에 따라 디스플레이부(151)이 2개 이상 존재할 수 있다. 예를 들어, 이동 단말기(100)에는 복수의 디스플레이부들이 하나의 면에 이격되거나 일체로 배치될 수 있고, 또한 서로 다른 면에 각각 배치될 수도 있다.
디스플레이부(151)와 터치 동작을 감지하는 센서(이하, '터치 센서'라 함)가 상호 레이어 구조를 이루는 경우(이하, '터치 스크린'이라 함)에, 디스플레이부(151)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 터치 센서는, 예를 들어, 터치 필름, 터치 시트, 터치 패드 등의 형태를 가질 수 있다.
터치 센서는 디스플레이부(151)의 특정 부위에 가해진 압력 또는 디스플레이부(151)의 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는 터치 되는 위치 및 면적뿐만 아니라, 터치 시의 압력까지도 검출할 수 있도록 구성될 수 있다.
터치 센서에 대한 터치 입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는 그 신호(들)를 처리한 다음 대응하는 데이터를 제어부(180)로 전송한다. 이로써, 제어부(180)는 디스플레이부(151)의 어느 영역이 터치 되었는지 여부 등을 알 수 있게 된다.
상기 근접 센서(141)는 상기 터치스크린에 의해 감싸지는 이동 단말기의 내부 영역 또는 상기 터치 스크린의 근처에 배치될 수 있다. 상기 근접 센서는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 근접 센서는 접촉식 센서보다는 그 수명이 길며 그 활용도 또한 높다.
상기 근접 센서의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 상기 터치스크린이 정전식인 경우에는 상기 포인터의 근접에 따른 전계의 변화로 상기 포인터의 근접을 검출하도록 구성된다. 이 경우 상기 터치 스크린(터치 센서)은 근접 센서로 분류될 수도 있다.
이하에서는 설명의 편의를 위해, 상기 터치스크린 상에 포인터가 접촉되지 않으면서 근접되어 상기 포인터가 상기 터치스크린 상에 위치함이 인식되도록 하는 행위를 "근접 터치(proximity touch)"라고 칭하고, 상기 터치스크린 상에 포인터가 실제로 접촉되는 행위를 "접촉 터치(contact touch)"라고 칭한다. 상기 터치스크린 상에서 포인터로 근접 터치가 되는 위치라 함은, 상기 포인터가 근접 터치될 때 상기 포인터가 상기 터치스크린에 대해 수직으로 대응되는 위치를 의미한다.
상기 근접센서는, 근접 터치와, 근접 터치 패턴(예를 들어, 근접 터치 거리, 근접 터치 방향, 근접 터치 속도, 근접 터치 시간, 근접 터치 위치, 근접 터치 이동 상태 등)을 감지한다. 상기 감지된 근접 터치 동작 및 근접 터치 패턴에 상응하는 정보는 터치 스크린상에 출력될 수 있다.
음향 출력 모듈(152)은 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(110)로부터 수신되거나 메모리(160)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력 모듈(152)은 이동 단말기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력하기도 한다. 이러한 음향 출력 모듈(152)에는 리시버(Receiver), 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
알람부(153)는 이동 단말기(100)의 이벤트 발생을 알리기 위한 신호를 출력한다. 이동 단말기에서 발생 되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 터치 입력 등이 있다. 알람부(153)는 비디오 신호나 오디오 신호 이외에 다른 형태, 예를 들어 진동으로 이벤트 발생을 알리기 위한 신호를 출력할 수도 있다. 상기 비디오 신호나 오디오 신호는 디스플레이부(151)나 음성 출력 모듈(152)을 통해서도 출력될 수 있어서, 그들(151,152)은 알람부(153)의 일부로 분류될 수도 있다.
햅틱 모듈(haptic module)(154)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(154)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 있다. 햅택 모듈(154)이 발생하는 진동의 세기와 패턴 등은 제어가능하다. 예를 들어, 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다.
햅틱 모듈(154)은, 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력, 피부 표면에 대한 스침, 전극(eletrode)의 접촉, 정전기력 등의 자극에 의한 효과와, 흡열이나 발열 가능한 소자를 이용한 냉온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다.
햅틱 모듈(154)은 직접적인 접촉을 통해 촉각 효과의 전달할 수 있을 뿐만 아니라, 사용자가 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(154)은 휴대 단말기(100)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
프로젝터 모듈(155)은, 이동 단말기(100)를 이용하여 이미지 프로젝트(project) 기능을 수행하기 위한 구성요소로서, 제어부(180)의 제어 신호에 따라 디스플레이부(151)상에 디스플레이되는 영상과 동일하거나 적어도 일부가 다른 영상을 외부 스크린 또는 벽에 디스플레이할 수 있다.
구체적으로, 프로젝터 모듈(155)은, 영상을 외부로 출력하기 위한 빛(일 예로서, 레이저 광)을 발생시키는 광원(미도시), 광원에 의해 발생한 빛을 이용하여 외부로 출력할 영상을 생성하기 위한 영상 생성 수단 (미도시), 및 영상을 일정 초점 거리에서 외부로 확대 출력하기 위한 렌즈(미도시)를 포함할 수 있다. 또한, 프로젝터 모듈(155)은, 렌즈 또는 모듈 전체를 기계적으로 움직여 영상 투사 방향을 조절할 수 있는 장치(미도시)를 포함할 수 있다.
프로젝터 모듈(155)은 디스플레이 수단의 소자 종류에 따라 CRT(Cathode Ray Tube) 모듈, LCD(Liquid Crystal Display) 모듈 및 DLP(Digital Light Processing) 모듈 등으로 나뉠 수 있다. 특히, DLP 모듈은, 광원에서 발생한 빛이 DMD(Digital Micromirror Device) 칩에 반사됨으로써 생성된 영상을 확대 투사하는 방식으로 프로젝터 모듈(151)의 소형화에 유리할 수 있다.
바람직하게, 프로젝터 모듈(155)은, 이동 단말기(100)의 측면, 정면 또는 배면에 길이 방향으로 구비될 수 있다. 물론, 프로젝터 모듈(155)은, 필요에 따라 이동 단말기(100)의 어느 위치에라도 구비될 수 있음은 당연하다.
메모리부(160)는 제어부(180)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 전화번호부, 메시지, 오디오, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다. 상기 메모리부(160)에는 상기 데이터들 각각에 대한 사용 빈도(예를 들면, 각 전화번호, 각 메시지, 각 멀티미디어에 대한 사용빈도)도 함께 저장될 수 있다. 또한, 상기 메모리부(160)에는 상기 터치스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있다.
메모리(160)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 이동 단말기(100)는 인터넷(internet)상에서 상기 메모리(160)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다.
인터페이스부(170)는 이동 단말기(100)에 연결되는 모든 외부기기와의 통로 역할을 한다. 인터페이스부(170)는 외부 기기로부터 데이터를 전송받거나, 전원을 공급받아 이동 단말기(100) 내부의 각 구성 요소에 전달하거나, 이동 단말기(100) 내부의 데이터가 외부 기기로 전송되도록 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 인터페이스부(170)에 포함될 수 있다.
식별 모듈은 이동 단말기(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(User Identify Module, UIM), 가입자 인증 모듈(Subscriber Identify Module, SIM), 범용 사용자 인증 모듈(Universal Subscriber Identity Module, USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 장치(이하 '식별 장치')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 장치는 포트를 통하여 단말기(100)와 연결될 수 있다.
상기 인터페이스부는 이동단말기(100)가 외부 크래들(cradle)과 연결될 때 상기 크래들로부터의 전원이 상기 이동단말기(100)에 공급되는 통로가 되거나, 사용자에 의해 상기 크래들에서 입력되는 각종 명령 신호가 상기 이동단말기로 전달되는 통로가 될 수 있다. 상기 크래들로부터 입력되는 각종 명령 신호 또는 상기 전원은 상기 이동단말기가 상기 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수도 있다.
제어부(controller, 180)는 통상적으로 이동 단말기의 전반적인 동작을 제어한다. 예를 들어 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 제어부(180)는 일반적으로 중앙처리장치(CPU: Central Processing Unit, 181)를 의미하나, 본 발명의 제어부(180)는 그래픽 처리 유닛(GPU: Graphics Processig Unit, 182)을 포함하는 개념이다. 여기서 GPU(182)는 영상정보를 처리하거나 디스플레이부(151)를 통해 출력되는 출력 영상에 관련된 영상을 담당하는 연산처리장치로, 중앙처리장치의 그래픽 처리 작업을 돕는 역할을 수행한다. 물론, GPU는 CPU의 일부를 구성하도록 구현될 수도 있고, CPU와 별도로 구성될 수도 있다.
상기 제어부(180)는 상기 터치스크린 상에서 행해지는 필기 입력 또는 그림 그리기 입력을 각각 문자 및 이미지로 인식할 수 있는 패턴 인식 처리를 행할 수 있다.
전원 공급부(190)는 제어부(180)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어부(180) 자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리(160)에 저장되고, 제어부(180)에 의해 실행될 수 있다.
기구 설명
도 2는 본 발명과 관련된 이동 단말기 또는 휴대 단말기의 일 예를 전면에서 바라본 사시도이다.
개시된 휴대 단말기(100)는 바 형태의 단말기 바디를 구비하고 있다. 다만, 본 발명은 여기에 한정되지 않고, 2 이상의 바디들이 상대 이동 가능하게 결합되는 슬라이드 타입, 폴더 타입, 스윙 타입, 스위블 타입 등 다양한 구조에 적용이 가능하다.
바디는 외관을 이루는 케이스(케이싱, 하우징, 커버 등)를 포함한다. 본 실시예에서, 케이스는 프론트 케이스(101)와 리어 케이스(102)로 구분될 수 있다. 프론트 케이스(101)와 리어 케이스(102)의 사이에 형성된 공간에는 각종 전자부품들이 내장된다. 프론트 케이스(101)와 리어 케이스(102) 사이에는 적어도 하나의 중간 케이스가 추가로 배치될 수도 있다.
케이스들은 합성수지를 사출하여 형성되거나 금속 재질, 예를 들어 스테인레스 스틸(STS) 또는 티타늄(Ti) 등과 같은 금속 재질을 갖도록 형성될 수도 있다.
단말기 바디, 주로 프론트 케이스(101)에는 디스플레이부(151), 음향출력부(152), 카메라(121), 사용자 입력부(130/131,132), 마이크(122), 인터페이스(170) 등이 배치될 수 있다.
디스플레이부(151)는 프론트 케이스(101)의 주면의 대부분을 차지한다. 디스플레이부(151)의 양단부 중 일 단부에 인접한 영역에는 음향출력부(151)와 카메라(121)가 배치되고, 다른 단부에 인접한 영역에는 사용자 입력부(131)와 마이크(122)가 배치된다. 사용자 입력부(132)와 인터페이스(170) 등은 프론트 케이스(101) 및 리어 케이스(102)의 측면들에 배치될 수 있다.
사용자 입력부(130)는 휴대 단말기(100)의 동작을 제어하기 위한 명령을 입력받기 위해 조작되는 것으로서, 복수의 조작 유닛들(131,132)을 포함할 수 있다. 조작 유닛들(131,132)은 조작부(manipulating portion)로도 통칭 될 수 있으며, 사용자가 촉각 적인 느낌을 가면서 조작하게 되는 방식(tactile manner)이라면 어떤 방식이든 채용될 수 있다.
제1 또는 제2조작 유닛들(131, 132)에 의하여 입력되는 내용은 다양하게 설정될 수 있다. 예를 들어, 제1 조작 유닛(131)은 시작, 종료, 스크롤 등과 같은 명령을 입력받고, 제2 조작 유닛(132)은 음향출력부(152)에서 출력되는 음향의 크기 조절 또는 디스플레이부(151)의 터치 인식 모드로의 전환 등과 같은 명령을 입력받을 수 있다.
한편, 한편, 디스플레이부(151)는 전체 영역으로 작동되거나, 복수의 영역들로 나뉘어져 작동될 수 있다. 후자의 경우, 상기 복수의 영역들은 서로 연관되게 작동되도록 구성될 수 있다. 또한, 디스플레이부(151)에는 다양한 종류의 시각 정보들이 표시될 수 있다. 이들 정보들은 문자, 숫자, 기호, 그래픽, 또는 아이콘 등의 형태로 표시될 수 있다.
이러한 정보의 입력을 위하여 상기 문자, 숫자, 기호, 그래픽 또는 아이콘 들 중 적어도 하나는 일정한 배열을 이루어 표시됨으로써 키패드의 형태로 구현될 수 있다. 이러한 키패드는 소위 '가상 키패드'(virtual keypad)라 불릴 수 있다.
이상의 실시예들에 개시된 입력 방식뿐만 아니라, 디스플레이부(151) 또는 터치 패드(135)는 스크롤(scroll)에 의해 터치 입력받도록 구성될 수 있다. 사용자는 디스플레이부(151) 또는 터치 패드(135)를 스크롤 함으로써 디스플레이부(151)에 표시된 개체, 예를 들어 아이콘 등에 위치한 커서 또는 포인터를 이동시킬 수 있다. 나아가, 손가락을 디스플레이부(151) 또는 터치 패드(135) 상에서 이동시키는 경우, 손가락이 움직이는 경로가 디스플레이부(151)에 시각적으로 표시될 수도 있다. 이는 디스플레이부(151)에 표시되는 이미지를 편집함에 유용할 것이다.
이하에서 설명하는 본 발명에 따른 이동 단말기는 도 1을 참조하여 상술한 구성요소 중 적어도 하나를 포함하나, 반드시 이에 한정되지는 아니하며, 도 1보다 더 많은 구성요소를 포함할 수도 있고 더 적은 구성요소를 포함할 수도 있다. 다만, 편의상 본 발명에 따른 이동 단말기(100)의 제어부(180)는 CPU(181) 및 GPU를 모두 포함하며, 터치스크린(151)을 구비하는 것으로 가정한다. 또한, 본 명세서에서 이동 단말기(100)의 운영체제는 안드로이드(Android) 시스템인 것으로 가정하여 설명하나, 이는 예시적인 것으로 본 발명은 이에 한정되지 아니하고 해당 운영체제의 디폴트 해상도보다 높은 해상도의 디스플레이를 구현하는 이동 단말기라면 어떠한 운영체제(예를 들어, 윈도우 계열, iOS 운영체제 등)에도 적용될 수 있음은 물론이다.
해상도와 디스플레이 성능 저하
본 발명에 따른 이동 단말기는 일반적인 이동 단말기의 해상도(예를 들어, 안드로이드 OS의 기준 해상도인 800x480)보다 큰 해상도(예를 들어, 720P: 1280X720)에서 디스플레이 성능의 저하, 예를 들어, 초당 프레임수(FPS)의 저하를 방지하기 위한 다양한 방법을 제안한다. 이러한 방법이 필요한 이유는, 상기 예를 든 800x480 해상도에 비해 1280x720 해상도는 2.4배의 픽셀을 갖게 됨에 따라 제어부가 처리해야할 영상정보의 양이 크게 증가하기 때문이다.
본 발명에 따른 디스플레이 성능 저하 방지 방안은 크게 1) GPU를 이용한 레이어 합성(Composition)시 선택적 월페이퍼 레이어 비활성화, 2) 순차적 로딩, GPU 하드웨어 가속(OpenGL) 및 최적의 드로잉 함수 사용 및 3) GPU 컨텍스트 스위치 활성화를 포함한다.
상술한 네 가지 방법은 개별적으로 적용될 수도 있고, 둘 이상이 동시에 적용될 수도 있다.
이하, 각 방식을 상세히 설명한다.
선택적 월페이퍼 레이어 비활성화
먼저, 월페이퍼 레이어 비활성화의 설명에 앞서, GPU(182)를 이용한 레이어 합성을 도 3 내지 도 4를 참조하여 설명한다.
도 3은 이동 단말기의 사용자 인터페이스 구성의 일례를 나타내고, 도 4는 도 3의 사용자 인터페이스를 구성하는 레이어 구조의 일례를 각각 나타낸다.
일반적으로 하나의 어플리케이션은 복수의 레이어로 구성될 수 있는데, 이를 설명하기 위하여 런처(Launcher) 또는 홈(Home) 어플리케이션을 예시하기로 한다. 런처 어플리케이션이라 함은, 어플리케이션 리스트를 포함하는 메인 메뉴와, 바로가기 아이콘이나 위젯 등을 배치할 수 월페이퍼를 포함하는 홈스크린(대기화면, 초기화면 또는 바탕화면)을 제공하는 어플리케이션을 의미하며, 이름 그대로 최초 부팅시/아이들(idle)시 초기화면으로 표시되어 다른 어플리케이션을 편리하게 런치(Launch)시키기 위한 기능을 수행한다.
이동 단말기에서 부팅이 수행된 직후(즉, 런처 어플리케이션 로딩 완료), 실행중인 어플리케이션을 종료한 경우, 별도의 호출 명령이 입력된 경우 또는 이와 유사한 상황에서 홈스크린이 디스플레이부(151) 상으로 도 3의 (a)와 같이 표시된다. 보다 상세히, 디스플레이부(151) 상으로 표시되는 홈스크린(320)의 상단에는 이동 단말기의 각종 작동 상태를 다양한 형태의 인디케이터들로 지시하는 인디케이터 영역(또는 상단 바, S310)이 표시되고, 홈스크린(320)의 하단에는 독바(Dock bar) 영역(330)이 표시된다. 여기서, 독바 영역(330)은 홈스크린(320)의 좌우 스크롤되거나 전체화면을 사용하지 않는 어플리케이션이 홈스크린(320) 영역에 표시됨과 관계없이 그 형태를 유지할 수 있다. 따라서, 일반적으로 독바 영역에는 자주 쓰는 기능이나 어플리케이션, 예를 들어, 통화, 메시지, 전화번호부, 메인 메뉴 등에 대응되는 바로가기 아이콘들이 배치된다.
이때, 독바(330)나 홈스크린(320) 상의 메인 메뉴 아이콘을 사용자가 선택함에 따라, 도 3의 (b)와 같이 인디케이터 영역(310) 및 독바 영역(330)이 유지된 상태에서 홈스크린(320)이 표시되던 영역에 메인 메뉴의 어플리케이션 사용자 인터페이스(Application UI, 340), 즉, 어플리케이션 리스트가 표시된다. 물론, 메인 메뉴가 표시됨에 따라 운영체제나 설정에 따라 인디케이터 영역이나 독바 중 적어도 하나는 표시되지 않을 수도 있다.
이러한 상태에서 취소 명령이 입력되거나, 어플리케이션 리스트에서 특정 어플리케이션이 선택된 후 실행종료되거나, 이와 유사한 상황에서는 도 3의 (a)와 같이 다시 홈스크린이 디스플레이부(151) 상으로 표시될 수 있다.
지금까지 도 3을 참조하여 런처 어플리케이션에서 홈스크린과 메인메뉴 어플리케이션 UI 사이의 전환의 일례를 설명하였다. 이하에서는 도 4를 참조하여 도 3에 예시된 런쳐 어플리케이션을 구성하는 레이어 구성을 설명한다.
먼저 도 4의 (a)를 참조하면, 도 3의 (b)에 도시된 메인 메뉴 사용자 인터페이스 구조는 4개의 레이어(410, 420, 430, 440)로 구성된다. 이때, 각 레이어는 최대 해상도(여기서는 1280x720) 크기를 가질 수 있다. 최하위 레이어(440)에는 홈스크린을 구성하는 월페이퍼(320)가 표시되고, 차하위 레이어(430)의 하단 일부 영역에는 독바(330)가 표시되며, 차상위 레이어(420)에는 메인 메뉴의 어플리케이션 UI(340)가 표시되고, 최상위 레이어(410)의 상단에는 인디케이터 영역(310)이 표시된다. 여기서 최상위 레이어(410)에서 인디케이터 영역(310)을 제외한 영역의 픽셀들 및 차하위 레이어(420)에서 독바 영역(330)을 제외한 영역의 픽셀들은 투명처리될 수 있다.
물론, 도 3과 도 4를 참조하여 전술된 레이어 배치 순서, 레이어 구조는 예시적인 것으로, 본 발명은 이에 한정되지 아니하고 월페이퍼 레이어 또는 이에 상응하는 레이어를 포함한다면, 보다 적은 레이어 구성이나 보다 많은 레이어 구성을 갖는 시스템에도 적용될 수 있음은 물론이다.
일반적으로 상술한 어플리케이션을 구성하는 레이어들은 디스플레이부(151) 상으로 표시될 때에는 디스플레이부의 해상도에 대응되는 하나의 레이어처럼 보이도록 중첩(Composition)되나, 각 레이어는 독립적으로 존재, 즉, CPU나 GPU가 모든 레이어에 대한 연산을 수행(드로우:Draw)한다. 다시 말하면, 런처 어플리케이션의 경우 일반적으로 인디케이터/독바 레이어와 월페이퍼 레이어를 모두 가지고 있으며, 런처 어플리케이션 내의 모든 어플리케이션 UI(예를 들어 메인메뉴의 어플리케이션 UI) 진입시 항상 인디케이터/독바/월페이퍼 레이어를 모두 함께 Draw하게 된다.
이러한 과정에서 소정의 우선 순위에 따라 한 레이어의 적어도 일부가 다른 레이어에 의해 가려진 형태로 중첩이 수행될 수도 있다. 예를 들어, 도 3의 (b)와 같은 경우 월페이퍼가 표시되는 최하위 레이어(이하, "월페이퍼 레이어"라 칭함)는 나머지 레이어들에 가려져 드로잉은 되나, 디스플레이부(151) 상으로 표시되지는 않는다. 이러한 경우, 월페이퍼 레이어는 디스플레이부 상으로 표시되지 아니함에도 제어부에서 드로우(DRAW)가 수행될 때마다 함께 드로잉되어 이동단말기의 제어부에 연산 부담을 주게 되며, 이는 특히 고해상도를 갖는 레이어인 경우 더욱 심각한 부담을 야기하게된다.
따라서, 본 발명의 일 실시예에서는 복수의 레이어를 포함하는 어플리케이션에서, 메인 메뉴 어플리케이션 UI와 같이 중첩시 적어도 하나의 레이어(예를 들어, 월페이퍼 레이어)를 가리게 되는 어플리케이션 UI 레이어가 호출되면, 중첩시 그에 가려지는 적어도 하나의 레이어가 드로우되지 않도록 할 것을 제안한다.
설명의 편의를 위하여 이하에서는, 호출되어 중첩될 때 다른 레이어를 가리는 어플리케이션 UI 레이어를 "APP UI 레이어"라 칭하고, 중첩시 APP UI 레이어에 의해 가려지는 레이어는 "월페이퍼 레이어"인 것으로 가정한다.
또한, 본 방법에서는 APP UI 레이어에 의해 월페이퍼 레이어가 드로우되지 않도록 하기 위하여, 월페이퍼 레이어 또는 이에 대응되는 특정 레이어를 관리하는 관리자(이하, 월페이퍼 관리자:Wall paper Manager)를 정의한다. 월페이퍼 관리자는 안드로이드 시스템에서 프레임워크(framework)의 형태로 존재할 수 있다.
아울러, 본 방법에서는 어플리케이션이 월페이퍼 관리자를 제어하기 위한 두 가지 명령(Command)을 정의한다. 그 하나는 월페이퍼 레이어를 드로우하지 않도록 하는 숨김(hide: Wallpaper Visible Off, hide Wallpaper surface) 명령이고, 다른 하나는 월페이퍼 레이어를 드로우하도록 하는 표시(show: Wallpaper Visible On, show Wallpaper surface) 명령이다. 어플리케이션은 APP UI 레이어가 호출되는 경우, 월페이퍼 관리자에 "hide" 명령을 보내게 되며, APP UI 레이어가 비활성화되는 경우 월페이퍼 관리자에 "show" 명령을 보내게 된다.
이를 구현하기 위해 안드로이드 시스템의 프레임 워크는 아래 표 1과 같이 수정될 수 있다.
표 1을 참조하면, 파선 박스 내의 코드가 추가됨에 따라 "show" 명령과 "hide" 명령에 따른 프레임 워크의 동작이 정의될 수 있다.
상술한 선택적 레이어 비활성화 방법을 적용한 디스플레이 과정을 도 5를 참조하여 설명한다.
도 5는 본 발명의 일 실시예에 따른 이동 단말기에서 선택적 레이어 비활성화 방법을 적용한 디스플레이 과정의 일례를 나타낸 순서도이다.
도 5를 참조하면, 어플리케이션이 APP UI의 활성화/비활성화(APP UI 호출/종료) 여부에 따라 월페이퍼 관리자로 "show" 또는 "hide" 명령을 전송한다(S501).
여기서, 어플리케이션이 명령을 전송한다 함은, 제어부(180)가 해당 어플리케이션의 구동에 관련된 연산을 수행한 결과, APP UI 호출 여부에 따라 월페이퍼 관리자로 해당 명령을 전송하도록 하는 코드가 어플리케이션에 포함됨을 의미할 수 있다.
월페이퍼 관리자로 전달된 명령이 show 인 경우(S520), 제어부(180)는 월페이퍼 레이어를 드로우하여(S530a) 다른 레이어들과 함께 중첩하고(540), 그 결과를 디스플레이부(151)를 통해 출력한다(S550).
만일, 월페이퍼 관리자로 전달된 명령이 hide 인 경우, 제어부(180)는 월페이퍼 레이어를 드로우하지 않고(S530d) 월페이퍼 레이어를 제외한 다른 레이어들을 중첩하고(540), 그 결과를 디스플레이부(151)를 통해 출력한다(S550).
도 5를 참조하여 상술한 중첩 과정을 도 6을 참조하여 보다 상세히 설명한다.
도 6은 본 발명의 일 실시예에 따른 이동 단말기에서 월페이퍼 레이어 드로우 여부에 따른 중첩 과정을 설명하기 위한 도면이다.
도 6에서 (a)는 show 명령에 따른 중첩을, (b)는 hide 명령에 따른 중첩을 각각 나타낸다.
먼저 도 6의 (a)의 경우, 드로우시 월페이퍼 레이어와 인디케이터 레이어 및 APP UI 레이어 모두가 중첩되어 디스플레이부로 표시되고, 도 6의 (b)의 경우에는 월페이퍼 레이어 없이 인디케이터 레이어와 APP UI 레이어만이 드로우되어 중첩된다. 결국, hide 명령에 따라 월페이퍼 레이어가 드로우되지 않으면 제어부의 연산량이 대폭감소하여 고해상도 디스플레이 상황에서도 디스플레이 성능 저하가 최소화될 수 있다. 한편, 보다 효율적인 제어부의 활용의 관점에서 전술된 중첩과정은 GPU(182)에서 수행되는 것이 바람직하다.
최적의 드로우 함수의 적용
이하에서는, 본 발명의 일 실시예에 따른 드로우 함수의 선택을 통한 디스플레이 성능 저하를 방지하는 방법을 설명한다. 본 방법은 레이어를 드로우(또는 렌더링:rendering)함에 있어, GPU를 이용한 그래픽 가속을 이용함을 전제로 한다. 이는, 일반적인 안드로이드 시스템은 드로잉을 수행함에 있어, CPU가 모든 연산을 담당하여 GPU를 활용하지 못함은 비효율적이기 때문이다. 이를 구현하기 위한 응용 프로그램 프로그래밍 인터페이스(API)의 일종으로 오픈지엘(OpenGL)을 들 수 있다. 오픈지엘은 2차원 및 3차원 그래픽스 표준 API 규격으로, 프로그래밍 언어 간 플랫폼 간의 교차 응용 프로그래밍을 지원하며, 다양한 가량의 함수 호출을 이용하여 단순한 기하도형에서부터 복잡한 삼차원 장면을 생성할 수 있다.
이때, 일반적으로 레이어의 드로잉에는 특정 함수 테스트를 통과한 지역에만 드로잉을 수행하는 함수(예를 들어, stencil 함수)가 사용되나, 본 실시예에서는 렌더링 성능 향상을 위하여 소정 영역상에서 이전 드로잉과 비교하여 변경된 내용들만 렌더링해주는 함수(예를 들어, scissor 함수)를 사용할 것을 제안한다. 즉, 레이어 전체를 대상으로 함수 테스트 연산을 수행하지 않고, 원하는 특정 레이어 영역만을 추려내어 변경된 내용만 다시 렌더링되기 때문에 드로잉 성능이 크게 향상될 수 있다.
컨텍스트 스위치
이하에서는 그래픽 처리 유닛(GPU: Graphic Processing Unit)의 컨텍스트 스위칭(context switching) 향상 기술을 설명한다. 전술된 바와 같이 기본 디스플레이 해상도가 향상됨에 따라 연산되어야할 디스플레이 정보가 크게 증가함에 따라 보다 효율적인 디스플레이 정보의 처리를 위하여 GPU를 사용하는 것이 바람직하다. 이때, 본 명세서에서 디스플레이 정보는 "컨텍스트(context)"로 호칭될 수 있다. 컨텍스트는 복수의 상태 정보로 구성될 수 있으며, 그 일례로 하드웨어 설정 레지스터(Hardware Configuration Registers) 정보, 산술/논술 연산 수행을 위한 산술논술 유닛(ALU: Arithmetic Logic Unit) 상수(constants) 정보, 텍스쳐 상수(texture constants) 정보 등을 포함할 수 있다.
컨텍스트의 상태정보는 활성 컨텍스트(active context)인 경우 GPU의 레지스터에 기록되어 GPU에 의해 읽혀 참조되거나 연산되고, 그 결과에 따라 값이 변경될 수 있으며, 활성 컨텍스트가 비활성 컨텍스트(inactive context)로 변경되는 경우 GPU의 레지스터로부터 외부 메모리로 옮겨진다. 본 명세서에서는 이러한 일련의 과정에 따라 컨텍스트의 상태정보가 GPU의 레지스터와 외부 메모리 사이를 이동하는 것을 "컨텍스트 스위치"라 칭한다. 이때, 일반적으로 외부 메모리의 레지스터 정보는 CPU에만 알려져있고(즉, 그래픽 드라이버에 의해 억세스 가능), GPU에는 알려지지 않아 GPU의 직접 억세스가 불가능하며, 섀도우 메모리(Shadow Memory)라 칭할 수도 있다. 다만, 섀도우 메모리라 하여 말 그대로 광원에 의해 발생하는 오브젝트의 그림자 정보를 저장하기 위한 메모리에 한정되지는 아니한다. 아울러, 섀도우 메모리에 이동되는 비활성 컨텍스트의 상태정보를 섀도우 카피(Shadow Copy)라 칭할 수 있다.
결국, 컨텍스트 스위치는 GPU의 레지스터로부터 스왑 아웃(swapped out)되는 컨텍스트의 상태정보를 섀도우 메모리로 하여 저장하는 제 1 과정과, GPU의 레지스터로 스왑 인(swapped in)되는 컨텍스트의 상태정보를 섀도우 메모리로부터 복구하는 제 2 과정의 두 과정을 포함할 수 있다.
따라서, 전술된 컨텍스트 스위치가 빈번히 발생되는 경우, 컨텍스트 저장/복구 오버헤드(즉, GPU 레지스터 대량 쓰기에 후속하는 GPU 레지스터 대량 읽기)에 따른 딜레이가 발생하고, 이는 다시 상태정보 관리에 소모되는 시간에 의한 GPU 성능저하를 가져온다.
이러한 문제점을 해결하기 위하여, 본 발명에서는 섀도우 메모리를 CPU와 GPU가 공유하는 메모리에 할당(즉, 그래픽 드라이버와 GPU 하드웨어 양측에서 억세스 가능)할 것을 제안한다. 또한, 컨텍스트 스위치가 발생할 때에만 섀도우 카피를 갱신토록 하는 일반적인 방법과는 달리 하드웨어 레지스터에 새로운 값이 기록될 때마다 그래픽 드라이버가 섀도우 카피를 갱신하도록 할 것을 제안한다. 이는 더 잦은 읽기/쓰기를 야기하는 것으로 보일 수도 있으나, 컨텍스트 스위치가 발생할 때 일일이 컨텍스트 상태 정보를 섀도우 메모리로 저장하고 레지스터에 복구할 것 없이, GPU가 직접 섀도우 메모리를 억세스할 수 있기 때문에(즉, 섀도우 메모리가 CPU와 GPU에 공유되므로) 보다 효율적인 하드웨어 레지스터 관리가 가능하다. 다시 말하면, 스위치 아웃된 컨텍스트의 상태 정보에 변화가 있더라도 GPU가 이를 수정하기 위해 해당 컨텍스트의 상태정보를 다시 레지스터로 가져와서 쓸 필요가 없고, 새로이 들어오는(incomming) 컨텍스트의 상태정보 또한 GPU가 직접 CPU에 공유된 메모리로부터 레지스터로 가져올 수 있을뿐 아니라, 드라이버에 의한 블록(blocked by driver)에서도 자유롭게 된다.
또한, 본 발명의 일실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 이동 단말기 및 그 제어방법은 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
Claims (14)
- 복수의 디스플레이 레이어를 포함하는 어플리케이션 및 상기 어플리케이션이 구동될 때, 상기 복수의 레이어 중 제 1 레이어의 활성화 여부에 따라 제 2 레이어를 선택적으로 드로잉(drawing)하는 운영체제가 저장된 제 1 메모리; 및
상기 운영체제의 구동을 위한 연산을 수행하는 제어부를 포함하는 이동 단말기. - 제 1항에 있어서,
상기 복수의 레이어 중 적어도 하나가 중첩된 영상을 표시하는 디스플레이부를 더 포함하는, 이동 단말기. - 제 2항에 있어서,
상기 제어부는 중앙 처리 유닛(CPU)과 그래픽 연산 유닛(GPU)을 포함하고,
상기 중첩된 영상은 상기 GPU에 의해 생성되는 것을 특징으로 하는 이동 단말기. - 제 3항에 있어서,
상기 드로잉은, 상기 GPU를 통한 드로잉 가속을 위한 소정의 응용 프로그램 프로그래밍 인터페이스(API)의 드로잉 함수를 통해 수행되는 것을 특징으로 하는 이동 단말기. - 제 4항에 있어서,
상기 드로잉 함수는,
특정 영역 내에서 이전 드로잉과 비교할 때 변경된 부분만을 드로잉하는 함수인 것을 특징으로 하는 이동 단말기. - 제 3항에 있어서,
상기 CPU와 상기 GPU에 공유된 제 2 메모리를 더 포함하는, 이동 단말기. - 제 6항에 있어서,
상기 GPU는,
상기 GPU의 레지스터로부터 스왑 아웃(swapped out)되는 컨텍스트의 상태정보를 상기 제 2 메모리로 하여 저장하고, 상기 컨텍스트가 활성화되는 경우, 상기 제 2 메모리를 직접 억세스하는 것을 특징으로 하는 이동 단말기. - 제 7항에 있어서,
상기 컨텍스트는,
하드웨어 설정 레지스터(Hardware Configuration Registers) 정보, 산술/논술 연산 수행을 위한 산술논술 유닛(ALU: Arithmetic Logic Unit) 상수(constants) 정보, 텍스쳐 상수(texture constants) 정보 중 적어도 하나를 포함하는, 이동 단말기. - 제 2항에 있어서,
상기 제 2 레이어는 상기 중첩된 영상이 생성될 때 상기 제 1 레이어에 의해 적어도 일부가 가려지는 레이어인 것을 특징으로 하는 이동 단말기. - 제 9항에 있어서,
상기 어플리케이션은 인디케이터 레이어, 어플리케이션 사용자 인터페이스 레이어 및 월페이어 레이어를 포함하고,
상기 제 1 레이어는 어플리케이션 사용자 인터페이스이며, 상기 제 3 레이어는 월페이퍼 레이어인 것을 특징으로 하는 이동 단말기. - 제 9항에 있어서,
상기 운영체제는,
상기 제 2 레이어를 선택적으로 활성화 시키는 제 2 레이어 관리자를 포함하고,
상기 어플리케이션은, 상기 제 1 레이어의 활성화 여부에 따른 상기 제 2 레이어 활성화 명령 또는 비활성화 명령을 상기 제 2 레이어 관리자로 전달하는 것을 특징으로 하는 이동 단말기. - 제 1항에 있어서,
상기 각 레이어는,
상기 운영체제가 디폴트로 지원하는 해상도보다 큰 해상도를 갖는 것을 특징으로 하는 이동 단말기. - 제 1항에 있어서,
상기 운영체제는 안드로이드 시스템인 것을 특징으로 하는 이동 단말기. - 제 1항에 있어서,
상기 어플리케이션은,
어플리케이션 리스트를 표시하는 메인 메뉴 및 홈스크린을 포함하는 런처 어플리케이션인 것을 특징으로 하는 이동 단말기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110113412A KR20130048526A (ko) | 2011-11-02 | 2011-11-02 | 이동 단말기 및 그 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110113412A KR20130048526A (ko) | 2011-11-02 | 2011-11-02 | 이동 단말기 및 그 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130048526A true KR20130048526A (ko) | 2013-05-10 |
Family
ID=48659561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110113412A KR20130048526A (ko) | 2011-11-02 | 2011-11-02 | 이동 단말기 및 그 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130048526A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015023085A1 (ko) * | 2013-08-16 | 2015-02-19 | (주)뉴인 | 동적 레이어 기반의 컨텐츠 재생 시스템 |
CN112988023A (zh) * | 2021-04-23 | 2021-06-18 | Vidaa美国公司 | 应用显示方法及显示设备 |
WO2022012665A1 (zh) * | 2020-07-17 | 2022-01-20 | 维沃移动通信有限公司 | 壁纸显示控制方法、装置和电子设备 |
-
2011
- 2011-11-02 KR KR1020110113412A patent/KR20130048526A/ko not_active Application Discontinuation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015023085A1 (ko) * | 2013-08-16 | 2015-02-19 | (주)뉴인 | 동적 레이어 기반의 컨텐츠 재생 시스템 |
US9712877B2 (en) | 2013-08-16 | 2017-07-18 | Newin Inc. | Contents playback system based on dynamic layer |
WO2022012665A1 (zh) * | 2020-07-17 | 2022-01-20 | 维沃移动通信有限公司 | 壁纸显示控制方法、装置和电子设备 |
CN112988023A (zh) * | 2021-04-23 | 2021-06-18 | Vidaa美国公司 | 应用显示方法及显示设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101761612B1 (ko) | 이동 단말기 및 이것의 메뉴 화면 구성 방법 | |
KR101727041B1 (ko) | 이동 단말기 및 그 제어 방법 | |
KR101952682B1 (ko) | 이동 단말기 및 그 제어방법 | |
KR101788051B1 (ko) | 이동 단말기 및 그 제어방법 | |
KR101772453B1 (ko) | 이동 단말기 및 그 제어방법 | |
KR20110113844A (ko) | 이동 단말기 및 그 제어방법 | |
KR20130134603A (ko) | 이동 단말기 및 그 제어방법 | |
KR20110054452A (ko) | 이동 통신 단말기에서의 티티에스 음성 데이터 출력 방법 및 이를 적용한 이동 통신 단말기 | |
KR101660737B1 (ko) | 이동 단말기 및 그 제어방법 | |
KR20120009546A (ko) | 이동 단말기 및 그 제어방법 | |
KR101842198B1 (ko) | 이동 단말기 및 그 제어방법 | |
KR20120133003A (ko) | 이동 단말기 및 그 제어방법 | |
KR101636084B1 (ko) | 듀얼 디스플레이부를 갖는 이동 통신 단말기 및 단말기에서 데이터 표시방법 | |
KR20110085233A (ko) | 이동 단말기 및 그 제어 방법 | |
KR101513638B1 (ko) | 이동 단말기 및 그 제어 방법 | |
KR20130048526A (ko) | 이동 단말기 및 그 제어 방법 | |
KR20130078236A (ko) | 이동 단말기 및 그 제어 방법, 이를 위한 기록 매체 | |
KR20120055876A (ko) | 이동 단말기 및 다중 클립보드 제어 방법 | |
KR20140104316A (ko) | 휴대 단말기 및 그 제어 방법 | |
KR20130081362A (ko) | 이동 단말기 및 그 제어방법 | |
KR101813034B1 (ko) | 이동 단말기 및 이것의 디스플레이 제어 방법 | |
KR101709509B1 (ko) | 이동 단말기 및 그 제어방법 | |
KR20140118061A (ko) | 휴대 단말기 및 그 제어 방법 | |
KR20150008951A (ko) | 휴대 단말기 및 그 제어 방법 | |
KR101809947B1 (ko) | 이동 단말기 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |