WO2017057799A1 - 동적 해상도 제어를 수행하는 이동 단말기 및 그 제어방법 - Google Patents

동적 해상도 제어를 수행하는 이동 단말기 및 그 제어방법 Download PDF

Info

Publication number
WO2017057799A1
WO2017057799A1 PCT/KR2015/013381 KR2015013381W WO2017057799A1 WO 2017057799 A1 WO2017057799 A1 WO 2017057799A1 KR 2015013381 W KR2015013381 W KR 2015013381W WO 2017057799 A1 WO2017057799 A1 WO 2017057799A1
Authority
WO
WIPO (PCT)
Prior art keywords
resolution
application
resolutions
mobile terminal
information
Prior art date
Application number
PCT/KR2015/013381
Other languages
English (en)
French (fr)
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 US15/764,436 priority Critical patent/US10490165B2/en
Publication of WO2017057799A1 publication Critical patent/WO2017057799A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/222Control of the character-code memory
    • G09G5/227Resolution modifying circuits, e.g. variable screen formats, resolution change between memory contents and display screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/725Cordless telephones
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/42Graphical user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a mobile terminal for performing dynamic resolution control and a control method thereof.
  • Terminals may be divided into mobile / portable terminals and stationary terminals according to their mobility.
  • the mobile terminal may be further classified into a handheld terminal and a vehicle mounted terminal according to whether a user can directly carry it.
  • the functions of mobile terminals are diversifying. For example, data and voice communication, taking a picture and video with a camera, recording a voice, playing a music file through a speaker system, and outputting an image or video to a display unit.
  • Some terminals have an electronic game play function or a multimedia player function.
  • recent mobile terminals may receive multicast signals that provide visual content such as broadcasting, video, and television programs.
  • such a terminal is a multimedia player having a complex function such as taking a picture or a video, playing a music or video file, playing a game, or receiving a broadcast. Is being implemented.
  • Such a terminal In order to support and increase the function of such a terminal, it may be considered to improve the structural part and / or the software part of the terminal. Recently, such a terminal has a problem in that a resolution for a user interface (UI) of an application mounted on the terminal has a lower resolution than that of the display according to a high resolution of a display.
  • UI user interface
  • a graphic process unit (GPU) has a problem in that processing time and power consumption are increased as a scaling operation is performed on each of a plurality of components arranged in an application.
  • Yet another object is to reduce processing time and power consumption for performing dynamic resolution control.
  • a mobile terminal includes a display unit for receiving a user input for executing an application, a memory for storing setting information for displaying a screen at a first resolution on the display unit And receiving information about a plurality of resolutions supported by the application, selecting a second resolution, which is a resolution of an execution screen on which the application is executed, based on the first resolution and the plurality of resolutions; And a controller configured to compose the execution screen by combining the plurality of objects with a system UI according to a resolution, and to upscale the configured execution screen according to a ratio of the first and second resolutions and to display the execution screen. Dynamic resolution control can be performed.
  • the second resolution may be selected such that a difference from the first resolution is the smallest among the plurality of resolutions.
  • control unit comprises a central processing unit for combining the plurality of objects with the system UI; And a graphic processing unit configured to upscale the execution screen including the synthesized plurality of objects according to a ratio of the first and second resolutions.
  • the controller may receive a measurement value of factors associated with the change of the second resolution and select a third resolution lower than the second resolution based on the received measurement value.
  • the upscaling may stretch the pixels of the plurality of objects based on the ratio.
  • the factors may be based on at least one of a battery level, a temperature detected by the power manager, a frame per second (FPS) required by the application, and the configuration information.
  • a battery level a temperature detected by the power manager
  • a frame per second (FPS) required by the application
  • the controller executes the application in an application layer, receives the configuration information in a framework layer, selects the second resolution based on the first resolution and the plurality of resolutions, and The execution screen may be displayed according to the second resolution, and a kernel layer may perform power management, memory management, and hardware management of the mobile terminal.
  • the framework layer may include a first framework layer including an activity manager, a package manager, a window state manager, a window manager, and an input manager.
  • the framework layer may further include a second framework layer, including a process observer, a package analyzer, a process filter, a scaler, a trigger monitoring unit, and a task migration unit.
  • a second framework layer including a process observer, a package analyzer, a process filter, a scaler, a trigger monitoring unit, and a task migration unit.
  • the framework layer comprises: a surface plunger (Surface Flinger) for controlling the graphics layer in the application according to the ratio of the first and second resolution; And a hardware composer configured to upscale the execution screen on which the plurality of objects are arranged according to the ratio of the first and second resolutions.
  • a surface plunger Silicon Flinger
  • a hardware composer configured to upscale the execution screen on which the plurality of objects are arranged according to the ratio of the first and second resolutions.
  • the process observer receives a Launch Launch corresponding to the execution of the application from the activity manager
  • the package analyzer extracts information about the plurality of resolutions from the application
  • the process filter may change the first resolution to the second resolution and determine whether to apply the changed second resolution
  • the scaler may transmit information about the second resolution to the window manager.
  • the kernel layer includes a power manager
  • the trigger monitoring unit receives the information on the temperature from the power manager, and the information on the FPS and the information on the user settings from the window manager Can be received.
  • a mobile terminal includes a display unit for receiving a user input for executing an application; A memory configured to store setting information of displaying a screen at a first resolution on the display unit; And receiving information about a plurality of resolutions supported by the application, selecting a second resolution, which is a resolution of an execution screen on which the application is executed, based on the first resolution and the plurality of resolutions; And a controller configured to display the execution screen on the display unit according to the resolution.
  • the second resolution may be selected such that a difference from the first resolution is the smallest among the plurality of resolutions.
  • the controller may upscale the execution screen on which the plurality of objects are arranged according to a ratio of the first and second resolutions.
  • the upscaling may be performed by stretching pixels of the plurality of objects based on the ratio.
  • the controller may receive a measurement value of factors associated with the change of the second resolution and select a third resolution lower than the second resolution based on the received measurement value.
  • the factors may be based on at least one of a battery level, a temperature detected by the power manager, a frame per second (FPS) required by the application, and the configuration information.
  • a battery level a temperature detected by the power manager
  • a frame per second (FPS) required by the application
  • the controller may include: a process observer configured to receive a launch request corresponding to the execution of the application from an activity manager; And a package analyzer configured to extract information about the plurality of resolutions from the application.
  • the controller may include: a process filter configured to change the first resolution to the second resolution and determine whether to apply the changed second resolution; And a scaler for transmitting the information about the second resolution to the window manager.
  • dynamic resolution control can be performed by selecting a resolution of an execution screen on which an application is executed and displaying the execution screen based on the resolution.
  • processing time and power consumption may be performed by synthesizing screens including a plurality of objects and upscaling the synthesized screens at once.
  • FIGS. 1B and 1C are conceptual views of one example of the mobile terminal, viewed from different directions.
  • FIG. 2 is a block diagram of a mobile terminal for performing resolution adjustment according to execution of an application according to the present invention.
  • FIG. 3 is a diagram illustrating a process of selecting any one of a plurality of resolutions supported by an application according to the present invention.
  • FIG. 4 is an exemplary view of an execution screen of an application displayed on a display unit before and after upscaling according to the present invention.
  • FIG. 5 is a flowchart illustrating a dynamic resolution control method according to the present invention.
  • FIG. 6 is a conceptual diagram of placing a plurality of objects on a screen in an application according to the present invention.
  • FIG. 7 illustrates a hierarchical structure for performing a dynamic resolution control method according to an embodiment of the present invention.
  • FIG. 8 illustrates a hierarchical structure for performing a dynamic resolution control method according to another embodiment of the present invention.
  • FIG. 9 is a diagram including a main component for performing dynamic resolution control according to the present invention and a detailed component related thereto.
  • FIG. 10 is a signal flowchart of a dynamic resolution control method according to the present invention.
  • FIG. 11 is a signal flowchart of a dynamic resolution control method according to another embodiment of the present invention.
  • the mobile terminal described herein includes a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant, a portable multimedia player, a navigation, a slate PC , Tablet PCs, ultrabooks, wearable devices, such as smartwatches, glass glasses, head mounted displays, and the like. have.
  • FIG. 1A is a block diagram illustrating a mobile terminal according to the present invention
  • FIGS. 1B and 1C are conceptual views of one example of the mobile terminal, viewed from different directions.
  • the mobile terminal 100 includes a wireless communication unit 110, an input unit 120, a sensing unit 140, an output unit 150, an interface unit 160, a memory 170, a controller 180, and a power supply unit 190. ) May be included.
  • the components shown in FIG. 1A are not essential to implementing a mobile terminal, so that the mobile terminal described herein may have more or fewer components than those listed above.
  • the wireless communication unit 110 of the components, between the mobile terminal 100 and the wireless communication system, between the mobile terminal 100 and another mobile terminal 100, or the mobile terminal 100 and the external server It may include one or more modules that enable wireless communication therebetween.
  • the wireless communication unit 110 may include one or more modules for connecting the mobile terminal 100 to one or more networks.
  • the wireless communication unit 110 may include at least one of the broadcast receiving module 111, the mobile communication module 112, the wireless internet module 113, the short range communication module 114, and the location information module 115. .
  • the input unit 120 may include a camera 121 or an image input unit for inputting an image signal, a microphone 122 for inputting an audio signal, an audio input unit, or a user input unit 123 for receiving information from a user. , Touch keys, mechanical keys, and the like.
  • the voice data or the image data collected by the input unit 120 may be analyzed and processed as a control command of the user.
  • the sensing unit 140 may include one or more sensors for sensing at least one of information in the mobile terminal, surrounding environment information surrounding the mobile terminal, and user information.
  • the sensing unit 140 may include a proximity sensor 141, an illumination sensor 142, an illumination sensor, a touch sensor, an acceleration sensor, a magnetic sensor, and gravity.
  • Optical sensors e.g. cameras 121), microphones (see 122), battery gauges, environmental sensors (e.g.
  • the mobile terminal disclosed herein may use a combination of information sensed by at least two or more of these sensors.
  • the output unit 150 is used to generate an output related to sight, hearing, or tactile sense, and includes at least one of a display unit 151, an audio output unit 152, a hap tip module 153, and an optical output unit 154. can do.
  • the display unit 151 forms a layer structure with or is integrally formed with the touch sensor, thereby implementing a touch screen.
  • the touch screen may function as a user input unit 123 that provides an input interface between the mobile terminal 100 and the user, and may also provide an output interface between the mobile terminal 100 and the user.
  • the interface unit 160 serves as a path to various types of external devices connected to the mobile terminal 100.
  • the interface unit 160 connects a device equipped with a wired / wireless headset port, an external charger port, a wired / wireless data port, a memory card port, and an identification module. It may include at least one of a port, an audio input / output (I / O) port, a video input / output (I / O) port, and an earphone port.
  • I / O audio input / output
  • I / O video input / output
  • earphone port an earphone port
  • the memory 170 stores data supporting various functions of the mobile terminal 100.
  • the memory 170 may store a plurality of application programs or applications driven in the mobile terminal 100, data for operating the mobile terminal 100, and instructions. At least some of these applications may be downloaded from an external server via wireless communication.
  • at least some of these application programs may exist on the mobile terminal 100 from the time of shipment for basic functions of the mobile terminal 100 (for example, a call forwarding, a calling function, a message receiving, and a calling function).
  • the application program may be stored in the memory 170 and installed on the mobile terminal 100 to be driven by the controller 180 to perform an operation (or function) of the mobile terminal.
  • the controller 180 In addition to the operation related to the application program, the controller 180 typically controls the overall operation of the mobile terminal 100.
  • the controller 180 may provide or process information or a function appropriate to a user by processing signals, data, information, and the like, which are input or output through the above-described components, or by driving an application program stored in the memory 170.
  • controller 180 may control at least some of the components described with reference to FIG. 1A in order to drive an application program stored in the memory 170. Furthermore, the controller 180 may operate by combining at least two or more of the components included in the mobile terminal 100 to drive the application program.
  • the power supply unit 190 receives power from an external power source and an internal power source under the control of the controller 180 to supply power to each component included in the mobile terminal 100.
  • the power supply unit 190 includes a battery, which may be a built-in battery or a replaceable battery.
  • At least some of the components may operate in cooperation with each other to implement an operation, control, or control method of the mobile terminal according to various embodiments described below.
  • the operation, control, or control method of the mobile terminal may be implemented on the mobile terminal by driving at least one application program stored in the memory 170.
  • the broadcast receiving module 111 of the wireless communication unit 110 receives a broadcast signal and / or broadcast related information from an external broadcast management server through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • Two or more broadcast receiving modules may be provided to the mobile terminal 100 for simultaneous broadcast reception or switching of broadcast channels for at least two broadcast channels.
  • the mobile communication module 112 may include technical standards or communication schemes (eg, Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Code Division Multi Access 2000 (CDMA2000), and EV).
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • CDMA2000 Code Division Multi Access 2000
  • EV Enhanced Voice-Data Optimized or Enhanced Voice-Data Only (DO), Wideband CDMA (WCDMA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), LTE-A (Long Term Evolution-Advanced) and the like to transmit and receive a radio signal with at least one of a base station, an external terminal, a server on a mobile communication network.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • CDMA2000 Code Division Multi Access 2000
  • EV Enhanced Voice-Data Optimized or Enhanced Voice-Data Only (DO)
  • WCDMA Wideband CDMA
  • HSDPA High
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
  • the wireless internet module 113 refers to a module for wireless internet access and may be embedded or external to the mobile terminal 100.
  • the wireless internet module 113 is configured to transmit and receive wireless signals in a communication network according to wireless internet technologies.
  • wireless Internet technologies include Wireless LAN (WLAN), Wireless-Fidelity (Wi-Fi), Wireless Fidelity (Wi-Fi) Direct, Digital Living Network Alliance (DLNA), Wireless Broadband (WiBro), and WiMAX (World).
  • the wireless Internet module 113 for performing a wireless Internet access through the mobile communication network 113 May be understood as a kind of mobile communication module 112.
  • the short range communication module 114 is for short range communication, and includes Bluetooth TM, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, and NFC. (Near Field Communication), at least one of Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, Wireless USB (Wireless Universal Serial Bus) technology can be used to support short-range communication.
  • the short-range communication module 114 may be configured between a mobile terminal 100 and a wireless communication system, between the mobile terminal 100 and another mobile terminal 100, or through the wireless area networks. ) And a network in which the other mobile terminal 100 (or an external server) is located.
  • the short range wireless communication network may be short range wireless personal area networks.
  • the other mobile terminal 100 is a wearable device capable of exchanging (or interworking) data with the mobile terminal 100 according to the present invention (for example, smartwatch, smart glasses). (smart glass), head mounted display (HMD).
  • the short range communication module 114 may sense (or recognize) a wearable device that can communicate with the mobile terminal 100, around the mobile terminal 100.
  • the controller 180 may include at least a portion of data processed by the mobile terminal 100 in the short range communication module ( The transmission may be transmitted to the wearable device through 114. Therefore, the user of the wearable device may use data processed by the mobile terminal 100 through the wearable device. For example, according to this, when a call is received by the mobile terminal 100, the user performs a phone call through the wearable device or when a message is received by the mobile terminal 100, the received through the wearable device. It is possible to check the message.
  • the location information module 115 is a module for obtaining a location (or current location) of a mobile terminal, and a representative example thereof is a Global Positioning System (GPS) module or a Wireless Fidelity (WiFi) module.
  • GPS Global Positioning System
  • Wi-Fi Wireless Fidelity
  • the mobile terminal may acquire the location of the mobile terminal using a signal transmitted from a GPS satellite.
  • the mobile terminal may acquire the location of the mobile terminal based on information of the wireless access point (AP) transmitting or receiving the Wi-Fi module and the wireless signal.
  • the location information module 115 may perform any function of other modules of the wireless communication unit 110 to substitute or additionally obtain data regarding the location of the mobile terminal.
  • the location information module 115 is a module used to obtain the location (or current location) of the mobile terminal, and is not limited to a module that directly calculates or obtains the location of the mobile terminal.
  • the input unit 120 is for inputting image information (or signal), audio information (or signal), data, or information input from a user.
  • the mobile terminal 100 is one.
  • the plurality of cameras 121 may be provided.
  • the camera 121 processes image frames such as still images or moving images obtained by the image sensor in the video call mode or the photographing mode.
  • the processed image frame may be displayed on the display unit 151 or stored in the memory 170.
  • the plurality of cameras 121 provided in the mobile terminal 100 may be arranged to form a matrix structure, and through the camera 121 forming a matrix structure in this way, the mobile terminal 100 may have various angles or focuses.
  • the plurality of pieces of image information may be input.
  • the plurality of cameras 121 may be arranged in a stereo structure to acquire a left image and a right image for implementing a stereoscopic image.
  • the microphone 122 processes external sound signals into electrical voice data.
  • the processed voice data may be variously used according to a function (or an application program being executed) performed by the mobile terminal 100. Meanwhile, various noise reduction algorithms may be implemented in the microphone 122 to remove noise generated in the process of receiving an external sound signal.
  • the user input unit 123 is for receiving information from a user. When information is input through the user input unit 123, the controller 180 may control an operation of the mobile terminal 100 to correspond to the input information. .
  • the user input unit 123 may be a mechanical input unit (or a mechanical key, for example, a button, a dome switch, a jog wheel, or the like located on the front, rear, or side surfaces of the mobile terminal 100). Jog switch, etc.) and touch input means.
  • the touch input means may include a virtual key, a soft key, or a visual key displayed on the touch screen through a software process, or a portion other than the touch screen.
  • the virtual key or the visual key may be displayed on the touch screen while having various forms, for example, graphic or text. ), An icon, a video, or a combination thereof.
  • the sensing unit 140 senses at least one of information in the mobile terminal, surrounding environment information surrounding the mobile terminal, and user information, and generates a sensing signal corresponding thereto.
  • the controller 180 may control driving or operation of the mobile terminal 100 or perform data processing, function or operation related to an application program installed in the mobile terminal 100 based on the sensing signal. Representative sensors among various sensors that may be included in the sensing unit 140 will be described in more detail.
  • the proximity sensor 141 refers to a sensor that detects the presence or absence of an object approaching a predetermined detection surface or an object present in the vicinity without using a mechanical contact by using an electromagnetic force or infrared rays.
  • the proximity sensor 141 may be disposed in an inner region of the mobile terminal covered by the touch screen described above or near the touch screen.
  • the proximity sensor 141 examples include a transmission photoelectric sensor, a direct reflection photoelectric sensor, a mirror reflection photoelectric sensor, a high frequency oscillation proximity sensor, a capacitive proximity sensor, a magnetic proximity sensor, and an infrared proximity sensor.
  • the proximity sensor 141 may be configured to detect the proximity of the object by the change of the electric field according to the proximity of the conductive object.
  • the touch screen (or touch sensor) itself may be classified as a proximity sensor.
  • the proximity sensor 141 may detect a proximity touch and a proximity touch pattern (for example, a proximity touch distance, a proximity touch direction, a proximity touch speed, a proximity touch time, a proximity touch position, and a proximity touch movement state). have.
  • the controller 180 processes data (or information) corresponding to the proximity touch operation and the proximity touch pattern detected through the proximity sensor 141 as described above, and further, provides visual information corresponding to the processed data. It can be output on the touch screen. Further, the controller 180 may control the mobile terminal 100 to process different operations or data (or information) according to whether the touch on the same point on the touch screen is a proximity touch or a touch touch. .
  • the touch sensor applies a touch (or touch input) applied to the touch screen (or the display unit 151) using at least one of various touch methods such as a resistive film method, a capacitive method, an infrared method, an ultrasonic method, and a magnetic field method. Detect.
  • the touch sensor may be configured to convert a change in pressure applied to a specific portion of the touch screen or capacitance generated at the specific portion into an electrical input signal.
  • the touch sensor may be configured to detect a position, an area, a pressure at the touch, a capacitance at the touch, and the like, when the touch object applying the touch on the touch screen is touched on the touch sensor.
  • the touch object is an object applying a touch to the touch sensor and may be, for example, a finger, a touch pen or a stylus pen, a pointer, or the like.
  • the touch controller processes the signal (s) and then transmits the corresponding data to the controller 180.
  • the controller 180 can know which area of the display unit 151 is touched.
  • the touch controller may be a separate component from the controller 180 or may be the controller 180 itself.
  • the controller 180 may perform different control or perform the same control according to the type of touch object that touches the touch screen (or a touch key provided in addition to the touch screen). Whether to perform different control or the same control according to the type of touch object may be determined according to the operation state of the mobile terminal 100 or an application program being executed.
  • the touch sensor and the proximity sensor described above may be independently or combined, and may be a short (or tap) touch, a long touch, a multi touch, a drag touch on a touch screen. ), Flick touch, pinch-in touch, pinch-out touch, swipe touch, hovering touch, etc. A touch can be sensed.
  • the ultrasonic sensor may recognize location information of a sensing object using ultrasonic waves.
  • the controller 180 can calculate the position of the wave generation source through the information detected from the optical sensor and the plurality of ultrasonic sensors.
  • the position of the wave source can be calculated using the property that the light is much faster than the ultrasonic wave, that is, the time that the light reaches the optical sensor is much faster than the time when the ultrasonic wave reaches the ultrasonic sensor. More specifically, the position of the wave generation source may be calculated using a time difference from the time when the ultrasonic wave reaches the light as the reference signal.
  • the camera 121 which has been described as the configuration of the input unit 120, includes at least one of a camera sensor (eg, CCD, CMOS, etc.), a photo sensor (or image sensor), and a laser sensor.
  • a camera sensor eg, CCD, CMOS, etc.
  • a photo sensor or image sensor
  • a laser sensor e.g., a laser sensor
  • the camera 121 and the laser sensor may be combined with each other to detect a touch of a sensing object with respect to a 3D stereoscopic image.
  • the photo sensor may be stacked on the display element, which is configured to scan the movement of the sensing object in proximity to the touch screen. More specifically, the photo sensor mounts a photo diode and a transistor (TR) in a row / column and scans contents mounted on the photo sensor by using an electrical signal that varies according to the amount of light applied to the photo diode. That is, the photo sensor calculates coordinates of the sensing object according to the amount of light change, and thus, the position information of the sensing object can be obtained.
  • TR transistor
  • the display unit 151 displays (outputs) information processed by the mobile terminal 100.
  • the display unit 151 may display execution screen information of an application program driven in the mobile terminal 100 or user interface (UI) and graphical user interface (GUI) information according to the execution screen information. .
  • UI user interface
  • GUI graphical user interface
  • the display unit 151 may be configured as a stereoscopic display unit for displaying a stereoscopic image.
  • the stereoscopic display unit may be a three-dimensional display method such as a stereoscopic method (glasses method), an auto stereoscopic method (glasses-free method), a projection method (holographic method).
  • the sound output unit 152 may output audio data received from the wireless communication unit 110 or stored in the memory 170 in a call signal reception, a call mode or a recording mode, a voice recognition mode, a broadcast reception mode, and the like.
  • the sound output unit 152 may also output a sound signal related to a function (for example, a call signal reception sound or a message reception sound) performed in the mobile terminal 100.
  • the sound output unit 152 may include a receiver, a speaker, a buzzer, and the like.
  • the haptic module 153 generates various haptic effects that a user can feel.
  • a representative example of the tactile effect generated by the haptic module 153 may be vibration.
  • the intensity and pattern of vibration generated by the haptic module 153 may be controlled by the user's selection or the setting of the controller. For example, the haptic module 153 may synthesize different vibrations and output or sequentially output them.
  • the haptic module 153 may be used to stimulate pins that vertically move with respect to the contact skin surface, jetting force or suction force of air through the jetting or suction port, grazing to the skin surface, contact of electrodes, and electrostatic force
  • Various tactile effects can be generated, such as effects by the endothermic and the reproduction of a sense of cold using the elements capable of endothermic heat generation.
  • the haptic module 153 may not only deliver a tactile effect through direct contact, but also may allow a user to feel the tactile effect through a muscle sense such as a finger or an arm. Two or more haptic modules 153 may be provided according to a configuration aspect of the mobile terminal 100.
  • the light output unit 154 outputs a signal for notifying occurrence of an event by using light of a light source of the mobile terminal 100.
  • Examples of events occurring in the mobile terminal 100 may be message reception, call signal reception, missed call, alarm, schedule notification, email reception, information reception through an application, and the like.
  • the signal output from the light output unit 154 is implemented as the mobile terminal emits light of a single color or a plurality of colors to the front or the rear.
  • the signal output may be terminated by the mobile terminal detecting the user's event confirmation.
  • the interface unit 160 serves as a path to all external devices connected to the mobile terminal 100.
  • the interface unit 160 receives data from an external device, receives power, transfers the power to each component inside the mobile terminal 100, or transmits data inside the mobile terminal 100 to an external device.
  • the port, audio input / output (I / O) port, video input / output (I / O) port, earphone port, etc. may be included in the interface unit 160.
  • the identification module is a chip that stores a variety of information for authenticating the usage rights of the mobile terminal 100, a user identification module (UIM), subscriber identity module (SIM), universal user authentication And a universal subscriber identity module (USIM).
  • a device equipped with an identification module (hereinafter referred to as an 'identification device') may be manufactured in the form of a smart card. Therefore, the identification device may be connected to the terminal 100 through the interface unit 160.
  • the interface unit 160 may be a passage for supplying power from the cradle to the mobile terminal 100 or may be input from the cradle by a user.
  • Various command signals may be a passage through which the mobile terminal 100 is transmitted.
  • Various command signals or power input from the cradle may operate as signals for recognizing that the mobile terminal 100 is correctly mounted on the cradle.
  • the memory 170 may store a program for the operation of the controller 180 and may temporarily store input / output data (for example, a phone book, a message, a still image, a video, etc.).
  • the memory 170 may store data regarding vibration and sound of various patterns output when a touch input on the touch screen is performed.
  • the memory 170 may include a flash memory type, a hard disk type, a solid state disk type, an SSD type, a silicon disk drive type, and a multimedia card micro type. ), Card-type memory (e.g., SD or XD memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read It may include at least one type of storage medium of -only memory (PROM), programmable read-only memory (PROM), magnetic memory, magnetic disk and optical disk.
  • the mobile terminal 100 may be operated in connection with a web storage that performs a storage function of the memory 170 on the Internet.
  • the controller 180 controls the operation related to the application program, and generally the overall operation of the mobile terminal 100. For example, if the state of the mobile terminal satisfies a set condition, the controller 180 may execute or release a lock state that restricts input of a user's control command to applications.
  • controller 180 may perform control and processing related to voice call, data communication, video call, or the like, or may perform pattern recognition processing for recognizing handwriting input or drawing input performed on a touch screen as text and images, respectively. Can be. Furthermore, the controller 180 may control any one or a plurality of components described above in order to implement various embodiments described below on the mobile terminal 100 according to the present invention.
  • the power supply unit 190 receives an external power source and an internal power source under the control of the controller 180 to supply power for operation of each component.
  • the power supply unit 190 includes a battery, and the battery may be a built-in battery configured to be rechargeable, and may be detachably coupled to the terminal body for charging.
  • the power supply unit 190 may be provided with a connection port, the connection port may be configured as an example of the interface 160 is electrically connected to the external charger for supplying power for charging the battery.
  • the power supply unit 190 may be configured to charge the battery in a wireless manner without using the connection port.
  • the power supply unit 190 uses one or more of an inductive coupling based on a magnetic induction phenomenon or a magnetic resonance coupling based on an electromagnetic resonance phenomenon from an external wireless power transmitter. Power can be delivered.
  • various embodiments of the present disclosure may be implemented in a recording medium readable by a computer or a similar device using, for example, software, hardware, or a combination thereof.
  • a mobile terminal 100 including a wireless communication unit 110, a display unit 151, a memory 170, and a controller 180. .
  • FIGS. 2 and 11 a method of controlling dynamic resolution according to execution of an application of the present invention including the wireless communication unit 110, the display unit 151, the memory 170, and the controller 180 is described. Let's look at the details.
  • FIG. 2 is a block diagram of a mobile terminal for performing resolution adjustment according to execution of an application according to the present invention.
  • the mobile terminal 100 illustrated in FIG. 2 may include a wireless communication unit 110, a display unit 151, a memory 170, and a controller 180.
  • the mobile terminal 100 may receive a user input related to execution of an application from a user, exchange data from a server running the application, and display the application on a screen.
  • the wireless communication unit 110 may transmit or receive data with a server operating an application service in connection with the execution of the application.
  • the memory 170 may store setting information for displaying a screen at a first resolution on the display unit 151.
  • the controller 180 receives information about a plurality of resolutions supported by the application. In addition, the controller 180 selects a second resolution, which is a resolution of an execution screen on which the application is executed, based on the first resolution and the plurality of resolutions. In addition, the controller 180 displays the execution screen on the display unit 151 according to the second resolution.
  • the controller 180 may perform the following functions and procedures.
  • the controller 180 configures the execution screen by combining the plurality of objects with a system UI according to the second resolution.
  • the controller 180 upscales the configured execution screen according to the ratio of the first and second resolutions and displays the execution screen on the display unit.
  • the second resolution may be selected such that a difference from the first resolution is the smallest among the plurality of resolutions.
  • the plurality of objects configuring the execution screen may be referred to as a plurality of components.
  • FIG. 3 is a diagram illustrating a process of selecting any one of a plurality of resolutions supported by an application according to the present invention.
  • the library includes drawable-ldpi, drawable-mdpi, drawable-hdpi, drawable-xhdpi alc drawable-xxhdpi.
  • the drawable-ldpi, drawable-mdpi, drawable-hdpi, drawable-xhdpi, and drawable-xxhdpi may have, for example, a resolution of 0.75 times, 1 time, 1.5 times, 2 times, and 2 times the mdpi.
  • the ldpi, mdpi, hdpi, xhdpi and xxhdpi correspond to the plurality of resolutions.
  • a plurality of resolutions supported by an application may not support the resolution of a set screen.
  • the resolution of the set screen does not match any of the plurality of resolutions, it is necessary to resolve the inconsistency of the resolution when selecting any one of the plurality of resolutions.
  • the application may support the first resolution.
  • the plurality of objects arranged on the application screen should be upscaled by the difference in resolution.
  • the upscaling should be performed in a graphics processing unit (GPU), and on-screen relocation of the plurality of objects should be performed in a central processing unit (CPU).
  • the first resolution corresponding to the system resolution is changed to the second resolution selected by the application.
  • the second resolution may be selected such that a difference from the first resolution is the smallest among the plurality of resolutions.
  • the first resolution may be xxxhdpi and the second resolution may be xxhdpi.
  • the dynamic resolution is adjusted by changing the first resolution to the second resolution by using the meta information received from the library. The dynamic resolution control may be performed for each application.
  • the screen of the application may include a plurality of screens.
  • the plurality of screens include a first screen 210 and a second screen 220, the first screen 210 is a basic screen displayed before the application is executed, and the second screen 220 is It may be an initial screen according to the execution of the application.
  • the controller 180 In relation to the first screen 210, the controller 180 generates a first frame by receiving a buffer queue from a system user interface (UI). In addition, in relation to the second screen 220, the controller 180 generates a second frame by receiving a buffer queue from an application.
  • the first frame of the first screen 210 and the second frame of the second screen 220 are generated by a surface plunger.
  • a screen of an application may be displayed only on a part of the display unit.
  • the synthesized screen is upscaled according to a ratio of the first resolution and the second resolution.
  • processing time and power consumption can be reduced compared to repeatedly upscaling and relocating the plurality of objects of the application, respectively.
  • the first screen and the second screen are combined to show an upscaled full screen.
  • the synthesis and upscaling of the first screen 210 and the second screen 220 are performed by a hardware composer.
  • the hardware component upscales the plurality of objects in the execution screen of the application according to the ratio of the first and second resolutions.
  • the upscaling is performed by stretching the pixels of the plurality of objects based on the ratio.
  • FIG. 4 is an exemplary view of an execution screen of an application displayed on a display unit before and after upscaling according to the present invention.
  • FIG. 4 it is an execution screen of an application displayed on the display unit before upscaling according to the second resolution selected by the application.
  • the display is displayed only on some screens of the display unit. Therefore, it can be seen that upscaling of the execution screen according to the ratio of the first resolution and the second resolution is required.
  • the upscaling may be implemented by pixel stretching the entire screen including a plurality of objects at one time.
  • the entire screen including the plurality of components is upscaled at once according to the ratio of the first resolution and the second resolution.
  • This method is advantageous in terms of processing time and power consumption compared to adjusting the size of the plurality of objects displayed on the execution screen on the GPU according to the ratio of the first resolution and the second resolution, and arranging them on the GPU. .
  • 5 is a flowchart illustrating a dynamic resolution control method according to the present invention.
  • 6 is a conceptual diagram of placing a plurality of objects on a screen in an application according to the present invention.
  • the dynamic resolution control method includes a user input receiving process S410, a resolution information receiving process S420, a resolution selecting process S430, and an execution screen displaying process S440.
  • the dynamic resolution control method may further include a measurement value receiving process (S450) and a resolution changing process (S460).
  • the user input receiving process (S410) receives a user input for executing an application on a screen displayed at a first resolution.
  • the process of receiving a user input (S410) receives a process launch request (Requst Launch) corresponding to the execution of the application from an activity manager operating when the application is executed.
  • the resolution information receiving process (S420) receives information about a plurality of resolutions supported by the application.
  • the resolution selecting process S430 selects a second resolution, which is a resolution of an execution screen on which the application is executed, based on the first resolution and the plurality of resolutions.
  • the second resolution is selected such that a difference from the first resolution is the smallest among the plurality of resolutions.
  • the execution screen display process (S440) displays the execution screen on the display unit according to the second resolution.
  • the execution screen on which the plurality of objects are arranged is upscaled according to the ratio of the first and second resolutions.
  • the upscaling stretches the pixels of the plurality of objects based on the ratio.
  • the system resolution of the mobile terminal is changed by the resolution supported by the application.
  • the changed system resolution may be changed back to the system resolution before the change when the application is terminated.
  • the mobile terminal may change the resolution in consideration of power consumption during or during the execution of the application.
  • the measurement value receiving process S450 and the resolution changing process S460 may be performed.
  • the measurement receiving process S450 receives measurement values of factors associated with the change of the second resolution.
  • the factors may be based on at least one of a battery level, a temperature detected by the power manager, a frame per second (FPS) required by the application, and the configuration information.
  • FPS frame per second
  • the power saving mode is a mode that is started when the remaining battery capacity of the terminal is less than or equal to a predetermined battery level or by user selection.
  • the thermal alleviation mode is a mode in which the temperature of the terminal is above a certain temperature or started by clock down by software or hardware due to the temperature proof.
  • the FPS adjustment mode is a mode that starts to adjust the number of frames per second displayed on the screen according to the application.
  • the UI adjustment mode is a mode that is initiated to adjust the size of objects for users with low vision.
  • the resolution change process selects a third resolution lower than the second resolution based on the received measurement value. That is, it is determined that the modes have been entered based on the received measurement value, and a third resolution lower than the second resolution may be selected.
  • the application receives information about a resolution built from a library through a framework.
  • the resolution selection process S430 includes a resolution application process S431 and a resolution information transmission process S432.
  • the first resolution which is a system resolution
  • a second resolution which is one of the resolutions of an application
  • the scaler transmits the information about the second resolution to the window manager.
  • the execution screen display process (S440) displays the execution screen on the display unit according to the second resolution.
  • the execution screen display process S440 includes a component arrangement process S441 and a frame generation process S442.
  • a plurality of objects are arranged on an execution screen according to the second resolution.
  • the system resolution has already been changed from the first resolution to the second resolution
  • the system resolution is disposed throughout the execution screen.
  • a user input reception process S410 is already performed before the system resolution is changed to the second resolution and applied through the resolution information transmission process S432. Therefore, when the plurality of objects are displayed at the second resolution, the plurality of objects may be disposed only in a partial area of the execution screen.
  • the execution screen on which the plurality of objects are arranged is upscaled according to the ratio of the first and second resolutions.
  • the upscaling may be performed by stretching pixels of the plurality of objects based on the ratio.
  • Figure 7 shows a hierarchical structure for performing a dynamic resolution control method according to an embodiment of the present invention.
  • the controller 180 executes the application in an application layer, receives configuration information in a framework layer, selects the second resolution based on a first resolution and a plurality of resolutions, 2 Display the execution screen according to the resolution, and perform power management, memory management, and hardware management of the mobile terminal in the kernel layer.
  • the hierarchical structure includes the application layer 310, the framework layer 320, the kernel layer 360, and the device component layer 370.
  • the application layer 310 is loaded with core applications such as email clients, text messaging programs, calendars, maps, browsers, phone books, and the like.
  • the application layer 310 may be written in the Java programming language.
  • the application layer 310 executes the application based on a user input for executing the application.
  • the application layer 310 includes a target application 311 that is executed based on a user input.
  • the framework layer 320 provides component and hardware access, user interface, resource management, and the like used to create an application. Developers have full access to the same framework APIs used in core applications.
  • the framework layer 320 may include a set of libraries written in the C / C ++ language.
  • the framework layer 320 selects the second resolution based on the first resolution and the plurality of resolutions, and displays an execution screen of the application according to the second resolution.
  • the framework layer 320 includes a first framework layer 330 and a second framework layer 340.
  • the second framework layer 340 provides a dynamic resolution service according to the execution of the application.
  • the first framework layer 330 includes an activity manager 331, a package manager 332, a window state manager 333, a window manager 334, and an input manager. (Input Manager, 335).
  • the activity manager 331 manages the life cycle of the application. That is, the activity manager 331 detects whether an application is executed, and when the application is executed, generates an launch request corresponding to the execution of the application.
  • the package manager 332 manages information of an application running in the system. That is, the package manager 332 detects information about the application running in the system.
  • the information includes the name, package information and version information of the application.
  • the information includes a location where the application is installed and a location where a specific package of the application is installed.
  • the window state manager 333 detects a screen state of the display unit or whether the screen is rotated. That is, the window state manager 333 may detect whether the screen is deactivated or activated or detect whether the screen is locked. In addition, the window state manager 333 may detect whether the screen is in a horizontal screen state or a vertical screen state.
  • the window manager 334 is responsible for the screen associated with the application. That is, the window manager 334 receives information related to the screen resolution of the application and controls to generate a screen based on the screen resolution.
  • the input manager 335 recognizes touch coordinates of the user's touch input point, and detects an event related to the user's input based on the resolution of the application and the touch coordinates.
  • the second framework layer 340 includes a process observer 341, a process filter 342, and a scaler 343.
  • the process observer 341 receives a launch request corresponding to the execution of an application from the activity manager 331.
  • the process filter 342 changes the first resolution to the second resolution and determines whether to apply the changed second resolution.
  • the scaler 343 transmits the information regarding the second resolution to the window manager 334.
  • the frame layer 320 includes a surface plunger 350 and a hardware composer 360.
  • the surface plunger 350 collects a plurality of Surface data from an application of the application layer 310 and transfers the plurality of Surface data to a frame buffer. That is, the surface plunger 350 controls the graphic layer in the application according to the ratio of the first and second resolutions. In this regard, referring to FIG. 2B, the surface plunger 350 generates information about first and second screens corresponding to a plurality of screens, and transmits the information to the hardware configuration unit 360. Send to
  • the surface plunger 350 changes the system resolution to the second resolution and notifies the window manager 334 of this.
  • the window manager 334 may allocate as few frame buffers as the reduced resolution.
  • the hardware configuration unit 360 upscales the plurality of objects of the execution screen according to the ratio of the first and second resolutions. That is, the hardware component 360 may stretch the pixels of the first and second screens by the ratio.
  • the kernel layer 360 performs power management, memory management, and hardware management of the mobile terminal.
  • the kernel layer 360 includes a device driver 361 and a power manager 362.
  • the device driver 361 includes drivers for controlling hardware of the mobile terminal.
  • the device driver 361 may include a display driver, a USB driver, a camera driver, a Bluetooth driver, a WiFi driver, a memory driver, an audio driver, a binder driver, and the like.
  • the screen generated from the hardware component 360 may be displayed on the display LCD via the device driver 361.
  • the power manager 362 manages power consumption for each application.
  • the power manager 362 manages power consumption through an interface with a power management integrated chip (PMIC).
  • PMIC power management integrated chip
  • the power manager 362 may monitor the remaining power amount and the temperature of the mobile terminal.
  • the device component layer 370 includes a plurality of device objects.
  • the plurality of device objects may include a central processing unit (CPU) 371, a graphics processing unit (GPU) 372, and a display (LCD) 373.
  • CPU central processing unit
  • GPU graphics processing unit
  • LCD display
  • FIG. 8 illustrates a hierarchical structure for performing a dynamic resolution control method according to another embodiment of the present invention.
  • the hierarchical structure includes an application layer 310, a framework layer 420, a kernel layer 360, and a device component layer 370.
  • the description of the application layer 310, the kernel layer 360, and the device component layer 370 is replaced with the description of FIG. 3.
  • the framework layer 420 includes a first framework layer 330, a second framework layer 440, a surface plunger 350, and a hardware component 460.
  • the second framework layer 440 includes a process observer 341, a process filter 342, a scaler 443, a package analyzer 444, and a trigger monitor. And 445) and a task migration unit 446.
  • the package analyzer 444 extracts information about a plurality of resolutions from an application.
  • the trigger monitoring unit 445 monitors at least one of a battery remaining amount and temperature detected by the power manager 362, a frame per second (FPS) and configuration information required by the application.
  • FPS frame per second
  • the trigger monitoring unit 445 notifies the scaler 443 when the battery remaining amount and the temperature are out of a preset range.
  • the trigger monitoring unit 445 notifies the scaler 443 when the FPS and the setting information are changed.
  • the scaler 443 may select a third resolution lower than the second resolution based on the notification from the trigger monitoring unit 445.
  • the task migration unit 446 detects an interrupt for scheduling between tasks and performing resource management such as memory, disk, and network, transmits the interrupt to the CPU 371, and schedules the interrupt at the CPU 371. And perform an interrupt.
  • the screen generated from the hardware configuration unit 360 may be displayed via the display (LCD) 373 through the graphic processing unit (GPU, 372) via the device driver 361.
  • the screen generated from the hardware configuration unit 360 may be displayed on the display LCD 373 via the device driver 361.
  • the main components for performing the dynamic resolution control method in the framework layer are the window manager 334, the surface plunger 350, and the hardware component 360.
  • FIG. 9 is a diagram including a main component and a detailed component related to the dynamic resolution control according to the present invention.
  • the main components include an image stream producer 510, a window positioning 520, an image stream consumer 530, a native framework 540, and hardware.
  • Hardware Abstract Layer (HAL, 550) is included.
  • the image stream generator 510 includes a media player 511, a camera preview 512, a native developer's kit 513, and an OpenGL ES 514.
  • the window positioning unit 520 includes a window manager 334, as shown in FIGS. 6 and 7.
  • the image stream consumer 530 includes an OpenGL ES Apps 531 and a surface plunger 350.
  • the native framework 540 includes surface control objects (Surface.cpp, 541), GLConsumer (GLConsumer.cpp, 542) and IGrphicBufferProducer (IGrphicBuffer Producer.cpp, 543).
  • the surface control object 541 is generated natively to display the screen of the application, and is interfaced with the surface plunger 360 to output the screen.
  • the HAL 550 includes a hardware component 360.
  • the above-described media player 511 and camera preview 512 indicate the type of application associated with the image stream.
  • the NDK 513 is a developer kit for calling and using a module made of C / C ++ code.
  • the OpenGL ES 514 is a library that enables the use of OpenGL, a three-dimensional graphics library, in an embedded system (ES).
  • the window manager 334 is responsible for the screen associated with the application. That is, the window manager 334 receives information related to the screen resolution of the application and controls to generate a screen based on the screen resolution.
  • the window manager 334 performs the resolution information receiving process (S420). That is, the window manager 334 receives window metadata related to the resolution information from the image stream producer 510 in the resolution information receiving process (S420). In addition, the window manager 334 may provide the surface plunger 350 with information on the second resolution selected from the resolution selection process S430 performed in the second framework layer 340 shown in FIGS. 6 and 7. To send).
  • the OpenGL ES Apps 531 correspond to applications using the OpenGL ES.
  • the surface plunger 350 receives metadata about the first resolution corresponding to the system resolution and the second resolution corresponding to the resolution of the application from the window manager 334.
  • the surface plunger 350 performs a component placement process (S441).
  • the surface plunger 350 controls the graphic layer in the application according to the ratio of the first and second resolutions.
  • the surface plunger 350 may receive buffer data from the GLConsumer 542.
  • the received buffer data may be buffer data adjusted based on the second resolution.
  • the hardware component 360 performs a frame generation process (S442).
  • the frame generation process (S442) the plurality of objects of the execution screen are upscaled according to the ratio of the first and second resolutions.
  • the upscaled frame is sent to a display (LCD), where the display indicates the upscaled frame.
  • LCD display
  • FIG. 10 is a signal flowchart of a dynamic resolution control method according to the present invention.
  • the dynamic resolution control method may be performed by the target application 311, the surface plunger 350, the hardware component 360, and a display (LCD) 373.
  • the target application 311, the surface plunger 350, the hardware component 360, and a display (LCD) 373 may be performed by the target application 311, the surface plunger 350, the hardware component 360, and a display (LCD) 373.
  • LCD display
  • the dynamic resolution control method may be additionally performed by the system 610 and the system UI 620.
  • the signal flow in the system 610 and the system UI 620 may be performed by the second framework layer 340 in FIG.
  • the target application 311 receives a user input (1: User Action) for executing an application from a user.
  • the system 610 receives a launch request 2 (Requst Launch) corresponding to the execution of the application from the target application 311. That is, the system 610 receives from the activity manager a launch request (Requst Launch) corresponding to the execution of the application in the process observer.
  • the system 610 performs a change resolution (3) of changing a first resolution, which is a system resolution, to a second resolution, which is an application resolution.
  • the system 610 transmits current resolution (4: current resolution) information for transmitting the changed information about the second resolution to the target application 311.
  • the target application 311 transmits a generation request (Request Draw) 5 for generating an execution screen of the application to the GPU 372.
  • the GPU 372 does not perform repetitive scaling on each of the plurality of objects of the application. That is, the GPU 372 sends a first merge request (6) Request Merge to the surface plunger 360 for merging a second screen, which is an execution screen of the application on which the plurality of objects are placed, with a full screen. Send.
  • the system UI 620 transmits a second merge request (7: Request Merge) to the surface plunger 360 for merging the first screen, which is the basic UI screen on which the application is placed, with the full screen.
  • the surface plunger 360 receives the first and second merge requests and transmits a frame generation (8: Draw Frame) request for generating a full screen to the hardware component 360.
  • the hardware configuration unit 360 performs pixel stretching corresponding to upscaling for the entire screen according to a ratio of a first resolution, which is a system resolution, and a second resolution, which is a resolution selected by an application.
  • the hardware component 360 transmits the pixel stretched frame 10 (Frmae) to the display 373 so that a dynamic resolution controlled screen is displayed on the display 373.
  • Figure 11 shows a signal flow diagram of a dynamic resolution control method according to another embodiment of the present invention.
  • the dynamic resolution control method includes a target application 311, a surface plunger 350, a hardware component 360, a display (LCD) 373, a system 610, and a system UI 620. Can be performed by
  • the dynamic resolution control method may be additionally performed by the process observer 341, the package analyzer 444, and the process filter 342.
  • the signal flow diagrams in the process observer 341, package analyzer 444 and process filter 342, system 610 and system UI 620 are defined by the second framework layer 440 in FIG. 8. Can be performed.
  • the target application 311 receives a user input (1: User Action) for executing an application from a user.
  • the system 610 receives a launch request 2a (Requst Launch) corresponding to the execution of the application from the target application 311. That is, the system 610 receives from the activity manager a launch request (2a: Requst Launch) corresponding to the execution of the application in the process observer.
  • the process observer 341 receives an application launch request (2b) from the system 610.
  • the process observer 341 sends an application resolution check request 2c to the package analyzer 444.
  • the package analyzer 444 sends an application check request (2d: Check Apps) to the process filter 342.
  • the process filter 342 generates an enable change resolution (3a) and transmits it to the package analyzer 444.
  • the package analyzer 444 sends a resolution setting request 3b (SetResolution) to the system 610.
  • the system 610 performs a change resolution (3c) for changing a first resolution, which is a system resolution, to a second resolution, which is an application resolution.
  • the process filter 342 If it is determined that the resolution change is not necessary, the process filter 342 generates a resolution change disable request (3d) and transmits it to the package analyzer 444.
  • the system 610 transmits current resolution (4: current resolution) information for transmitting the changed information about the second resolution to the target application 311.
  • the target application 311 transmits a generation request (Request Draw) 5 for generating an execution screen of the application to the GPU 372.
  • the GPU 372 does not perform repetitive scaling on each of the plurality of objects of the application. That is, the GPU 372 sends a first merge request (6) Request Merge to the surface plunger 360 for merging a second screen, which is an execution screen of the application on which the plurality of objects are placed, with a full screen. Send.
  • the system UI 620 transmits a second merge request (7: Request Merge) to the surface plunger 360 for merging the first screen, which is the basic UI screen on which the application is placed, with the full screen.
  • the surface plunger 360 receives the first and second merge requests and transmits a frame generation (8: Draw Frame) request for generating a full screen to the hardware component 360.
  • the hardware configuration unit 360 performs pixel stretching corresponding to upscaling for the entire screen according to a ratio of a first resolution, which is a system resolution, and a second resolution, which is a resolution selected by an application.
  • the hardware component 360 transmits the pixel stretched frame 10 (Frmae) to the display 373 so that a dynamic resolution controlled screen is displayed on the display 373.
  • the configuration and function related to the dynamic resolution control method described above can be used in combination with the configuration and function for each component of the mobile terminal performing the dynamic resolution control.
  • the dynamic resolution control may be performed by selecting a resolution of an execution screen on which an application is executed and displaying the execution screen based on the resolution. have.
  • processing time and power consumption may be performed by synthesizing screens including a plurality of objects and upscaling the synthesized screens at once.
  • the present invention described above can be embodied as computer readable codes on a medium in which a program is recorded.
  • the computer-readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and the like. This also includes implementations in the form of carrier waves (eg, transmission over the Internet).
  • the computer may include a controller 180 of the mobile terminal. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the invention are included in the scope of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephone Function (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 동적 해상도 제어를 수행하는 이동 단말기에 관한 것으로, 복수의 객체(object)들을 포함하는 어플리케이션을 실행하기 위한 사용자 입력을 수신하는 디스플레이부; 상기 디스플레이부에 제1해상도로 화면을 표시하는 설정 정보를 저장하는 메모리; 및 상기 어플리케이션이 지원하는 복수의 해상도들에 관한 정보를 수신하고, 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 어플리케이션이 실행되는 실행 화면의 해상도인 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 복수의 객체들을 시스템 UI와 합성하여 상기 실행 화면을 구성하고, 상기 구성된 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링하여 상기 디스플레이부에 표시하는 제어부를 포함, 동적 해상도 제어를 수행할 수 있다.

Description

동적 해상도 제어를 수행하는 이동 단말기 및 그 제어방법
본 발명은 동적 해상도 제어(Dynamic Resolution Control)를 수행하는 이동 단말기 및 그 제어방법에 관한 것이다.
단말기는 이동 가능 여부에 따라 이동 단말기(mobile/portable terminal) 및 고정 단말기(stationary terminal)으로 나뉠 수 있다. 다시 이동 단말기는 사용자의 직접 휴대 가능 여부에 따라 휴대(형) 단말기(handheld terminal) 및 거치형 단말기(vehicle mounted terminal)로 나뉠 수 있다.
이동 단말기의 기능은 다양화 되고 있다. 예를 들면, 데이터와 음성통신, 카메라를 통한 사진촬영 및 비디오 촬영, 음성녹음, 스피커 시스템을 통한 음악파일 재생 그리고 디스플레이부에 이미지나 비디오를 출력하는 기능이 있다. 일부 단말기는 전자게임 플레이 기능이 추가되거나, 멀티미디어 플레이어 기능을 수행한다. 특히 최근의 이동 단말기는 방송과 비디오나 텔레비전 프로그램과 같은 시각적 컨텐츠를 제공하는 멀티캐스트 신호를 수신할 수 있다.
이와 같은 단말기(terminal)는 기능이 다양화됨에 따라 예를 들어, 사진이나 동영상의 촬영, 음악이나 동영상 파일의 재생, 게임, 방송의 수신 등의 복합적인 기능들을 갖춘 멀티미디어 기기(Multimedia player) 형태로 구현되고 있다.
이러한 단말기의 기능 지지 및 증대를 위해, 단말기의 구조적인 부분 및/또는 소프트웨어적인 부분을 개량하는 것이 고려될 수 있다. 이러한 단말기는 최근에는 디스플레이의 고해상도(High resolution)에 따라, 단말기에 탑재된 어플리케이션의 유저 인터페이스(User Interface: UI)를 위한 해상도가 상기 디스플레이의 고해상도에 비하여 낮은 해상도를 갖는 문제점이 있다.
따라서, 어플리케이션의 실행을 위해 그래픽처리유닛(Graphic Process Unit: GPU)은 어플리케이션에 배치된 복수의 컴포넌트 각각에 대해 스케일링(Scaling) 작업을 수행함에 따른 처리 시간 및 전력 소모가 증가한다는 문제점이 있다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.
또 다른 목적은 동적 해상도 제어 수행 시, 이를 위한 처리 시간 및 전력 소모를 감소시키는 것을 그 목적으로 한다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 이동 단말기는 어플리케이션을 실행하기 위한 사용자 입력을 수신하는 디스플레이부, 상기 디스플레이부에 제1해상도로 화면을 표시하는 설정 정보를 저장하는 메모리 및 상기 어플리케이션이 지원하는 복수의 해상도들에 관한 정보를 수신하고, 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 어플리케이션이 실행되는 실행 화면의 해상도인 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 복수의 객체들을 시스템 UI와 합성하여 상기 실행 화면을 구성하고, 상기 구성된 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링하여 상기 디스플레이부에 표시하는 제어부를 포함하고, 동적 해상도 제어를 수행할 수 있다.
일 실시예에 따르면, 상기 제2해상도는 상기 복수의 해상도들 중 상기 제1해상도와의 차이가 가장 작도록 선택될 수 있다.
일 실시예에 따르면, 상기 제어부는 상기 복수의 객체들을 상기 시스템 UI와 합성하는 중앙 처리 유닛; 및 상기 합성된 복수의 객체들이 포함된 상기 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링하는 그래픽 처리 유닛을 포함할 수 있다.
일 실시예에 따르면, 상기 제어부는 상기 제2해상도의 변경과 연관된 인자들의 측정값을 수신하고, 상기 수신된 측정값에 기반하여 상기 제2해상도보다 낮은 제3해상도를 선택할 수 있다.
일 실시예에 따르면, 상기 업스케일링은 상기 복수의 객체들의 픽셀을 상기 비율에 기반하여 스트레칭(stretching)할 수 있다.
일 실시예에 따르면, 상기 인자들은 배터리 잔량, 전력 매니저를 통해 감지되는 온도, 상기 어플리케이션이 요구하는 초당 프레임(FPS: Frame Per Second) 및 상기 설정 정보 중 적어도 하나에 기반할 수 있다.
일 실시예에 따르면, 상기 제어부는, 어플리케이션 계층에서 상기 어플리케이션을 실행하고, 프레임워크 계층에서 상기 설정 정보를 수신하고, 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 실행 화면을 표시하고, 커널계층에서 상기 이동 단말기의 전력 관리, 메모리 관리 및 하드웨어 관리를 수행할 수 있다.
일 실시예에 따르면, 상기 프레임워크 계층은, 액티비티 매니저, 패키지 매니저, 윈도우스테이트 매니저, 윈도우 매니저 및 입력 매니저를 포함하는 제1프레임워크 계층을 포함할 수 있다.
일 실시예에 따르면, 상기 프레임워크 계층은, 프로세스 관측기, 패키지 분석기, 프로세스 필터, 스케일러, 트리거 모니터링부 및 태스크 마이그레션부를 포함하는, 제2프레임워크 계층을 더 포함할 수 있다.
일 실시예에 따르면, 상기 프레임워크 계층은, 상기 제1 및 제2해상도의 비율에 따라 상기 어플리케이션에서의 그래픽 레이어를 제어하는 서피스 플린저(Surface Flinger); 및 상기 제1 및 제2해상도의 비율에 따라 복수의 객체들이 배치된 상기 실행 화면을 업스케일링하는 하드웨어 구성부(Hardware Composer)를 더 포함할 수 있다.
일 실시예에 따르면, 상기 프로세스 관측기는 상기 액티비티 매니저로부터 상기 어플리케이션의 실행에 해당하는 개시 요청(Requst Launch)을 수신하고, 상기 패키지 분석기는 상기 어플리케이션으로부터 상기 복수의 해상도들에 관한 정보를 추출하고, 상기 프로세스 필터는 상기 제1해상도를 상기 제2해상도로 변경하고, 상기 변경된 제2해상도를 적용할지 여부를 결정하고, 상기 스케일러는 상기 제2해상도에 관한 정보를 상기 윈도우 매니저로 송신할 수 있다.
일 실시예에 따르면, 상기 커널 계층은 전력 매니저를 포함하고, 상기 트리거 모니터링부는 상기 전력 매니저로부터 상기 온도에 관한 정보를 수신하고, 상기 윈도우 매니저로부터 상기 FPS에 관한 정보 및 상기 사용자 설정에 관한 정보를 수신할 수 있다.
상기 또는 다른 목적을 달성하기 위해 본 발명의 다른 측면에 따르면, 이동 단말기는, 어플리케이션을 실행하기 위한 사용자 입력을 수신하는 디스플레이부; 상기 디스플레이부에 제1해상도로 화면을 표시하는 설정 정보를 저장하는 메모리; 및 상기 어플리케이션이 지원하는 복수의 해상도들에 관한 정보를 수신하고, 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 어플리케이션이 실행되는 실행 화면의 해상도인 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 실행 화면을 상기 디스플레이부에 표시하는 제어부를 포함한다.
일 실시예에 따르면, 상기 제2해상도는 상기 복수의 해상도들 중 상기 제1해상도와의 차이가 가장 작도록 선택될 수 있다.
일 실시예에 따르면, 상기 제어부는 복수의 객체들이 배치된 상기 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링할 수 있다.
일 실시예에 따르면, 상기 업스케일링은 상기 복수의 객체들의 픽셀을 상기 비율에 기반하여 스트레칭(stretching)함으로써 수행될 수 있다.
일 실시예에 따르면, 상기 제어부는 상기 제2해상도의 변경과 연관된 인자들의 측정값을 수신하고, 상기 수신된 측정값에 기반하여 상기 제2해상도보다 낮은 제3해상도를 선택할 수 있다.
일 실시예에 따르면, 상기 인자들은 배터리 잔량, 전력 매니저를 통해 감지되는 온도, 상기 어플리케이션이 요구하는 초당 프레임(FPS: Frame Per Second) 및 상기 설정 정보 중 적어도 하나에 기반할 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 어플리케이션의 실행에 해당하는 개시 요청(Requst Launch)을 액티비티 매니저로부터 수신하는 프로세스 관측기; 및상기 어플리케이션으로부터 상기 복수의 해상도들에 관한 정보를 추출하는 패키지 분석기를 포함할 수 있다.
일 실시예에 따르면, 상기 제어부는, 상기 제1해상도를 상기 제2해상도로 변경하고, 상기 변경된 제2해상도를 적용할지 여부를 결정하는 프로세스 필터; 및 상기 제2해상도에 관한 정보를 윈도우 매니저로 송신하는 스케일러를 더 포함할 수 있다.
본 발명에 따른 동적 해상도 제어를 수행하는 이동 단말기 및 그 제어 방법의 효과에 대해 설명하면 다음과 같다.
본 발명의 실시 예들 중 적어도 하나에 의하면, 어플리케이션이 실행되는 실행 화면의 해상도를 선택하고, 상기 해상도에 기반하여 상기 실행 화면을 표시하여, 동적 해상도 제어를 수행할 수 있다는 장점이 있다.
또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 복수의 객체들을 포함하는 화면들을 합성하고, 상기 합성된 화면들을 한 번에 업스케일링하여, 처리 시간 및 전력 소모를 수행할 수 있다는 장점이 있다.
도 1a는 본 발명과 관련된 이동 단말기를 설명하기 위한 블록도이고, 도 1b 및 1c는 본 발명과 관련된 이동 단말기의 일 예를 서로 다른 방향에서 바라본 개념도이다.
도 2는 본 발명에 따른 어플리케이션의 실행에 따른 해상도 조정을 수행하는 이동 단말기의 블록도이다.
도 3은 본 발명에 따른 어플리케이션이 지원하는 복수의 해상도들 중 어느 하나를 선택하는 과정을 도시한 도면이다.
도 4는 본 발명에 따른 업스케링 이전과 이후에 디스플레이부에 표시되는 어플리케이션의 실행 화면의 예시도이다.
도 5는 본 발명에 따른 동적 해상도 제어 방법을 나타내는 흐름도이다.
도 6는 본 발명에 따른 어플리케이션에서 복수의 객체들을 화면에 배치하는 개념도이다.
도 7은 본 발명의 일 실시예에 따른 동적 해상도 제어 방법을 수행하는 계층 구조를 도시한다.
도 8은 본 발명의 다른 실시예에 따른 동적 해상도 제어 방법을 수행하는 계층 구조를 도시한다.
도 9는 본 발명에 따른 동적 해상도 제어를 수행하는 주요 구성부 및 이와 관련된 세부 구성부를 포함하는 도면이다.
도 10은 본 발명에 따른 동적 해상도 제어 방법의 신호 흐름도를 도시한다.
도 11은 본 발명의 다른 실시예에 따른 동적 해상도 제어 방법의 신호 흐름도를 도시한다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에서 설명되는 이동 단말기에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등이 포함될 수 있다.
그러나, 본 명세서에 기재된 실시 예에 따른 구성은 이동 단말기에만 적용 가능한 경우를 제외하면, 디지털 TV, 데스크탑 컴퓨터, 디지털 사이니지 등과 같은 고정 단말기에도 적용될 수도 있음을 본 기술분야의 당업자라면 쉽게 알 수 있을 것이다.
도 1a 내지 도 1c를 참조하면, 도 1a는 본 발명과 관련된 이동 단말기를 설명하기 위한 블록도이고, 도 1b 및 1c는 본 발명과 관련된 이동 단말기의 일 예를 서로 다른 방향에서 바라본 개념도이다.
상기 이동 단말기(100)는 무선 통신부(110), 입력부(120), 감지부(140), 출력부(150), 인터페이스부(160), 메모리(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1a에 도시된 구성요소들은 이동 단말기를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 이동 단말기는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
보다 구체적으로, 상기 구성요소들 중 무선 통신부(110)는, 이동 단말기(100)와 무선 통신 시스템 사이, 이동 단말기(100)와 다른 이동 단말기(100) 사이, 또는 이동 단말기(100)와 외부서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 무선 통신부(110)는, 이동 단말기(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
이러한 무선 통신부(110)는, 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114), 위치정보 모듈(115) 중 적어도 하나를 포함할 수 있다.
입력부(120)는, 영상 신호 입력을 위한 카메라(121) 또는 영상 입력부, 오디오 신호 입력을 위한 마이크로폰(microphone, 122), 또는 오디오 입력부, 사용자로부터 정보를 입력받기 위한 사용자 입력부(123, 예를 들어, 터치키(touch key), 푸시키(mechanical key) 등)를 포함할 수 있다. 입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.
센싱부(140)는 이동 단말기 내 정보, 이동 단말기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센싱부(140)는 근접센서(141, proximity sensor), 조도 센서(142, illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라(121 참조)), 마이크로폰(microphone, 122 참조), 배터리 게이지(battery gauge), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 명세서에 개시된 이동 단말기는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부(151), 음향 출력부(152), 햅팁 모듈(153), 광 출력부(154) 중 적어도 하나를 포함할 수 있다. 디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 이동 단말기(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 이동 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
인터페이스부(160)는 이동 단말기(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(160)는, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 이동 단말기(100)에서는, 상기 인터페이스부(160)에 외부 기기가 연결되는 것에 대응하여, 연결된 외부 기기와 관련된 적절할 제어를 수행할 수 있다.
또한, 메모리(170)는 이동 단말기(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(170)는 이동 단말기(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 이동 단말기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 이동 단말기(100)의 기본적인 기능(예를 들어, 전화 착신, 발신 기능, 메시지 수신, 발신 기능)을 위하여 출고 당시부터 이동 단말기(100)상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리(170)에 저장되고, 이동 단말기(100) 상에 설치되어, 제어부(180)에 의하여 상기 이동 단말기의 동작(또는 기능)을 수행하도록 구동될 수 있다.
제어부(180)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 이동 단말기(100)의 전반적인 동작을 제어한다. 제어부(180)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(170)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 제어부(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 도 1a와 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(180)는 상기 응용 프로그램의 구동을 위하여, 이동 단말기(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
전원공급부(190)는 제어부(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가 받아 이동 단말기(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(190)는 배터리를 포함하며, 상기 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다.
상기 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한 실시 예들에 따른 이동 단말기의 동작, 제어, 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 상기 이동 단말기의 동작, 제어, 또는 제어방법은 상기 메모리(170)에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 이동 단말기 상에서 구현될 수 있다.
이하에서는, 위에서 살펴본 이동 단말기(100)를 통하여 구현되는 다양한 실시 예들을 살펴보기에 앞서, 위에서 열거된 구성요소들에 대하여 도 1a를 참조하여 보다 구체적으로 살펴본다.
먼저, 무선 통신부(110)에 대하여 살펴보면, 무선 통신부(110)의 방송 수신 모듈(111)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 상기 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 적어도 두 개의 방송 채널들에 대한 동시 방송 수신 또는 방송 채널 스위칭을 위해 둘 이상의 상기 방송 수신 모듈이 상기 이동단말기(100)에 제공될 수 있다.
이동통신 모듈(112)은, 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다.
상기 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(113)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 이동 단말기(100)에 내장되거나 외장될 수 있다. 무선 인터넷 모듈(113)은 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어진다.
무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있으며, 상기 무선 인터넷 모듈(113)은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다.
WiBro, HSDPA, HSUPA, GSM, CDMA, WCDMA, LTE, LTE-A 등에 의한 무선인터넷 접속은 이동통신망을 통해 이루어진다는 관점에서 본다면, 상기 이동통신망을 통해 무선인터넷 접속을 수행하는 상기 무선 인터넷 모듈(113)은 상기 이동통신 모듈(112)의 일종으로 이해될 수도 있다.
근거리 통신 모듈(114)은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다. 이러한, 근거리 통신 모듈(114)은, 근거리 무선 통신망(Wireless Area Networks)을 통해 이동 단말기(100)와 무선 통신 시스템 사이, 이동 단말기(100)와 다른 이동 단말기(100) 사이, 또는 이동 단말기(100)와 다른 이동 단말기(100, 또는 외부서버)가 위치한 네트워크 사이의 무선 통신을 지원할 수 있다. 상기 근거리 무선 통신망은 근거리 무선 개인 통신망(Wireless Personal Area Networks)일 수 있다.
여기에서, 다른 이동 단말기(100)는 본 발명에 따른 이동 단말기(100)와 데이터를 상호 교환하는 것이 가능한(또는 연동 가능한) 웨어러블 디바이스(wearable device, 예를 들어, 스마트워치(smartwatch), 스마트 글래스(smart glass), HMD(head mounted display))가 될 수 있다. 근거리 통신 모듈(114)은, 이동 단말기(100) 주변에, 상기 이동 단말기(100)와 통신 가능한 웨어러블 디바이스를 감지(또는 인식)할 수 있다. 나아가, 제어부(180)는 상기 감지된 웨어러블 디바이스가 본 발명에 따른 이동 단말기(100)와 통신하도록 인증된 디바이스인 경우, 이동 단말기(100)에서 처리되는 데이터의 적어도 일부를, 상기 근거리 통신 모듈(114)을 통해 웨어러블 디바이스로 전송할 수 있다. 따라서, 웨어러블 디바이스의 사용자는, 이동 단말기(100)에서 처리되는 데이터를, 웨어러블 디바이스를 통해 이용할 수 있다. 예를 들어, 이에 따르면 사용자는, 이동 단말기(100)에 전화가 수신된 경우, 웨어러블 디바이스를 통해 전화 통화를 수행하거나, 이동 단말기(100)에 메시지가 수신된 경우, 웨어러블 디바이스를 통해 상기 수신된 메시지를 확인하는 것이 가능하다.
위치정보 모듈(115)은 이동 단말기의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다. 예를 들어, 이동 단말기는 GPS모듈을 활용하면, GPS 위성에서 보내는 신호를 이용하여 이동 단말기의 위치를 획득할 수 있다. 다른 예로서, 이동 단말기는 Wi-Fi모듈을 활용하면, Wi-Fi모듈과 무선신호를 송신 또는 수신하는 무선 AP(Wireless Access Point)의 정보에 기반하여, 이동 단말기의 위치를 획득할 수 있다. 필요에 따라서, 위치정보모듈(115)은 치환 또는 부가적으로 이동 단말기의 위치에 관한 데이터를 얻기 위해 무선 통신부(110)의 다른 모듈 중 어느 기능을 수행할 수 있다. 위치정보모듈(115)은 이동 단말기의 위치(또는 현재 위치)를 획득하기 위해 이용되는 모듈로, 이동 단말기의 위치를 직접적으로 계산하거나 획득하는 모듈로 한정되지는 않는다.
다음으로, 입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 영상 정보의 입력을 위하여, 이동 단말기(100) 는 하나 또는 복수의 카메라(121)를 구비할 수 있다. 카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시되거나 메모리(170)에 저장될 수 있다. 한편, 이동 단말기(100)에 구비되는 복수의 카메라(121)는 매트릭스 구조를 이루도록 배치될 수 있으며, 이와 같이 매트릭스 구조를 이루는 카메라(121)를 통하여, 이동 단말기(100)에는 다양한 각도 또는 초점을 갖는 복수의 영상정보가 입력될 수 있다. 또한, 복수의 카메라(121)는 입체영상을 구현하기 위한 좌 영상 및 우 영상을 획득하도록, 스트레오 구조로 배치될 수 있다.
마이크로폰(122)은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 이동 단말기(100)에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰(122)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 구현될 수 있다.
사용자 입력부(123)는 사용자로부터 정보를 입력받기 위한 것으로서, 사용자 입력부(123)를 통해 정보가 입력되면, 제어부(180)는 입력된 정보에 대응되도록 이동 단말기(100)의 동작을 제어할 수 있다. 이러한, 사용자 입력부(123)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예를 들어, 이동 단말기(100)의 전·후면 또는 측면에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다.
한편, 센싱부(140)는 이동 단말기 내 정보, 이동 단말기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하고, 이에 대응하는 센싱 신호를 발생시킨다. 제어부(180)는 이러한 센싱 신호에 기초하여, 이동 단말기(100)의 구동 또는 동작을 제어하거나, 이동 단말기(100)에 설치된 응용 프로그램과 관련된 데이터 처리, 기능 또는 동작을 수행 할 수 있다. 센싱부(140)에 포함될 수 있는 다양한 센서 중 대표적인 센서들의 대하여, 보다 구체적으로 살펴본다.
먼저, 근접 센서(141)는 소정의 검출면에 접근하는 물체, 혹은 근방에 존재하는 물체의 유무를 전자계의 힘 또는 적외선 등을 이용하여 기계적 접촉이 없이 검출하는 센서를 말한다. 이러한 근접 센서(141)는 위에서 살펴본 터치 스크린에 의해 감싸지는 이동 단말기의 내부 영역 또는 상기 터치 스크린의 근처에 근접 센서(141)가 배치될 수 있다.
근접 센서(141)의 예로는 투과형 광전 센서, 직접 반사형 광전 센서, 미러 반사형 광전 센서, 고주파 발진형 근접 센서, 정전 용량형 근접 센서, 자기형 근접 센서, 적외선 근접 센서 등이 있다. 터치 스크린이 정전식인 경우에, 근접 센서(141)는 전도성을 갖는 물체의 근접에 따른 전계의 변화로 상기 물체의 근접을 검출하도록 구성될 수 있다. 이 경우 터치 스크린(또는 터치 센서) 자체가 근접 센서로 분류될 수 있다.
한편, 설명의 편의를 위해, 터치 스크린 상에 물체가 접촉되지 않으면서 근접되어 상기 물체가 상기 터치 스크린 상에 위치함이 인식되도록 하는 행위를 "근접 터치(proximity touch)"라고 명명하고, 상기 터치 스크린 상에 물체가 실제로 접촉되는 행위를 "접촉 터치(contact touch)"라고 명명한다. 상기 터치 스크린 상에서 물체가 근접 터치 되는 위치라 함은, 상기 물체가 근접 터치될 때 상기 물체가 상기 터치 스크린에 대해 수직으로 대응되는 위치를 의미한다. 상기 근접 센서(141)는, 근접 터치와, 근접 터치 패턴(예를 들어, 근접 터치 거리, 근접 터치 방향, 근접 터치 속도, 근접 터치 시간, 근접 터치 위치, 근접 터치 이동 상태 등)을 감지할 수 있다. 한편, 제어부(180)는 위와 같이, 근접 센서(141)를 통해 감지된 근접 터치 동작 및 근접 터치 패턴에 상응하는 데이터(또는 정보)를 처리하며, 나아가, 처리된 데이터에 대응하는 시각적인 정보를 터치 스크린상에 출력시킬 수 있다. 나아가, 제어부(180)는, 터치 스크린 상의 동일한 지점에 대한 터치가, 근접 터치인지 또는 접촉 터치인지에 따라, 서로 다른 동작 또는 데이터(또는 정보)가 처리되도록 이동 단말기(100)를 제어할 수 있다.
터치 센서는 저항막 방식, 정전용량 방식, 적외선 방식, 초음파 방식, 자기장 방식 등 여러 가지 터치방식 중 적어도 하나를 이용하여 터치 스크린(또는 디스플레이부(151))에 가해지는 터치(또는 터치입력)을 감지한다.
일 예로서, 터치 센서는, 터치 스크린의 특정 부위에 가해진 압력 또는 특정 부위에 발생하는 정전 용량 등의 변화를 전기적인 입력신호로 변환하도록 구성될 수 있다. 터치 센서는, 터치 스크린 상에 터치를 가하는 터치 대상체가 터치 센서 상에 터치 되는 위치, 면적, 터치 시의 압력, 터치 시의 정전 용량 등을 검출할 수 있도록 구성될 수 있다. 여기에서, 터치 대상체는 상기 터치 센서에 터치를 인가하는 물체로서, 예를 들어, 손가락, 터치펜 또는 스타일러스 펜(Stylus pen), 포인터 등이 될 수 있다.
이와 같이, 터치 센서에 대한 터치 입력이 있는 경우, 그에 대응하는 신호(들)는 터치 제어기로 보내진다. 터치 제어기는 그 신호(들)를 처리한 다음 대응하는 데이터를 제어부(180)로 전송한다. 이로써, 제어부(180)는 디스플레이부(151)의 어느 영역이 터치 되었는지 여부 등을 알 수 있게 된다. 여기에서, 터치 제어기는, 제어부(180)와 별도의 구성요소일 수 있고, 제어부(180) 자체일 수 있다.
한편, 제어부(180)는, 터치 스크린(또는 터치 스크린 이외에 구비된 터치키)을 터치하는, 터치 대상체의 종류에 따라 서로 다른 제어를 수행하거나, 동일한 제어를 수행할 수 있다. 터치 대상체의 종류에 따라 서로 다른 제어를 수행할지 또는 동일한 제어를 수행할 지는, 현재 이동 단말기(100)의 동작상태 또는 실행 중인 응용 프로그램에 따라 결정될 수 있다.
한편, 위에서 살펴본 터치 센서 및 근접 센서는 독립적으로 또는 조합되어, 터치 스크린에 대한 숏(또는 탭) 터치(short touch), 롱 터치(long touch), 멀티 터치(multi touch), 드래그 터치(drag touch), 플리크 터치(flick touch), 핀치-인 터치(pinch-in touch), 핀치-아웃 터치(pinch-out 터치), 스와이프(swype) 터치, 호버링(hovering) 터치 등과 같은, 다양한 방식의 터치를 센싱할 수 있다.
초음파 센서는 초음파를 이용하여, 감지대상의 위치정보를 인식할 수 있다. 한편 제어부(180)는 광 센서와 복수의 초음파 센서로부터 감지되는 정보를 통해, 파동 발생원의 위치를 산출하는 것이 가능하다. 파동 발생원의 위치는, 광이 초음파보다 매우 빠른 성질, 즉, 광이 광 센서에 도달하는 시간이 초음파가 초음파 센서에 도달하는 시간보다 매우 빠름을 이용하여, 산출될 수 있다. 보다 구체적으로 광을 기준 신호로 초음파가 도달하는 시간과의 시간차를 이용하여 파동 발생원의 위치가 산출될 수 있다.
한편, 입력부(120)의 구성으로 살펴본, 카메라(121)는 카메라 센서(예를 들어, CCD, CMOS 등), 포토 센서(또는 이미지 센서) 및 레이저 센서 중 적어도 하나를 포함한다.
카메라(121)와 레이저 센서는 서로 조합되어, 3차원 입체영상에 대한 감지대상의 터치를 감지할 수 있다. 포토 센서는 디스플레이 소자에 적층될 수 있는데, 이러한 포토 센서는 터치 스크린에 근접한 감지대상의 움직임을 스캐닝하도록 이루어진다. 보다 구체적으로, 포토 센서는 행/열에 Photo Diode와 TR(Transistor)를 실장하여 Photo Diode에 인가되는 빛의 양에 따라 변화되는 전기적 신호를 이용하여 포토 센서 위에 올려지는 내용물을 스캔한다. 즉, 포토 센서는 빛의 변화량에 따른 감지대상의 좌표 계산을 수행하며, 이를 통하여 감지대상의 위치정보가 획득될 수 있다.
디스플레이부(151)는 이동 단말기(100)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 디스플레이부(151)는 이동 단말기(100)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
또한, 상기 디스플레이부(151)는 입체영상을 표시하는 입체 디스플레이부로서 구성될 수 있다.
상기 입체 디스플레이부에는 스테레오스코픽 방식(안경 방식), 오토 스테레오스코픽 방식(무안경 방식), 프로젝션 방식(홀로그래픽 방식) 등의 3차원 디스플레이 방식이 적용될 수 있다.
음향 출력부(152)는 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 무선 통신부(110)로부터 수신되거나 메모리(170)에 저장된 오디오 데이터를 출력할 수 있다. 음향 출력부(152)는 이동 단말기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력하기도 한다. 이러한 음향 출력부(152)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
햅틱 모듈(haptic module)(153)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(153)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다. 햅틱 모듈(153)에서 발생하는 진동의 세기와 패턴 등은 사용자의 선택 또는 제어부의 설정에 의해 제어될 수 있다. 예를 들어, 상기 햅틱 모듈(153)은 서로 다른 진동을 합성하여 출력하거나 순차적으로 출력할 수도 있다.
햅틱 모듈(153)은, 진동 외에도, 접촉 피부면에 대해 수직 운동하는 핀 배열, 분사구나 흡입구를 통한 공기의 분사력이나 흡입력, 피부 표면에 대한 스침, 전극(electrode)의 접촉, 정전기력 등의 자극에 의한 효과와, 흡열이나 발열 가능한 소자를 이용한 냉온감 재현에 의한 효과 등 다양한 촉각 효과를 발생시킬 수 있다.
햅틱 모듈(153)은 직접적인 접촉을 통해 촉각 효과를 전달할 수 있을 뿐만 아니라, 사용자가 손가락이나 팔 등의 근 감각을 통해 촉각 효과를 느낄 수 있도록 구현할 수도 있다. 햅틱 모듈(153)은 이동 단말기(100)의 구성 태양에 따라 2개 이상이 구비될 수 있다.
광출력부(154)는 이동 단말기(100)의 광원의 빛을 이용하여 이벤트 발생을 알리기 위한 신호를 출력한다. 이동 단말기(100)에서 발생 되는 이벤트의 예로는 메시지 수신, 호 신호 수신, 부재중 전화, 알람, 일정 알림, 이메일 수신, 애플리케이션을 통한 정보 수신 등이 될 수 있다.
광출력부(154)가 출력하는 신호는 이동 단말기가 전면이나 후면으로 단색이나 복수색의 빛을 발광함에 따라 구현된다. 상기 신호 출력은 이동 단말기가 사용자의 이벤트 확인을 감지함에 의하여 종료될 수 있다.
인터페이스부(160)는 이동 단말기(100)에 연결되는 모든 외부 기기와의 통로 역할을 한다. 인터페이스부(160)는 외부 기기로부터 데이터를 전송받거나, 전원을 공급받아 이동 단말기(100) 내부의 각 구성요소에 전달하거나, 이동 단말기(100) 내부의 데이터가 외부 기기로 전송되도록 한다. 예를 들어, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트(port), 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 등이 인터페이스부(160)에 포함될 수 있다.
한편, 식별 모듈은 이동 단말기(100)의 사용 권한을 인증하기 위한 각종 정보를 저장한 칩으로서, 사용자 인증 모듈(user identify module; UIM), 가입자 인증 모듈(subscriber identity module; SIM), 범용 사용자 인증 모듈(universal subscriber identity module; USIM) 등을 포함할 수 있다. 식별 모듈이 구비된 장치(이하 '식별 장치')는, 스마트 카드(smart card) 형식으로 제작될 수 있다. 따라서 식별 장치는 상기 인터페이스부(160)를 통하여 단말기(100)와 연결될 수 있다.
또한, 상기 인터페이스부(160)는 이동 단말기(100)가 외부 크래들(cradle)과 연결될 때 상기 크래들로부터의 전원이 상기 이동 단말기(100)에 공급되는 통로가 되거나, 사용자에 의해 상기 크래들에서 입력되는 각종 명령 신호가 상기 이동 단말기(100)로 전달되는 통로가 될 수 있다. 상기 크래들로부터 입력되는 각종 명령 신호 또는 상기 전원은 상기 이동 단말기(100)가 상기 크래들에 정확히 장착되었음을 인지하기 위한 신호로 동작될 수 있다.
메모리(170)는 제어부(180)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)을 임시 저장할 수도 있다. 상기 메모리(170)는 상기 터치 스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있다.
메모리(170)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive 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)상에서 상기 메모리(170)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작될 수도 있다.
한편, 앞서 살펴본 것과 같이, 제어부(180)는 응용 프로그램과 관련된 동작과, 통상적으로 이동 단말기(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(180)는 상기 이동 단말기의 상태가 설정된 조건을 만족하면, 애플리케이션들에 대한 사용자의 제어 명령의 입력을 제한하는 잠금 상태를 실행하거나, 해제할 수 있다.
또한, 제어부(180)는 음성 통화, 데이터 통신, 화상 통화 등과 관련된 제어 및 처리를 수행하거나, 터치 스크린 상에서 행해지는 필기 입력 또는 그림 그리기 입력을 각각 문자 및 이미지로 인식할 수 있는 패턴 인식 처리를 행할 수 있다. 나아가 제어부(180)는 이하에서 설명되는 다양한 실시 예들을 본 발명에 따른 이동 단말기(100) 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.
전원 공급부(190)는 제어부(180)의 제어에 의해 외부의 전원, 내부의 전원을 인가 받아 각 구성요소들의 동작에 필요한 전원을 공급한다. 전원공급부(190)는 배터리를 포함하며, 배터리는 충전 가능하도록 이루어지는 내장형 배터리가 될 수 있으며, 충전 등을 위하여 단말기 바디에 착탈 가능하게 결합될 수 있다.
또한, 전원공급부(190)는 연결포트를 구비할 수 있으며, 연결포트는 배터리의 충전을 위하여 전원을 공급하는 외부 충전기가 전기적으로 연결되는 인터페이스(160)의 일 예로서 구성될 수 있다.
다른 예로서, 전원공급부(190)는 상기 연결포트를 이용하지 않고 무선방식으로 배터리를 충전하도록 이루어질 수 있다. 이 경우에, 전원공급부(190)는 외부의 무선 전력 전송장치로부터 자기 유도 현상에 기초한 유도 결합(Inductive Coupling) 방식이나 전자기적 공진 현상에 기초한 공진 결합(Magnetic Resonance Coupling) 방식 중 하나 이상을 이용하여 전력을 전달받을 수 있다.
한편, 이하에서 다양한 실시 예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
전술한 바와 같이, 동적 해상도 제어에 따른 복수의 컴포넌트 각각에 대해 스케일링(Scaling) 작업을 수행함에 따른 처리 시간 및 전력 소모가 증가한다는 문제점이 있었다.
이러한 문제점을 해결하기 위해, 본 발명에서는 도 1a를 참조하여 무선 통신부(110), 디스플레이부(151), 메모리(170) 및 제어부(180)를 구비하는 이동 단말기(100)에 대해 살펴보기로 한다.
이하에서는 도 2 및 도 11을 참조하여, 상기 무선 통신부(110), 디스플레이부(151), 메모리(170) 및 상기 제어부(180)를 구비하는 본 발명의 어플리케이션의 실행에 따른 동적 해상도 제어 방법에 대해 구체적으로 살펴본다.
먼저, 도 2는 본 발명에 따른 어플리케이션의 실행에 따른 해상도 조정을 수행하는 이동 단말기의 블록도이다.
도 2에 도시된 이동 단말기(100)는 무선 통신부(110), 디스플레이부(151) 메모리(170) 및 제어부(180)를 포함할 수 있다.
상기 이동 단말기(100)는 사용자로부터 어플리케이션의 실행과 관련된 사용자 입력을 수신하고, 상기 어플리케이션을 운영하는 서버로부터 데이터를 교환하고, 상기 어플리케이션을 화면에 표시할 수 있다.
상기 무선 통신부(110)는 상기 어플리케이션의 실행과 관련하여, 어플리케이션 서비스를 운영하는 서버와 데이터를 송신 또는 수신할 수 있다.
상기 메모리(170)는 상기 디스플레이부(151)에 제1해상도로 화면을 표시하는 설정 정보를 저장할 수 있다.
상기 제어부(180)는 상기 어플리케이션이 지원하는 복수의 해상도들에 관한 정보를 수신한다. 또한, 상기 제어부(180)는 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 어플리케이션이 실행되는 실행 화면의 해상도인 제2해상도를 선택한다. 또한, 상기 제어부(180)는 상기 제2해상도에 따라 상기 실행 화면을 상기 디스플레이부(151)에 표시한다.
한편, 이와 관련하여, 상기 제어부(180)는 다음과 같은 기능 및 절차를 수행할 수 있다. 상기 제어부(180)는 상기 제2해상도에 따라 상기 복수의 객체(object)들을 시스템 UI와 합성하여 상기 실행 화면을 구성한다. 또한, 상기 제어부(180)는 상기 구성된 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링하여 상기 디스플레이부에 표시한다.
여기서, 상기 제2해상도는 상기 복수의 해상도들 중 상기 제1해상도와의 차이가 가장 작도록 선택될 수 있다. 또한, 상기 실행 화면을 구성하는 상기 복수의 객체들은 복수의 컴포넌트(component)들로 지칭될 수 있다.
이와 관련하여, 도 3은 본 발명에 따른 어플리케이션이 지원하는 복수의 해상도들 중 어느 하나를 선택하는 과정을 도시한 도면이다.
도 3의 (a)에 따르면, 상기 제어부(180)에서 실행되는 운영체제의 해상도와 관련된 라이브러리를 도시한다. 상기 라이브러리는 drawable-ldpi, drawable-mdpi, drawable-hdpi, drawable-xhdpi alc drawable-xxhdpi를 포함한다.
상기 drawable-ldpi, drawable-mdpi, drawable-hdpi, drawable-xhdpi 및 drawable-xxhdpi는 예를 들어, mdpi를 기준으로 해상도가 0.75배, 1배, 1.5배, 2배, 2배 이상일 수 있다. 상기 ldpi, mdpi, hdpi, xhdpi 및 xxhdpi는 상기 복수의 해상도에 해당한다.
한편, 최근 이동 단말기의 화면 크기가 증가하고, 높은 해상도를 제공함에 따라, 어플리케이션에서 지원하는 복수의 해상도들이 설정된 화면의 해상도를 지원하지 못하는 경우가 있다. 또한, 설정된 화면의 해상도가 상기 복수의 해상도들 중 어느 것과도 일치하지 않는 경우, 상기 복수의 해상도들 중 어느 하나를 선택하는 경우에 해상도의 불일치를 해결할 필요가 있다.
한편, 이동 단말기에서 설정된 화면의 해상도인 제1해상도가 복수의 해상도들보다 높은 경우, 어플리케이션은 상기 제1해상도를 지원할 수 있다. 이때, 어플리케이션 화면에 배치된 복수의 객체들을 해상도의 차이만큼 업스케일링해야 한다. 이와 관련하여, 상기 업스케일링을 그래픽 처리 유닛(GPU: Grahic Process Unit)에서 수행하고, 상기 복수의 객체들의 화면상의 재배치는 중앙 처리 유닛(CPU: Central Process Unit)에서 수행해야 한다.
상기 복수의 객체들이 증가할수록, 상기 GPU에서의 업스케일링은 반복 수행되어야 하므로, 이로 인한 처리 시간 및 전력 소모는 증가한다.
이를 해결하기 위하여, 어플리케이션이 수행되는 경우, 시스템 해상도에 해당하는 제1해상도를 어플리케이션에 의해 선택된 제2해상도로 변경한다. 여기서, 상기 제2해상도는 상기 복수의 해상도들 중 상기 제1해상도와의 차이가 가장 작도록 선택될 수 있다. 예를 들어, 상기 제1해상도는 xxxhdpi이고, 상기 제2해상도는 xxhdpi일 수 있다. 이에 따라, 라이브러리로부터 수신된 메타 정보를 이용하여, 상기 제1해상도를 상기 제2해상도로 변경하여 동적 해상도(Dynamic Resolution) 조정을 수행된다. 상기 동적 해상도 제어는 어플리케이션 별로 수행될 수 있다.
한편, 도 3의 (b)에 따르면, 상기 어플리케이션의 화면은 복수의 화면들로 구성될 수 있다. 상기 복수의 화면들은 제1화면(210) 및 제2화면(220)을 포함하고, 상기 제1화면(210)은 어플리케이션이 실행되기 이전부터 표시되는 기본 화면이고, 상기 제2화면(220)은 상기 어플리케이션의 실행에 따른 초기 화면일 수 있다.
상기 제1화면(210)과 관련하여, 제어부(180)는 시스템 UI(User Interface)로부터 버퍼 큐를 할당받아 제1프레임을 생성한다. 또한, 상기 제2화면(220)과 관련하여, 제어부(180)는 어플리케이션으로부터 버퍼 큐를 할당받아 제2프레임을 생성한다. 여기서, 상기 제1화면(210)의 상기 제1프레임 및 및 상기 제2화면(220)의 상기 제2프레임은 서피스 플린저(Surface Flinger)에서 생성한다.
또한, 상기 제2해상도가 선택됨에 따라 디스플레이부의 일부에만 어플리케이션의 화면이 표시될 수 있다. 이를 해결하기 위해, 상기 제1화면(210) 및 상기 제2화면(220)을 합성한 이후, 합성된 화면을 제1해상도 및 제2해상도의 비율에 따라 업스케일링한다. 이러한 경우, 상기 어플리케이션의 복수의 객체들을 각각 반복하여 업스케일링하고 이들을 재배치하는 것에 비하여, 처리 시간 및 전력 소모를 감소시킬 수 있다. 이와 관련하여, 도 3의 (c)에 따르면, 상기 제1화면 및 상기 제2화면이 합성되어 업스케일링된 전체화면을 도시한다. 여기서, 상기 제1화면(210) 및 상기 제2화면(220)의 합성 및 업스케일링은 하드웨어 구성부(Hardware Composer)에서 수행한다.
즉, 상기 하드웨어 구성부는 어플리케이션의 실행 화면 내의 복수의 객체들을 상기 제1 및 제2해상도의 비율에 따라 업스케일링한다. 여기서, 상기 업스케일링은 상기 복수의 객체들의 픽셀을 상기 비율에 기반하여 스트레칭(stretching)함으로써 수행된다.
이와 관련하여, 도 4는 본 발명에 따른 업스케링 이전과 이후에 디스플레이부에 표시되는 어플리케이션의 실행 화면의 예시도이다.
도 4의 (a)에 따르면, 어플리케이션에서 선택된 제2해상도에 따라 업스케일링 이전에 디스플레이부에 표시되는 어플리케이션의 실행 화면이다.
도 4의 (a)에 따르면, 단말에서 설정된 제1해상도에 비하여 상기 제2해상도가 낮게 설정되므로, 디스플레이부의 일부 화면에만 표시됨을 알 수 있다. 따라서, 상기 제1해상도 및 제2해상도의 비율에 따른 실행 화면의 업스케일링이 필요함을 알 수 있다. 여기서, 상기 업스케일링은 복수의 객체들을 포함하는 전체 화면을 한 번에 픽셀 스트레칭함으로써 구현될 수 있다.
도 4의 (b)에 따르면, 어플리케이션에서 선택된 제2해상도에 따라 업스케일링 이후에 디스플레이부에 표시되는 어플리케이션의 실행 화면이다.
도 4의 (b)를 참조하면, 제1해상도 및 제2해상도의 비율에 따라 복수의 컴포너트들을 포함하는 전체 화면이 한번에 업스케일링되었음을 알 수 있다. 이러한 방법은, 제1해상도 및 제2해상도의 비율에 따라 상기 실행 화면에 표시되는 복수의 객체들의 크기를 GPU에서 각각 조정하고, 이들을 GPU에서 배치하는 것에 비하여, 처리 시간 및 전력 소모 면에서 유리하다.
한편, 도 5는 본 발명에 따른 동적 해상도 제어 방법을 나타내는 흐름도이다. 또한, 도 6은 본 발명에 따른 어플리케이션에서 복수의 객체들을 화면에 배치하는 개념도이다.
도 5를 참조하면, 상기 동적 해상도 제어 방법은 사용자 입력 수신 과정(S410), 해상도 정보 수신 과정(S420), 해상도 선택 과정(S430) 및 실행 화면 표시 과정(S440)을 포함한다. 또한, 상기 동적 해상도 제어 방법은 측정값 수신 과정(S450) 및 해상도 변경 과정(S460)을 더 포함할 수 있다.
상기 사용자 입력 수신 과정(S410)은 제1해상도로 표시된 화면에서 어플리케이션을 실행하기 위한 사용자 입력을 수신한다. 구체적으로, 상기 사용자 입력 수신 과정(S410)은 어플리케이션의 실행시에 동작하는 액티비티 매니저로부터 상기 어플리케이션의 실행에 해당하는 개시 요청(Requst Launch)을 프로세스 관측기에서 수신한다.
상기 해상도 정보 수신 과정(S420)은 상기 어플리케이션이 지원하는 복수의 해상도들에 관한 정보를 수신한다.
상기 해상도 선택 과정(S430)은 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 어플리케이션이 실행되는 실행 화면의 해상도인 제2해상도를 선택한다. 여기서, 상기 제2해상도는 상기 복수의 해상도들 중 상기 제1해상도와의 차이가 가장 작도록 선택된다.
상기 실행 화면 표시 과정(S440)은 상기 제2해상도에 따라 상기 실행 화면을 상기 디스플레이부에 표시한다. 여기서, 상기 실행 화면 표시 과정(S440)에서 복수의 객체들이 배치된 상기 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링된다. 상기 업스케일링은 상기 복수의 객체들의 픽셀을 상기 비율에 기반하여 스트레칭(stretching)한다.
한편, 상기 해상도 정보 수신 과정(S420), 상기 해상도 선택 과정(S430) 및 상기 실행 화면 표시 과정(S440)에서는 도 6을 참조하여 상세히 기술하기로 한다.
전술한 바와 같이, 이동 단말기의 시스템 해상도는 어플리케이션에서 지원되는 해상도에 의해 변경됨을 알 수 있다. 다만, 변경된 시스템 해상도는 상기 어플리케이션이 종료되는 경우, 변경 이전의 시스템 해상도로 재변경될 수 있다.
또한, 이동 단말기는 어플리케이션의 실행 시 또는 실행 중에 전력 소모 등을 고려하여 해상도를 재변경할 수 있다. 이와 관련하여, 상기 측정값 수신 과정(S450) 및 상기 해상도 변경 과정(S460)이 수행될 수 있다.
상기 측정값 수신 과정(S450)은 상기 제2해상도의 변경과 연관된 인자들의 측정값을 수신한다. 여기서, 상기 인자들은 배터리 잔량, 전력 매니저를 통해 감지되는 온도, 상기 어플리케이션이 요구하는 초당 프레임(FPS: Frame Per Second) 및 상기 설정 정보 중 적어도 하나에 기반할 수 있다.
즉, 동적 해상도 제어와 관련하여, i)전력 절약 모드, ii)열 경감 모드, iii)FPS 조정 모드 및 iv)UI 크기 조정 모드에서 수행될 수 있다. 상기 전력 절약 모드는 단말기의 배터리 잔량이 기설정된 배터리 레벨 이하인 경우에 또는 사용자의 선택에 의해 개시되는 모드이다. 상기 열 경감 모드는 단말기의 온도가 일정 온도 이상이거나 또는 온도가 증거하여 소프트웨어 또는 하드웨어에 의한 클록 다운에 의해 개시되는 모드이다. 상기 FPS 조정 모드는 어플리케이션에 따라 화면에 표시되는 초당 프레임의 수를 조정하도록 개시되는 모드이다. 상기 UI조정 모드는 시력이 낮은 사용자를 위하여 객체들의 크기를 조정하도록 개시되는 모드이다.
한편, 상기 해상도 변경 과정(S460)은 상기 수신된 측정값에 기반하여 상기 제2해상도보다 낮은 제3해상도를 선택한다. 즉, 상기 수신된 측정값을 기반하여 상기 모드들에 진입한 것으로 판단되며, 상기 제2해상도보다 낮은 제3해상도를 선택할 수 있다.
한편, 도 6을 참조하면, 상기 해상도 정보 수신 과정(S420)은 어플리케이션이 프레임워크를 통해 라이브러리로부터 빌드된 해상도에 관한 정보를 수신한다.
상기 해상도 선택 과정(S430)은 해상도 적용 과정(S431) 및 해상도 정보 송신 과정(S432)를 포함한다.
상기 해상도 적용 과정(S431)은 시스템 해상도인 제1해상도를 어플리케이션의 해상도 중 하나인 제2해상도로 변경하고, 상기 변경된 제2해상도를 적용할지 여부를 프로세스 필터에서 결정한다.
상기 해상도 정보 송신 과정(S432)은 상기 제2해상도에 관한 정보를 스케일러가 윈도우 매니저로 송신한다.
상기 실행 화면 표시 과정(S440)은 상기 제2해상도에 따라 실행 화면을 디스플레이부에 표시한다. 상기 실행 화면 표시 과정(S440)은 컴포넌트 배치 과정(S441) 및 프레임 생성 과정(S442)를 포함한다.
상기 컴포넌트 배치 과정(S441)은 상기 제2해상도에 따라 복수의 객체들을 실행 화면에 배치한다. 한편, 시스템 해상도는 제1해상도에서 제2해상도로 이미 변경된 경우에는 상기 제2해상도에 따라 성기 복수의 객체들을 배치하는 경우 실행 화면 전체에 배치되게 된다.
하지만, 상기 해상도 정보 송신 과정(S432)를 통해 시스템 해상도가 제2해상도로 변경되어 적용되기 이전에 이미 사용자 입력 수신 과정(S410)이 수행된다. 따라서, 상기 복수의 객체들을 상기 제2해상도로 표시하는 경우, 상기 실행 화면의 일부 영역에만 배치될 수 있다.
따라서, 상기 프레임 생성 과정(S442)에서 복수의 객체들이 배치된 상기 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링한다. 상기 업스케일링은 상기 복수의 객체들의 픽셀을 상기 비율에 기반하여 스트레칭(stretching)함으로써 수행될 수 있다.
한편, 도 7은 본 발명의 일 실시예에 따른 동적 해상도 제어 방법을 수행하는 계층 구조를 도시한다.
이와 관련하여, 상기 제어부(180)는 어플리케이션 계층에서 상기 어플리케이션을 실행하고, 프레임워크 계층에서 설정 정보를 수신하고, 제1해상도 및 복수의 해상도들에 기반하여 상기 제2해상도를 선택하고, 상기 제2해상도에 따라 실행 화면을 표시하고, 커널계층에서 이동 단말기의 전력 관리, 메모리 관리 및 하드웨어 관리를 수행한다.
상기 계층 구조는 상기 어플리케이션 계층(310), 프레임워크 계층(320), 커널 계층(360) 및 디바이스 컴포넌트 계층(370)을 포함한다.
상기 어플리케이션 계층(310)은 이메일 클라이언트, 문자메시지 프로그램, 달력, 지도, 브라우저, 전화번호부 등과 같은 핵심 애플리케이션이 탑재된다. 상기 어플리케이션 계층(310)은 탑재되는 애플리케이션들은 자바(Java) 프로그래밍 언어로 작성될 수 있다.
상기 어플리케이션 계층(310)에서의 어플리케이션 실행과 관련하여, 상기 어플리케이션 계층(310)은 어플리케이션을 실행하기 위한 사용자 입력에 기반하여, 상기 어플리케이션을 실행한다. 상기 어플리케이션 계층(310)은 사용자의 입력에 기반하여 실행되는 타겟 어플리케이션(311)을 포함한다.
상기 프레임워크 계층(320)은 어플리케이션을 만드는데 사용되는 컴포넌트 및 하드웨어 접근, 사용자 인터페이스, 리소스 관리 등을 제공한다. 개발자는 핵심 애플리케이션들에서 사용되는 것과 동일한 프레임워크 API에 모두 접근 가능하다. 상기 프레임워크 계층(320)은 C/C++ 언어로 작성된 라이브러리 집합을 포함할 수 있다.
어플리케이션이 실행되는 경우, 상기 프레임워크 계층(320)은 제1해상도 및 복수의 해상도들에 기반하여 상기 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 어플리케이션의 실행 화면을 표시한다.
상기 프레임워크 계층(320)은 제1프레임워크 계층(330) 및 제2프레임워크 계층(340)을 포함한다. 여기서, 상기 제2프레임워크 계층(340)은 어플리케이션의 실행에 따른 동적 해상도 서비스를 제공한다.
상기 제1프레임워크 계층(330)은 액티비티 매니저(Activitiy Manager, 331), 패키지 매니저(Package Manager,332), 윈도우스테이트 매니저(Window State Manager,333), 윈도우 매니저(Window Manager,334) 및 입력 매니저(Input Manager,335)를 포함한다.
상기 액티비티 매니저(331)는 어플리케이션의 수명 주기를 관리한다. 즉, 상기 액티비티 매니저(331)는 어플리케이션의 실행 여부를 검출하고, 상기 어플리케이션이 실행된 경우 상기 어플리케이션의 실행에 해당하는 개시 요청(Requst Launch)을 생성한다.
상기 패키지 매니저(332)는 시스템에서 동작 중인 어플리케이션의 정보를 관리한다. 즉, 상기 패키지 매니저(332)는 시스템에서 동작 중인 상기 어플리케이션에 대한 정보를 검출한다. 상기 정보는 상기 어플리케이션의 명칭, 패키지 정보 및 버전 정보를 포함한다. 또한, 상기 정보는 상기 어플리케이션이 설치된 위치 및 상기 어플리케이션의 특정 패키지가 설치된 위치를 포함한다.
상기 윈도우스테이트 매니저(333)는 디스플레이부의 화면 상태 또는 화면 회전 여부 등을 감지한다. 즉, 상기 윈도우스테이트 매니저(333)는 상기 화면의 비활성화 또는 활성화 여부를 감지하거나 상기 화면의 잠금 상태 여부를 감지할 수 있다. 또한, 상기 윈도우스테이트 매니저(333)는 상기 화면이 가로 화면 상태인지 세로 화면 상태인지를 감지할 수 있다.
상기 윈도우 매니저(334)는 어플리케이션과 관련된 화면을 담당한다. 즉, 상기 윈도우 매니저(334)는 어플리케이션의 화면 해상도와 관련된 정보를 수신하여, 상기 화면 해상도에 기반하여 화면을 생성하도록 제어한다.
상기 입력 매니저(335)는 사용자의 터치 입력 지점의 터치 좌표를 인식하고, 상기 어플리케이션의 해상도 및 상기 터치 좌표에 기반하여 사용자의 입력과 관련된 이벤트를 감지한다.
상기 제2프레임워크 계층(340)은 프로세스 관측기(Process Observer, 341), 프로세스 필터(Process Filter, 342) 및 스케일러(343)을 포함한다.
상기 프로세스 관측기(341)는 상기 액티비티 매니저(331)로부터 어플리케이션의 실행에 해당하는 개시 요청(Requst Launch)을 수신한다.
상기 프로세스 필터(342)는 제1해상도를 제2해상도로 변경하고, 상기 변경된 제2해상도를 적용할지 여부를 결정한다.
상기 스케일러(343)는 상기 제2해상도에 관한 정보를 상기 윈도우 매니저(334)로 송신한다.
상기 프레임 계층(320)은 서피스 플린저(Surface Flinger, 350) 및 하드웨어 구성부(Hardware Composer, 360)을 포함한다.
상기 서피스 플린저(350)는 상기 애플리케이션 계층(310)의 어플리케이션으로부터 복수의 Surface 데이터를 수집하고, 이를 프레임 버퍼로 전달하는 기능을 수행한다. 즉, 상기 서피스 플린저(350)는 제1 및 제2해상도의 비율에 따라 어플리케이션에서의 그래픽 레이어를 제어한다. 이와 관련하여 도 2의 (b)를 참조하면, 상기 서피스 플린저(350)는 복수의 화면에 해당하는 제1 및 제2화면에 대한 정보를 생성하고, 상기 정보를 상기 하드웨어 구성부(360)로 송신한다.
한편, 상기 서피스 플린저(350)는 제1해상도가 제2해상도로 변경된 경우, 시스템 해상도를 상기 제2해상도로 변경하고, 이를 상기 윈도우 매니저(334)에게 통지한다. 이에 응답하여, 상기 윈도우 매니저(334)는 감소된 해상도만큼 적은 프레임 버퍼를 할당할 수 있다.
상기 하드웨어 구성부(360)는 제1 및 제2해상도의 비율에 따라 실행 화면의 복수의 객체들을 업스케일링한다. 즉, 상기 하드웨어 구성부(360)는 상기 제1 및 제2화면의 픽셀들을 상기 비율만큼 스트레칭할 수 있다.
상기 커널 계층(360)은 이동 단말기의 전력 관리, 메모리 관리 및 하드웨어 관리를 수행한다. 상기 커널 계층(360)은 디바이스 드라이버(361) 및 전력 매니저(362)를 포함한다.
상기 디바이스 드라이버(361)는 이동 단말기의 하드웨어를 제어하기 위한 드라이버들을 포함한다. 상기 디바이스 드라이버(361)는 디스플레이 드라이버, USB 드라이버, 카메라 드라이버, 블루투스 드라이버, WiFi 드라이버, 메모리 드라이버, 오디오 드라이버, 바인더 드라이버 등을 포함할 수 있다.
한편, 상기 하드웨어 구성부(360)로부터 생성된 화면은 상기 디바이스 드라이버(361)를 거쳐 디스플레이(LCD)를 통해 표시될 수 있다.
상기 전력 매니저(362)는 어플리케이션 별로 전력 소모량을 관리한다. 이와관련하여, 상기 전력 매니저(362)는 전력 관리 집적 회로(PMIC: Power Management Integrated Chip)와의 인터페이스를 통해 전력 소모량을 관리한다. 상기 전력 매니저(362)는 잔여 전력량 및 이동 단말기의 온도를 모니터링할 수 있다.
상기 디바이스 컴포넌트 계층(370)은 복수의 디바이스 객체들을 포함한다. 예를 들어, 상기 복수의 디바이스 객체들은 중앙처리유닛(CPU, 371), 그래픽처리유닛(GPU, 372) 및 디스플레이(LCD, 373)를 포함할 수 있다.
한편, 도 8은 본 발명의 다른 실시예에 따른 동적 해상도 제어 방법을 수행하는 계층 구조를 도시한다.
상기 계층 구조는 어플리케이션 계층(310), 프레임워크 계층(420), 커널 계층(360) 및 디바이스 컴포넌트 계층(370)을 포함한다.
상기 어플리케이션 계층(310), 상기 커널 계층(360) 및 상기 디바이스 컴포넌트 계층(370)에 대한 설명은 도 3에서의 설명으로 갈음한다.
상기 프레임워크 계층(420)은 제1프레임워크 계층(330), 제2프레임워크 계층(440), 서피스 플린저(350) 및 하드웨어 구성부(460)을 포함한다.
상기 제1프레임워크 계층(330) 및 서피스 플린저(350)에 대한 설명은 도 3에서의 설명으로 갈음한다.
상기 제2프레임워크 계층(440)은 프로세스 관측기(Process Observer, 341), 프로세스 필터(Process Filter, 342), 스케일러(Scaler, 443), 패키지 분석기(Package Analyzer, 444), 트리거 모니터링부(Trigger Monitor, 445) 및 태스크 마이그레션부(Task Migrator, 446)를 포함한다.
여기서, 프로세스 관측기(341) 및 프로세스 필터(342)에 대한 설명은 도 3에서의 설명으로 갈음한다.
상기 패키지 분석기(444)는 어플리케이션으로부터 복수의 해상도들에 관한 정보를 추출한다.
상기 트리거 모니터링부(445)는 전력 매니저(362)를 통해 감지되는 배터리 잔량 및 온도, 어플리케이션이 요구하는 초당 프레임(FPS: Frame Per Second) 및 설정 정보 중 적어도 하나를 모니터링한다.
또한, 상기 트리거 모니터링부(445)는 상기 배터리 잔량, 상기 온도가 기설정된 범위를 벗어나는 경우 이를 상기 스케일러(443)에게 통지한다.
또한, 상기 트리거 모니터링부(445)는 상기 FPS 및 상기 설정 정보가 변경된 경우 이를 상기 스케일러(443)에게 통지한다.
상기 스케일러(443)은 상기 트리거 모니터링부(445)로부터의 통지에 기반하여, 제2해상도보다 낮은 제3해상도를 선택할 수 있다.
상기 태스크 마이그레션부(446)는 태스크 간의 스케줄링과 메모리, 디스크 및 네트워크 등의 자원 관리 수행을 위한 인터럽트를 감지하고, 이에 기반하여 CPU(371)로 이를 전송하고, 상기 CPU(371)에서 스케줄링 및 인터럽트를 수행한다.
한편, 상기 하드웨어 구성부(360)로부터 생성된 화면은 상기 디바이스 드라이버(361)를 거쳐 그래픽처리유닛(GPU, 372)를 통해 디스플레이(LCD, 373)를 통해 표시될 수 있다. 또한, 도 6에서 도시된 바와 같이, 상기 하드웨어 구성부(360)로부터 생성된 화면은 상기 디바이스 드라이버(361)를 거쳐 디스플레이(LCD, 373)를 통해 표시될 수 있다.
한편, 도 7 및 도 8에서 도시된 바와 같이 프레임워크 계층에서 동적 해상도 제어 방법을 수행하는 주요 구성부는 윈도우 매니저(334), 서피스 플린저(350) 및 및 하드웨어 구성부(360)이다.
이와 관련하여, 도 9은 본 발명에 따른 동적 해상도 제어를 수행하는 주요 구성부 및 이와 관련된 세부 구성부를 포함하는 도면이다.
도 9에 따르면, 상기 주요 구성부는 이미지 스트림 제작부(Image Stream Producer, 510), 윈도우 포지셔닝부(Window Positioning, 520), 이미지 스트림 소비부(Image Stream Consumers, 530), 네이티브 프레임워크(540) 및 하드웨어 추상화 레이어(Hardware Abstract Layer: HAL, 550)을 포함한다.
상기 이미지 스트림 제작부(510)은 미디어 플레이어(511), 카메라 프리뷰(512), NDK(Native Developer's Kit, 513) 및 OpenGL ES(514)를 포함한다.
상기 윈도우 포지셔닝부(520)는 도 6 및 도 7에 도시된 바와 같이, 윈도우 매니저(334)를 포함한다.
상기 이미지 스트림 소비부(530)는 OpenGL ES Apps(531) 및 서피스 플린저(350)을 포함한다.
상기 네이티브 프레임워크(540)은 서피스 제어 객체(Surface.cpp, 541), GLConsumer(GLConsumer.cpp, 542) 및 IGrphicBufferProducer(IGrphicBuffer Producer.cpp, 543) 을 포함한다. 여기서, 상기 서피스 제어 객체(541)는 어플리케이션의 화면을 표시하기 위해 네이티브로 생성되고, 상기 서피스 플린저(360)와 인터페이스되어 화면을 출력한다.
상기 HAL(550)은 하드웨어 구성부(360)을 포함한다.
한편, 전술된 상기 미디어 플레이어(511), 카메라 프리뷰(512)는 이미지 스트림과 관련된 어플리케이의 종류를 나타낸다.
상기 NDK(513)은 C/C++ 코드로 된 모듈을 호출하여 사용하기 위한 개발자 키트이다.
상기 OpenGL ES(514)는 3차원 그래픽 라이브러리인 OpenGL을 임베디드 시스템(ES)에서 사용할 수 있도록 한 라이브러리이다.
상기 윈도우 매니저(334)는 어플리케이션과 관련된 화면을 담당한다. 즉, 상기 윈도우 매니저(334)는 어플리케이션의 화면 해상도와 관련된 정보를 수신하여, 상기 화면 해상도에 기반하여 화면을 생성하도록 제어한다.
한편, 도 5에 도시된 해상도 조정 방법을 참조하면, 상기 윈도우 매니저(334)는 상기 해상도 정보 수신 과정(S420)을 수행한다. 즉, 상기 윈도우 매니저(334)는 상기 해상도 정보 수신 과정(S420)에서 상기 이미지 스트림 제작부(510)로부터 해상도 정보와 관련된 윈도우 메타데이터를 수신한다. 또한, 상기 윈도우 매니저(334)는 도 6 및 도 7에 도시된 제2프레임워크 계층(340)에서 수행된 상기 해상도 선택 과정(S430)으로부터 선택된 제2해상도에 대한 정보를 상기 서피스 플린저(350)로 송신한다.
상기 OpenGL ES Apps(531)는 상기 OpenGL ES를 사용하는 어플리케이션들에 해당한다.
상기 서피스 플린저(350)는 상기 윈도우 매니저(334)로부터 시스템 해상도에 해당하는 제1해상도 및 어플리케이션의 해상도에 해당하는 제2해상도에 관한 메타데이터를 수신한다.
또한, 상기 서피스 플린저(350)는 컴포넌트 배치 과정(S441)을 수행한다. 이때, 상기 서피스 플린저(350)는 상기 제1 및 제2해상도의 비율에 따라 어플리케이션에서의 그래픽 레이어를 제어한다. 이때, 상기 서피스 플린저(350)는 상기 GLConsumer(542)로부터 버퍼 데이터를 수신할 수 있다. 이러한 경우, 수신된 버퍼 데이터는 상기 제2해상도에 기반하여 조정된 버퍼 데이터일 수 있다.
상기 하드웨어 구성부(360)는 프레임 생성과정(S442)을 수행한다. 상기 프레임 생성 과정(S442)에서 실행 화면의 복수의 객체들을 상기 제1 및 제2해상도의 비율에 따라 업스케일링한다. 상기 업스케일링된 프레임은 디스플레이(LCD)로 전송되고, 상기 디스플레이는 상기 업스케일링된 프레임을 표시한다.
한편, 도 10은 본 발명에 따른 동적 해상도 제어 방법의 신호 흐름도를 도시한다.
도 7을 참조하면, 상기 동적 해상도 제어 방법은 상기 타겟 어플리케이션(311), 상기 서피스 플린저(350), 상기 하드웨어 구성부(360) 및 디스플레이(LCD, 373)에 의해 수행될 수 있다.
또한, 상기 동적 해상도 제어 방법은 추가적으로 시스템(610) 및 시스템 UI(620)에 의해 수행될 수 있다. 여기서, 상기 시스템(610) 및 상기 시스템 UI(620)에서의 신호 흐름도는 도 6에서의 제2프레임워크 계층(340)에 의해 수행될 수 있다.
먼저, 상기 타겟 어플리케이션(311)은 사용자로부터 어플리케이션을 실행하기 위한 사용자 입력(1: User Action)을 수신한다. 이에 응답하여, 상기 시스템(610)은 상기 타겟 어플리케이션(311)으로부터 상기 어플리케이션의 실행에 해당하는 개시 요청(2: Requst Launch)을 수신한다. 즉, 상기 시스템(610)은 액티비티 매니저로부터 상기 어플리케이션의 실행에 해당하는 개시 요청(2: Requst Launch)을 프로세스 관측기에서 수신한다.
상기 시스템(610)은 시스템 해상도인 제1해상도를 어플리케이션 해상도인 제2해상도로 변경하는 해상도 변경(3: Change Resolution)을 수행한다. 또한, 상기 시스템(610)은 상기 변경된 제2해상도에 관한 정보를 상기 타겟 어플리케이션(311)으로 송신하는 현재 해상도(4: Current Resolution) 정보 송신을 수행한다.
한편, 상기 타겟 어플리케이션(311)은 어플리케이션의 실행 화면을 생성하기 위한 생성 요청(5: Request Draw)을 상기 GPU(372)로 송신한다. 이때, 상기 GPU(372)는 상기 어플리케이션의 복수의 객체들 각각에 대한 반복적인 스케일링을 수행하지 않는다. 즉, 상기 GPU(372)은 상기 복수의 객체들이 배치된 상기 어플리케이션의 실행 화면인 제2화면을 전체 화면과 병합하기 위한 제1병합 요청(6: Request Merge)을 상기 서피스 플린저(360)로 송신한다.
상기 시스템UI(620)는 상기 어플리케이션이 배치되는 기본 UI화면인 제1화면을 전체화면과 병합하기 위한 제2병합 요청(7: Request Merge)을 상기 서피스 플린저(360)로 송신한다.
상기 서피스 플린저(360)은 상기 제1 및 제2병합 요청을 수신하여 전체화면을 생성하기 위한 프레임 생성(8: Draw Frame) 요청을 상기 하드웨어 구성부(360)로 송신한다.
상기 하드웨어 구성부(360)는 시스템 해상도인 제1해상도와 어플리케이션에서 선택된 해상도인 제2해상도의 비율에 따라 상기 전체 화면에 대해 업스케일링에 해당하는 픽셀 스트레칭(9: Pixel Stretching)을 수행한다. 상기 하드웨어 구성부(360)는 상기 디스플레이(373)로 상기 픽셀 스트레칭된 프레임(10: Frmae)을 송신하여, 동적 해상도 제어된 화면이 상기 디스플레이(373)에 표시되도록 한다.
한편, 도 11은 본 발명의 다른 실시예에 따른 동적 해상도 제어 방법의 신호 흐름도를 도시한다.
도 11을 참조하면, 상기 동적 해상도 제어 방법은 타겟 어플리케이션(311), 서피스 플린저(350), 하드웨어 구성부(360), 디스플레이(LCD, 373), 시스템(610) 및 시스템 UI(620)에 의해 수행될 수 있다.
또한, 상기 동적 해상도 제어 방법은 추가적으로 프로세스 관측기(341), 패키지 분석기(444) 및 프로세스 필터(342)에 의해 수행될 수 있다. 여기서, 상기 프로세스 관측기(341), 패키지 분석기(444) 및 프로세스 필터(342), 시스템(610) 및 시스템 UI(620)에서의 신호 흐름도는 도 8에서의 제2프레임워크 계층(440)에 의해 수행될 수 있다.
먼저, 상기 타겟 어플리케이션(311)은 사용자로부터 어플리케이션을 실행하기 위한 사용자 입력(1: User Action)을 수신한다. 이에 응답하여, 상기 시스템(610)은 상기 타겟 어플리케이션(311)으로부터 상기 어플리케이션의 실행에 해당하는 개시 요청(2a: Requst Launch)을 수신한다. 즉, 상기 시스템(610)은 액티비티 매니저로부터 상기 어플리케이션의 실행에 해당하는 개시 요청(2a: Requst Launch)을 프로세스 관측기에서 수신한다.
다음으로, 상기 프로세스 관측기(341)는 상기 시스템(610)으로부터 어플리케이션 개시 요청(2b: Launch App)을 수신한다. 이에 응답하여, 상기 프로세스 관측기(341)는 어플리케이션 해상도 확인 요청(2c: Check App resolution)을 상기 패키지 분석기(444)로 송신한다. 이에 응답하여, 상기 패키지 분석기(444)는 어플리케이션 확인 요청(2d: Check Apps)을 상기 프로세스 필터(342)로 송신한다. 이에 응답하여, 상기 프로세스 필터(342)는 해상도 변경 요청(3a: Enable Change Resolution)을 생성하여, 상기 패키지 분석기(444)로 송신한다. 상기 패키지 분석기(444)는 해상도 설정 요청(3b: SetResolution)을 상기 시스템(610)으로 송신한다.
상기 시스템(610)은 시스템 해상도인 제1해상도를 어플리케이션 해상도인 제2해상도로 변경하는 해상도 변경(3c: Change Resolution)을 수행한다.
한편, 상기 프로세스 필터(342)는 해상도 변경이 불필요하다고 판단되는 경우, 해상도 변경 비활성화 요청(3d: Disable Change Resolution)을 생성하여, 상기 패키지 분석기(444)로 송신한다.
또한, 상기 시스템(610)은 상기 변경된 제2해상도에 관한 정보를 상기 타겟 어플리케이션(311)으로 송신하는 현재 해상도(4: Current Resolution) 정보 송신을 수행한다.
한편, 상기 타겟 어플리케이션(311)은 어플리케이션의 실행 화면을 생성하기 위한 생성 요청(5: Request Draw)을 상기 GPU(372)로 송신한다. 이때, 상기 GPU(372)는 상기 어플리케이션의 복수의 객체들 각각에 대한 반복적인 스케일링을 수행하지 않는다. 즉, 상기 GPU(372)은 상기 복수의 객체들이 배치된 상기 어플리케이션의 실행 화면인 제2화면을 전체 화면과 병합하기 위한 제1병합 요청(6: Request Merge)을 상기 서피스 플린저(360)로 송신한다.
상기 시스템UI(620)는 상기 어플리케이션이 배치되는 기본 UI화면인 제1화면을 전체화면과 병합하기 위한 제2병합 요청(7: Request Merge)을 상기 서피스 플린저(360)로 송신한다.
상기 서피스 플린저(360)은 상기 제1 및 제2병합 요청을 수신하여 전체화면을 생성하기 위한 프레임 생성(8: Draw Frame) 요청을 상기 하드웨어 구성부(360)로 송신한다.
상기 하드웨어 구성부(360)는 시스템 해상도인 제1해상도와 어플리케이션에서 선택된 해상도인 제2해상도의 비율에 따라 상기 전체 화면에 대해 업스케일링에 해당하는 픽셀 스트레칭(9: Pixel Stretching)을 수행한다. 상기 하드웨어 구성부(360)는 상기 디스플레이(373)로 상기 픽셀 스트레칭된 프레임(10: Frmae)을 송신하여, 동적 해상도 제어된 화면이 상기 디스플레이(373)에 표시되도록 한다.
한편, 전술된 동적 해상도 제어 방법에 관한 구성 및 기능은 동적 해상도 제어를 수행하는 이동 단말기의 각 구성부분에 대한 구성 및 기능과 상호 결합되어 활용될 수 있음은 물론이다.
이상에서 살펴본 바와 같이 본 발명의 실시 예들 중 적어도 하나에 의하면, 어플리케이션이 실행되는 실행 화면의 해상도를 선택하고, 상기 해상도에 기반하여 상기 실행 화면을 표시하여, 동적 해상도 제어를 수행할 수 있다는 장점이 있다.
또한, 본 발명의 실시 예들 중 적어도 하나에 의하면, 복수의 객체들을 포함하는 화면들을 합성하고, 상기 합성된 화면들을 한 번에 업스케일링하여, 처리 시간 및 전력 소모를 수행할 수 있다는 장점이 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 이동 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (20)

  1. 이동 단말기에 있어서,
    복수의 객체(object)들을 포함하는 어플리케이션을 실행하기 위한 사용자 입력을 수신하는 디스플레이부;
    상기 디스플레이부에 제1해상도로 화면을 표시하는 설정 정보를 저장하는 메모리; 및
    상기 어플리케이션이 지원하는 복수의 해상도들에 관한 정보를 수신하고, 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 어플리케이션이 실행되는 실행 화면의 해상도인 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 복수의 객체들을 시스템 UI와 합성하여 상기 실행 화면을 구성하고, 상기 구성된 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링하여 상기 디스플레이부에 표시하는 제어부를 포함하는, 이동 단말기.
  2. 제1항에 있어서,
    상기 제2해상도는 상기 복수의 해상도들 중 상기 제1해상도와의 차이가 가장 작도록 선택되는, 이동 단말기.
  3. 제1항에 있어서,
    상기 제어부는,
    상기 복수의 객체들을 상기 시스템 UI와 합성하는 중앙 처리 유닛; 및
    상기 합성된 복수의 객체들이 포함된 상기 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링하는 그래픽 처리 유닛을 포함하는, 이동 단말기.
  4. 제1항에 있어서,
    상기 제어부는 상기 제2해상도의 변경과 연관된 인자들의 측정값을 수신하고, 상기 수신된 측정값에 기반하여 상기 제2해상도보다 낮은 제3해상도를 선택하는, 이동 단말기.
  5. 제2항에 있어서,
    상기 업스케일링은 상기 복수의 객체들의 픽셀을 상기 비율에 기반하여 스트레칭(stretching)하는, 이동 단말기.
  6. 제4항에 있어서,
    상기 인자들은 배터리 잔량, 전력 매니저를 통해 감지되는 온도, 상기 어플리케이션이 요구하는 초당 프레임(FPS: Frame Per Second) 및 상기 설정 정보 중 적어도 하나에 기반하는, 이동 단말기.
  7. 제1항에 있어서,
    상기 제어부는,
    어플리케이션 계층에서 상기 어플리케이션을 실행하고,
    프레임워크 계층에서 상기 설정 정보를 수신하고, 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 실행 화면을 표시하고,
    커널계층에서 상기 이동 단말기의 전력 관리, 메모리 관리 및 하드웨어 관리를 수행하는, 이동 단말기.
  8. 제7항에 있어서,
    상기 프레임워크 계층은,
    액티비티 매니저, 패키지 매니저, 윈도우스테이트 매니저, 윈도우 매니저 및 입력 매니저를 포함하는 제1프레임워크 계층을 포함하는, 이동 단말기.
  9. 제8항에 있어서,
    상기 프레임워크 계층은,
    프로세스 관측기, 패키지 분석기, 프로세스 필터, 스케일러, 트리거 모니터링부 및 태스크 마이그레션부를 포함하는, 제2프레임워크 계층을 더 포함하는, 이동 단말기.
  10. 제9항에 있어서,
    상기 프레임워크 계층은,
    상기 제1 및 제2해상도의 비율에 따라 상기 어플리케이션에서의 그래픽 레이어를 제어하는 서피스 플린저(Surface Flinger); 및
    상기 제1 및 제2해상도의 비율에 따라 복수의 객체들이 배치된 상기 실행 화면을 업스케일링하는 하드웨어 구성부(Hardware Composer)를 더 포함하는, 이동 단말기.
  11. 제9항에 있어서,
    상기 프로세스 관측기는 상기 액티비티 매니저로부터 상기 어플리케이션의 실행에 해당하는 개시 요청(Requst Launch)을 수신하고,
    상기 패키지 분석기는 상기 어플리케이션으로부터 상기 복수의 해상도들에 관한 정보를 추출하고,
    상기 프로세스 필터는 상기 제1해상도를 상기 제2해상도로 변경하고, 상기 변경된 제2해상도를 적용할지 여부를 결정하고,
    상기 스케일러는 상기 제2해상도에 관한 정보를 상기 윈도우 매니저로 송신하는, 이동 단말기.
  12. 제9항에 있어서,
    상기 커널 계층은 전력 매니저를 포함하고,
    상기 트리거 모니터링부는 상기 전력 매니저로부터 상기 온도에 관한 정보를 수신하고, 상기 윈도우 매니저로부터 상기 FPS에 관한 정보 및 상기 사용자 설정에 관한 정보를 수신하는, 이동 단말기.
  13. 이동 단말기에 있어서,
    어플리케이션을 실행하기 위한 사용자 입력을 수신하는 디스플레이부;
    상기 디스플레이부에 제1해상도로 화면을 표시하는 설정 정보를 저장하는 메모리; 및
    상기 어플리케이션이 지원하는 복수의 해상도들에 관한 정보를 수신하고, 상기 제1해상도 및 상기 복수의 해상도들에 기반하여 상기 어플리케이션이 실행되는 실행 화면의 해상도인 제2해상도를 선택하고, 상기 제2해상도에 따라 상기 실행 화면을 상기 디스플레이부에 표시하는 제어부를 포함하는, 이동 단말기.
  14. 제13항에 있어서,
    상기 제2해상도는 상기 복수의 해상도들 중 상기 제1해상도와의 차이가 가장 작도록 선택되는, 이동 단말기.
  15. 제13항에 있어서,
    상기 제어부는 복수의 객체들이 배치된 상기 실행 화면을 상기 제1 및 제2해상도의 비율에 따라 업스케일링하는, 이동 단말기.
  16. 제15항에 있어서,
    상기 업스케일링은 상기 복수의 객체들의 픽셀을 상기 비율에 기반하여 스트레칭(stretching)함으로써 수행되는, 이동 단말기..
  17. 제13항에 있어서,
    상기 제어부는 상기 제2해상도의 변경과 연관된 인자들의 측정값을 수신하고, 상기 수신된 측정값에 기반하여 상기 제2해상도보다 낮은 제3해상도를 선택하는, 이동 단말기.
  18. 제17항에 있어서,
    상기 인자들은 배터리 잔량, 전력 매니저를 통해 감지되는 온도, 상기 어플리케이션이 요구하는 초당 프레임(FPS: Frame Per Second) 및 상기 설정 정보 중 적어도 하나에 기반하는, 이동 단말기.
  19. 제13항에 있어서,
    상기 제어부는,
    상기 어플리케이션의 실행에 해당하는 개시 요청(Requst Launch)을 액티비티 매니저로부터 수신하는 프로세스 관측기; 및
    상기 어플리케이션으로부터 상기 복수의 해상도들에 관한 정보를 추출하는 패키지 분석기를 포함하는, 이동 단말기.
  20. 제13항에 있어서,
    상기 제어부는,
    상기 제1해상도를 상기 제2해상도로 변경하고, 상기 변경된 제2해상도를 적용할지 여부를 결정하는 프로세스 필터; 및
    상기 제2해상도에 관한 정보를 윈도우 매니저로 송신하는 스케일러를 더 포함하는, 이동 단말기.
PCT/KR2015/013381 2015-09-30 2015-12-08 동적 해상도 제어를 수행하는 이동 단말기 및 그 제어방법 WO2017057799A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/764,436 US10490165B2 (en) 2015-09-30 2015-12-08 Mobile terminal for controlling dynamic resolution and control method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150138130A KR101718046B1 (ko) 2015-09-30 2015-09-30 동적 해상도 제어를 수행하는 이동 단말기 및 그 제어방법
KR10-2015-0138130 2015-09-30

Publications (1)

Publication Number Publication Date
WO2017057799A1 true WO2017057799A1 (ko) 2017-04-06

Family

ID=58424104

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/013381 WO2017057799A1 (ko) 2015-09-30 2015-12-08 동적 해상도 제어를 수행하는 이동 단말기 및 그 제어방법

Country Status (3)

Country Link
US (1) US10490165B2 (ko)
KR (1) KR101718046B1 (ko)
WO (1) WO2017057799A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102375216B1 (ko) * 2017-03-24 2022-05-04 삼성전자주식회사 어플리케이션의 표시 비율 변경 방법 및 이를 구현한 전자 장치
US10748244B2 (en) 2017-06-09 2020-08-18 Samsung Electronics Co., Ltd. Systems and methods for stereo content detection
KR102222871B1 (ko) 2019-02-22 2021-03-04 삼성전자주식회사 디스플레이 장치 및 이의 영상 표시 방법
KR20210093605A (ko) * 2020-01-20 2021-07-28 삼성전자주식회사 디스플레이 장치 및 그 동작 방법
US11436703B2 (en) * 2020-06-12 2022-09-06 Samsung Electronics Co., Ltd. Method and apparatus for adaptive artificial intelligence downscaling for upscaling during video telephone call
US20220141531A1 (en) 2020-10-30 2022-05-05 Rovi Guides, Inc. Resource-saving systems and methods
CN112466243A (zh) * 2020-11-25 2021-03-09 惠州Tcl移动通信有限公司 图像处理方法、装置、存储介质及移动终端
CN113436564B (zh) * 2021-06-18 2022-07-01 海信视像科技股份有限公司 一种epos的展示方法及显示设备
KR20230106983A (ko) * 2022-01-07 2023-07-14 삼성전자주식회사 전자 장치 및 전자 장치의 디스플레이 제어 방법
US11990080B2 (en) 2022-01-07 2024-05-21 Samsung Electronics Co., Ltd. Electronic device and method for controlling display thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070097383A (ko) * 2007-08-17 2007-10-04 삼성전자주식회사 애플리케이션 스케일링 기능을 갖는 멀티미디어 시스템 및애플리케이션 스케일링 방법과 그 방법을 수행하는프로그램이 기록된 기록매체
KR20100059568A (ko) * 2008-11-26 2010-06-04 주식회사 케이티 이동 단말에서의 대기 화면 제공 방법
KR20110032678A (ko) * 2009-09-23 2011-03-30 삼성전자주식회사 디스플레이장치, 시스템 및 그 해상도 제어방법
KR20120049633A (ko) * 2010-11-09 2012-05-17 서울대학교산학협력단 해상도 전환을 위한 스마트폰의 플랫폼
US20150130842A1 (en) * 2011-01-11 2015-05-14 Apple Inc. Mirroring graphics content to an external display

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070059313A (ko) * 2005-12-06 2007-06-12 삼성전자주식회사 애플리케이션 스케일링 기능을 갖는 멀티미디어 시스템 및애플리케이션 스케일링 방법과 그 방법을 수행하는프로그램이 기록된 기록매체
US20140137036A1 (en) * 2012-11-15 2014-05-15 Weishan Han Operation Window for Portable Devices with Touchscreen Displays
CN103309618A (zh) * 2013-07-02 2013-09-18 姜洪明 移动操作系统
US20150179149A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Dynamic gpu & video resolution control using the retina perception model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070097383A (ko) * 2007-08-17 2007-10-04 삼성전자주식회사 애플리케이션 스케일링 기능을 갖는 멀티미디어 시스템 및애플리케이션 스케일링 방법과 그 방법을 수행하는프로그램이 기록된 기록매체
KR20100059568A (ko) * 2008-11-26 2010-06-04 주식회사 케이티 이동 단말에서의 대기 화면 제공 방법
KR20110032678A (ko) * 2009-09-23 2011-03-30 삼성전자주식회사 디스플레이장치, 시스템 및 그 해상도 제어방법
KR20120049633A (ko) * 2010-11-09 2012-05-17 서울대학교산학협력단 해상도 전환을 위한 스마트폰의 플랫폼
US20150130842A1 (en) * 2011-01-11 2015-05-14 Apple Inc. Mirroring graphics content to an external display

Also Published As

Publication number Publication date
US10490165B2 (en) 2019-11-26
KR101718046B1 (ko) 2017-03-20
US20180286355A1 (en) 2018-10-04

Similar Documents

Publication Publication Date Title
WO2017057799A1 (ko) 동적 해상도 제어를 수행하는 이동 단말기 및 그 제어방법
WO2017082627A1 (en) Mobile terminal and method for controlling the same
WO2018026059A1 (ko) 이동 단말기 및 그 제어방법
WO2017090826A1 (ko) 이동단말기 및 그 제어방법
WO2017018603A1 (ko) 이동 단말기 및 이의 제어방법
WO2015199292A1 (en) Mobile terminal and method for controlling the same
WO2016182108A1 (ko) 이동단말기 및 그 제어방법
WO2016195147A1 (ko) 헤드 마운티드 디스플레이
WO2018124334A1 (ko) 전자장치
WO2016093459A1 (en) Mobile terminal and control method thereof
WO2019160198A1 (ko) 이동 단말기 및 그 제어방법
WO2015178561A1 (ko) 이동 단말기 및 그의 동적 프레임 조절 방법
WO2017039063A1 (en) Smart cup and control method thereof
WO2015194723A1 (ko) 이동단말기 및 그 제어방법
WO2015194797A1 (en) Mobile terminal and method of controlling the same
WO2018048092A1 (en) Head mounted display and method for controlling the same
WO2017026554A1 (ko) 이동 단말기
WO2016039496A1 (ko) 이동단말기 및 그 제어방법
WO2017171412A2 (ko) 이미지 처리 장치 및 이동 단말기
WO2015174611A1 (ko) 이동 단말기 및 그것의 제어 방법
WO2016039509A1 (ko) 단말기 및 그 동작 방법
WO2018043853A1 (ko) Hdr 영상 촬영 장치 및 그 제어 방법
WO2017052004A1 (ko) 이동 단말기 및 그 제어방법
WO2016068394A1 (ko) 이동 단말기 및 이의 제어방법
WO2016125971A1 (ko) 이동단말기 및 그 제어방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15905509

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15764436

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15905509

Country of ref document: EP

Kind code of ref document: A1