KR102449090B1 - 윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법 - Google Patents

윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법 Download PDF

Info

Publication number
KR102449090B1
KR102449090B1 KR1020180025786A KR20180025786A KR102449090B1 KR 102449090 B1 KR102449090 B1 KR 102449090B1 KR 1020180025786 A KR1020180025786 A KR 1020180025786A KR 20180025786 A KR20180025786 A KR 20180025786A KR 102449090 B1 KR102449090 B1 KR 102449090B1
Authority
KR
South Korea
Prior art keywords
image
display
application
window buffer
displayed
Prior art date
Application number
KR1020180025786A
Other languages
English (en)
Other versions
KR20190105353A (ko
Inventor
정성훈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180025786A priority Critical patent/KR102449090B1/ko
Priority to US16/978,419 priority patent/US11575964B2/en
Priority to EP19764056.8A priority patent/EP3734981B1/en
Priority to PCT/KR2019/002490 priority patent/WO2019172593A1/ko
Publication of KR20190105353A publication Critical patent/KR20190105353A/ko
Application granted granted Critical
Publication of KR102449090B1 publication Critical patent/KR102449090B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4332Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4333Processing operations in response to a pause request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Digital Computer Display Output (AREA)
  • Image Generation (AREA)

Abstract

디스플레이; 메모리; 및 상기 메모리에서 적어도 하나의 어플리케이션을 실행시키고, 상기 적어도 하나의 어플리케이션 각각을 위한 윈도우 버퍼를 상기 메모리에 할당하는 프로세서;를 포함하고, 상기 프로세서는, 상기 적어도 하나의 어플리케이션의 실행 상태를 유지한 상태에서, 상기 적어도 하나의 어플리케이션에 의한 이미지의 적어도 일부가 상기 디스플레이에 표시되지 않은 상태에 기초하여 상기 적어도 하나의 어플리케이션을 위해 상기 메모리에 할당된 상기 윈도우 버퍼를 회수하도록 설정된 디스플레이 장치가 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법{DISPLAY APPARATUS FOR MANAGING ALLOCATION OF WINDOW BUFFER AND CONTROLLING METHOD THEREOF}
본 문서에서 개시되는 실시 예들은, 윈도우 버퍼를 할당하는 기술과 관련된다.
디스플레이 장치는 메모리에 저장되어 있거나, 외부 장치로부터 수신된 컨텐트(content)의 이미지를 디스플레이에 표시하여 사용자에게 제공할 수 있다. 디스플레이 장치는 지정된 저장공간에 지정된 이미지를 저장하고, 저장된 이미지를 디스플레이에 표시함으로써, 지정된 이미지를 표시할 수 있다.
최근 멀티미디어 기술의 발달로 고해상도, 고화질의 영상에 대한 공급이 활발해 지면서 HD(high definition) 영상뿐만 아니라 HD의 4배 이상의 해상도를 갖는 UHD(ultra high definition) 영상이 공급되고 있다. 이에 따라, 고해상도, 고화질의 영상을 저장하기 위한 저장 용량도 커지고 있다.
디스플레이 장치는 앱의 실행 여부에 따라 실행된 앱의 이미지를 표시하기 위한 윈도우 버퍼를 할당할 수 있다. 디스플레이 장치는 디스플레이에 표시 여부와 관계 없이 일괄적으로 실행된 앱을 위해 메모리에 윈도우 버퍼를 할당하여 비효율적으로 메모리를 사용할 수 있다. 또한, 디스플레이 장치는 고해상도, 고화질 영상을 출력하기 위해 큰 용량의 버퍼를 사용하는 환경에서는 한정된 메모리 자원에서 비효율적 메모리 사용이 더욱 큰 문제가 되고 있다.
본 발명의 다양한 실시 예에 따른 디스플레이 장치는 실행된 앱을 위해 메모리에 할당된 윈도우 버퍼를 가변적으로 할당하여 효율적으로 메모리를 이용할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 디스플레이 장치는, 디스플레이; 메모리; 및 상기 메모리에서 적어도 하나의 어플리케이션을 실행시키고, 상기 적어도 하나의 어플리케이션 각각을 위한 윈도우 버퍼를 상기 메모리에 할당하는 프로세서;를 포함하고, 상기 프로세서는, 상기 적어도 하나의 어플리케이션의 실행 상태를 유지한 상태에서, 상기 적어도 하나의 어플리케이션에 의한 이미지의 적어도 일부가 상기 디스플레이에 표시되지 않은 상태에 기초하여 상기 적어도 하나의 어플리케이션을 위해 상기 메모리에 할당된 상기 윈도우 버퍼를 회수하도록 설정될 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 디스플레이 장치를 제어하는 방법은, 실행된 적어도 하나의 어플리케이션의 실행상태를 유지한 상태에서, 상기 적어도 하나의 어플리케이션에 의한 이미지의 적어도 일부가 상기 디스플레이에 표시되지 않은 상태에 기초하여 상기 실행된 어플리케이션을 위해 메모리에 할당되는 윈도우 버퍼를 결정하는 동작; 및 상기 결정에 대응하여 상기 디스플레이에 상기 이미지가 표시되지 않은 어플리케이션을 위해 상기 메모리에 할당된 윈도우 버퍼를 회수하는 동작;을 포함할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 비휘발성 기록매체는, 실행된 적어도 하나의 어플리케이션의 실행 상태를 유지한 상태에서, 상기 실행된 어플리케이션에 의한 이미지의 적어도 일부가 상기 디스플레이에 표시되지 않은 상태에 기초하여 상기 실행된 어플리케이션을 위해 메모리에 할당되는 윈도우 버퍼를 결정하는 동작; 및 상기 결정에 대응하여 상기 디스플레이에 상기 이미지의 적어도 일부가 표시되지 않은 어플리케이션을 위해 상기 메모리에 할당된 윈도우 버퍼를 회수하는 동작;을 포함하는 방법을 수행하는 프로그램이 기록될 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 디스플레이 장치는 실행된 앱 중 디스플레이에 이미지가 표시되지 않은 앱의 상태에 따라 메모리에 할당된 윈도우 버퍼를 가변적으로 회수하거나 할당(또는, 회수)함으로써, 한정된 메모리 자원을 효율적으로 이용할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 디스플레이 장치를 나타낸 도면이다.
도 2는 본 발명의 다양한 실시 예에 따른 디스플레이 장치의 구성을 나타낸 블록도이다.
도 3의 일 실시 예에 따른 디스플레이 장치는 실행된 앱을 위해 프로세스 메모리의 적어도 일부를 할당할 수 있다.
도 4의 일 실시 예에 따른 디스플레이 장치는 실행된 복수의 앱을 위해 윈도우 버퍼를 메모리에 할당할 수 있다.
도 5는 본 발명의 다양한 실시 예에 따른 디스플레이 장치의 제어 방법을 나타낸 흐름도이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 디스플레이 장치를 나타낸 도면이다.
도 1을 참조하면, 디스플레이 장치(100)는 디스플레이를 통해 지정된 이미지(또는, 비디오 이미지)를 출력할 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 지정된 이미지를 디스플레이에 표시할 수 있다. 예를 들어, 디스플레이 장치(100)는 메모리에 저장된 이미지를 표시하거나, 외부 장치로부터 수신된 이미지를 출력할 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 복수의 윈도우(window) 각각을 통해 지정된 이미지를 출력할 수 있다. 예를 들어, 디스플레이 장치(100)는 제1 윈도우(101), 제2 윈도우(103), 및 제3 윈도우(105) 각각을 통해 지정된 이미지를 출력할 수 있다. 제1 윈도우(101), 제2 윈도우(103), 및 제3 윈도우(105)는, 예를 들어, 디스플레이 상에서 서로 중첩되어 표시될 수 있다. 다시 말해, 제1 윈도우(101), 제2 윈도우(103), 및 제3 윈도우(105)의 적어도 일부는 서로 중첩되어 디스플레이를 통해 출력되는 이미지가 표시되지 않을 수 있다.
예를 들어, 제1 윈도우(101)는 전체가 디스플레이에 표시될 수 있다 .다시 말해, 제1 윈도우(101)에 표시된 이미지 전체가 디스플레이에 표시될 수 있다. 제2 윈도우(103)는 제1 윈도우(101)와 적어도 일부가 중첩되어, 상기 중첩된 부분을 제외한 나머지 부분이 디스플레이에 표시될 수 있다. 다시 말해, 제2 윈도우(103)에 표시된 이미지의 적어도 일부만이 디스플레이에 표시될 수 있다. 제3 윈도우(105)는 제2 윈도우(103)와 전체가 중첩될 수 있다. 다시 말해, 제3 윈도우(105)에 표시된 이미지의 전체가 디스플레이에 표시되지 않을 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 어플리케이션 프로그램(application program)(또는, 앱(app))을 실행시키고, 상기 실행된 앱을 통해 지정된 동작을 수행할 수 있다. 상기 지정된 동작은, 예를 들어, 컨텐트(content)를 사용자에게 제공하거나, 서비스(예: 공연 예약, 음식 주문)를 사용자에게 제공할 수 있다. 일 실시 예에 따르면, 디스플레이 장치(100)는 실행된 앱의 이미지를 디스플레이에 표시할 수 있다. 예를 들어, 디스플레이 장치(100)는 상기 실행된 앱의 이미지를 윈도우를 통해 디스플레이에 표시할 수 있다. 상기 앱의 이미지는, 예를 들어, UI(user interface) 이미지를 포함할 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 실행된 앱의 이미지를 디스플레이에 표시하기 위해 윈도우 버퍼(window buffer)를 실행된 앱 각각을 위해 메모리에 할당할 수 있다. 예를 들어, 디스플레이 장치(100)는 복수(예: 2개)의 윈도우 버퍼를 실행된 앱을 위해 메모리에 할당할 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 복수의 앱을 실행할 수 있다. 일 실시 예에 따르면, 디스플레이 장치(100)는 실행된 복수의 앱 중 일부 앱의 UI를 디스플레이에 표시하고, 나머지 앱의 UI를 디스플레이에 표시하지 않을 수 있다. 예를 들어, 디스플레이 장치(100)는 실행된 복수의 앱의 이미지를 표시한 창을 숨길 수 있다. 디스플레이 장치(100)는 숨겨진 앱에 대응되는 인디케이터(107)를 디스플레이에 표시할 수 있다. 일 실시 예에 따르면, 디스플레이 장치(100)는 지정된 사용자 입력을 수신하면, 실행된 앱 중에 디스플레이에 표시되지 않은 앱의 UI를 디스플레이에 표시할 수 있다. 상기 지정된 사용자 입력은, 예를 들어, 디스플레이에 표시된 인디케이터(107)를 선택하는 사용자 입력일 수 있다.
디스플레이 장치(100)는 앱의 실행 여부에 따라 실행된 앱의 이미지를 표시하기 위한 윈도우 버퍼를 메모리에 할당할 수 있다. 다시 말해, 디스플레이 장치(100)는 디스플레이에 표시 여부와 관계 없이 일괄적으로 실행된 앱을 위한 윈도우 버퍼를 메모리에 할당할 수 있다. 이에 따라, 디스플레이 장치(100)는 메모리를 효율적으로 사용하지 못할 수 있다. 본 발명의 다양한 실시 예에 따른 디스플레이 장치(100)는 실행된 앱을 위해 메모리에 할당된 윈도우 버퍼를 가변적으로 할당(또는, 회수)하여 효율적으로 메모리를 이용할 수 있다.
도 2는 본 발명의 다양한 실시 예에 따른 디스플레이 장치의 구성을 나타낸 블록도이다.
도 2를 참조하면, 디스플레이 장치(100)는 디스플레이(110), 메모리(120), 및 프로세서(130)를 포함할 수 있다.
일 실시 예에 따르면, 디스플레이(110)는 이미지를 표시할 수 있다. 예를 들어, 디스플레이(110)는 컨텐트의 이미지 또는, 실행된 앱의 이미지를 표시할 수 있다. 상기 이미지는, 예를 들어, 실행된 앱의 UI 이미지를 포함할 수 있다. 일 실시 예에 따르면, 디스플레이(110)는 윈도우를 통해 이미지를 출력할 수 있다. 예를 들어, 디스플레이(100)는 복수의 윈도우를 통해 실행된 앱의 이미지를 각각 표시할 수 있다.
일 실시 예에 따르면, 메모리(120)는 프로세스 메모리(121), 및 어플리케이션 메모리(123)를 포함할 수 있다. 일 실시 예에 따르면, 프로세스 메모리(121)는 지정된 기능을 수행하는데 필요한 정보를 저장할 수 있다. 예를 들어, 프로세스 메모리(121)는 실행된 앱을 위한 윈도우 버퍼로 할당되어, 디스플레이에 표시되는 이미지(예: 비디오 이미지의 프레임 이미지)를 저장할 수 있다. 일 실시 예에 따르면, 어플리케이션 메모리(123)는 복수의 앱(123_1 내지 123_4)를 저장할 수 있다. 복수의 앱(123_1 내지 123_4)은 지정된 기능을 수행하기 위한 프로그램일 수 있다. 일 실시 예에 따르면, 어플리케이션 메모리(123)에 저장된 앱은 프로세스 메모리(121)에 저장되어 실행될 수 있다. 다시 말해, 어플리케이션 메모리(123)에 저장된 앱의 인스트럭션이 프로세스 메모리(121)에 저장되고, 프로세스 메모리(121)에 저장된 인스트럭션에 따라 동작이 수행될 수 있다.
일 실시 예에 따르면, 메모리(120)는 RAM(Random Access Merory) 등과 같은 휘발성 메모리, 및 HDD(Hard Disk Drive), SSD(Solid State Drive), SD(Secure Digital)등과 같은 비휘발성 메모리를 포함할 수 있다. 프로세스 메모리(121)는, 예를 들어, 휘발성 메모리로 구현되고, 어플리케이션 메모리(123)는 비휘발성 메모리로 구현될 수 있다.
일 실시 예에 따르면, 프로세서(130)는 디스플레이(110), 및 메모리(120)와 동작 가능하도록 연결되어 디스플레이 장치(100)의 전반적인 동작을 제어할 수 있다. 일 실시 예에 따르면, 프로세서(130)는 디스플레이(110), 및 메모리(120)를 제어하여 이미지를 디스플레이(110)에 표시할 수 있다.
일 실시 예에 따르면, 프로세서(130)는 어플리케이션 메모리(123)에 저장된 복수의 앱(123_1 내지 123_4) 중 적어도 하나의 앱을 실행하여 지정된 기능을 수행할 수 있다. 일 실시 예에 따르면, 프로세서(130)는 앱을 실행시킬 때, 지정된 기능을 수행하기 위한 정보를 저장할 프로세스 메모리(121)의 적어도 일부를 실행된 앱을 위해 할당할 수 있다.
일 실시 예에 따르면, 프로세서(130)는 실행된 앱의 이미지를 디스플레이(110)에 표시할 수 있다. 예를 들어, 프로세서(130)는 실행된 앱의 이미지를 윈도우를 통해 디스플레이에 표시할 수 있다. 상기 이미지는, 예를 들어, 실행된 앱의 UI 이미지를 포함할 수 있다. 일 실시 예에 따르면, 프로세서(130)는 실행된 복수의 앱의 이미지를 디스플레이에 표시할 수 있다. 프로세서(130)는 상기 실행된 복수의 앱의 이미지가 표시된 복수의 윈도우를 서로 중첩하여 표시할 수 있다. 예를 들어, 프로세서(130)는 실행된 제1 앱(123_1), 제2 앱(123_2), 제3 앱(123_3), 및 제4 앱(123_4)의 UI를 디스플레이(110)에 중첩하여 표시할 수 있다. 일 실시 예에 다르면, 프로세서(130)는 실행된 앱의 이미지를 디스플레이(110)에 표시하기 위해 윈도우 버퍼 관리 모듈(131), 및 이미지 표시 모듈(133)을 포함할 수 있다.
일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 이미지를 디스플레이(110)에 표시하기 위해 메모리(120)에 할당된 윈도우 버퍼를 관리할 수 있다. 예를 들어, 윈도우 버퍼 관리 모듈(131)은 이미지를 디스플레이에 표시하기 위한 윈도우 버퍼를, 실행된 복수의 앱(123_1 내지 123_4)을 위해 프로세스 메모리(121)에 할당할 수 있다. 상기 이미지는, 예를 들어, 실행된 복수의 앱(123_1 내지 123_4)의 이미지(또는, UI 이미지)를 포함할 수 있다.
일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 적어도 하나의 앱이 실행되었을 때, 디스플레이에 이미지를 표시하기 위한 윈도우 버퍼를 상기 실행된 앱을 위해 메모리(120)에 할당할 수 있다. 예를 들어, 윈도우 버퍼 관리 모듈(131)은 실행된 앱에 디스플레이에 표시될 이미지를 저장하기 위한 복수의 윈도우 버퍼(예: 2개의 윈도우 버퍼)를 프로세스 메모리(121) 에 할당할 수 있다. 상기 복수의 윈도우 버퍼는, 예를 들어, 2개의 윈도우 버퍼를 포함할 수 있다. 상기 2개의 윈도우 버퍼는, 예를 들어, 실행된 적어도 하나의 앱의 현재 디스플레이(110)에 표시되는 제1 이미지를 저장하기 위한 프론트 윈도우 버퍼(front window buffer),및 상기 프론트 윈도우 버퍼에 저장된 제1 이미지 다음에 디스플레이(110)에 표시되는 제2 이미지를 저장하기 위한 백 윈도우 버퍼(back window buffer)를 포함할 수 있다. 상기 제1 이미지, 및 상기 제2 이미지는, 예를 들어, 비디오 이미지에 포함된 연속된 프레임일 수 있다. 다시 말해, 상기 제2 이미지는, 예를 들어, 상기 제1 이미지의 다음 프레임일 수 있다.
일 실시 예에 따르면, 이미지 표시 모듈(133)은 앱을 통해 실행된 결과를 디스플레이(110)에 표시할 수 있다. 예를 들어, 이미지 표시 모듈(133)은 실행된 앱을 위해 메모리(120)에 할당된 윈도우 버퍼에 저장된 이미지를 디스플레이(110)에 표시할 수 있다. 상기 윈도우 버퍼는, 예를 들어, 프론트 윈도우 버퍼일 수 있다. 일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 이미지 표시 모듈(133)이 프론트 윈도우 버퍼에 저장된 이미지를 디스플레이에 표시하면, 백 윈도우 버퍼를 프론트 윈도우 버퍼로 할당(또는, 지정)할 수 있다. 일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 기존의 프론트 윈도우 버퍼를 백 윈도우 버퍼로 할당하거나, 새로운 윈도우 버퍼를 백 윈도우 버퍼로 할당할 수 있다.
일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 실행된 앱에 의한 이미지의 적어도 일부가 디스플레이(110)에 표시되지 않은 상태에 기초하여, 실행된 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다. 다시 말해, 윈도우 버퍼 관리 모듈(131)은 실행된 앱에 의한 이미지가 디스플레이(110)에 표시된 상태에 기초하여, 실행된 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다. 상기 이미지의 적어도 일부가 표시되지 않은 앱은, 예를 들어, 실행된 상태가 유지된 상태에서, 실행된 앱을 위해 메모리(120)에 할당된 버퍼가 회수될 수 있다. 이에 따라, 실행된 적어도 하나의 앱을 위한 2개 이하의 윈도우 버퍼를 메모리에 각각 할당될 수 있다.
일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 윈도우 버퍼가 우선적으로 할당되어야 하는 순위(또는, 우선 순위)에 따라 이미지(예: UI 이미지)의 적어도 일부가 디스플레이(110)에 표시되지 않은 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다. 다시 말해, 윈도우 버퍼 관리 모듈(131)은 상기 우선 순위가 낮은 앱을 위해 할당된 윈도우 버퍼를 회수할 수 있다. 상기 지정된 우선 순위는, 예를 들어, 디스플레이(110)에 표시된 상태, 사용자의 앱 실행 빈도, 및 실행된 시점 중 적어도 하나에 기초하여 결정할 수 있다. 예를 들어, 윈도우 버퍼 관리 모듈(131)은 실행된 앱의 이미지의 적어도 일부가 디스플레이(110)에 표시되지 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다. 다른 예를 들어, 윈도우 버퍼 관리 모듈(131)은 사용자의 실행 빈도가 적은 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다. 또 다른 예를 들어, 윈도우 버퍼 관리 모듈(131)은 현재 시점을 기준으로 지정된 시간 이전에 실행된 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다.
다른 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 적어도 하나의 앱으로부터 윈도우 버퍼의 할당과 관련된 요청에 따라 이미지의 적어도 일부가 디스플레이(110)에 표시되지 않은 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다.
예를 들어, 윈도우 버퍼 관리 모듈(131)은 제1 앱(123_1)의 이미지 전체가 디스플레이(100)에 표시되어 있는 경우, 메모리(110)에 할당된 윈도우 버퍼를 회수하지 않을 수 있다. 윈도우 버퍼 관리 모듈(131)은 제1 앱(123_1)의 이미지에 의해 제2 앱(123_2)의 일부만이 디스플레이(100)에 표시된 경우, 메모리(120)에 할당된 윈도우 버퍼의 일부를 회수할 수 있다. 윈도우 버퍼 관리 모듈(131)은 제3 앱(123_3), 및 제4 앱(123_4)의 이미지가 디스플레이(100)에 표시되지 않은 경우, 메모리(120)에 할당된 윈도우 버퍼의 전부를 회수할 수 있다.
일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 지정된 우선 순위에 따라 실행된 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다. 예를 들어, 윈도우 버퍼 관리 모듈(131)은 상기 지정된 우선 순위 중 선순위에 있는 앱(또는, 제1 앱)을 위해 메모리(120)에 할당된 윈도우 버퍼 중 지정된 개수를 제외한 윈도우 버퍼를 회수할 수 있다. 상기 지정된 개수는, 예를 들어, 실행된 앱을 위해 메모리(120)에 2개 이하의 윈도우 버퍼가 할당되는 경우, 하나일 수 있다. 일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 지정된 우선 순위 중 후순위에 있는 제2 앱을 위해 메모리(120)에 할당된 윈도우 버퍼를 회수할 수 있다.
일 실시 예에 따르면, 상기 지정된 우선 순위는 상기 이미지의 적어도 일부가 표시되지 않은 앱의 디스플레이(110)에 표시된 상태, 실행 빈도, 및 실행된 시점 중 적어도 하나를 기준으로 결정될 수 있다. 디스플레이(120)에 이미지의 적어도 일부가 표시되지 않은 복수의 어플리케이션은 상기 우선 순위 중 선순위인 제1 앱(123_1), 및 상기 우선 순위 중 후순위인 제2 앱(123_2)을 포함할 수 있다. 이에 따라, 윈도우 버퍼 관리 모듈(131)은 실행된 제1 앱(123_1)을 위해 메모리(120)에 할당된 윈도우 버퍼 중 지정된 개수를 제외한 윈도우 버퍼를 회수할 수 있다. 또한, 윈도우 버퍼 관리 모??(131)은 제2 앱(123_2)을 위해 메모리(120)에 할당된 윈도우 버퍼 전체를 회수할 수 있다.
일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 디스플레이(110)에 이미지의 전체가 표시되지 않은 앱(또는, 제1 앱)을 위해 메모리(120)에 할당된 버퍼 중 프론트 버퍼를 우선하여 회수할 수 있다. 일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 디스플레이(110)에 이미지의 적어도 일부가 표시되지 않은 앱(또는, 제2 앱)을 위해 메모리(120)에 할당된 상기 백 윈도우 버퍼를 우선하여 회수할 수 있다. 또한, 윈도우 버퍼 관리 모듈(131)은 디스플레이(110)에 이미지의 적어도 일부가 표시되지 않은 앱(또는, 제2 앱)을 위해 상기 프론트 윈도우 버퍼를 우선하여 할당할 수 있다.
일 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 디스플레이(110)에 이미지(예: UI 이미지)가 표시되지 않은 앱(또는, 제1 앱)을 다시 디스플레이(110)에 표시하는 경우, 다시 디스플레이(110)에 표시하고자 하는 앱에 윈도우 버퍼를 할당할 수 있다.
예를 들어, 윈도우 버퍼 관리 모듈(131)은 실행된 적어도 하나의 앱 중 디스플레이(110)에 이미지가 표시되지 않은 앱(또는, 제1 앱)을 위해 메모리(120)에 윈도우 버퍼가 할당되어 있지 않은 경우, 메모리(120)에 상기 앱을 위한 백 윈도우 버퍼를 할당할 수 있다. 프로세서(130)는 상기 할당된 백 윈도우 버퍼에 이미지를 저장하도록 제1 앱으로 요청을 전달할 수 있다. 윈도우 버퍼 관리 모듈(131)은 할당된 백 윈도우 버퍼에 이미지가 저장되면, 상기 백 윈도우 버퍼를 프론트 윈도우 버퍼로 할당(또는, 지정)할 수 있다. 이미지 표시 모듈(132)는 상기 프론트 윈도우 버퍼에 저장된 이미지를 디스플레이(110)에 표시할 수 있다.
다른 예를 들어, 윈도우 버퍼 관리 모듈(131)은 실행된 적어도 하나의 앱 중 디스플레이(110)에 표시되지 않은 앱(또는, 제2 앱)을 위해 메모리(120)에 윈도우 버퍼가 할당되어 있는 경우, 상기 앱을 위해 메모리(120)에 할당된 프론트 윈도우 버퍼에 저장된 이미지(또는, 제1 이미지)를 디스플레이(110)에 표시할 수 있다. 윈도우 버퍼 관리 모듈(131)은 상기 제1 이미지 다음에 디스플레이에 표시되는 제2 이미지를 저장하기 위한 백 윈도우 버퍼를 제2 앱을 위해 메모리(120)에 할당할 수 있다.
또 다른 실시 예에 따르면, 윈도우 버퍼 관리 모듈(131)은 적어도 하나의 앱으로부터 윈도우 버퍼의 할당과 관련된 요청에 따라 디스플레이(110)에 이미지가 표시되지 않은 앱을 위해 메모리(120)에 새로운 윈도우 버퍼를 할당할 수 있다.
도 3의 일 실시 예에 따른 디스플레이 장치는 실행된 앱을 위해 프로세스 메모리의 적어도 일부를 할당할 수 있다.
도 3을 참조하면, 디스플레이 장치(100)(예: 프로세서(150))는 실행된 앱(300)에 코드 저장부(310), 데이터 저장부(320), 및 윈도우 버퍼(330)을 할당할 수 있다.
일 실시 예에 따르면, 코드 저장부(310)는 실행된 앱의 기능을 수행하기 위한 명령어가 저장될 수 있다. 일 실시 예에 따르면, 프로세서(150)는 상기 코드 저장부(310)에 저장된 명령어에 따라 지정된 기능을 수행할 수 있다.
일 실시 예에 따르면, 데이터 저장부(320)는 지정된 기능을 실행하는데 필요한 정보가 저장될 수 있다. 일 실시 예에 따르면, 프로세서(150)는 코드 저장부(310)에 저장된 명령어에 따라 지정된 기능을 수행할 때 데이터 저장부(320)에 저장된 정보를 이용할 수 있다.
일 실시 예에 따르면, 윈도우 버퍼(330)는 디스플레이에 표시될 이미지를 저장할 수 있다. 일 실시 예에 따르면, 프로세서(130)(예: 윈도우 버퍼 관리 모듈(131))은 실행된 앱을 위해 메모리에 현재 디스플레이(110)에 표시되는 이미지(또는, 제1 이미지)가 저장되는 프론트 윈도우 버퍼, 및 상기 제1 이미지 다음에 디스플레이(110)에 표시되는 이미지(또는, 제2 이미지)가 저장되는 백 윈도우 버퍼를 할당할 수 있다.
도 4의 일 실시 예에 따른 디스플레이 장치는 실행된 복수의 앱을 위해 윈도우 버퍼를 메모리에 할당할 수 있다.
도 4를 참조하면, 디스플레이 장치(100)(예: 윈도우 버퍼 관리 모듈(131))는 실행된 복수의 앱의 디스플레이(110)에 표시된 상태에 따라 메모리에 할당된 윈도우 버퍼를 회수할 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 제1 앱(410) 내지 제4 앱(440)을 실행시킬 수 있다. 일 실시 예에 따르면, 디스플레이 장치(100)는 제1 앱(410) 내지 제4 앱(440)의 이미지 중 적어도 일부를 디스플레이(110)에 표시할 수 있다. 예를 들어, 디스플레이 장치(100)는 제1 앱(410)을 실행시키고, 제1 앱(410)의 이미지 전체를 디스플레이(110)에 표시할 수 있다. 디스플레이 장치(100)는 제2 앱(420)의 이미지의 적어도 일부를 제1 앱(410)과 중첩되도록 디스플레이(110)에 표시할 수 있다. 디스플레이 장치(100)는 제3 앱(430)의 이미지 전체를 제2 앱(420)의 이미지와 중첩되도록 디스플레이(110)에 표시할 수 있다. 디스플레이 장치(100)는 제4 앱(440)의 이미지를 디스플레이(110)에 표시하지 않을 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 제1 앱(410) 내지 제4 앱(440)을 실행하였을 때, 상기 실행된 앱을 위해 2개의 윈도우 버퍼를 메모리에 할당할 수 있다. 상기 2개의 윈도우 버퍼는, 예를 들어, 프론트 윈도우 버퍼, 및 백 윈도우 버퍼일 수 있다. 예를 들어, 디스플레이 장치(100)는 제1 앱(410) 내지 제4 앱(440)을 실행하였을 때, 제1 윈도우 버퍼(411a) 내지 제8 윈도우 버퍼(441b)를 메모리에 각각 2 개씩 할당할 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)(예: 윈도우 버퍼 관리 모듈(131))는 제1 앱(410) 내지 제4 앱(440)이 디스플레이(110)에 표시된 상태에 따라 메모리에 할당된 윈도우 버퍼를 회수(또는, 할당)할 수 있다.
예를 들어, 디스플레이 장치(100)는 전체가 디스플레이(110)에 표시된 제1 앱(410)에 제1 윈도우 버퍼(411), 및 제2 윈도우 버퍼(413)를 할당할 수 있다. 다시 말해, 디스플레이 장치(100)는 제1 앱(410)을 위해 할당된 윈도우 버퍼를 회수하지 않을 수 있다. 상기 제1 윈도우 버퍼(411)는, 예를 들어, 프론트 윈도우 버퍼일 수 있다. 상기 제2 윈도우 버퍼(413)는 백 윈도우 버퍼일 수 있다. 디스플레이 장치(100)는 적어도 일부가 디스플레이(110)에 표시된 제2 앱(420)을 위해 메모리에 할당된 제4 윈도우 버퍼(423)를 회수할 수 있다. 상기 제4 윈도우 버퍼(423)은, 예를 들어, 백 윈도우 버퍼일 수 있다. 제3 윈도우 버퍼(421)는 제2 앱(420)를 위해 메모리에 할당된 상태를 유지할 수 있다. 제3 윈도우 버퍼(421)는, 예를 들어, 프론트 윈도우 버퍼일 수 있다. 디스플레이 장치(100)는 전부가 표시되지 않은 제3 앱(430), 및 제4 앱(440)을 위해 메모리에 할당된 제5 윈도우 버퍼(미도시) 내지 제8 윈도우 버퍼(443)를 회수할 수 있다. 일 실시 예에 따르면, 디스플레이 장치(100)는 제2 앱(420) 전체를 디스플레이(110)에 다시 표시하는 경우, 제3 윈도우 버퍼(421)에 저장된 이미지(또는, 제1 이미지)를 디스플레이에 표시할 수 있다. 디스플레이 장치(100)는 상기 제1 이미지 다음에 표시될 이미지를 저장하기 위한 제4 윈도우 버퍼(423)를 제2 앱(420)을 위해 메모리에 할당할 수 있다.
일 실시 예에 따르면, 디스플레이 장치(100)는 제3 앱(430)의 이미지 전체를 디스플레이(110)에 다시 표시하는 경우 제6 윈도우 버퍼(미도시)를 제3 앱을 위해 메모리에 할당할 수 있다. 디스플레이 장치(100)는 제3 앱(430)으로 제6 윈도우 버퍼에 이미지를 저장하도록 요청을 전달할 수 있다. 디스플레이 장치(100)는 제6 윈도우 버퍼를 프론트 윈도우 버퍼로 지정하고, 제6 윈도우 버퍼에 저장된 이미지를 디스플레이(110)에 표시할 수 있다. 일 실시 예에 따르면, 디스플레이 장치(100)는 제4 앱(440) 전체를 디스플레이(110)에 표시할 때 제3 앱(430)과 유사하게 동작할 수 있다.
도 1 내지 도 4를 참조하여 설명한 본 발명의 다양한 실시 예에 따르면, 디스플레이 장치(100)는 실행된 앱 중 디스플레이에 이미지가 표시되지 않은 앱의 상태에 따라 메모리에 할당된 윈도우 버퍼를 가변적으로 회수함으로써, 한정된 메모리 자원을 효율적으로 이용할 수 있다.
도 5는 본 발명의 다양한 실시 예에 따른 디스플레이 장치의 제어 방법을 나타낸 흐름도이다.
도 5에 도시된 흐름도는 상술한 디스플레이 장치(100)에서 처리되는 동작들로 구성될 수 있다. 따라서, 이하에서 생략된 내용이라 하더라도 도 1 내지 도 4를 참조하여 디스플레이 장치에 관하여 기술된 내용은 도 5에 도시된 흐름도에도 적용될 수 있다.
일 실시 예에 따르면, 510 동작에서, 디스플레이 장치(100)는 실행된 적어도 하나의 앱 중 디스플레이(110)에 이미지가 표시되지 않은 앱의 상태에 기초하여 디스플레이(110)에 이미지가 표시되지 않은 앱에 할당되는 윈도우 버퍼를 결정할 수 있다. 예를 들어, 디스플레이 장치(100)는 지정된 우선 순위에 따라 디스플레이(110)에 이미지가 표시되지 않은 앱을 위해 메모리에 할당되는 윈도우 버퍼를 결정할 수 있다. 상기 지정된 우선 순위는, 예를 들어, 상기 디스플레이에 표시된 상태, 사용자의 앱의 실행 빈도, 및 실행된 시점 중 적어도 하나를 기준으로 결정될 수 있다.
일 실시 예에 따르면, 520 동작에서, 디스플레이 장치(100)는 상기 결정에 따라 디스플레이(110)에 표시되지 않은 앱을 위해 메모리에 할당된 윈도우 버퍼를 회수하거나, 새로운 윈도우 버퍼를 할당할 수 있다. 예를 들어, 디스플레이 장치(100)는 상기 지정된 순위 중 선순위에 있는 제1 앱에 할당된 윈도우 버퍼 중 지정된 개수를 제외한 윈도우 버퍼를 회수할 수 있다. 또한, 상기 지정된 우선 순위 중 후순위에 있는 제2 어플리케이션을 위해 메모리에 할당된 윈도우 버퍼를 회수하도록 설정될 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는 프로그램 모듈의 형태로 컴퓨터로 판독 가능한 저장 매체에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다.
본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 디스플레이 장치에 있어서,
    디스플레이;
    메모리; 및
    적어도 하나의 어플리케이션을 실행시키고, 상기 적어도 하나의 어플리케이션 각각에 대하여 적어도 프론트 윈도우 버퍼와 백 윈도우 버퍼를 상기 메모리에 할당하고, 상기 프론트 윈도우 버퍼와 상기 백 윈도우 버퍼를 이용하여 상기 적어도 하나의 어플리케이션의 실행과 관련된 이미지를 상기 디스플레이에 표시하는 프로세서;를 포함하고,
    상기 프로세서는,
    적어도 제1 어플리케이션과 제2 어플리케이션이 실행된 상태에서 상기 제1 어플리케이션의 실행과 관련된 제1 이미지의 적어도 일부와 상기 제2 어플리케이션의 실행과 관련된 제2 이미지의 적어도 일부가 중첩되어 상기 디스플레이에 표시되는지 판단하고,
    상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되어 상기 제1 이미지의 적어도 일부가 표시되지 않는 경우, 상기 제1 어플리케이션에 할당된 적어도 하나의 윈도우 버퍼를 회수하도록 설정되며,
    상기 프론트 윈도우 버퍼는 상기 디스플레이에 현재 표시되는 현재 이미지를 저장하기 위해 사용되는 버퍼이며, 상기 백 윈도우 버퍼는 상기 현재 이미지 이후에 상기 디스플레이에 표시되는 후속 이미지를 저장하기 위해 사용되는 버퍼인, 디스플레이 장치.
  2. 청구항 1에 있어서,
    상기 프로세서는,
    상기 중첩에 의해 상기 제1 이미지의 일부가 표시되지 않는 경우 상기 제1 어플리케이션에 할당된 상기 백 윈도우 버퍼를 회수하도록 설정된, 디스플레이 장치.
  3. 청구항 1에 있어서,
    상기 프로세서는,
    상기 중첩에 의해 상기 제1 이미지의 전체가 표시되지 않는 경우 상기 제1 어플리케이션에 할당된 상기 백 윈도우 버퍼와 상기 프론트 윈도우 버퍼를 회수하도록 설정된, 디스플레이 장치.
  4. 청구항 1에 있어서,
    상기 프로세서는,
    상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되지 않은 상태에서 전체가 상기 디스플레이에 표시되지 않은 이미지와 관련된 적어도 하나의 어플리케이션에 할당된 상기 백 윈도우 버퍼와 상기 프론트 윈도우 버퍼를 회수하도록 설정된, 디스플레이 장치.
  5. 청구항 1에 있어서,
    상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되지 않은 상태에서 전체가 상기 디스플레이에 표시되는 이미지와 관련된 적어도 하나의 어플리케이션에 대하여는 상기 프론트 윈도우 버퍼와 상기 백 윈도우 버퍼를 이용하여 이미지를 상기 디스플레이에 표시하도록 설정된, 디스플레이 장치.
  6. 청구항 1에 있어서,
    상기 프로세서는,
    상기 제1 어플리케이션 및 상기 제2 어플리케이션 중 지정된 우선 순위에 따라 선택된 어플리케이션에 할당된 적어도 하나의 윈도우 버퍼를 회수하도록 설정된. 디스플레이 장치.
  7. 청구항 6에 있어서,
    상기 지정된 우선 순위는 상기 어플리케이션의 실행 빈도, 및 실행된 시점 중 적어도 하나에 의해 결정되는, 디스플레이 장치.
  8. 청구항 1에 있어서,
    상기 프로세서는,
    상기 제1 어플리케이션에 할당된 적어도 하나의 윈도우 버퍼가 회수된 후 상기 제1 이미지의 전체가 상기 디스플레이에 표시되면, 상기 어플리케이션에 대하여 적어도 하나의 윈도우 버퍼를 새로이 할당하도록 설정된, 디스플레이 장치.
  9. 삭제
  10. 삭제
  11. 청구항 1에 있어서,
    상기 프로세서는,
    상기 제1 어플리케이션으로부터 상기 적어도 하나의 윈도우 버퍼의 회수와 관련된 요청을 수신하고,
    상기 수신된 요청에 응답하여 상기 제1 어플리케이션에 할당된 상기 적어도 하나의 윈도우 버퍼를 회수하도록 설정된, 디스플레이 장치.
  12. 디스플레이 장치의 제어 방법에 있어서,
    적어도 제1 어플리케이션과 제2 어플리케이션을 실행하는 동작;
    상기 적어도 제1 어플리케이션과 제2 어플리케이션 각각에 대하여 적어도 프론트 윈도우 버퍼와 백 윈도우 버퍼를 메모리에 할당하는 동작;
    상기 제1 어플리케이션에 할당된 프론트 윈도우 버퍼와 상기 백 윈도우 버퍼를 이용하여 상기 제1 어플리케이션의 실행과 관련된 제1 이미지를 디스플레이에 표시하고, 상기 제2 어플리케이션에 할당된 프론트 윈도우 버퍼와 상기 백 윈도우 버퍼를 이용하여 상기 제2 어플리케이션의 실행과 관련된 제2 이미지를 디스플레이에 표시하는 동작;
    상기 제1 이미지와 상기 제2 이미지를 상기 디스플레이에 표시하는 상태에서 상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되어 상기 디스플레이에 표시되는지 판단하는 동작; 및
    상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되어 상기 제1 이미지의 적어도 일부가 표시되지 않는 경우, 상기 제1 어플리케이션에 할당된 적어도 하나의 윈도우 버퍼를 회수하는 동작을 포함하며,
    상기 프론트 윈도우 버퍼는 상기 디스플레이에 현재 표시되는 현재 이미지를 저장하기 위해 사용되는 버퍼이며, 상기 백 윈도우 버퍼는 상기 현재 이미지 이후에 상기 디스플레이에 표시되는 후속 이미지를 저장하기 위해 사용되는 버퍼인, 방법.
  13. 청구항 12에 있어서,
    상기 중첩에 의해 상기 제1 이미지의 일부가 표시되지 않는 경우 상기 제1 어플리케이션에 할당된 상기 백 윈도우 버퍼를 회수하는 동작을 포함하는, 방법.
  14. 청구항 12에 있어서,
    상기 중첩에 의해 상기 제1 이미지의 전체가 표시되지 않는 경우 상기 제1 어플리케이션에 할당된 상기 백 윈도우 버퍼와 상기 프론트 윈도우 버퍼를 회수하는, 방법.
  15. 청구항 12에 있어서,
    상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되지 않은 상태에서 전체가 상기 디스플레이에 표시되지 않은 이미지와 관련된 적어도 하나의 어플리케이션에 할당된 상기 백 윈도우 버퍼와 상기 프론트 윈도우 버퍼를 회수하는 동작을 포함하는 방법.
  16. 청구항 12에 있어서,
    상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되지 않은 상태에서 전체가 상기 디스플레이에 표시되는 이미지와 관련된 적어도 하나의 어플리케이션에 대하여는 상기 프론트 윈도우 버퍼와 상기 백 윈도우 버퍼를 이용하여 이미지를 상기 디스플레이에 표시하는 동작을 포함하는, 방법.
  17. 청구항 12에 있어서,
    상기 제1 어플리케이션 및 상기 제2 어플리케이션 중 지정된 우선 순위에 따라 선택된 어플리케이션에 할당된 적어도 하나의 윈도우 버퍼를 회수하는 동작을 포함하는, 방법.
  18. 청구항 17에 있어서,
    상기 지정된 우선 순위는 상기 어플리케이션의 실행 빈도, 및 실행된 시점 중 적어도 하나에 의해 결정되는, 방법.
  19. 청구항 12에 있어서,
    상기 제1 어플리케이션에 할당된 적어도 하나의 윈도우 버퍼가 회수된 후 상기 제1 이미지의 전체가 상기 디스플레이에 표시되면, 상기 어플리케이션에 대하여 적어도 하나의 윈도우 버퍼를 새로이 할당하는 동작을 포함하는, 방법.
  20. 적어도 제1 어플리케이션과 제2 어플리케이션을 실행하는 동작;
    상기 적어도 제1 어플리케이션과 제2 어플리케이션 각각에 대하여, 적어도 디스플레이에 현재 표시되는 현재 이미지를 저장하기 위해 사용되는 프론트 윈도우 버퍼와 상기 현재 이미지 이후에 상기 디스플레이에 표시되는 후속 이미지를 저장하기 위해 사용되는 백 윈도우 버퍼를 메모리에 할당하는 동작;
    상기 제1 어플리케이션에 할당된 프론트 윈도우 버퍼와 상기 백 윈도우 버퍼를 이용하여 상기 제1 어플리케이션의 실행과 관련된 제1 이미지를 상기 디스플레이에 표시하고, 상기 제2 어플리케이션에 할당된 프론트 윈도우 버퍼와 상기 백 윈도우 버퍼를 이용하여 상기 제2 어플리케이션의 실행과 관련된 제2 이미지를 디스플레이에 표시하는 동작;
    상기 제1 이미지와 상기 제2 이미지를 상기 디스플레이에 표시하는 상태에서 상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되어 상기 디스플레이에 표시되는지 판단하는 동작; 및
    상기 제1 이미지의 적어도 일부와 상기 제2 이미지의 적어도 일부가 중첩되어 상기 제1 이미지의 적어도 일부가 표시되지 않는 경우, 상기 제1 어플리케이션에 할당된 적어도 하나의 윈도우 버퍼를 회수하는 동작을 수행하는 프로그램이 기록된, 컴퓨터 판독 가능한 비휘발성 기록매체.
KR1020180025786A 2018-03-05 2018-03-05 윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법 KR102449090B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180025786A KR102449090B1 (ko) 2018-03-05 2018-03-05 윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법
US16/978,419 US11575964B2 (en) 2018-03-05 2019-03-05 Display apparatus for managing window buffer allocation and method for controlling display apparatus
EP19764056.8A EP3734981B1 (en) 2018-03-05 2019-03-05 Display apparatus for managing window buffer allocation and method for controlling display apparatus
PCT/KR2019/002490 WO2019172593A1 (ko) 2018-03-05 2019-03-05 윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180025786A KR102449090B1 (ko) 2018-03-05 2018-03-05 윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법

Publications (2)

Publication Number Publication Date
KR20190105353A KR20190105353A (ko) 2019-09-17
KR102449090B1 true KR102449090B1 (ko) 2022-09-30

Family

ID=67845788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180025786A KR102449090B1 (ko) 2018-03-05 2018-03-05 윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법

Country Status (4)

Country Link
US (1) US11575964B2 (ko)
EP (1) EP3734981B1 (ko)
KR (1) KR102449090B1 (ko)
WO (1) WO2019172593A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100524463B1 (ko) 2003-08-07 2005-10-27 주식회사 팬택 이동 통신 단말기의 멀티미디어 메모리 관리 방법
US20090309808A1 (en) * 2008-06-17 2009-12-17 Swingler Michael A Providing a coherent user interface across multiple output devices

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0766317B2 (ja) * 1986-04-09 1995-07-19 株式会社日立製作所 表示制御方法
US5291188A (en) * 1991-06-17 1994-03-01 Sun Microsystems, Inc. Method and apparatus for allocating off-screen display memory
JPH06131142A (ja) * 1992-10-19 1994-05-13 Mitsubishi Electric Corp マルチウィンドウ表示制御方法
JPH07261734A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd マルチウィンドウ表示装置
US5995103A (en) * 1996-05-10 1999-11-30 Apple Computer, Inc. Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system
US6366289B1 (en) 1998-07-17 2002-04-02 Microsoft Corporation Method and system for managing a display image in compressed and uncompressed blocks
US7302648B1 (en) 2002-07-10 2007-11-27 Apple Inc. Method and apparatus for resizing buffered windows
US7065630B1 (en) 2003-08-27 2006-06-20 Nvidia Corporation Dynamically creating or removing a physical-to-virtual address mapping in a memory of a peripheral device
US7274370B2 (en) * 2003-12-18 2007-09-25 Apple Inc. Composite graphics rendered using multiple frame buffers
KR100534668B1 (ko) * 2004-01-20 2005-12-08 엘지전자 주식회사 비디오 메모리 확보를 위한 디스플레이 디바이스드라이버의 서피스 할당 방법
KR20130039628A (ko) * 2011-10-12 2013-04-22 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
US9712848B2 (en) 2014-11-10 2017-07-18 Vixs Systems Inc. Frame buffer compression using separate aggregation of fixed-length and variable-length components of codewords
US10489947B2 (en) * 2016-03-09 2019-11-26 Htc Corporation Mobile device, application display method, and non-transitory computer readable storage medium
US11042955B2 (en) * 2016-06-02 2021-06-22 Nextlabs, Inc. Manipulating display content of a graphical user interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100524463B1 (ko) 2003-08-07 2005-10-27 주식회사 팬택 이동 통신 단말기의 멀티미디어 메모리 관리 방법
US20090309808A1 (en) * 2008-06-17 2009-12-17 Swingler Michael A Providing a coherent user interface across multiple output devices

Also Published As

Publication number Publication date
US20210044865A1 (en) 2021-02-11
EP3734981B1 (en) 2023-11-15
EP3734981A4 (en) 2020-12-16
US11575964B2 (en) 2023-02-07
WO2019172593A1 (ko) 2019-09-12
EP3734981A1 (en) 2020-11-04
KR20190105353A (ko) 2019-09-17

Similar Documents

Publication Publication Date Title
US9158699B2 (en) Memory management techniques
US9632826B2 (en) Prioritizing deferred tasks in pending task queue based on creation timestamp
US9678681B2 (en) Secured multi-tenancy data in cloud-based storage environments
US9135159B2 (en) Management of memory pool in virtualization environment
EP3398075B1 (en) Transfer descriptor for memory access commands
US9740421B2 (en) Just-in-time remote data storage allocation
US9164856B2 (en) Persistent messaging mechanism
CN107562367B (zh) 基于软件化存储系统读写数据的方法以及装置
US20170237936A1 (en) Information processing apparatus, method for controlling the information processing apparatus, and recording medium
US10209905B2 (en) Reusing storage blocks of a file system
CN107608588B (zh) 显示层、显示方法、显示系统和操作系统
KR101996641B1 (ko) 메모리 오버레이 장치 및 방법
JP5405663B2 (ja) メモリ管理装置、メモリ管理方法、メモリ管理プログラム、メモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体及び集積回路
US9377940B2 (en) Predictive pre-decoding of encoded media item
US9069573B2 (en) Method for generating reduced snapshot image for booting and computing apparatus
KR102449090B1 (ko) 윈도우 버퍼의 할당을 관리하는 디스플레이 장치 및 그 디스플레이 장치의 제어 방법
US9977599B2 (en) Data deduplication with support for both thick and thin provisioning of storage objects
US10254965B2 (en) Method and apparatus for scheduling block device input/output requests
CN106575226B (zh) 用于计算的装置、方法和计算机可读介质
US10950274B2 (en) Image recording apparatus, method for controlling same, and non-transitory computer-readable storage medium
WO2015083225A1 (ja) 情報処理装置、ストレージ、及びアクセス制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant