KR102257948B1 - 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이 - Google Patents

고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이 Download PDF

Info

Publication number
KR102257948B1
KR102257948B1 KR1020207033580A KR20207033580A KR102257948B1 KR 102257948 B1 KR102257948 B1 KR 102257948B1 KR 1020207033580 A KR1020207033580 A KR 1020207033580A KR 20207033580 A KR20207033580 A KR 20207033580A KR 102257948 B1 KR102257948 B1 KR 102257948B1
Authority
KR
South Korea
Prior art keywords
application
display
output
orientation
sizes
Prior art date
Application number
KR1020207033580A
Other languages
English (en)
Other versions
KR20200133399A (ko
Inventor
패트릭 브래디
다이앤 해크본
제이슨 베이어
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20200133399A publication Critical patent/KR20200133399A/ko
Application granted granted Critical
Publication of KR102257948B1 publication Critical patent/KR102257948B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • 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/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • 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
    • 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/0442Handling or displaying different aspect ratios, or changing the aspect ratio
    • 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/045Zooming at least part of an image, i.e. enlarging it or shrinking it

Abstract

고정 배향 애플리케이션(110) 상에서 애플리케이션으로부의 출력을 디스플레이하는 방법 및 시스템이 개시된다. 이 방법은 전자 디바이스(100) 상에 저장된 애플리케이션에서 수행된다. 애플리케이션은 제2 크기들을 갖는 제2 배향으로 애플리케이션으로부터의 출력을 디스플레이하기 위한 요청을 송신한다(404). 애플리케이션은 전자 디바이스와 연관된 디스플레이가 제1 배향 및 제2 크기들을 갖는 고정 배향 디스플레이라는 통지 및 요청된 제2 배향 및 제2 크기들이 제1 요청과 상이하다는 통지를, 전자 디바이스로부터 수신한다. 애플리케이션은 이후 고정된 디스플레이와 연관되는 제1 배향 및 제1 크기들에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정한다(406). 애플리케이션은 이후, 결정된 최적의 크기들에 매칭하도록 출력 데이터를 스케일링한다(408). 애플리케이션은 이후 고정된 디스플레이 상에 디스플레이를 위해 디바이스에 스케일링된 출력 데이터를 송신한다(410).

Description

고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이{DISPLAYING APPLICATIONS ON A FIXED ORIENTATION DISPLAY}
[0001] 개시된 구현들은 일반적으로 전자 디바이스들에 대한 애플리케이션들의 분야에 관한 것이고, 상세하게는 고정 배향 디스플레이(fixed orientation display)들을 갖는 전자 디바이스들 상에 애플리케이션들을 디스플레이하는 것에 관한 것이다.
[0002] 개인용 컴퓨터들 또는 스마트폰들과 같은 전자 디바이스들은 애플리케이션들을 실행할 수 있다. 전자 디바이스들에 의한 사용자 경험은 애플리케이션들의 이용에 의해 개선된다. 캘린더 애플리케이션들, 투표 애플리케이션들, 생산성 애플리케이션들, 게이밍 애플리케이션들, 비디오 디스플레이 애플리케이션들 및 패키지 추적 애플리케이션들을 포함하는(그러나 이제 제한되는 것은 아님), 전자 디바이스들에 대해 이용가능한 많은 애플리케이션들이 존재한다. 몇몇 애플리케이션들은, 특정 타입의 전자 디바이스 상에서의 이용을 위해 구성되고, 그에 대해 애플리케이션이 구성되는 그 특정 디바이스 상에서만 이용될 수 있다. 다른 애플리케이션들은 광범위한 전자 디바이스들 상에서 이용되도록 구성된다. 전자 디바이스 상에서 이용되도록 애플리케이션을 구성하는 경우, 애플리케이션이 전자 디바이스의 사용자에게 적절히 디스플레이되는 것을 보장하기 위해, 전자 디바이스와 연관된 디스플레이의 배향 및 사이즈를 아는 것이 유용하다.
[0003] 스마트폰들 또는 태블릿들과 같은 몇몇 전자 디바이스들은, 용이하게 회전될 수 있고 랜드스케이프(landscape) 배향 또는 포트레이트(portrait) 배향으로 이용될 수 있는 디스플레이들을 갖는다. 텔레비젼들 또는 개인용 컴퓨터들과 같은 다른 전자 디바이스들은, 랜드스케이프 배향 또는 포트레이트 배향으로 고정되고 다른 배향으로 용이하게 회전되지 않는 디스플레이들을 갖는다. 용이하게 회전될 수 있는 디스플레이들을 갖는 전자 디바이스들은, 디스플레이의 배향이 변경될 수 있는 용이성으로 인해, 랜드스케이프 배향 또는 포트레이트 배향으로 디스플레이되도록 구성되는 애플리케이션들을 정확하게 디스플레이할 수 있다.
[0004] 일부 구현들에 따라, 애플리케이션으로부터의 출력을 고정 배향 디스플레이상에 디스플레이하는 방법이 개시된다. 방법은, 하나 이상의 프로세서들 및 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장하는 메모리를 가진 전자 디바이스상에 저장된 애플리케이션에서 수행된다. 애플리케이션은 그 애플리케이션이 저장되는 전자 디바이스에, 그 애플리케이션으로부터의 출력을 제2 크기들(dimensions)과 제2 배향으로 디스플레이하기 위한 요청을 전송한다. 애플리케이션은 전자 디바이스와 연관된 디스플레이가 제1 배향 및 제1 크기들을 가진 고정 배향 디스플레이라는 통지(notification) 및 요청된 제2 배향 및 제2 크기들이 제1 배향과 상이하다는 통지를 전자 디바이스로부터 수신한다. 이후, 애플리케이션은 고정 배향 디스플레이와 연관된 제1 배향 및 제1 크기들에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정한다. 이후, 애플리케이션은 결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링한다. 이후, 애플리케이션은 고정 스크린 디스플레이상에 디스플레이하기 위하여 전자 디바이스에 스케일링된 출력 데이터를 전송한다.
[0005] 일부 구현들에 따라, 고정 배향 디스플레이상에 애플리케이션을 디스플레이하기 위한 방법이 개시된다. 방법은 전자 디바이스 상에서 수행되고, 그 전자 디바이스는 하나 이상의 프로세서들, 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장하는 메모리 및 제1 배향을 가진 고정 배향 디스플레이를 구비한다. 전자 디바이스는 애플리케이션으로부터의 출력을 제2 크기들과 제2 배향으로 디스플레이하기 위한 요청을, 전자 디바이스상에서 실행되는 애플리케이션으로부터 수신한다. 전자 디바이스는 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제2 배향과 상이한 제1 배향을 가진 고정 배향 디스플레이임을 결정한다. 이후, 전자 디바이스는 디스플레이하기 위한 애플리케이션으로부터의 출력을 수신한다. 전자 디바이스는 애플리케이션으로부터의 출력을 디스플레이하기 위하여 이용가능한 제1 디스플레이 공간의 제1 크기들을 결정한다. 이후, 전자 디바이스는 애플리케이션에 의해 출력된 데이터가 애플리케이션에 의해 원래(originally) 요청되었던 것보다 더 작은 크기들로 디스플레이되도록, 애플리케이션으로부터 수신된 출력을 제1 크기들 내에 맞게 자동적으로 스케일링한다. 전자 디바이스는 스케일링된 출력을 상기 고정 배향 디스플레이상에 디스플레이한다.
[0006] 일부 구현들에 따라, 고정 배향 디스플레이상에 애플리케이션을 디스플레이하기 위한 전자 디바이스가 개시된다. 전자 디바이스는 하나 이상의 프로세서들, 제1 배향을 가진 고정 배향 디스플레이, 하나 이상의 프로세서들에 의해 실행될 하나 이상의 애플리케이션들을 저장하는 메모리, 및 제1 배향을 가진 디스플레이를 구비한다. 하나 이상의 프로그램들의 애플리케이션은, 애플리케이션이 저장되는 전자 디바이스에, 애플리케이션으로부터의 출력을 제2 크기들과 제2 배향으로 디스플레이하기 위한 요청을 전송기 위한 명령들을 포함한다. 애플리케이션은 전자 디바이스와 연관된 디스플레이가 제1 배향 및 제1 크기들을 가진 고정 배향 디스플레이라는 통지 및 요청된 제2 배향 및 제2 크기들이 제1 배향과 상이하다는 통지를 전자 디바이스로부터 수신하기 위한 명령들을 더 포함한다. 애플리케이션은 고정 배향 디스플레이와 연관된 제1 배향 및 제1 크기들에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정하기 위한 명령들을 더 포함한다. 애플리케이션은 결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링하기 위한 명령들을 더 포함한다. 애플리케이션은 고정 스크린 디스플레이상에 디스플레이하기 위하여 전자 디바이스에 스케일링된 출력 데이터를 전송하기 위한 명령들을 더 포함한다.
[0007] 일부 구현들에 따라, 고정 배향 디스플레이 상에 애플리케이션을 디스플레이하기 위한 전자 디바이스가 개시된다. 전자 디바이스는, 하나 이상의 프로세서들, 제1 배향을 갖는 고정 배향 디스플레이, 및 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 갖는다. 하나 이상의 프로그램들은, 애플리케이션으로부터의 출력을 제2 크기들과 제2 배향으로 디스플레이하기 위한 요청을, 전자 디바이스상에서 실행되는 애플리케이션으로부터 수신하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은, 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제2 배향과는 상이한 제1 배향을 가진 고정 배향 디스플레이임을 결정하기 위한 명령들을 포함한다. 전자 디바이스는 추가로, 디스플레이하기 위한 애플리케이션으로부터의 출력을 수신하기 위한 명령들을 포함한다. 전자 디바이스는 추가로, 애플리케이션으로부터의 출력을 디스플레이기 위하여 이용가능한 제1 디스플레이 공간(space)의 제1 크기들을 결정하기 위한 명령들을 포함한다. 전자 디바이스는 추가로, 애플리케이션에 의해 출력된 데이터가 애플리케이션에 의해 원래 요청되었던 것보다 더 작은 크기들로 디스플레이되도록, 애플리케이션으로부터 수신된 출력을 제1 크기들에 맞게(fit) 자동적으로 스케일링하기 위한 명령들을 포함한다. 전자 디바이스는, 애플리케이션으로부터 수신되는 스케일링된 출력을 고정 배향 디스플레이 상에 디스플레이한다.
[0008] 일부 구현들에 따라, 전자 디바이스에 의한 실행을 위해 구성된 하나 이상의 애플리케이션들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체가 개시된다. 하나 이상의 프로그램들의 애플리케이션은, 애플리케이션이 저장되어 있는 전자 디바이스에, 애플리케이션으로부터의 출력을 제2 크기들과 제2 배향으로 디스플레이하기 위한 요청을 전송하기 위한 명령들을 포함한다. 애플리케이션은 추가로, 전자 디바이스와 연관된 디스플레이가 제1 크기들 및 제1 배향을 가진 고정 배향 디스플레이라는 통지 및 요청된 제2 배향 및 제2 크기들이 제1 배향과는 상이하다는 통지를 전자 디바이스로부터, 수신하기 위한 명령을 포함한다. 애플리케이션은 추가로, 고정 배향 디스플레이와 연관된 제1 크기들 및 제1 배향에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정하기 위한 명령을 포함한다. 애플리케이션은 추가로, 결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링하기 위한 명령들을 포함한다. 애플리케이션은 추가로, 고정 스크린 디스플레이상에 디스플레이하기 위하여 전자 디바이스에 스케일링된 출력 데이터를 전송하기 위한 명령들을 포함한다.
[0009] 일부 구현들에 따라, 전자 디바이스에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체가 개시된다. 하나 이상의 프로그램들은, 전자 디바이스 상에서 실행되는 애플리케이션으로부터, 애플리케이션으로부터의 출력을 제2 크기들과 제2 배향으로 디스플레이하기 위한 요청을 수신하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은, 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제2 배향과는 상이한 제1 배향을 갖는 고정 배향 디스플레이임을 결정하기 위한 명령들을 포함한다. 하나 이상의 프로그램들 추가로, 디스플레이를 하기 위한 애플리케이션으로부터의 출력을 수신하기 위한 명령들을 포함한다. 하나 이상의 프로그램들 추가로, 애플리케이션으로부터의 출력을 디스플레이하기 위하여 이용가능한 제1 디스플레이 공간의 제1 크기들을 결정하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은 추가로, 애플리케이션에 의해 출력된 데이터가 애플리케이션에 의해 원래 요청되었던 것보다 더 작은 크기들로 디스플레이되도록, 애플리케이션으로부터 수신된 출력을 제1 크기들에 맞게 자동으로 스케일링하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은 추가로, 애플리케이션으로부터 수신된 스케일링된 출력을 고정 배향 디스플레이 상에 디스플레이하기 위한 명령들을 더 포함한다.
[0010] 도 1은 일부 구현들에 따른, 디스플레이를 가진 전자 디바이스를 예시하는 블록도이다.
[0011] 도 2는 일부 구현들에 따른, 전자 디바이스를 예시하는 블록도이다.
[0012] 도 3a는 일부 구현들에 따른 고정 배향 디스플레이 상에 디스플레이되는 애플리케이션을 묘사한다.
[0013] 도 3b는 일부 구현들에 따른 고정 배향 디스플레이 상에 디스플레이되는 애플리케이션을 묘사한다.
[0014] 도 4는 일부 구현들에 따라, 애플리케이션으로부터 요청을 수신하고, 고정 배향 디스플레이의 크기들을 전송함으로써 응답하고, 그리고 고정 배향 디스플레이의 크기들에 맞도록 스케일링된 애플리케이션의 출력을 디스플레이하는 프로세스를 예시하는 흐름도이다.
[0015] 도 5는 일부 구현들에 따라, 애플리케이션으로부터 요청을 수신하고, 애플리케이션으로부터 수신된 출력을 자동으로 스케일링하고, 그리고 고정 배향 디스플레이의 크기들에 맞도록 스케일링된 애플리케이션의 출력을 디스플레이하는 프로세스를 예시하는 흐름도이다.
[0016] 동일한 참조 번호들은 도면들 도처에 걸쳐 대응하는 부분들을 지칭한다.
[0017] 일부 구현들에서, 고정 배향 및 종횡비(aspect ratio)를 가진 디스플레이(예컨대, 가로 배향 디스플레이 및 16:9 종횡비를 가진 대형 평판 텔레비전)를 가진 전자 디바이스는 다른 타입들의 디바이스들(예를 들어, 스마트 폰들, 테블릿들, 랩톱 컴퓨터들, 미디어 플레이어들, 및 셋톱 박스들) 상에서도 실행될 수 있는 운영 체제(Android® 운영 체제)를 실행하도록 구성된다. 운영 체제들간의 이러한 공통성의 장점은 전자 디바이스가 원래는 다른 타입의 전자 디바이스 상에서 사용되도록 구성된 많은 애플리케이션들을 실행할 수 있는 것이다. 이것은 전자 디바이스 상에서 이용 가능한 애플리케이션들의 범위 및 수를 크게 증가시킨다. 그러나, 상이한 타입들의 디바이스들은 종종 상이한 디스플레이 특성들을 가지며, 이는 상이한 디바이스 타입들에 대해 개발된 애플리케이션들의 출력 포맷들이 전자 디바이스의 고정 디스플레이 특성들(배향 및 종횡비를 포함함)과 호환될 수 없다는 것을 의미한다.
[0018] 일부 구현들에서, 전자 디바이스는 제1 디바이스의 디스플레이 특성들을 고려하여 전자 디바이스 상에 만족스러운 디스플레이를 위해 애플리케이션의 출력을 구성할 전자 디바이스의 디스플레이 및/또는 디바이스 상에서 실행되는 애플리케이션들과 상호작용하는 디스플레이 모듈을 포함한다. 일부 구현들에서, 디스플레이 모듈은 전자 디바이스 상에서 실행되는 애플리케이션으로부터 요청된 크기들 및 요청된 배향을 수신한다. 일부 구현들에서, 요청된 크기들 및 요청된 배향은 전자 디바이스와 연관된 고정 배향 디스플레이의 크기들 및 배향과 매칭한다. 만약 이것이 매칭하는 경우이면, 디스플레이에 대한 애플리케이션에 의해 출력된 데이터는 수정 없이 고정 배향 디스플레이 상에 디스플레이될 수 있다.
[0019] 일부 구현들에서, 요청된 배향 및 크기들은 고정 배향 디스플레이의 배향 및 크기들과 다르다. 이 경우, 애플리케이션이나 디바이스 그 자체는 출력된 데이터를 전자 디바이스와 연관된 고정 배향 디스플레이 상에 적절히 디스플레이되도록 변형해야 한다. 출력된 데이터를 변형하기 위해 전자 디바이스에 의해 취해지는 동작은 4개의 넓은 카테고리들 중 하나에 속할 것이며, 애플리케이션의 성능들에 좌우될 것이다. 제1 카테고리에서, 애플리케이션 그 자체는, 자신이 출력하는 데이터를 적절한 크기들 및 배향으로 디스플레이되도록 재구성할 수 있다. 제2 카테고리에서, 애플리케이션은 출력 데이터의 크기들, 사이즈 또는 종횡비를 변경할 수 있지만, (예를 들어, 디스플레이되는 콘텐츠의 타입과 같은) 애플리케이션의 한계들로 인해 애플리케이션은 고정 배향 디스플레이의 특정 배향 또는 크기들을 충족시킬 수 없다. 제3 카테고리에서, 애플리케이션은 출력의 사이즈(크기들)를 스케일링할 수 있지만, 출력 데이터의 종횡비를 변경할 수 없다. 이 경우, 데이터는 종횡비를 그대로 한 채 더 작은 버전으로 스케일링된다. 마지막으로, 제4 카테고리에서, 애플리케이션은 그가 디스플레이를 위해 출력하는 데이터를 전혀 스케일링할 수 없으며, 대신 전자 디바이스의 디스플레이 모듈이 애플리케이션에 의한 어떠한 스케일링도 없이 고정 배향 디스플레이 상에서의 디스플레이를 위해 출력을 자동으로 스케일링한다. 이러한 네 가지 시나리오들은 뒤에 더 상세히 설명될 것이다.
[0020] 일부 구현들에서, 요청된 크기들은 디스플레이의 크기들과 다를 것이며, 애플리케이션(예컨대, 일반적으로 스마트폰의 회전 배향을 기초로 ― 포트레이트 모드 또는 랜드스케이프 모드로 애플리케이션 정보를 디스플레이할 수 있는 스마트폰을 위해 개발된 애플리케이션)은 그 출력을 상이한 배향들로 그리고 상이한 크기들로 디스플레이하도록 구성된다. 이 상황은 위에 언급한 제1 카테고리에 속할 것이다. 이러한 타입의 애플리케이션의 경우, 일부 구현들에서 디스플레이 모듈은 전자 디바이스 상에서 애플리케이션의 출력의 최소한 만족스러운 디스플레이를 가능하게 하기 위해 애플리케이션에 의해 출력되는 데이터에 대한 적절한 디스플레이 배향 및 종횡비를 설정하도록 애플리케이션과 상호 작용한다.
[0021] 예를 들어, 전자 디바이스 상에서 실행될 애플리케이션이 캘린더를 포트레이트 또는 랜드스케이프 배향으로 그리고 최대 크기들로 캘린더 뷰들을 디스플레이하도록 설계된 캘린더 애플리케이션이라고 간주한다. 이러한 애플리케이션은 디스플레이의 배향 및 크기들에 대한 전자 디바이스로부터의 통지 수신에 응답하여, 디스플레이될 정보의 크기들 및 배향을 적절한 배향과 매칭하도록 그리고 정확한 크기들로 디스플레이되도록 스케일링할 것이다. 그 다음, 애플리케이션에 의해 출력되는 데이터가 고정 배향 디바이스 상에 디스플레이된다.
[0022] 일부 실시예들에서, 요구되는 크기들은 디스플레이의 크기들과 상이하며, 애플리케이션은 사이즈 및 종횡비를 변화시키지만 디스플레이 데이터의 배향을 변경하지 않는 성능을 갖도록 구성된다. 이러한 상황은 상기 언급된 제2 카테고리에 속할 것이다. 이러한 경우, 애플리케이션은 모든 애플리케이션 정보가, 그러나 디스플레이의 단지 일부상에만 디스플레이되도록, 정보의 출력 크기들을 결정할 것이다. 예를 들면, 애플리케이션이 랜드스케이프 배향으로 16:9의 종횡비로 정보를 디스플레이하도록 구성되고 그리고 고정 배향 디스플레이가 9:16의 종횡비를 갖는 포트레이트 배향을 갖는 경우, 16:9 종횡비의 애플리케이션 디스플레이 윈도우를 유지하는 것은, (디스플레이될 때 애플리케이션 종횡비가 유지되도록 하기 위해, 애플리케이션으로부터의 정보가 고정 디스플레이 상에 레터 박스 포맷(letter box format)으로 디스플레이될 것이라는 사실로 인해) 디스플레이의 약 30%가 애플리케이션의 출력을 디스플레이하기 위해 이용되는 결과를 가져올 것이다.
[0023] 일부 실시예들에서, 디스플레이의 보다 많은 스크린 부지(real eastate)를 이용하기 위해, 애플리케이션은 디스플레이된 정보의 종횡비를 원래의 16:9의 종횡비 대신 4:3의 종횡비로 수정할 것이다. 이러한 상황은 상기 언급된 제3 카테고리에 속할 것이다. 이는 애플리케이션 정보의 표시를 위해 디스플레이의 스크린 부지의 40% 초과를 이용하는 효과를 가질 것이다. 따라서, 일부 실시예들에 따르면, 전자 디바이스는 고정 배향 디스플레이를 가능한 많은 부분에서 이용하기 위해, 요구되는 배향 및 크기들과 연관되는 종횡비와 상이한 종횡비를 갖는 크기들을 결정한다. 이러한 스케일링이 달성될 수 있는 방법의 예시를 위해서, 하기에 첨부한 논의 및 도 3b를 참조한다. 그 후 전자 디바이스는 애플리케이션으로부터 스케일링된 출력을 수신한다. 수신된 출력은 이후 고정 배향 디스플레이 상에 디스플레이된다.
[0024] 일부 실시예들에서, 요구되는 크기들은 디스플레이의 크기들과 상이하며, 애플리케이션은 디스플레이 데이터의 사이즈(스케일)를 변화시키지만, 출력 디스플레이 데이터의 배향 또는 종횡비를 변화시키지 않는 능력을 갖도록 구성된다. 이러한 경우, 디스플레이 모듈은, 출력의 종횡비가 주어지는 경우, 애플리케이션에 대해 이용가능한 최대 스크린 공간을 나타내는 크기들을 결정하며, 애플리케이션에 대해 결정된 크기들을 전송한다. 애플리케이션은 그 후 디스플레이 데이터를 디스플레이 모듈로부터 수신된 크기들로 스케일링 다운(scale down)한다. 디스플레이 데이터는 원래 요구된 크기보다 더 작은 크기들을 가지지만 동일한 종횡비를 가질 것이다. 이러한 스케일링이 달성될 수 있는 방법의 예시를 위해서 하기에 첨부한 논의 및 도 3a를 참조한다. 스케일링된 출력 데이터는 이후 고정 배향 디스플레이 상에 디스플레이된다.
[0025] 일부 구현들에 따라, 요청된 크기들은 디스플레이의 크기들과 상이하고, 애플리케이션은 애플리케이션이 출력하는 디스플레이 데이터를 애플리케이션에 의해 요청된 배향 및 크기들과 상이한 배향 및 크기들로 스케일링하는 능력을 갖게 구성되지 않는다. 이러한 상황은 위에서 앞서 언급된 제4 카테고리에 속할 것이다. 예를 들면, 디지털 비디오 시청 애플리케이션 또는 비디오 게임 애플리케이션은 특정 배향으로만 그리고 특정 크기들에서만 실행되도록 설계될 수 있다. 따라서, 일부 구현들에서, 전자 디바이스가 애플리케이션으로부터 수신하는 출력 데이터는 요청된 제2 배향 및 제2 크기들에 있고, 고정 배향 디스플레이의 제1 크기 내에 맞도록 스케일링되지 않는다.
[0026] 이러한 경우, 전자 디바이스의 디스플레이 모듈은 디스플레이의 크기 내에 맞게 애플리케이션으로부터 수신된 출력 데이터를 자동적으로 스케일링하도록 구성된다. 스케일링된 출력 데이터는, 애플리케이션에 의해 원래 요청된 것보다 더 작은 크기들로 디스플레이될 것이다. 예를 들면, 스마트 폰 상에서 포트레이트 배향으로 디스플레이되도록 구성된 게임 애플리케이션이 랜드스케이프 배향으로 고정 디스플레이를 갖는 개인용 컴퓨터 상에서 실행되면, 게임 애플리케이션 자체는 애플리케이션이 전자 디바이스로 전송한 시각 데이터 출력을 스케일링하지 않을 것이다. 대신에, 전자 디바이스는 애플리케이션을 요청된 배향으로 디스플레이하기 위해 이용 가능한 크기들을 결정할 것이다. 일부 구현들에서, 크기들은, 애플리케이션을 요청된 제2 배향으로 여전히 디스플레이하면서, 디스플레이의 가능한 많은 부분을 사용하도록 결정된다. 이러한 스케일링이 이루어지는 방법의 예시를 위해, 도 3a 및 아래의 첨부된 논의를 참조하라. 일단 새로운 크기들이 결정되었다면, 이후 애플리케이션으로부터의 출력 데이터는 결정된 크기들로 자동적으로 스케일링되고, 고정 배향 디스플레이 상에 디스플레이된다.
[0027] 일부 구현들에서, 요구된 크기들은, 애플리케이션이 디스플레이 배향 및 크기들을 처음 요청할 때 단지 한번 결정된다. 이후, 결정된 크기들은, 애플리케이션이 새로운 크기들을 요청하거나 디스플레이를 위한 데이터 출력을 중단할 때까지 애플리케이션으로부터의 출력을 자동적으로 스케일링하는데 사용될 수 있다. 이후, 전자 디바이스는 스케일링된 출력을 고정 배향 디스플레이 상에서 디스플레이한다.
[0028] 도 1은 일부 구현들에 따른, 고정 배향 디스플레이를 갖는 전자 디바이스를 예시하는 블록도이다. 전자 디바이스(100)는 하나 이상의 애플리케이션들(102), 디스플레이 모듈(114)(윈도우 관리자(104), 컴포지터(compositor)/디스플레이 관리자(106) 및 디스플레이 버퍼(108)를 포함함), 디스플레이(110) 및 선택적으로, 통신 네트워크 인터페이스(112)를 포함한다. 통신 네트워크 인터페이스(112)는 로컬 영역 네트워크들(LAN), 광역 네트워크들(WAN), 무선 네트워크들, 유선 네트워크들, 인터넷 또는 그러한 네트워크들의 조합을 비롯해서 다양한 네트워크들 중 임의의 것에 접속될 수 있다.
[0029] 일부 구현들에 따라, 하나 이상의 애플리케이션들(102)은 전자 디바이스 상에서 실행될 수 있는 임의의 타입의 애플리케이션일 수 있다. 예를 들면, 하나 이상의 애플리케이션들(102)은 게임 애플리케이션들, 비디오 디스플레이 애플리케이션들, 워드 프로세싱 애플리케이션, 생산성 애플리케이션들, 이메일 애플리케이션들, 인터넷 브라우징 애플리케이션들 및 많은 다른 것들을 포함할 수 있다. 일부 구현들에서, 하나 이상의 애플리케이션들(102)은 구체적으로 특정 배향 및 특정 크기들을 갖는 특정 전자 디바이스 상에서 실행되도록 구성된다.
[0030]일부 구현들에서, 하나 이상의 애플리케이션들(102)은 매우 다양한 전자 디바이스들에서 실행되도록 설계되었다. 일부 구현들에서, 하나 이상의 애플리케이션들(102)은 멀티-디바이스 플랫폼에 대해 기록되었다. 예를 들어, 안드로이드 운영 체제®는 스마트폰 및 태플릿들을 비롯한 매우 다양한 전자 디바이스들에서 사용되고, 따라서, 안드로이드 운영 체제®용으로 구성된 애플리케이션들이 동일한 매우 다양한 디바이스들에서 사용되도록 이용가능해질 것이다. 어떤 경우들에서는, 플랫폼이 새로운 타입의 전자 디바이스로 확장된다. 이로써, 특정 디스플레이 배향, 크기들 또는 사이즈로 나타내어지도록 구성되었던 애플리케이션들이 원래 구성되지 않았던 디스플레이상에서 나중에 실행될 필요가 있을 수 있다.
[0031]일부 구현들에서, 디스플레이 모듈(114)은 하나 이상의 애플리케이션들(102)로부터 정보를 수신하고 이것을 윈도우 관리자(104)로 전달한다. 이러한 정보는, 출력된 데이터를 요청된 배향과 요청된 크기들(116)로 디스플레이하도록 하는 하나 이상의 애플리케이션들(102)로부터의 요청들 및 하나 이상의 애플리케이션들(102)에 의해 생성된 출력 디스플레이 데이터(118)를 포함하며, 이것으로 제한되지 않는다. 일부 구현들에서, 윈도우 관리자(104)는, 전자 디바이스가, 요청된 배향 및 크기들(116)로 하나 이상의 애플리케이션들(102)로부터의 출력을 디스플레이할 수 있는 연관된 디스플레이(110)를 갖고 있는지 여부를 결정한다.
[0032] 전자 디바이스가 요청된 배향 및 크기들(116)로 디스플레이할 수 있는 연관된 디스플레이(110)를 갖지 않는다는 결정에 따라, 이후 윈도우 관리자(104)는 애플리케이션(102)이 출력된 데이터를 고정 배향 디스플레이의 크기들 및 배향으로 스케일링할 수 있는지의 여부를 결정한다. 일부 구현들에서, 이러한 결정은 통신 네트워크 인터페이스(112)를 통해 원격 데이터베이스로부터 또는 애플리케이션(102) 그 자체로부터 리트리브되고 전자 디바이스상에 저장되는 애플리케이션에 관한 메타데이터에 기초하여 이루어진다. 애플리케이션(102)이 출력된 데이터를 고정 배향 디스플레이의 크기들 및 배향으로 스케줄링할 수 있다는 결정에 따라, 윈도우(104) 관리자는 애플리케이션(102)에 고정 배향 디스플레이(110)의 배향 및 크기들(118)을 전송한다. 이후, 애플리케이션(102)은 윈도우 관리자(104)에 디스플레이 데이터(120)를 출력하기 전에 수신된 배향 및 크기들로 출력된 데이터(120)를 스케일링한다.
[0033] 일부 구현들에서, 애플리케이션(102)이 요청된 배향(116)과 상이한 배향을 가지는 고정 배향 디스플레이(110)를 스케일링할 능력을 갖지 않는다는 결정에 따라, 윈도우 관리자(104)는 애플리케이션(104)으로부터 출력된 디스플레이 데이터(120)를 디스플레이할 가능성이 있는 가장 큰 영역을 결정한다. 애플리케이션(102)에 의해 출력된 디스플레이 데이터(120) 및 윈도우 관리자(104)에 의해 결정된 크기들은 컴포지터/디스플레이 관리자(106)에 전송된다.
[0034] 몇몇 구현들에 따르면, 컴포지터/디스플레이 관리자(106)는, 고정 배향 디스플레이(110) 상에 디스플레이될 데이터의 최종 버전을 구성한다. 컴포지터/디스플레이 관리자(106)는, 하나 이상의 애플리케이션들(102)로부터 윈도우 관리자(104)로부터의 디스플레이 정보를 수신하고, 모든 수신된 데이터를 최종 디스플레이 어레인지먼트(arrangement)로 배열한다. 몇몇 구현들에서, 윈도우 관리자(104)로부터 수신된 정보는, 변형 없이, 고정 배향 디스플레이(110) 상에서의 디스플레이를 위해 출력되기를 준비한다. 몇몇 구현들에서, 디스플레이 관리자(106)는, 하나 이상의 애플리케이션들(102)에 의해 출력된 디스플레이 데이터와 함께, 결정된 크기들을 수신한다. 컴포지터/디스플레이 관리자(106)는, 자신의 본래의 크기들로부터의 수신된 정보를 디스플레이를 위한 결정된 크기들로 자동적으로 스케일링하도록, 결정된 크기들을 사용한다.
[0035] 그 후, 몇몇 구현들에서, 컴포지터/디스플레이 관리자(106)는 새로이 스케일링된 정보를 고정 배향 디스플레이 상의 중심에 놓는다. 몇몇 구현들에서, 컴포지터/디스플레이 관리자(106)는, 블랙과 같은 표준 컬러를 이용하여 애플리케이션(102)에 의해 출력된 디스플레이 데이터를 디스플레이하지 않은 디스플레이의 일부들을 채운다. 이것은, 애플리케이션(102)으로부터의 스케일링된 출력 디스플레이 정보를 현재 디스플레이하지 않은 디스플레이(110)의 모든 영역들에서 디스플레이되는 균일한 컬러를 갖는 "레터-박싱(letter-boxing)" 또는 "필러-박싱(pillar-boxing)" 효과를 초래한다. 몇몇 구현들에서, 컴포지터/디스플레이 관리자(106)는, 1개 초과의 애플리케이션(102)으로부터 출력 데이터(120)를 수신하고, 전자 디스플레이(100)의 디폴트 법칙들 또는 사용자의 선호도들에 따라 디스플레이(110) 상에 다수의 애플리케이션들을 배열한다. 일단 컴포지터/디스플레이 관리자(106)가 윈도우 관리자(104)로부터 수신된 모든 데이터를 구성하면, 결과적인 디스플레이 데이터는 디스플레이 버퍼(108)에 전송된다.
[0036] 몇몇 구현들에 따르면, 디스플레이 버퍼(108)는, 컴포지터/디스플레이 관리자(106)로부터 수신된 디스플레이 데이터가 디스플레이(110)의 각각의 픽셀에 대해 디스플레이 버퍼(108)에 저장되도록 디스플레이(110)의 각각의 픽셀에 대한 출력 데이터를 포함한다. 몇몇 구현들에서, 고정 배향 디스플레이(110)는 주기적으로, 디스플레이 버퍼(108)에 저장된 값들을 판독하고, 저장된 값들에 기초하여 디스플레이(110)를 업데이트시킨다. 디스플레이(110)가 디스플레이 버퍼(108)에 저장된 값들을 판독하는 레이트는 디스플레이(110)의 리프레시(refresh) 레이트를 결정한다.
[0037] 도 2는 몇몇 구현들에 따른 전자 디바이스를 도시한 블록도이다. 전자 디바이스(100)는 통상적으로, 하나 이상의 프로세싱 유닛(CPU)들(202), 하나 이상의 네트워크 인터페이스들(112), 메모리(212), 및 이들 컴포넌트들을 상호접속시키기 위한 하나 이상의 통신 버스들(214)을 포함한다. 전자 디바이스는 사용자 인터페이스(204)를 포함한다. 사용자 인터페이스(204)는 디스플레이 디바이스(110)를 포함하며, 키보드, 마우스, 터치 감지형 디스플레이, 또는 다른 입력 버튼들(208)과 같은 입력 수단을 선택적으로 포함한다. 선택적으로, 디스플레이 디바이스(110)는 오디오 디바이스 또는 다른 정보 전달 디바이스를 포함한다. 또한, 몇몇 전자 디바이스들은, 키보드를 보완 또는 대체하기 위해 마이크로폰 및 음성 인식을 사용한다.
[0038] 메모리(212)는, DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하며, 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비-휘발성 고체 상태 저장 디바이스들과 같은 비-휘발성 메모리를 포함할 수도 있다. 메모리(212)는 CPU(들)(202)로부터 원격으로 로케이팅된 하나 이상의 저장 디바이스들을 선택적으로 포함할 수도 있다. 메모리(212), 또는 대안적으로는 메모리(212) 내의 비-휘발성 메모리 디바이스(들)는 비-일시적인 컴퓨터 판독가능 저장 매체를 포함한다. 몇몇 구현들에서, 메모리(212) 또는 메모리(212)의 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트를 저장한다.
·다양한 기본적인 시스템 서비스들을 처리하고 하드웨어 종속적 작업들을 수행하기 위한 프로시저들을 포함하는 운영 체제(216);
·하나 이상의 통신 네트워크 인터페이스들(112)(유선 또는 무선), 및 하나 이상의 통신 네트워크들, 예컨대 인터넷, 다른 광역 네트워크들, 로컬 영역 네트워크들, 메트로폴리탄 영역 네트워크들 등등을 통해, 클라이언트 시스템(102)을 다른 컴퓨터들에 연결하기 위해 사용되는 네트워크 통신 모듈(218);
·전자 디바이스 상에서 실행되도록 구성된 하나 이상의 애플리케이션들(도 1, 102)을 포함하는 애플리케이션 모듈(220) ―애플리케이션 모듈(220)은, 다양한 가능한 애플리케이션들, 예컨대: 브라우저 애플리케이션들, 생산성 애플리케이션들, 게임 애플리케이션들, 워드 프로세싱 애플리케이션들, 달력 애플리케이션들, 비디오 디스플레이 애플리케이션들 등등을 포함함―;
·하나 이상의 애플리케이션들(도 1, 102)에 의해 출력되는 정보가 고정 배향 디스플레이(도 1, 110) 상에서 디스플레이되게 인에이블링하기 위한 디스플레이 모듈(222) ―디스플레이 모듈(222)은, 이들로 제한되지는 않지만,
·하나 이상의 애플리케이션들(도 1, 102)로부터 요청들을 수신하고, 하나 이상의 애플리케이션들(도 1, 102)에 이용가능한 디스플레이 공간 크기들을 결정하고, 결정된 디스플레이 공간 크기들을 하나 이상의 애플리케이션들(도 1, 102)에 송신하고, 그리고 하나 이상의 애플리케이션들(도 1, 102)에 의해 출력되는 디스플레이 데이터를 컴포지트/디스플레이 관리자(106)에 송신하기 위한 윈도우 관리자 모듈(104); 및
·윈도우 관리자(104)로부터 디스플레이 데이터를 수신하고, 디스플레이 상에서 디스플레이될 필요가 있는 오브젝트들을 단일의 구성된 디스플레이로 배열하고, 하나 이상의 애플리케이션들(도 102)로부터의 출력을, 고정 배향 디스플레이(도 1, 110) 상에서 디스플레이될 수 있는 사이즈로 자동으로 스케일링하고, 하나 이상의 애플리케이션들(도 102)로부터의 출력을 고정 배향 디스플레이의 중심에 그 중심을 두고, 그리고 하나 이상의 애플리케이션들(도 1, 102)의 출력을 디스플레이하지 않는, 고정 배향 디스플레이(도 1, 110)의 부분들을 블랙으로 채우기 위한 컴포지터/디스플레이 관리자(106)
를 포함함―; 및
·전자 디바이스(100) 또는 하나 이상의 애플리케이션들(도 1, 102)에 관련된 데이터를 저장하기 위한 데이터 모듈(232) ―데이터 모듈(232)은, 이들로 제한되지는 않지만, 하기를 포함한다―:
·적어도 몇몇 경우들에서 디스플레이의 물리적 사이즈, 픽셀 단위의 디스플레이의 높이 및 폭(예컨대, 1920×1080 픽셀들), 및 디스플레이 상의 픽셀들의 밀도(DPI(dots per inch), PPI(pixels per inch), 또는 어떤 다른 픽셀 밀도 측정 단위들로 측정됨)를 포함하는, 전자 디바이스(100)와 연관된 고정 배향 디스플레이(도 1, 110)의 크기들에 관련된 데이터를 포함하는 디스플레이 크기 데이터(224);
·몇몇 구현들에서 디스플레이 크기 데이터에 기초하여 결정될 수 있는, 고정 배향 디스플레이(도 1, 110)의 배향을 포함하는 디스플레이 배향 데이터(226);
·하나 이상의 애플리케이션들(도 1, 102)로부터의 출력을 디스플레이 하기 위한, 하나 이상의 애플리케이션들(도 1, 102)에 의해 요청된 배향을 표현하는 데이터를 포함하는 요청된 배향 데이터(228);
·애플리케이션 모듈(220)에 저장된 하나 이상의 애플리케이션들(도 1, 102)과 연관된 데이터를 포함하는 애플리케이션 데이터(230) ―저장된 데이터는, 이들로 제한되지는 않지만, 애플리케이션 타입, 요청된 배향 및 크기들과 상이한 배향 및 크기들로, 디스플레이되도록 생성된 출력을 애플리케이션이 스케일링할 수 있는지의 여부, 및 전자 디바이스(100) 상에서 실행하기 위해 하나 이상의 애플리케이션들(도 1, 102)에 의해 요구되는 임의의 데이터를 포함함―; 및
ㆍ 디스플레이 버퍼(108)는 픽셀을 기반으로 고정 배향 디스플레이(도 1, 110)에 출력될 값들을 표현하는 데이터를 포함한다;
ㆍ 출력된 미가공(raw) 데이터(234)는 고정 배향 디스플레이(110)에서의 디스플레이에 대한 결정된 크기들 또는 결정된 배향에 적합하도록 스케일링되지 않는, 하나 이상의 애플리케이션들(102)로부터 윈도우 매니저(104)에 의해 수신되는 데이터를 포함한다; 그리고
ㆍ출력된 스케일링된 데이터는 컴포지터/디스플레이 매니저(도 1, 106)에 의해 자동으로 스케일링되거나, 하나 이상의 애플리케이션들(도 1, 102) 자체들에 의해 결정된 크기들 및 배향에 적합하도록 스케일링된, 컴포지터/디스플레이 매니저(도 1, 106)에 의해 생성되거나, 하나 이상의 애플리케이션들(도 1, 102)로부터 윈도우 매니저(104)에 의해 수신된 데이터를 포함한다.
[0039] 도 3a는 일부 구현들에 따라 고정 배향 디스플레이 상에 디스플레이되는 애플리케이션을 도시한다. 이 예에서, 고정 배향 디스플레이(302)는 애플리케이션 디스플레이 영역(304)에 애플리케이션(도 1, 102)으로부터의 출력 데이터를 디스플레이한다. 고정 배향 디스플레이(302)는 높이 크기(306) 및 폭 크기(308)를 가진다. 애플리케이션 디스플레이 영역(304)은 높이 크기(306) 및 애플리케이션 폭 크기(310)을 가진다. 전자 디바이스(도 1, 100)는 요청된 크기들(314)을 애플리케이션(도 1, 102)으로부터 수신한다. 요청된 크기들(314)은 요청된 높이 크기(316) 및 요청된 폭 크기(318)을 가진다. 그러나, 요청된 크기들(314)의 배향은 (요청된 높이 크기(316) 및 요청된 폭 크기(318)에 의해 입증되는 바와 같이) 고정 배향 디스플레이(302)의 배향과 서로 다르기 때문에, 애플리케이션(도 1, 102)으로부터의 출력은 고정 배향 디스플레이(302) 상에 디스플레이되도록 스케일링되어야 한다. 예를 들어, 요청된 크기들이 요청된 높이 크기(316)에 대한 1920 픽셀들 및 요청된 폭 크기(318)에 대한 1080 픽셀들이고, 고정 배향의 크기들이 1080의 높이 크기(306) 및 1920의 폭 크기이면, 고정 배향은 요청된 바와 같이, 애플리케이션(도 1, 102)으로부터의 출력 데이터를 디스플레이할 수 없을 것이다. 출력된 디스플레이 데이터는 컴포지터/디스플레이 매니저(도 1, 106)에 의해 자동으로 또는 애플리케이션(도 1, 102) 그 자체에 의해 고정 배향 디스플레이(302) 상에 디스플레이되도록 스케일링된다.
[0040] 일부 구현들에서, 출력은 출력된 데이터와 연관된 종횡비를 변경하지 않고 스케일링된다. 그러면 현재의 예에서, 요청된 크기들의 비는: 높이 크기(316)(1920) 대 폭 크기(318)(1080)이고, 이는 더 일반적으로 9:16으로 표기된다. 동일한 종횡비를 유지하기 위해, 새로운 높이 및 폭 크기들이 결정되어야 한다. 고정 배향 디스플레이(302)의 높이 크기(306)이 제한적 인자이기 때문에, 애플리케이션(도 1, 102)으로부터의 출력 데이터의 새로운 스케일링된 높이 크기은 그것의 최대 값(1080 픽셀들)으로 세팅되며, 이는 고정 배향 디스플레이(302)의 높이 크기(306)과 동일하다. 대응하는 폭 크기(308)은 607.5 픽셀(라운드 업 또는 다운됨)들일 수 있다. 따라서, 애플리케이션 출력 데이터는 1080 x 607.5의 해상도를 가지고 애플리케이션 디스플레이 영역에 디스플레이된다. 애플리케이션 디스플레이 영역 밖에 있는 고정 배향 디스플레이(302)의 부분들은 여분의 스크린 공간(312)이라 칭해지며, 블랙 아웃되어 "필러 박스(pillar box)" 효과를 생성한다.
[0041] 도 3b는 몇몇 구현들에 따른 고정 배향 디스플레이 상의 사용자 인터페이스를 도시한다. 이러한 예에서, 고정 배향 디스플레이(322)는 애플리케이션(도 1, 102)으로부터 출력된 디스플레이를 애플리케이션 디스플레이 영역(324)에서 디스플레이한다. 고정 배향 디스플레이(322)는 높이 크기(326) 및 폭 크기(328)를 갖는다. 애플리케이션 디스플레이 영역(324)은 애플리케이션 높이 크기(340) 및 폭 크기(328)를 갖는다. 애플리케이션(도 1, 102)은 요청된 크기들(334)을 전자 디바이스(도 1, 100)에 전송하였다. 요청된 크기들(334)은 요청된 높이 크기(336) 및 요청된 폭 크기(338)를 갖는다. 그러나, (요청된 높이 크기(336) 및 요청된 폭 크기(338)에 의해 증명되는 바와 같이) 요청된 크기들(334)의 배향이 고정 배향 디스플레이(322)의 배향과 상이하기 때문에, 애플리케이션(도 1, 102)으로부터의 출력은, 고정 배향 디스플레이(322) 상에서 디스플레이되도록 스케일링되어야 한다. 예를 들어, 요청된 크기들이, 요청된 높이 크기(316)에 대해 1080 픽셀들이고, 요청된 폭 크기(318)에 대해 1920 픽셀들이고, 고정 배향의 크기들이 1920 픽셀들의 높이 크기(326) 및 1080 픽셀들의 폭 크기(328)인 경우, 고정 배향은 애플리케이션(도 1, 102)으로부터의 출력 데이터를 요청된 바와 같이 디스플레이할 수 없을 것이다. 대신에, 출력된 디스플레이 데이터는, 애플리케이션(도 1, 102) 그 자체에 의해 또는 컴포지터(도 1, 106)에 의해 자동으로, 고정 배향 디스플레이(322) 상에서 디스플레이되도록 스케일링되어야 한다.
[0042] 몇몇 구현들에서, 출력은, 종횡비가 유지되었다면 가능하였을 것보다 더 큰 비율의 고정 배향 디스플레이를 이용하기 위해, 요청된 크기들과 연관된 종횡비와 상이한 종횡비로 스케일링된다. 예를 들어, 요청된 크기들(334)이 1920 × 1080이었고(1920의 폭 크기(338) 및 1080의 높이 크기(336)를 가짐), 고정 배향 디스플레이가 크기들 1080 × 920을 갖는 경우(1080의 폭 크기(328) 및 1920의 높이 크기(306)를 가짐), 결과적인 스케일링된 이미지는 1080 × 607.5일 것이다. 이러한 스케일링된 버전은 총 이용가능 디스플레이 공간의 단지 약 30 퍼센트만을 점유할 것이다. 그러나, 종횡비가 4:3으로 변화되었다면, 애플리케이션 디스플레이 영역(324)의 결과적인 크기들은 1080 × 810일 것이고, 이는 이용가능 디스플레이 공간의 40 퍼센트를 초과하여 이용한다. 따라서, 몇몇 구현들에 따르면, 윈도우 관리자(도 1, 104)는, 애플리케이션(도 1, 102) 출력을 디스플레이하기 위해 이용되는 디스플레이(도 1, 110)의 비율을 증가시키기 위해, 요청된 크기들(334)과 상이한 종횡비를 갖는 애플리케이션 출력을 위한 디스플레이 크기들을 결정할 수 있다.
[0043] 도 4는 몇몇 구현들에 따른, 고정 배향 디스플레이 상에서 애플리케이션(도 1, 102)의 출력을 디스플레이하기 위한 프로세스를 도시하는 흐름도이다. 도 4에 도시된 동작들 각각은 컴퓨터 메모리 또는 컴퓨터 판독가능 저장 매체에 저장된 명령들에 대응할 수 있다. 선택적인 동작들은 파선들로 표시된다(예를 들어, 파선 테두리들을 갖는 박스들). 몇몇 구현들에서, 도 4에 설명된 방법은 전자 디바이스(도 1, 100)에 의해 수행된다.
[0044] 일부 구현들 따르면, 애플리케이션(도 1, 102)은, 제2 크기를 갖는 제2 배향으로 애플리케이션으로부터의 출력을 디스플레이하기 위한 요청을, 애플리케이션이 저장된 전자 디바이스(도 1, 100)에 송신한다(402). 일부 구현들에서, 애플리케이션(도 1, 102)은, 전자 디바이스(도 1, 100)와 연관된 디스플레이(도 1, 100)가 제1 배향 및 제1 크기들을 갖는 고정 배향 디스플레이(도 1, 110)라는 통지 및 요청된 제2 배향 및 제2 크기들은 제1 배향과 상이하다는 통지를 전자 디바이스(도 1, 110)로부터 수신한다(404). 예를 들어, 요청된 크기들이 1920×1080이면, 애플리케이션(도 1, 102)은 요청된 배향이 랜드스케이프 배향이라는 통지를 수신한다.
[0045] 일부 구현들에 따르면, 애플리케이션(도 1, 102)은, 제1 배향 및 고정 배향 디스플레이와 연관된 제1 크기에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정한다(도 1, 102)(406). 예를 들어, 요청된 제2 크기들이 1920×1080이고 제2 배향이 랜드스케이프 배향인 것으로 결정되고 그리고 제1 배향이 포트레이트 배향을 갖는다면, 애플리케이션(도 1, 102)은, 제1 및 제2 크기들에 기초하여, 고정 배향 디스플레이(도 1, 110) 상에 애플리케이션 출력을 디스플레이하기 위한 최적의 크기들을 결정한다. 일부 구현들에 따르면, 애플리케이션(도 1, 102)은 결정된 최적의 크기들에 매칭하도록 출력 데이터를 스케일링한다(408).
[0046] 일부 구현들에 따르면, 애플리케이션(도 1, 102)은 그후 고정 배향 디스플레이(도 1, 110) 상의 디스플레이를 위해 전자 디바이스에 스케일링된 출력 데이터를 송신한다(410).
[0047] 일부 구현들에 따르면, 스케일링된 출력을 송신하는 것은, 고정 배향 디스플레이(도 1, 110) 상에 애플리케이션의 출력을 디스플레이하기 위한 명령들을 송신하는 것을 포함하고, 고정 배향 디스플레이의 중심에 애플리케이션의 디스플레이된 출력의 중심을 두는 것을 포함한다(412). 일부 구현들에 따르면, 스케일링된 출력을 송신하는 것은, 고정 배향 디스플레이(도 1, 110) 상에 애플리케이션의 출력을 디스플레이하기 위한 명령들을 송신하는 것을 포함하고, 애플리케이션의 출력을 디스플레이하지 않는 고정된 스크린 디스플레이(도 1, 110)의 영역들을 블랙 아웃하는(blacking out) 것을 포함한다(414).
[0048] 일부 구현들에서, 애플리케이션(도 1, 102)의 출력은, 요청된 크기들의 종횡비와는 상이하지만 반드시 스크린 사용을 최대화하는 것은 아닌 종횡비로 스케일링된다. 예를 들어, 애플리케이션은 특정 유형의 애플리케이션에 대해 잘 알려진 또는 이 애플리케이션에 대해 통상적으로 이용되는 종횡비로 변경될 수 있다. 익숙한 종횡비로 애플리케이션을 디스플레이함으로써, 애플리케이션이 가장 선호되는 배향 및 종횡비로 디스플레이되지 않는다고 하더라도 사용자 경험은 개선될 수 있다. 이는, 고정 배향 디스플레이(도 1, 110)가 표준 배향을 갖지 않는 경우에는, 특히 사실이다. 예를 들어, 전자 디바이스가 거의 정사각형의 디스플레이를 갖는 경우, 포트레이트 폰과 같은 종횡비를 갖는 애플리케이션(도 1, 102)으로부터의 출력을 디스플레이하는 것을 선호할 수 있다. 일부 구현들에서, 테두리는 표준 디스플레이 비의 겉모습(look) 및 느낌(feel)을 추가로 생성하기 위해 부가될 수 있다.
[0049] 도 5는, 일부 구현들에 따라, 고정 배향 디스플레이 상에 출력된 애플리케이션(도 1, 102)을 디스플레이하는 프로세스를 예시하는 흐름도이다. 도 5에 나타낸 동작들 각각은, 컴퓨터 메모리 또는 컴퓨터 판독가능 저장 매체에 저장된 명령들에 대응할 수 있다. 선택적 동작들은 파선들(예를 들어, 파선 테두리들을 갖는 박스들)로 나타낸다. 일부 구현들에서, 도 5에 설명된 방법은 전자 디바이스(도 1, 100)에 의해 수행된다.
[0050] 일부 구현예들에 따르면, 전자 디바이스(도 1, 100)는, 전자 디바이스(도 1, 100) 상에서 실행되는 애플리케이션(도 1, 102)으로부터, 애플리케이션(도 1, 102)으로부터의 출력을 제2 크기들을 갖는 제2 배향으로 디스플레이하라는 요청을 수신한다(502). 전자 디바이스(도 1, 100)는, 애플리케이션으로부터 수신된 출력 데이터가 디스플레이될 디스플레이가, 요청된 제2 배향과 상이한 제1 배향을 갖는 고정 배향 디스플레이인 것을 결정한다(516). 전자 디바이스(도 1, 100)는 디스플레이를 위해서 애플리케이션(도 1, 102)으로부터 출력을 수신한다(504). 전자 디바이스는 애플리케이션으로부터의 출력을 디스플레이하기 위해서 이용 가능한 제1 디스플레이 공간의 제1 크기들을 결정한다(506). 이러한 결정은, 고정 배향 디스플레이(도 1, 110)의 크기들에 대응하는 제1 크기들을 얻기 위해서 디스플레이 크기들 데이터(도 2, 224)를 액세싱하고 그리고 요청된 제2 크기들에 대해서 제1 크기들을 비교함으로써 이뤄진다.
[0051] 일부 구현예들에 따르면, 결정된 제1 크기들은, 애플리케이션(도 1, 102)으로부터 수신된 요청된 제2 크기들과 동일한 종횡비를 갖는다. 다른 구현예들에 따르면, 결정된 제1 크기들은, 애플리케이션(도 1, 102)으로부터 수신된 요청된 제2 크기들과 상이한 종횡비를 갖고, 결정된 제1 크기들은 애플리케이션(도 1, 102)으로부터 수신된 출력을 디스플레이하는 데에 사용되는 고정 배향 디스플레이(도 1, 110)의 비율을 증가시키도록 결정된다.
[0052] 일부 구현예들에 따르면, 전자 디바이스(도 1, 100)는, 애플리케이션에 의해서 출력되는 데이터가 애플리케이션에 의해서 원래 요청된 공간보다 더 작은 디스플레이 공간에서 디스플레이되도록, 애플리케이션(도 1, 102)으로부터 수신된 출력이 제1 크기들 내에 맞춰지게 자동적으로 스케일링한다(508).
[0053] 전자 디바이스(도 1, 100)는 스케일링된 출력을 고정 배향 디스플레이(도 1, 110) 상에 디스플레이한다(510). 일부 구현예들에 따르면, 애플리케이션(도 1, 102)의 출력을 고정 배향 디스플레이(도 1, 110) 상에 디스플레이하는 것은, 애플리케이션(도 1, 102)의 디스플레이되는 출력을 고정 배향 디스플레이의 중앙에 중심을 맞추는 것을 포함한다(512). 일부 구현예들에 따르면, 애플리케이션(도 1, 102)의 출력을 고정 배향 디스플레이(도 1, 110) 상에 디스플레이하는 것은, 애플리케이션의 출력을 디스플레이하지 않는, 고정 배향 디스플레이의 영역들을 블랙 아웃하는 것을 포함한다(514).
[0054] 설명의 목적을 위한 전술한 설명은 특정한 구현들을 참조하여 설명되었다. 그러나, 위의 예시적인 설명들이 완전한 것이거나 또는 개시된 정확한 형태들로 본 발명이 제한되는 것으로 의도되지 않는다. 상기 교시들을 고려하여 많은 변형들 및 변경들이 가능하다. 구현들은, 본 발명의 원리들 및 본 발명의 실제의 애플리케이션들을 가장 양호하게 설명하기 위해, 그에 의해, 고려된 특정한 사용에 적합한 바와 같은 다양한 변형들을 이용하여 본 발명 및 다양한 구현들을 당업자가 가장 양호하게 이용할 수 있게 하기 위해 선택되고 설명되었다.
[0055] 용어들 제1, 제2 등이 다양한 엘리먼트들을 설명하기 위해 본 명세서에서 사용될 수도 있지만, 이들 엘리먼트들은 이들 용어들에 의해 제한되지 않아야 함이 또한 이해될 것이다. 이들 용어들은 하나의 엘리먼트를 다른 엘리먼트와 구별하기 위해서만 사용된다. 예를 들어, 본 구현들의 범위를 벗어나지 않으면서, 제1 접촉은 제2 접촉으로 지칭될 수 있고, 유사하게, 제2 접촉은 제1 접촉으로 지칭될 수 있다. 제1 접촉 및 제2 접촉은 둘 모두가 접촉들이지만 그들이 동일한 접촉은 아니다.
[0056] 본 명세서에서 구현들의 설명에 사용된 용어는, 단지 특정한 구현들을 설명을 위한 것이며 제한하는 것으로 의도되지 않는다. 구현들 및 첨부된 청구항들의 설명에서 사용된 바와 같은 단수 형태들은, 맥락이 명확히 달리 표시하지 않으면, 복수 형태들을 또한 포함하도록 의도된다. 본 명세서에 사용된 바와 같이, 용어 "및/또는"은, 연관된 열거된 아이템들 중 하나 이상의 임의의 가능한 결합들 및 모든 가능한 결합들을 지칭하고 포함함이 또한 이해될 것이다. 본 명세서에서 사용되는 경우, 용어들 "포함하다" 및/또는 "포함하는"은, 나타낸 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 그들의 그룹들의 존재 또는 부가를 배제하지 않음이 추가적으로 이해될 것이다.
[0057] 본 명세서에서 사용되는 경우, 용어 "만약(if)"은, 맥락에 의존하여 "경우(when)" 또는 "때(upon)" 또는 "결정에 응답하여" 또는 "검출에 응답하여"를 의미하도록 해석될 수도 있다. 유사하게, 어구 "결정되면" 또는 "(나타낸 조건 또는 이벤트가) 검출된다면"은, 맥락에 의존하여 "결정할 때" 또는 "결정에 응답하여" 또는 "(나타낸 조건 또는 이벤트를) 검출할 때" 또는 "(나타낸 조건 또는 이벤트를) 검출하는 것에 응답하여"를 의미하도록 해석될 수 있다.

Claims (20)

  1. 제1 애플리케이션으로부터의 출력을 제1 배향 및 제1 크기들(dimensions)을 갖는 고정 배향 디스플레이 상에 디스플레이하는 방법으로서,
    상기 방법은, 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들에 의해 실행되기 위한 하나 이상의 프로그램들을 저장한 메모리를 가진 전자 디바이스상에 저장된 애플리케이션에서 수행되고,
    상기 전자 디바이스는, 상기 고정 배향 디스플레이 상에 디스플레이를 가능하게 하기 위한 디스플레이 모듈을 포함하고,
    상기 제1 애플리케이션은, 상기 디스플레이 모듈과는 별개이고, 미리 결정된 제2 크기들과 미리 결정된 제2 배향으로 자신의 출력을 디스플레이하도록 구성되고,
    상기 방법은,
    상기 제1 애플리케이션으로부터의 출력을 상기 제2 크기들과 상기 제2 배향으로 디스플레이하라는 요청을, 상기 제1 애플리케이션에 의해 상기 디스플레이 모듈로 전송하는 단계;
    상기 요청을 전송하는 것에 응답하여, 상기 전자 디바이스와 연관된 타겟 디스플레이 디바이스에 관한 정보를, 상기 제1 애플리케이션에 의해 상기 디스플레이 모듈로부터 수신하는 단계 ― 상기 정보는 상기 타겟 디스플레이가 상기 제1 배향 및 제1 크기들을 갖는 고정 배향 디스플레이라는 것을 나타냄 ―;
    상기 제1 애플리케이션과 연관된 애플리케이션 데이터를 획득하는 단계 ― 상기 애플리케이션 데이터는 상기 제1 애플리케이션의 타입 및 상기 제1 애플리케이션이 상기 요청된 제2 배향 및 제2 크기들과는 다른 배향 및 크기들로 디스플레이하도록 출력을 스케일링할 수 있는지 여부를 포함함 ―;
    상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비를 상기 제1 애플리케이션에 의해 결정하는 단계;
    상기 제1 애플리케이션이 출력을 스케일링할 수 있다는 결정에 따라, (1) 상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비 및 (2) 상기 타겟 디스플레이 디바이스의 상기 제1 크기들에 기초하여, 상기 제1 애플리케이션에 의해 상기 제1 애플리케이션으로부터의 출력을 스케일링하여, 상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 상기 표준 종횡비로 디스플레이되도록 하는 단계; 및
    상기 제1 애플리케이션이 출력을 스케일링할 수 없다는 결정에 따라, (1) 상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비 및 (2) 상기 타겟 디스플레이 디바이스의 제1 크기들에 기초하여, 상기 디스플레이 모듈에 의해 상기 제1 애플리케이션으로부터의 출력을 스케일링하여, 상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 상기 표준 종횡비로 디스플레이되도록 하는 단계
    를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 제1 애플리케이션과 연관된 애플리케이션 데이터를 획득하는 단계는, 상기 제1 애플리케이션이 상기 요청된 제2 배향 및 제2 크기들과 상이한 배향 및 크기들로 디스플레이하기 위해 출력을 스케일링할 수 있다는 것을 확인(verify)하는 애플리케이션 데이터를 상기 제1 애플리케이션에 의해 획득하는 단계를 포함하고,
    상기 애플리케이션 데이터는 상기 제1 애플리케이션에 관한 메타데이터를 포함하고, 상기 메타데이터는 상기 메모리에 저장되어 있거나, 상기 전자 디바이스와는 별개의 원격 데이터베이스로부터 검색되거나, 또는 상기 제1 애플리케이션으로부터 획득되는,
    방법.
  3. 제1항에 있어서,
    상기 제1 애플리케이션은 상기 전자 디바이스 상에서 실행되기 위해 설치된 복수의 애플리케이션들 중 하나인,
    방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 표준 종횡비는, 상기 요청된 제2 크기들과 연관된, 상기 제1 애플리케이션의 제2 종횡비와 동일한,
    방법.
  5. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 표준 종횡비는, 상기 제1 애플리케이션에 의해 요청된 상기 제2 크기들과 연관된, 상기 제1 애플리케이션의 제2 종횡비와 상이한,
    방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 디스플레이되도록 하는 단계는, 상기 고정 배향 디스플레이 상에 디스플레이하기 위해 상기 스케일링된 출력을 상기 제1 애플리케이션에 의해 상기 전자 디바이스의 디스플레이 모듈로 전송하는 단계를 더 포함하는,
    방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 디스플레이되도록 하는 단계는, 상기 제1 애플리케이션의 디스플레이된 출력을 상기 고정 배향 디스플레이의 중앙에 위치시키는 명령들을 전송하는 단계를 더 포함하는,
    방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 디스플레이되도록 하는 단계는, 상기 제1 애플리케이션의 출력을 디스플레이하지 않는, 상기 고정 배향 디스플레이의 영역들을 검게 채우는 명령들을 전송하는 단계를 더 포함하는,
    방법.
  9. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 애플리케이션으로부터의 스케일링된 출력을 테두리(border)와 연관시키는 단계를 더 포함하는,
    방법.
  10. 제1 배향 및 제1 크기들을 갖는 고정 배향 디스플레이 상에 제1 애플리케이션을 디스플레이하기 위한 전자 디바이스로서,
    하나 이상의 프로세서들;
    상기 하나 이상의 프로세서들에 의해 실행될 하나 이상의 프로그램들을 저장하는 메모리를 포함하며,
    상기 메모리는, 상기 고정 배향 디스플레이 상에 디스플레이를 가능하게 하기 위한 디스플레이 모듈 및 상기 디스플레이 모듈과는 별개인 상기 제1 애플리케이션을 포함하고,
    상기 디스플레이 모듈은, 미리 결정된 제2 크기들과 미리 결정된 제2 배향으로 자신의 출력을 디스플레이하도록 구성되고,
    상기 하나 이상의 프로그램들은,
    상기 제1 애플리케이션으로부터의 출력을 상기 제2 크기들과 상기 제2 배향으로 디스플레이하라는 요청을, 상기 제1 애플리케이션에 의해 상기 디스플레이 모듈로 전송하고;
    상기 요청을 전송하는 것에 응답하여, 상기 전자 디바이스와 연관된 타겟 디스플레이 디바이스에 관한 정보를, 상기 제1 애플리케이션에 의해 상기 디스플레이 모듈로부터 수신하고 ― 상기 정보는 상기 타겟 디스플레이가 상기 제1 배향 및 제1 크기들을 갖는 고정 배향 디스플레이라는 것을 나타냄 ―;
    상기 제1 애플리케이션과 연관된 애플리케이션 데이터를 획득하고 ― 상기 애플리케이션 데이터는 상기 제1 애플리케이션의 타입 및 상기 제1 애플리케이션이 상기 요청된 제2 배향 및 제2 크기들과는 다른 배향 및 크기들로 디스플레이하도록 출력을 스케일링할 수 있는지 여부를 포함함 ―;
    상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비를 상기 제1 애플리케이션에 의해 결정하고;
    상기 제1 애플리케이션이 출력을 스케일링할 수 있다는 결정에 따라, (1) 상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비 및 (2) 상기 타겟 디스플레이 디바이스의 상기 제1 크기들에 기초하여, 상기 제1 애플리케이션에 의해 상기 제1 애플리케이션으로부터의 출력을 스케일링하여, 상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 상기 표준 종횡비로 디스플레이되도록 하고; 그리고
    상기 제1 애플리케이션이 출력을 스케일링할 수 없다는 결정에 따라, (1) 상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비 및 (2) 상기 타겟 디스플레이 디바이스의 제1 크기들에 기초하여, 상기 디스플레이 모듈에 의해 상기 제1 애플리케이션으로부터의 출력을 스케일링하여, 상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 상기 표준 종횡비로 디스플레이되도록 하기 위한
    명령들을 포함하는,
    전자 디바이스.
  11. 제10항에 있어서,
    상기 제1 애플리케이션은 상기 전자 디바이스 상에서 실행되기 위해 설치된 복수의 애플리케이션들 중 하나인,
    전자 디바이스.
  12. 제10항에 있어서,
    상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 디스플레이되도록 하는 것은, 상기 고정 배향 디스플레이 상에 디스플레이하기 위해 스케일링된 출력 데이터를 상기 제1 애플리케이션에 의해 상기 전자 디바이스의 디스플레이 모듈로 전송하는 것을 더 포함하는,
    전자 디바이스.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 표준 종횡비는, 상기 요청된 제2 크기들과 연관된, 상기 제1 애플리케이션의 제2 종횡비와 동일한,
    전자 디바이스.
  14. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 표준 종횡비는, 상기 제1 애플리케이션에 의해 요청된 상기 제2 크기들과 연관된, 상기 제1 애플리케이션의 제2 종횡비와 상이한,
    전자 디바이스.
  15. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 제1 애플리케이션과 연관된 애플리케이션 데이터를 획득하기 위한 명령은, 상기 제1 애플리케이션이 상기 요청된 제2 배향 및 제2 크기들과 상이한 배향 및 크기들로 디스플레이하기 위해 출력을 스케일링할 수 있다는 것을 확인하는 애플리케이션 데이터를 상기 제1 애플리케이션에 의해 획득하기 위한 명령을 포함하고,
    상기 애플리케이션 데이터는 상기 제1 애플리케이션에 관한 메타데이터를 포함하고, 상기 메타데이터는 상기 메모리에 저장되어 있거나, 상기 전자 디바이스와는 별개의 원격 데이터베이스로부터 검색되거나, 또는 상기 제1 애플리케이션으로부터 획득되는,
    전자 디바이스.
  16. 제10항 내지 제12항 중 어느 한 항에 있어서,
    상기 제1 애플리케이션과 연관된 애플리케이션 데이터를 획득하기 위한 명령은, 상기 제1 애플리케이션으로부터의 스케일링된 출력을 테두리와 연관시키기 위한 명령을 더 포함하는,
    전자 디바이스.
  17. 제1 배향으로 포지셔닝된 고정 배향 디스플레이를 가진 전자 디바이스에 의해 실행하기 위하여 구성된 하나 이상의 애플리케이션들을 저장하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 전자 디바이스는, 상기 전자 디바이스에 커플링된 상기 고정 배향 디스플레이 상에 디스플레이를 가능하게 하기 위한 디스플레이 모듈, 및 상기 디스플레이 모듈과는 별개인 제1 애플리케이션을 포함하고, 상기 제1 애플리케이션은 미리 결정된 제2 크기들과 미리 결정된 제2 배향으로 자신의 출력을 디스플레이하도록 구성되고,
    상기 하나 이상의 프로그램들은, 상기 전자 디바이스에서,
    상기 제1 애플리케이션으로부터의 출력을 상기 제2 크기들과 상기 제2 배향으로 디스플레이하라는 요청을, 상기 제1 애플리케이션에 의해 상기 디스플레이 모듈로 전송하고;
    상기 요청을 전송하는 것에 응답하여, 상기 전자 디바이스와 연관된 타겟 디스플레이 디바이스에 관한 정보를, 상기 제1 애플리케이션에 의해 상기 디스플레이 모듈로부터 수신하고 ― 상기 정보는 상기 타겟 디스플레이가 상기 제1 배향 및 제1 크기들을 갖는 고정 배향 디스플레이라는 것을 나타냄 ―;
    상기 제1 애플리케이션과 연관된 애플리케이션 데이터를 획득하고 ― 상기 애플리케이션 데이터는 상기 제1 애플리케이션의 타입 및 상기 제1 애플리케이션이 상기 요청된 제2 배향 및 제2 크기들과는 다른 배향 및 크기들로 디스플레이하도록 출력을 스케일링할 수 있는지 여부를 포함함 ―;
    상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비를 상기 제1 애플리케이션에 의해 결정하고;
    상기 제1 애플리케이션이 출력을 스케일링할 수 있다는 결정에 따라, (1) 상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비 및 (2) 상기 타겟 디스플레이 디바이스의 상기 제1 크기들에 기초하여, 상기 제1 애플리케이션에 의해 상기 제1 애플리케이션으로부터의 출력을 스케일링하여, 상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 상기 표준 종횡비로 디스플레이되도록 하고; 그리고
    상기 제1 애플리케이션이 출력을 스케일링할 수 없다는 결정에 따라, (1) 상기 제1 애플리케이션의 타입에 대해 지정된 표준 종횡비 및 (2) 상기 타겟 디스플레이 디바이스의 제1 크기들에 기초하여, 상기 디스플레이 모듈에 의해 상기 제1 애플리케이션으로부터의 출력을 스케일링하여, 상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 상기 표준 종횡비로 디스플레이되도록 하기 위한
    명령들을 포함하는,
    비-일시적 컴퓨터 판독가능 저장 매체.
  18. 제17항에 있어서,
    상기 제1 애플리케이션의 출력이 상기 타겟 디스플레이 디바이스 상에서 상기 디스플레이 모듈에 의해 디스플레이되도록 하는 것은, 상기 고정 배향 디스플레이 상에 디스플레이하기 위해 스케일링된 출력 데이터를 상기 제1 애플리케이션에 의해 상기 전자 디바이스의 디스플레이 모듈로 전송하는 것을 더 포함하는,
    비-일시적 컴퓨터 판독가능 저장 매체.
  19. 제17항에 있어서,
    상기 표준 종횡비는, 상기 제1 애플리케이션에 의해 요청된 상기 제2 크기들과 연관된, 상기 제1 애플리케이션의 제2 종횡비와 상이한,
    비-일시적 컴퓨터 판독가능 저장 매체.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 제1 애플리케이션과 연관된 애플리케이션 데이터를 획득하기 위한 명령은, 상기 제1 애플리케이션이 상기 요청된 제2 배향 및 제2 크기들과 상이한 배향 및 크기들로 디스플레이하기 위해 출력을 스케일링할 수 있다는 것을 확인하는 애플리케이션 데이터를 상기 제1 애플리케이션에 의해 획득하기 위한 명령을 포함하고,
    상기 애플리케이션 데이터는 상기 제1 애플리케이션에 관한 메타데이터를 포함하고, 상기 메타데이터는 메모리에 저장되어 있거나, 상기 전자 디바이스와는 별개의 원격 데이터베이스로부터 검색되거나, 또는 상기 제1 애플리케이션으로부터 획득되는,
    비-일시적 컴퓨터 판독가능 저장 매체.
KR1020207033580A 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이 KR102257948B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/624,570 US9390473B2 (en) 2012-09-21 2012-09-21 Displaying applications on a fixed orientation display
US13/624,570 2012-09-21
KR1020207017860A KR102183651B1 (ko) 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이
PCT/US2013/060991 WO2014047480A1 (en) 2012-09-21 2013-09-20 Displaying applications on a fixed orientation display

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207017860A Division KR102183651B1 (ko) 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이

Publications (2)

Publication Number Publication Date
KR20200133399A KR20200133399A (ko) 2020-11-27
KR102257948B1 true KR102257948B1 (ko) 2021-05-27

Family

ID=49305174

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020207017860A KR102183651B1 (ko) 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이
KR1020207033580A KR102257948B1 (ko) 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이
KR1020157010302A KR102126987B1 (ko) 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207017860A KR102183651B1 (ko) 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020157010302A KR102126987B1 (ko) 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이

Country Status (5)

Country Link
US (7) US9390473B2 (ko)
EP (2) EP2898501A1 (ko)
KR (3) KR102183651B1 (ko)
CN (2) CN104813393B (ko)
WO (1) WO2014047480A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9691241B1 (en) * 2012-03-14 2017-06-27 Google Inc. Orientation of video based on the orientation of a display
US9741150B2 (en) * 2013-07-25 2017-08-22 Duelight Llc Systems and methods for displaying representative images
US10002449B2 (en) * 2015-04-16 2018-06-19 Sap Se Responsive and adaptive chart controls
CN107251536B (zh) * 2015-12-24 2019-06-28 华为技术有限公司 一种移动终端显示多个应用窗口的方法及移动终端
CN105760178B (zh) * 2016-03-17 2019-03-26 网易(杭州)网络有限公司 对界面控件进行适配的方法及装置
JP2019532379A (ja) * 2016-07-29 2019-11-07 シグニファイ ホールディング ビー ヴィ ロケーションベースのサービスのためのデバイス
KR20180046609A (ko) * 2016-10-28 2018-05-09 삼성전자주식회사 홀 영역을 가지는 전자 장치 및 전자 장치의 홀 영역 제어방법
CN112612440A (zh) * 2017-05-16 2021-04-06 西安万像电子科技有限公司 窗口的控制方法、装置和系统、存储介质及处理器
CN116088734A (zh) * 2021-11-05 2023-05-09 北京小米移动软件有限公司 窗口调整方法、装置、电子设备和计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060188173A1 (en) 2005-02-23 2006-08-24 Microsoft Corporation Systems and methods to adjust a source image aspect ratio to match a different target aspect ratio
US20080007648A1 (en) 2006-06-23 2008-01-10 Amlogic, Inc. Real time scaling and rotating decoded image data
EP2228788A1 (en) 2009-03-09 2010-09-15 Samsung Electronics Co., Ltd. Display apparatus and control method of the same

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001076229A1 (en) * 2000-04-03 2001-10-11 Scientific-Atlanta, Inc. Service resource environment management system
US8966379B2 (en) * 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
KR20030093881A (ko) * 2002-06-05 2003-12-11 삼성전자주식회사 자동 화면비율 조정이 가능한 디지털 방송신호 수신장치
CN1311701C (zh) * 2004-02-02 2007-04-18 英华达股份有限公司 具有自动调整画面功能的移动电话通讯装置以及自动调整画面的方法
CN101639753A (zh) * 2008-08-01 2010-02-03 鸿富锦精密工业(深圳)有限公司 具有触摸屏的电子设备及其画面比例调节方法
KR20100035924A (ko) * 2008-09-29 2010-04-07 삼성전자주식회사 디스플레이장치 및 외부입력장치를 가지는 디스플레이 시스템과 그 제어 방법
US9218792B2 (en) * 2008-12-11 2015-12-22 Nvidia Corporation Variable scaling of image data for aspect ratio conversion
US8925024B2 (en) * 2009-12-31 2014-12-30 The Nielsen Company (Us), Llc Methods and apparatus to detect commercial advertisements associated with media presentations
US20120032783A1 (en) * 2010-08-09 2012-02-09 Samsung Electronics Co., Ltd. Electronic reader system with external display interface and method of operation thereof
WO2012020868A1 (ko) * 2010-08-13 2012-02-16 엘지전자 주식회사 이동단말기, 디스플레이 장치 및 그 제어 방법
EP2622490B1 (en) * 2010-10-01 2018-12-05 Z124 Cross-environment communication framework
US8963799B2 (en) * 2011-01-11 2015-02-24 Apple Inc. Mirroring graphics content to an external display
US20140168277A1 (en) * 2011-05-10 2014-06-19 Cisco Technology Inc. Adaptive Presentation of Content
US20130007602A1 (en) * 2011-06-29 2013-01-03 Apple Inc. Fixed layout electronic publications
US9432653B2 (en) * 2011-11-07 2016-08-30 Qualcomm Incorporated Orientation-based 3D image display
CN102662616B (zh) * 2012-03-28 2015-12-16 北京邮电大学 用于移动终端的屏幕图形自适应方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060188173A1 (en) 2005-02-23 2006-08-24 Microsoft Corporation Systems and methods to adjust a source image aspect ratio to match a different target aspect ratio
US20080007648A1 (en) 2006-06-23 2008-01-10 Amlogic, Inc. Real time scaling and rotating decoded image data
EP2228788A1 (en) 2009-03-09 2010-09-15 Samsung Electronics Co., Ltd. Display apparatus and control method of the same

Also Published As

Publication number Publication date
KR102183651B1 (ko) 2020-11-26
CN104813393A (zh) 2015-07-29
US10769756B2 (en) 2020-09-08
US20160321782A1 (en) 2016-11-03
US20210390657A1 (en) 2021-12-16
US9390473B2 (en) 2016-07-12
US9767532B2 (en) 2017-09-19
US20190005615A1 (en) 2019-01-03
KR20150060825A (ko) 2015-06-03
EP4235641A2 (en) 2023-08-30
US10552941B2 (en) 2020-02-04
CN107103890B (zh) 2019-02-01
US20170337661A1 (en) 2017-11-23
EP2898501A1 (en) 2015-07-29
CN107103890A (zh) 2017-08-29
US10074157B2 (en) 2018-09-11
US20200184596A1 (en) 2020-06-11
EP4235641A3 (en) 2023-10-04
US20200402201A1 (en) 2020-12-24
KR20200075045A (ko) 2020-06-25
CN104813393B (zh) 2017-03-22
US11842459B2 (en) 2023-12-12
WO2014047480A1 (en) 2014-03-27
KR20200133399A (ko) 2020-11-27
KR102126987B1 (ko) 2020-07-07
US20140085339A1 (en) 2014-03-27
US11107186B2 (en) 2021-08-31

Similar Documents

Publication Publication Date Title
KR102257948B1 (ko) 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이
US8782716B2 (en) Systems and methods for rendering user interface objects in accordance with a variable scaling factor
KR102075008B1 (ko) 디바이스 유형에 따라 사용자 인터페이스 엘리먼트들을 렌더링하기 위한 시스템들 및 방법들
EP2962191B1 (en) System and method for virtual displays
CN110377264B (zh) 图层合成方法、装置、电子设备及存储介质
US20170091152A1 (en) Generating grid layouts with mutable columns
CN112328353B (zh) 子应用播放器的展示方法、装置、电子设备和存储介质
US11610285B2 (en) Display method and device
US10535121B2 (en) Creation and rasterization of shapes using geometry, style settings, or location
CN115396717B (zh) 显示设备及显示画质调节方法
WO2022245362A1 (en) Video signal classifications
EP4256796A1 (en) Display apparatus
US20180121154A1 (en) Display Control of a Portion of a Document by Primary and Secondary Display Devices
CN114982225A (zh) 电子设备及控制其的方法和存储介质

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant