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

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

Info

Publication number
KR20150060825A
KR20150060825A KR1020157010302A KR20157010302A KR20150060825A KR 20150060825 A KR20150060825 A KR 20150060825A KR 1020157010302 A KR1020157010302 A KR 1020157010302A KR 20157010302 A KR20157010302 A KR 20157010302A KR 20150060825 A KR20150060825 A KR 20150060825A
Authority
KR
South Korea
Prior art keywords
display
application
output
electronic device
fixed direction
Prior art date
Application number
KR1020157010302A
Other languages
English (en)
Other versions
KR102126987B1 (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 KR20150060825A publication Critical patent/KR20150060825A/ko
Application granted granted Critical
Publication of KR102126987B1 publication Critical patent/KR102126987B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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 transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts 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

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)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

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] 개시된 구현들은 일반적으로 전자 디바이스들에 대한 애플리케이션들의 분야에 관한 것이고, 상세하게는 고정 방향 디스플레이들을 갖는 전자 디바이스들 상에서 애플리케이션들을 디스플레이하는 것에 관한 것이다.
[0002] 개인용 컴퓨터들 또는 스마트폰들과 같은 전자 디바이스들은 애플리케이션들을 실행할 수 있다. 전자 디바이스들에 의한 사용자 경험은 애플리케이션들의 이용에 의해 개선된다. 캘린더 애플리케이션들, 투표 애플리케이션들, 생산성 애플리케이션들, 게이밍 애플리케이션들, 비디오 디스플레이 애플리케이션들 및 패키지 추적 애플리케이션들을 포함하는(그러나 이제 제한되는 것은 아님), 전자 디바이스들에 대해 이용가능한 많은 애플리케이션들이 존재한다. 몇몇 애플리케이션들은, 특정 타입의 전자 디바이스 상에서의 이용을 위해 구성되고, 그에 대해 애플리케이션이 구성되는 그 특정 디바이스 상에서만 이용될 수 있다. 다른 애플리케이션들은 광범위한 전자 디바이스들 상에서 이용되도록 구성된다. 전자 디바이스 상에서 이용되도록 애플리케이션을 구성하는 경우, 애플리케이션이 전자 디바이스의 사용자에게 적절히 디스플레이되는 것을 보장하기 위해, 전자 디바이스와 연관된 디스플레이의 방향 및 크기를 아는 것이 유용하다.
[0003] 스마트폰들 또는 태블릿들과 같은 몇몇 전자 디바이스들은, 용이하게 회전될 수 있고 가로형 방향 또는 세로형 방향으로 이용될 수 있는 디스플레이들을 갖는다. 텔레비젼들 또는 개인용 컴퓨터들과 같은 다른 전자 디바이스들은, 가로형 방향 또는 세로형 방향으로 고정되고 다른 방향으로 용이하게 회전되지 않는 디스플레이들을 갖는다. 용이하게 회전될 수 있는 디스플레이들을 갖는 전자 디바이스들은, 디스플레이의 방향이 변경될 수 있는 용이성으로 인해, 가로형 방향 또는 세로형 방향으로 디스플레이되도록 구성되는 애플리케이션들을 정확하게 디스플레이할 수 있다.
[0004] 일부 구현들에 따라, 애플리케이션으로부터의 출력을 고정 방향 디스플레이상에 디스플레이하는 방법이 개시된다. 방법은, 하나 이상의 프로세서들 및 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장한 메모리를 가진 전자 디바이스상에 저장된 애플리케이션에서 수행된다. 애플리케이션은 그 애플리케이션이 저장되는 전자 디바이스에, 그 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을 전송한다. 애플리케이션은 전자 디바이스와 연관된 디스플레이가 제 1 방향 및 제 1 크기들을 가진 고정 방향 디스플레이라는 통지 및 요청된 제 2 방향 및 제 2 크기들이 제 1 방향과 상이하다는 통지를 전자 디바이스로부터 수신한다. 이어서, 애플리케이션은 고정 방향 디스플레이와 연관된 제 1 방향 및 제 1 크기들에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정한다. 이어서, 애플리케이션은 결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링한다. 이어서, 애플리케이션은 고정 스크린 디스플레이상에 디스플레이하기 위하여 전자 디바이스에 스케일링된 출력 데이터를 전송한다.
[0005] 일부 구현들에 따라, 고정 방향 디스플레이상에 애플리케이션을 디스플레이하기 위한 방법이 개시된다. 방법은 전자 디바이스 상에서 수행되고, 그 전자 디바이스는 하나 이상의 프로세서들, 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장한 메모리 및 제 1 방향을 가진 고정 방향 디스플레이를 구비한다. 전자 디바이스는 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을, 전자 디바이스상에서 실행되는 애플리케이션으로부터 수신한다. 전자 디바이스는 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제 2 방향과 상이한 제 1 방향을 가진 고정 방향 디스플레이임을 결정한다. 이어서, 전자 디바이스는 디스플레이하기 위한 애플리케이션으로부터의 출력을 수신한다. 전자 디바이스는 애플리케이션으로부터의 출력을 디스플레이하기 위하여 이용가능한 제 1 디스플레이 공간의 제 1 크기들을 결정한다. 이어서, 전자 디바이스는 애플리케이션에 의해 출력된 데이터가 애플리케이션에 의해 원래 요청되었던 것보다 더 작은 크기들로 디스플레이되도록, 애플리케이션으로부터 수신된 출력을 제 1 크기들 내에 맞게 자동적으로 스케일링한다. 전자 디바이스는 스케일링된 출력을 상기 고정 방향 디스플레이상에 디스플레이한다.
[0006] 일부 구현들에 따라, 고정 방향 디스플레이상에 애플리케이션을 디스플레이하기 위한 전자 디바이스가 개시된다. 전자 디바이스는 하나 이상의 프로세서들, 제 1 방향을 가진 고정 방향 디스플레이, 하나 이상의 프로세서들에 의해 실행될 하나 이상의 애플리케이션들을 저장하는 메모리, 및 제 1 방향을 가진 디스플레이를 구비한다. 하나 이상의 프로그램들의 애플리케이션은, 애플리케이션이 저장되는 전자 디바이스에, 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을 전송기 위한 명령들을 포함한다. 애플리케이션은 전자 디바이스와 연관된 디스플레이가 제 1 방향 및 제 1 크기들을 가진 고정 방향 디스플레이라는 통지 및 요청된 제 2 방향 및 제 2 크기들이 제 1 방향과 상이하다는 통지를 전자 디바이스로부터 수신하기 위한 명령들을 더 포함한다. 애플리케이션은 고정 방향 디스플레이와 연관된 제 1 방향 및 제 1 크기들에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정하기 위한 명령들을 더 포함한다. 애플리케이션은 결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링하기 위한 명령들을 더 포함한다. 애플리케이션은 고정 스크린 디스플레이상에 디스플레이하기 위하여 전자 디바이스에 스케일링된 출력 데이터를 전송하기 위한 명령들을 더 포함한다.
[0007] 일부 구현들에 따라, 고정 방향 디스플레이(fixed orientation display) 상에 애플리케이션을 디스플레이하기 위한 전자 디바이스가 개시된다. 전자 디바이스는, 하나 이상의 프로세서들, 제 1 방향을 갖는 고정 방향 디스플레이, 및 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 갖는다. 하나 이상의 프로그램들은, 애플리케이션으로부터의 출력을 제 2 크기들(dimensions)과 제 2 방향으로 디스플레이하기 위한 요청을, 전자 디바이스상에서 실행되는 애플리케이션으로부터 수신하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은, 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제 2 방향과는 상이한 제 1 방향을 가진 고정 방향 디스플레이임을 결정하기 위한 명령들을 포함한다. 전자 디바이스는 추가로, 디스플레이하기 위한 애플리케이션으로부터의 출력을 수신하기 위한 명령들을 포함한다. 전자 디바이스는 추가로, 애플리케이션으로부터의 출력을 디스플레이기 위하여 이용가능한 제 1 디스플레이 공간(space)의 제 1 크기들을 결정하기 위한 명령들을 포함한다. 전자 디바이스는 추가로, 애플리케이션에 의해 출력된 데이터가 애플리케이션에 의해 원래(originally) 요청되었던 것보다 더 작은 크기들로 디스플레이되도록, 애플리케이션으로부터 수신된 출력을 제 1 크기들에 맞게(fit) 자동적으로 스케일링하기 위한 명령들을 포함한다. 전자 디바이스는, 애플리케이션으로부터 수신되는 스케일링된 출력을 고정 방향 디스플레이 상에 디스플레이한다.
[0008] 일부 구현들에 따라, 전자 디바이스에 의한 실행을 위해 구성된 하나 이상의 애플리케이션들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체가 개시된다. 하나 이상의 프로그램들의 애플리케이션은, 애플리케이션이 저장되어 있는 전자 디바이스에, 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을 전송하기 위한 명령들을 포함한다. 애플리케이션은 추가로, 전자 디바이스와 연관된 디스플레이가 제 1 크기들 및 제 1 방향을 가진 고정 방향 디스플레이라는 통지(notification) 및 요청된 제 2 방향 및 제 2 크기들이 제 1 방향과는 상이하다는 통지를 전자 디바이스로부터, 수신하기 위한 명령을 포함한다. 애플리케이션은 추가로, 고정 방향 디스플레이와 연관된 제 1 크기들 및 제 1 방향에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정하기 위한 명령을 포함한다. 애플리케이션은 추가로, 결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링하기 위한 명령들을 포함한다. 애플리케이션은 추가로, 고정 스크린 디스플레이상에 디스플레이하기 위하여 전자 디바이스에 스케일링된 출력 데이터를 전송하기 위한 명령들을 포함한다.
[0009] 일부 구현들에 따라, 전자 디바이스에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체가 개시된다. 하나 이상의 프로그램들은, 전자 디바이스 상에서 실행되는 애플리케이션으로부터, 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을 수신하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은, 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제 2 방향과는 상이한 제 1 방향을 갖는 고정 방향 디스플레이임을 결정하기 위한 명령들을 포함한다. 하나 이상의 프로그램들 추가로, 디스플레이를 하기 위한 애플리케이션으로부터의 출력을 수신하기 위한 명령들을 포함한다. 하나 이상의 프로그램들 추가로, 애플리케이션으로부터의 출력을 디스플레이하기 위하여 이용가능한 제 1 디스플레이 공간의 제 1 크기들을 결정하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은 추가로, 애플리케이션에 의해 출력된 데이터가 애플리케이션에 의해 원래 요청되었던 것보다 더 작은 크기들로 디스플레이되도록, 애플리케이션으로부터 수신된 출력을 제 1 크기들에 맞게 자동으로 스케일링하기 위한 명령들을 포함한다. 하나 이상의 프로그램들은 추가로, 애플리케이션으로부터 수신된 스케일링된 출력을 고정 방향 디스플레이 상에 디스플레이하기 위한 명령들을 더 포함한다.
[0010] 도 1은 일부 구현들에 따른, 디스플레이를 가진 전자 디바이스를 예시하는 블록도이다.
[0011] 도 2는 일부 구현들에 따른, 전자 디바이스를 예시하는 블록도이다.
[0012] 도 3a는 일부 구현들에 따른 고정 방향 디스플레이 상에 디스플레이되는 바와 같은 애플리케이션을 묘사한다.
[0013] 도 3b는 일부 구현들에 따른 고정 방향 디스플레이 상에 디스플레이된 바와 같은 애플리케이션을 묘사한다.
[0014] 도 4는 일부 구현들에 따라, 애플리케이션으로부터 요청을 수신하고, 고정 방향 디스플레이의 차원(dimension)들을 전송함으로써 응답하고, 그리고 고정 방향 디스플레이의 차원들을 피팅(fit)하기 위하여 스케일링된 애플리케이션의 출력을 디스플레이하는 프로세스를 예시하는 흐름도이다.
[0015] 도 5는 일부 구현들에 따라, 애플리케이션으로부터 요청을 수신하고, 애플리케이션으로부터 수신된 출력을 자동으로 스케일링하고, 그리고 고정 방향 디스플레이의 차원들을 피팅하도록 스케일링된 애플리케이션의 출력을 디스플레이하는 프로세스를 예시하는 흐름도이다.
[0016] 동일한 참조 번호들은 도면들 도처에 걸쳐 대응하는 부분들을 지칭한다.
[0017] 일부 구현들에서, 고정 방향 및 에스펙트 비를 가진 디스플레이(가로 방향 디스플레이 및 16:9 에스펙트 비를 가진 큰, 평판 텔레비전 같은)를 가진 전자 디바이스는 또한 다른 타입들의 디바이스들(예를 들어, 스마트 폰들, 테블릿들, 랩톱 컴퓨터들, 미디어 플레이어들, 및 셋톱 박스들) 상에서 실행될 수 있는 오퍼레이팅 시스템(Android® 오퍼레이팅 시스템)을 실행하도록 구성된다. 오퍼레이팅 시스템들 사이의 이런 공통성의 장점은 또 다른 타입의 전자 디바이스 상에서 사용하기 위하여 원래 구성된 많은 애플리케이션들을 실행할 수 있다. 이것은 전자 디바이스 상에서 이용 가능한 애플리케이션들의 범위 및 수를 크게 증가시킨다. 그러나, 상이한 타입들의 디바이스들은 종종, 상이한 디바이스 타입들에 대해 개발된 애플리케이션들의 출력 포맷들이 전자 디바이스의 고정된 디스플레이 특성들(방향 및 에스펙트 비를 포함함)과 호환할 수 없다는 것을 의미하는 상이한 디스플레이 특성들을 가진다.
[0018] 일부 구현들에서, 전자 디바이스는 제 1 디바이스의 디스플레이 특성들의 측면에서 전자 디바이스 상에 만족스러운 디스플레이를 위해 애플리케이션의 출력을 구성할 전자 디바이스의 디스플레이 및/또는 디바이스 상에서 실행되는 애플리케이션들과 상호 작용하는 디스플레이 모듈을 포함한다. 일부 구현들에서, 디스플레이 모듈은 전자 디바이스 상에서 운용하는 애플리케이션으로부터 요청된 차원들 및 요청된 방향을 수신한다. 일부 구현들에서, 요청된 차원들 및 요청된 방향은 전자 디바이스와 연관된 고정 방향 디스플레이의 차원들 및 방향과 매칭한다. 만약 이것이 매칭하는 경우이면, 디스플레이에 대한 애플리케이션에 의해 출력된 데이터는 수정 없이 고정 방향 디스플레이 상에 디스플레이될 수 있다.
[0019] 일부 구현들에서, 요청된 방향 및 치수들은 고정 방향 디스플레이의 방향 및 치수들과 다르다. 이 경우, 애플리케이션이나 디바이스 그 자체는 출력된 데이터를 전자 디바이스와 연관된 고정 방향 디스플레이 상에 적절히 디스플레이되도록 변형해야 한다. 출력된 데이터를 변형하기 위해 전자 디바이스에 의해 취해지는 동작은 4개의 넓은 카테고리들 중 하나에 속할 것이며, 애플리케이션의 성능들에 좌우될 것이다. 제 1 카테고리에서, 애플리케이션 그 자체는 자신이 적절한 치수들 및 방향으로의 디스플레이를 위해 출력하는 데이터를 재구성할 수 있다. 제 2 카테고리에서, 애플리케이션은 출력 데이터의 치수들, 크기 또는 에스펙트 비를 변경할 수 있지만, (예를 들어, 디스플레이되는 콘텐츠의 타입과 같은) 애플리케이션의 한계들로 인해 애플리케이션은 고정 방향 디스플레이의 특정 방향 또는 치수들을 충족시킬 수 없다. 제 3 카테고리에서, 애플리케이션은 출력의 크기(치수들)를 스케일링할 수 있지만, 출력 데이터의 에스펙트 비를 변경할 수 없다. 이 경우, 데이터는 에스펙트 비는 그대로인 더 작은 버전으로 스케일링된다. 마지막으로, 제 4 카테고리에서, 애플리케이션은 자신이 디스플레이를 위해 출력하는 데이터를 전혀 스케일링할 수 없으며, 대신 전자 디바이스의 디스플레이 모듈이 애플리케이션에 의한 어떠한 스케일링도 없이 고정 방향 디스플레이 상에서의 디스플레이를 위해 출력을 자동으로 스케일링한다. 이러한 네 가지 시나리오들은 뒤에 더 상세히 설명될 것이다.
[0020] 일부 구현들에서, 요청된 치수들은 디스플레이의 치수들과 다를 것이며, 애플리케이션은 그 출력을 (애플리케이션 정보를 ― 일반적으로 스마트폰의 회전 방향을 기초로 ― 포트레이트 모드 또는 랜드스케이프 모드로 디스플레이할 수 있는 스마트폰을 위해 개발된 애플리케이션과 같은) 서로 다른 방향들로 그리고 서로 다른 치수들로 디스플레이하도록 구성된다. 이 상황은 위에 언급한 제 1 카테고리에 속할 것이다. 이러한 타입의 애플리케이션의 경우, 일부 구현들에서 디스플레이 모듈은 전자 디바이스 상에서 애플리케이션의 출력의 최소한 만족스러운 디스플레이를 가능하게 하기 위해 애플리케이션에 의해 출력되는 데이터에 대한 적절한 디스플레이 방향 및 에스펙트 비를 설정하도록 애플리케이션과 상호 작용한다.
[0021] 예를 들어, 전자 디바이스 상에서 실행될 애플리케이션이 캘린더를 포트레이트 또는 랜드스케이프 방향으로 그리고 최대 치수들로 캘린더 뷰들을 디스플레이하도록 설계된 캘린더 애플리케이션이라고 간주한다. 이러한 애플리케이션은 디스플레이의 방향 및 치수들에 대한 전자 디바이스로부터의 통보 수신에 응답하여, 디스플레이될 정보의 치수들 및 방향을 적절한 방향과 매칭하도록 그리고 정확한 치수들로 디스플레이되도록 스케일링할 것이다. 그 다음, 애플리케이션에 의해 출력되는 데이터가 고정 방향 디바이스 상에 디스플레이된다.
[0022] 일부 실시예들에서, 요구되는 치수들은 디스플레이의 치수들과 상이하며, 애플리케이션은 크기 및 에스펙트 비를 변화시키지만 디스플레이 데이터의 방향을 변경하지 않는 성능을 갖도록 구성된다. 이러한 상황은 상기 언급된 제 2 카테고리로 나뉠 것이다. 이러한 경우, 애플리케이션은 모든 애플리케이션 정보가, 그러나 디스플레이의 단지 일부에 대해서만 디스플레이되도록, 정보의 출력 치수들을 결정할 것이다. 예를 들면, 애플리케이션이 가로방향 방향으로 16:9의 에스펙트 비로 정보를 디스플레이하도록 구성되고 그리고 고정 방향의 디스플레이가 9:16의 에스펙트 비를 갖는 세로방향 방향을 갖는 경우, 애플리케이션 디스플레이 윈도우의 16:9 에스펙트 비를 유지하는 것은 디스플레이의 약 30%가 애플리케이션의 출력을 디스플레이하기 위해 이용되는 결과를 가져올 것이다(애플리케이션 에스펙트 비가 디스플레이될 때 유지되도록 하기 위해, 애플리케이션으로부터의 정보가 고정된 디스플레이 상에 레터 박스 포맷(letter box format)으로 디스플레이될 것이라는 사실에 기인함).
[0023] 일부 실시예들에서, 디스플레이의 보다 많은 스크린 리얼 이스테이트(real eastate)를 이용하기 위해, 애플리케이션은 최초의 16:9의 에스펙트 비 대신 4:3의 에스펙트 비로 디스플레이된 정보의 에스펙트 비를 수정할 것이다. 이러한 상황은 상기 언급된 제 3 카테고리로 나뉠 것이다. 이는 애플리케이션 정보의 표시를 위해 디스플레이의 스크린 리얼 이스테이트의 40% 초과를 이용하는 효과를 가질 것이다. 따라서, 일부 실시예들에 따르면, 전자 디바이스는 고정 방향의 디스플레이를 가능한 범위에서 이용하도록, 요구되는 방향 및 치수들과 연관되는 에스펙트 비와 상이한 에스펙트 비를 갖는 치수들을 결정한다. 이러한 스케일링이 이루어질 수 있는 방법의 예시를 위해서, 하기에 첨부한 논의 및 도 3b를 참조한다. 그 후 전자 디바이스는 애플리케이션으로부터 스케일링된 출력을 수신한다. 수신된 출력은 그 후 고정 방향의 디스플레이 상에 디스플레이된다.
[0024] 일부 실시예들에서, 요구되는 치수들은 디스플레이의 치수들과 상이하며, 애플리케이션은 디스플레이 데이터의 크기(스케일)를 변화시키지만, 출력 디스플레이 데이터의 방향 또는 에스펙트 비를 변화시키지 않는 성능을 갖도록 구성된다. 이러한 경우, 디스플레이 모듈은, 출력의 에스펙트 비가 주어지는 경우, 애플리케이션에 대해 이용가능한 최대 스크린 공간을 나타내는 치수들을 결정하며, 애플리케이션에 대해 결정된 치수들을 전송한다. 애플리케이션은 그 후 디스플레이 데이터를 디스플레이 모듈로부터 수신된 치수들로 스케일링 다운(scale down)한다. 디스플레이 데이터는 최초에 요구되는 치수보다 더 작은 치수들을 가지지만 동일한 에스펙트 비를 가질 것이다. 이러한 스케일링이 이루어질 수 있는 방법의 예시를 위해서 하기에 첨부한 논의 및 도 3a를 참조한다. 스케일링된 출력 데이터는 그 후 고정 방향의 디스플레이 상에 디스플레이된다.
[0025] 일부 구현들에 따라, 요청된 치수들은 디스플레이의 치수들과 상이하고, 애플리케이션은 애플리케이션이 출력하는 디스플레이 데이터를 애플리케이션에 의해 요청된 방향 및 치수들과 상이한 방향 및 치수들로 스케일링하는 능력 없이 구성된다. 이러한 상황은 위에서 앞서 언급된 카테고리에 속할 것이다. 예를 들면, 디지털 비디오 시청 애플리케이션 또는 비디오 게임 애플리케이션은 특정 방향으로만 그리고 특정 치수들에서만 실행되도록 설계될 수 있다. 따라서, 일부 구현들에서, 전자 디바이스가 애플리케이션으로부터 수신하는 출력 데이터는 요청된 제 2 방향 및 제 2 치수들에 있고, 고정 방향 디스플레이의 제 1 치수 내에 맞도록 스케일링되지 않는다.
[0026] 이것이 그 경우일 때, 전자 디바이스의 디스플레이 모듈은 디스플레이의 치수 내에 맞기 위해 애플리케이션으로부터 수신된 출력 데이터를 자동적으로 스케일링하도록 구성된다. 스케일링된 출력 데이터는, 애플리케이션에 의해 원래 요청된 것보다 더 작은 치수들로 디스플레이될 것이다. 예를 들면, 스마트 폰 상에서 세로 방향의(portrait) 방향으로 디스플레이되도록 구성된 게임 애플리케이션이 가로 방향의(landscape) 방향으로 고정된 디스플레이를 갖는 개인용 컴퓨터 상에서 실행되면, 게임 애플리케이션 자체는 애플리케이션이 전자 디바이스로 전송한 시각 데이터 출력을 스케일링하지 않을 것이다. 대신에, 전자 디바이스는 애플리케이션을 요청된 방향으로 디스플레이하기 위해 이용 가능한 치수들을 결정할 것이다. 일부 구현들에서, 치수들은, 애플리케이션을 요청된 제 2 방향으로 여전히 디스플레이하면서, 디스플레이의 가능한 큰 부분을 사용하도록 결정된다. 이러한 스케일링이 이루어지는 방법의 예시를 위해, 도 3a 및 아래의 첨부된 논의를 참조하라. 일단 새로운 치수들이 결정되면, 애플리케이션으로부터의 출력 데이터는 결정된 치수들로 자동적으로 스케일링되고, 고정 방향 디스플레이 상에 디스플레이된다.
[0027] 일부 구현들에서, 요구된 치수들은, 애플리케이션이 디스플레이 방향 및 치수들을 처음 요청할 때 단지 한번 결정된다. 이어서, 결정된 치수들은, 애플리케이션이 새로운 치수들을 요청하거나 디스플레이를 위한 데이터 출력을 중단할 때까지 애플리케이션으로부터의 출력을 자동적으로 스케일링하는데 사용될 수 있다. 이어서, 전자 디바이스는 스케일링된 출력을 고정 방향 디스플레이 상에서 디스플레이한다.
[0028] 도 1은 일부 구현들에 따른, 고정 방향 디스플레이를 갖는 전자 디바이스를 예시하는 블록도이다. 전자 디바이스(100)는 하나 또는 그 초과의 애플리케이션들(102), 디스플레이 모듈(114)(윈도우 관리기(104), 합성기/디스플레이 관리기(106) 및 디스플레이 버퍼(108)를 포함함), 디스플레이(110) 및 선택적으로, 통신 네트워크 인터페이스(112)를 포함한다. 통신 네트워크 인터페이스(112)는 로컬 영역 네트워크들(LAN), 광역 네트워크들(WAN), 무선 네트워크들, 유선 네트워크들, 인터넷 또는 그러한 네트워크들의 조합을 비롯해서 다양한 네트워크들 중 임의의 것에 접속될 수 있다.
[0029] 일부 구현들에 따라, 하나 또는 그 초과의 애플리케이션들(102)은 전자 디바이스 상에서 실행될 수 있는 임의의 타입의 애플리케이션일 수 있다. 예를 들면, 하나 또는 그 초과의 애플리케이션들(102)은 게임 애플리케이션들, 비디오 디스플레이 애플리케이션들, 워드 프로세싱 애플리케이션, 생산성 애플리케이션들, 이메일 애플리케이션들, 인터넷 브라우징 애플리케이션들 및 많은 다른 것들을 포함할 수 있다. 일부 구현들에서, 하나 또는 그 초과의 애플리케이션들(102)은 구체적으로 특정 방향 및 특정 치수들을 갖는 특정 전자 디바이스 상에서 실행되도록 구성된다.
[0030]일부 구현들에서, 하나 또는 그보다 많은 애플리케이션들(102)은 매우 다양한 전자 디바이스들에서 실행되도록 설계되었다. 일부 구현들에서, 하나 또는 그보다 많은 애플리케이션들(102)은 다중-디바이스 플랫폼에 대해 기록되었다. 예를 들어, 안드로이드 운영 시스템®은 스마트폰과 태플릿들을 비롯한 매우 다양한 전자 디바이스들에서 사용되고, 따라서, 안드로이드 운영 시스템®용으로 구성된 애플리케이션들이 동일한 매우 다양한 디바이스들에서 사용되도록 이용가능해질 것이다. 어떤 경우들에서는, 플랫폼이 새로운 타입의 전자 디바이스로 확장된다. 이와 같이, 특정 디스플레이 방향, 차원 또는 크기로 나타내어지도록 구성되었던 애플리케이션들이 본래 구성되지 않았던 디스플레이에서 나중에 실행될 필요가 있을 수 있다.
[0031]일부 구현들에서, 디스플레이 모듈(114)은 하나 또는 그보다 많은 애플리케이션들(102)로부터 정보를 수신하고 이것을 윈도우 관리자(104)로 전달한다. 이러한 정보는, 출력된 데이터를 요청된 방향과 요청된 차원들(116)로 디스플레이하도록 하는 하나 또는 그보다 많은 애플리케이션들(102)로부터의 요청들 및 하나 또는 그보다 많은 애플리케이션들(102)에 의해 생성된 출력 디스플레이 데이터(118)를 포함하며, 이것으로 제한되지 않는다. 일부 구현들에서, 윈도우 관리자(104)는, 전자 디바이스가 하나 또는 그보다 많은 애플리케이션들(102)로부터의 출력을 요청된 방향과 차원(116)에서 디스플레이할 수 있는 연관 디스플레이(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) 및 윈도우 관리자(140)에 의해 결정된 크기들은 컴포지터/디스플레이 관리자(106)에 전송된다.
[0034] 몇몇 구현들에 따르면, 컴포지터(compositor)/디스플레이 관리자(106)는, 고정 방향 디스플레이(110) 상에 디스플레이될 데이터의 최종 버전을 구성한다. 합성기/디스플레이 관리자(106)는, 하나 또는 그 초과의 애플리케이션들(102)로부터 윈도우 관리자(104)로부터의 디스플레이 정보를 수신하고, 모든 수신된 데이터를 최종 디스플레이 어레인지먼트(arrangement)로 배열한다. 몇몇 구현들에서, 윈도우 관리자(104)로부터 수신된 정보는, 변형 없이, 고정 방향 디스플레이(110) 상에서의 디스플레이를 위해 출력되기를 준비한다. 몇몇 구현들에서, 디스플레이 관리자(106)는, 하나 또는 그 초과의 애플리케이션들(102)에 의해 출력된 디스플레이 데이터와 함께, 결정된 차원(dimension)들을 수신한다. 컴포지터/디스플레이 관리자(106)는, 자신의 본래의 차원들로부터의 수신된 정보를 디스플레이를 위한 결정된 차원들로 자동적으로 스캐일링하도록, 결정된 차원들을 사용한다.
[0035] 그 후, 몇몇 구현들에서, 컴포지터/디스플레이 관리자(106)는 새로이 스캐일링된 정보를 조정된 방향 디스플레이 상의 중심에 놓는다. 몇몇 구현들에서, 컴포지터/디스플레이 관리자(106)는, 블랙과 같은 표준 컬러를 이용하여 애플리케이션(102)에 의해 출력된 디스플레이 데이터를 디스플레이하지 않는 디스플레이의 일부들을 채운다. 이것은, 애플리케이션(102)으로부터의 스캐일링된 출력 디스플레이 정보를 현재 디스플레이하지 않는 디스플레이(110)의 모든 영역들에서 디스플레이되는 균일한 컬러를 갖는 "레터-박싱(letter-boxing)" 또는 "필러-박싱(pillar-boxing)" 효과를 초래한다. 몇몇 구현들에서, 컴포지터/디스플레이 관리자(106)는, 1개 초과의 애플리케이션(102)으로부터 출력 데이터(120)를 수신하고, 전자 디스플레이(100)의 디폴트 법칙들 또는 사용자의 선호도들에 따라 디스플레이(110) 상에 다수의 애플리케이션들을 배열한다. 일단 컴포지터/디스플레이 관리자(06)가 윈도우 관리자(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(들)(212)로부터 원격으로 로케이팅된 하나 또는 그 초과의 저장 디바이스들을 선택적으로 포함할 수도 있다. 메모리(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)에서의 디스플레이에 대한 결정된 크기(dimension)들 또는 결정된 방향에 적합하도록 스케일링되지 않는, 하나 또는 둘 이상의 애플리케이션들(102)로부터 윈도우 매니저(104)에 의해 수신되는 데이터를 포함한다; 그리고
ㆍ출력된 스케일링된 데이터는 컴퍼지터(compositor)/디스플레이 매니저(도 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)의 부분들은 여분(excess) 스크린 공간(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) 그 자체에 의해 또는 컴포지터(compositor)(도 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)은 요청된 방향이 랜드스케이프 방향(landscape orientation)이라는 통지를 수신한다.
[0045] 일부 구현들에 따르면, 애플리케이션(도 1, 102)은, 제 1 방향 및 고정 방향 디스플레이와 연관된 제 1 크기에 기초하여 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정한다(도 1, 102)(406). 예를 들어, 요청된 제 2 크기들이 1920×1080이고 제 2 방향이 랜드스케이프 방향인 것으로 결정되고 그리고 제 1 방향이 포트레이트 방향(portrait orientation)을 갖는다면, 애플리케이션(도 1, 102)은, 제 1 및 제 2 크기들에 기초하여, 고정 방향 디스플레이(도 1, 110) 상에 애플리케이션 출력을 디스플레이하기 위한 최적의 크기들을 결정한다. 일부 구현들에 따르면, 애플리케이션(도 1, 102)은 결정된 최적의 크기들에 매칭하도록 출력 데이터를 스케일링한다(408).
[0046] 일부 구현들에 따르면, 애플리케이션(도 1, 102)은 그후 고정 방향 디스플레이(도 1, 110) 상의 디스플레이를 위해 전자 디바이스에 스케일링된 출력 데이터를 송신한다(410).
[0047] 일부 구현들에 따르면, 스케일링된 출력을 송신하는 것은, 고정 방향 디스플레이(도 1, 110) 상에 애플리케이션의 출력을 디스플레이하기 위한 명령들을 송신하는 것을 포함하고, 고정 방향 디스플레이의 중심에 애플리케이션의 디스플레이된 출력의 중심을 두는(centering) 것을 포함한다(412). 일부 구현들에 따르면, 스케일링된 출력을 송신하는 것은, 고정 방향 디스플레이(도 1, 110) 상에 애플리케이션의 출력을 디스플레이하기 위한 명령들을 송신하는 것을 포함하고, 애플리케이션의 출력을 디스플레이하지 않는 고정된 스크린 디스플레이(도 1, 110)의 영역들을 검게 지우는 것을 포함한다(414).
[0048] 일부 구현들에서, 애플리케이션(도 1, 102)의 출력은, 요청된 크기들의 에스펙트 비(aspect ratio)와는 상이하지만 반드시 스크린 사용을 최대화하는 것은 아닌 에스펙트 비로 스케일링된다. 예를 들어, 애플리케이션은 특정 유형의 애플리케이션에 대해 잘 알려진 또는 이 애플리케이션에 대해 통상적으로 이용되는 에스펙트 비로 변경될 수 있다. 익숙한 에스펙트 비로 애플리케이션을 디스플레이함으로써, 애플리케이션이 가장 선호되는 방향 및 에스펙트 비로 디스플레이되지 않는다고 하더라도 사용자 경험은 개선될 수 있다. 이는, 고정 방향 디스플레이(도 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)의 비율(percentage)을 증가시키도록 결정된다.
[0052] 일부 구현예들에 따르면, 전자 디바이스(도 1, 100)는, 어플리케이션에 의해서 출력되는 데이터가 어플리케이션에 의해서 본래 요청된 공간보다 더 작은 디스플레이 공간에서 디스플레이되도록, 어플리케이션(도 1, 102)으로부터 수신된 출력이 제 1 치수들 내에 맞춰지게 자동적으로 스케일링한다(508).
[0053] 전자 디바이스(도 1, 100)는 스케일링된 출력을 고정 방향 디스플레이(도 1, 110) 상에 디스플레이한다(510). 일부 구현예들에 따르면, 어플리케이션(도 1, 102)의 출력을 고정 방향 디스플레이(도 1, 110) 상에 디스플레이하는 것은, 어플리케이션(도 1, 102)의 디스플레이되는 출력을 고정 방향 디스플레이의 중앙에 중심을 맞추는(centering) 것을 포함한다(512). 일부 구현예들에 따르면, 어플리케이션(도 1, 102)의 출력을 고정 방향 디스플레이(도 1, 110) 상에 디스플레이하는 것은, 어플리케이션의 출력을 디스플레이하지 않는, 고정 방향 디스플레이의 영역들을 소등하는(blacking out) 것을 포함한다(514).
[0054] 설명의 목적을 위한 전술한 설명은 특정한 구현들을 참조하여 설명되었다. 그러나, 위의 예시적인 설명들은, 완전하도록 또는 본 발명을 기재된 명확한 형태들에 한정하도록 의도되지 않는다. 상기 교시들을 고려하여 많은 변형들 및 변경들이 가능하다. 구현들은, 본 발명의 원리들 및 본 발명의 실제의 애플리케이션들을 가장 양호하게 설명하기 위해, 그에 의해, 고려된 특정한 사용에 적합한 바와 같은 다양한 변형들을 이용하여 본 발명 및 다양한 구현들을 당업자가 가장 양호하게 이용할 수 있게 하기 위해 선택되고 설명되었다.
[0055] 용어들 제 1, 제 2 등이 다양한 엘리먼트들을 설명하기 위해 본 명세서에서 사용될 수도 있지만, 이들 엘리먼트들은 이들 용어들에 의해 제한되지 않아야 함이 또한 이해될 것이다. 이들 용어들은 하나의 엘리먼트를 다른 엘리먼트와 구별하기 위해서만 사용된다. 예를 들어, 본 구현들의 범위를 벗어나지 않으면서, 제 1 접촉은 제 2 접촉으로 지칭될 수 있고, 유사하게, 제 2 접촉은 제 1 접촉으로 지칭될 수 있다. 제 1 접촉 및 제 2 접촉은 둘 모두가 접촉들이지만 그들이 동일한 접촉은 아니다.
[0056] 본 명세서에서 구현들의 설명에 사용된 용어는, 단지 특정한 구현들을 설명하는 목적을 위해서이며 제한하는 것으로 의도되지 않는다. 구현들 및 첨부된 청구항들의 설명에서 사용된 바와 같은 단수 형태들은, 맥락이 명확이 달리 표시하지 않으면, 복수 형태들을 또한 포함하도록 의도된다. 본 명세서에 사용된 바와 같이, 용어 "및/또는"은, 연관된 열거된 아이템들 중 하나 또는 그 초과의 임의의 가능한 결합들 및 모든 가능한 결합들을 지칭하고 포함함이 또한 이해될 것이다. 본 명세서에서 사용되는 경우, 용어들 "포함하다" 및/또는 "포함하는"은, 나타낸 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 또는 그 초과의 다른 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 그들의 그룹들의 존재 또는 부가를 배제하지 않음이 추가적으로 이해될 것이다.
[0057] 본 명세서에서 사용되는 경우, 용어 "만약(if)"은, 맥락에 의존하여 "경우(when)" 또는 "때(upon)" 또는 "결정에 응답하여" 또는 "검출에 응답하여"를 의미하도록 해석될 수도 있다. 유사하게, 어구 "결정되면" 또는 "(나타낸 조건 또는 이벤트가) 검출된다면"은, 맥락에 의존하여 "결정할 때" 또는 "결정에 응답하여" 또는 "(나타낸 조건 또는 이벤트를) 검출할 때" 또는 "(나타낸 조건 또는 이벤트를) 검출하는 것에 응답하여"를 의미하도록 해석될 수 있다.

Claims (20)

  1. 애플리케이션으로부터의 출력을 고정 방향 디스플레이상에 디스플레이하는 방법으로서,
    하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장한 메모리를 가진 전자 디바이스상에 저장된 애플리케이션에서,
    상기 애플리케이션은,
    상기 애플리케이션이 저장되는 전자 디바이스에, 상기 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을 전송하는 단계;
    상기 전자 디바이스와 연관된 디스플레이가 제 1 방향 및 제 1 크기들을 가진 고정 방향 디스플레이라는 통지 및 요청된 제 2 방향 및 제 2 크기들이 제 1 방향과 상이하다는 통지를 상기 전자 디바이스로부터 수신하는 단계;
    상기 고정 방향 디스플레이와 연관된 상기 제 1 방향 및 상기 제 1 크기들에 기초하여 상기 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정하는 단계;
    결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링하는 단계;
    상기 고정 방향 디스플레이상에 디스플레이하기 위하여 상기 전자 디바이스에 스케일링된 출력 데이터를 전송하는 단계를 포함하는, 애플리케이션으로부터의 출력을 고정 방향 디스플레이상에 디스플레이하는 방법.
  2. 제 1항에 있어서, 최적 에스펙트 비의 최적 에스펙트 비는 상기 요청된 제 2 크기들의 제 2 에스펙트 비와 동일한, 애플리케이션으로부터의 출력을 고정 방향 디스플레이상에 디스플레이하는 방법.
  3. 제 1항에 있어서, 결정된 최적 크기들의 최적 에스펙트 비는 상기 애플리케이션에 의해 요청된 상기 제 2 크기들의 제 2 에스펙트 비와 상이하며, 상기 최적 에스펙트 비로 상기 애플리케이션의 출력을 디스플레이하는 것은 상기 제 2 에스펙트 비로 상기 출력을 디스플레이할 때 사용되는 것보다 더 큰 상기 고정 방향 디스플레이의 비율을 사용하는, 애플리케이션으로부터의 출력을 고정 방향 디스플레이상에 디스플레이하는 방법.
  4. 제 1항에 있어서, 상기 애플리케이션의 출력을 전송하는 단계는 상기 고정 방향 디스플레이의 중심에 상기 애플리케이션의 디스플레이된 출력을 집중시키기 위한 명령들을 전송하는 단계를 더 포함하는, 애플리케이션으로부터의 출력을 고정 방향 디스플레이상에 디스플레이하는 방법.
  5. 제 4항에 있어서, 상기 애플리케이션의 출력은 상기 애플리케이션의 출력을 디스플레이하지 않는, 고정 방향 디스플레이의 영역들을 검게 지우기(black out) 위한 명령들을 전송하는 단계를 더 포함하는, 애플리케이션으로부터의 출력을 고정 방향 디스플레이상에 디스플레이하는 방법.
  6. 고정 방향 디스플레이상에 애플리케이션을 디스플레이하는 방법으로서,
    하나 이상의 프로세서들, 상기 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장한 메모리 및 제 1 방향을 가진 고정 방향 디스플레이를 가진 전자 디바이스상에서,
    상기 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을, 상기 전자 디바이스상에서 실행되는 애플리케이션으로부터 수신하는 단계;
    상기 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제 2 방향과 상이한 제 1 방향을 가진 고정 방향 디스플레이임을 결정하는 단계;
    디스플레이하기 위한 상기 애플리케이션으로부터의 출력을 수신하는 단계;
    상기 애플리케이션으로부터의 출력을 디스플레이하기 위하여 이용가능한 제 1 디스플레이 공간의 제 1 크기들을 결정하는 단계;
    상기 애플리케이션에 의해 출력된 데이터가 상기 애플리케이션에 의해 원래 요청되었던 것보다 더 작은 상기 디스플레이의 부분으로서 디스플레이되도록, 상기 애플리케이션으로부터 수신된 출력을 상기 제 1 크기들에 맞게 자동적으로 스케일링하는 단계; 및
    상기 제 1 크기들을 가진 스케일링된 출력을 상기 고정 방향 디스플레이상에 디스플레이하는 단계를 포함하는, 고정 방향 디스플레이상에 애플리케이션을 디스플레이하는 방법.
  7. 제 6항에 있어서, 상기 애플리케이션의 출력을 디스플레이하는 단계는 상기 애플리케이션의 출력을 디스플레이하지 않는, 상기 고정 방향 디스플레이의 영역들을 검게 지우는 단계를 더 포함하는, 고정 방향 디스플레이상에 애플리케이션을 디스플레이하는 방법.
  8. 고정 방향 디스플레이상에 애플리케이션으로부터의 출력을 디스플레이하기 위한 전자 디바이스로서,
    하나 이상의 프로세서들;
    제 1 방향을 가진 고정 방향 디스플레이; 및
    상기 하나 이상의 프로세서들에 의해 실행될 하나 이상의 애플리케이션들을 저장하는 메모리를 포함하며,
    상기 하나 이상의 애플리케이션들 중 하나의 애플리케이션은,
    상기 애플리케이션이 저장되는 전자 디바이스에, 상기 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을 전송하며;
    상기 전자 디바이스와 연관된 디스플레이가 제 1 방향 및 제 1 크기들을 가진 고정 방향 디스플레이라는 통지 및 요청된 제 2 방향 및 제 2 크기들이 제 1 방향과 상이하다는 통지를 상기 전자 디바이스로부터 수신하며;
    상기 고정 방향 디스플레이와 연관된 제 1 방향 및 제 1 크기들에 기초하여 상기 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정하며;
    결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링하며;
    상기 고정 방향 디스플레이상에 디스플레이하기 위하여 상기 전자 디바이스에 스케일링된 출력 데이터를 전송하기 위한 명령들을 포함하는, 고정 방향 디스플레이상에 애플리케이션으로부터의 출력을 디스플레이하기 위한 전자 디바이스.
  9. 제 8항에 있어서, 최적 에스펙트 비의 최적 에스펙트 비는 상기 요청된 제 2 크기들의 제 2 에스펙트 비와 동일한, 고정 방향 디스플레이상에 애플리케이션으로부터의 출력을 디스플레이하기 위한 전자 디바이스.
  10. 제 8항에 있어서, 상기 결정된 최적 크기들의 최적 에스펙트 비는 상기 애플리케이션에 의해 요청된 상기 제 2 크기들의 제 2 에스펙트 비와 상이하며, 상기 최적 에스펙트 비로 상기 애플리케이션의 출력을 디스플레이하는 것은 상기 제 2 에스펙트 비로 상기 출력을 디스플레이할 때 사용되는 것보다 더 큰 상기 고정 방향 디스플레이의 비율을 사용하는, 고정 방향 디스플레이상에 애플리케이션으로부터의 출력을 디스플레이하기 위한 전자 디바이스.
  11. 제 8항에 있어서, 상기 애플리케이션의 출력을 디스플레이하는 것은 상기 고정 방향 디스플레이의 중심에 상기 애플리케이션의 디스플레이된 출력을 집중시키는 것을 더 포함하는, 고정 방향 디스플레이상에 애플리케이션으로부터의 출력을 디스플레이하기 위한 전자 디바이스.
  12. 고정 방향 디스플레이상에 애플리케이션을 디스플레이하기 위한 전자 디바이스로서,
    하나 이상의 프로세서들;
    고정 방향을 가진 고정 방향 디스플레이; 및
    상기 하나 이상의 프로세서들에 의해 실행될 하나 이상의 프로그램들을 저장하는 메모리를 포함하며;
    상기 하나 이상의 프로그램들은,
    상기 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을, 상기 전자 디바이스상에서 실행되는 애플리케이션으로부터 수신하며;
    상기 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제 2 방향과 상이한 제 1 방향을 가진 고정 방향 디스플레이임을 결정하며;
    디스플레이하기 위한 상기 애플리케이션으로부터의 출력을 수신하는 단계;
    상기 애플리케이션으로부터의 출력을 디스플레이하기 위하여 이용가능한 제 1 디스플레이 공간의 제 1 크기들을 결정하며;
    상기 애플리케이션에 의해 출력된 데이터가 상기 애플리케이션에 의해 원래 요청되었던 것보다 더 작은 상기 디스플레이의 부분으로서 디스플레이되도록, 상기 애플리케이션으로부터 수신된 출력을 상기 제 1 크기들에 맞게 자동적으로 스케일링하며; 그리고
    상기 제 1 크기들을 가진 스케일링된 출력을 상기 고정 방향 디스플레이상에 디스플레이하기 위한 명령들을 포함하는, 고정 방향 디스플레이상에 애플리케이션을 디스플레이하기 위한 전자 디바이스.
  13. 제 12항에 있어서, 상기 애플리케이션의 출력을 디스플레이하기 위한 명령들은 상기 애플리케이션의 출력을 디스플레이하지 않는, 상기 고정 방향 디스플레이의 영역들을 검게 지우기 위한 명령들을 더 포함하는, 고정 방향 디스플레이상에 애플리케이션으로부터의 출력을 디스플레이하기 위한 전자 디바이스.
  14. 제 1 방향으로 포지셔닝된 고정 방향 디스플레이를 가진 전자 디바이스에 의해 실행하기 위하여 구성된 하나 이상의 애플리케이션들을 저장하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 하나 이상의 애플리케이션들 중 하나의 애플리케이션은,
    상기 애플리케이션이 저장되는 전자 디바이스에, 상기 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을 전송하며;
    상기 전자 디바이스와 연관된 디스플레이가 제 1 방향 및 제 1 크기들을 가진 고정 방향 디스플레이라는 통지 및 요청된 제 2 방향 및 제 2 크기들이 제 1 방향과 상이하다는 통지를 상기 전자 디바이스로부터 수신하며;
    상기 고정 방향 디스플레이와 연관된 제 1 방향 및 제 1 크기들에 기초하여 상기 애플리케이션으로부터의 출력을 디스플레이하기 위한 최적의 크기들을 결정하며;
    결정된 최적의 크기들과 매칭되도록 출력 데이터를 스케일링하며;
    상기 고정 방향 디스플레이상에 디스플레이하기 위하여 상기 전자 디바이스에 스케일링된 출력 데이터를 전송하기 위한 명령들을 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  15. 제 14항에 있어서, 결정된 제 1 크기들의 제 1 에스펙트 비는 상기 제 2 크기들의 제 2 에스펙트 비와 동일한, 비-일시적 컴퓨터 판독가능 저장 매체.
  16. 제 14항에 있어서, 결정된 제 1 크기들의 제 1 에스펙트 비는 상기 애플리케이션에 의해 요청된 상기 제 2 크기들의 제 2 에스펙트 비와 상이하며, 상기 제 1 에스펙트 비로 상기 애플리케이션의 출력을 디스플레이하는 것은 상기 제 2 에스펙트 비로 상기 출력을 디스플레이할 때 사용되는 것보다 더 큰 상기 고정 방향 디스플레이의 비율을 사용하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  17. 제 14항에 있어서, 상기 애플리케이션의 출력을 디스플레이하기 위한 명령들은 상기 애플리케이션의 출력을 디스플레이하지 않는, 상기 고정 방향 디스플레이의 영역들을 검게 지우기 위한 명령들을 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  18. 제 1 방향으로 포지셔닝된 고정 방향 디스플레이를 가진 전자 디바이스에 의해 실행하기 위하여 구성된 하나 이상의 프로그램들을 저장하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
    상기 하나 이상의 프로그램들은,
    상기 애플리케이션으로부터의 출력을 제 2 크기들과 제 2 방향으로 디스플레이하기 위한 요청을, 상기 전자 디바이스상에서 실행되는 애플리케이션으로부터 수신하며;
    상기 애플리케이션으로부터 수신된 출력 데이터가 디스플레이되는 디스플레이가 요청된 제 2 방향과 상이한 제 1 방향을 가진 고정 방향 디스플레이임을 결정하며;
    디스플레이하기 위한 상기 애플리케이션으로부터의 출력을 수신하며;
    상기 애플리케이션으로부터의 출력을 디스플레이하기 위하여 이용가능한 제 1 디스플레이 공간의 제 1 크기들을 결정하며;
    상기 애플리케이션에 의해 출력된 데이터가 상기 애플리케이션에 의해 원래 요청되었던 것보다 더 작은 상기 디스플레이의 부분으로서 디스플레이되도록, 상기 애플리케이션으로부터 수신된 출력을 상기 제 1 크기들에 맞게 자동적으로 스케일링하며; 그리고
    상기 제 1 크기들을 가진 스케일링된 출력을 상기 고정 방향 디스플레이상에 디스플레이하기 위한 명령들을 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  19. 제 18항에 있어서, 상기 애플리케이션의 출력을 디스플레이하기 위한 명령들은 상기 고정 방향 디스플레이의 중심에 상기 애플리케이션의 디스플레이된 출력을 집중시키기 위한 명령들을 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
  20. 제 19항에 있어서, 상기 애플리케이션의 출력을 디스플레이하기 위한 명령들은 상기 애플리케이션의 출력을 디스플레이하지 않는, 상기 고정 방향 디스플레이의 영역들을 검게 지우기 위한 명령들을 더 포함하는, 비-일시적 컴퓨터 판독가능 저장 매체.
KR1020157010302A 2012-09-21 2013-09-20 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이 KR102126987B1 (ko)

Applications Claiming Priority (3)

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
PCT/US2013/060991 WO2014047480A1 (en) 2012-09-21 2013-09-20 Displaying applications on a fixed orientation display

Related Child 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
KR20150060825A true KR20150060825A (ko) 2015-06-03
KR102126987B1 KR102126987B1 (ko) 2020-07-07

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 (2)

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 고정 배향 디스플레이 상에서의 애플리케이션들의 디스플레이

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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097693A (ko) * 2015-12-24 2018-08-31 후아웨이 테크놀러지 컴퍼니 리미티드 이동 단말 상에 다수의 애플리케이션 윈도우들을 디스플레이하는 방법, 및 이동 단말

Families Citing this family (8)

* 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
CN105760178B (zh) * 2016-03-17 2019-03-26 网易(杭州)网络有限公司 对界面控件进行适配的方法及装置
CN109565644A (zh) * 2016-07-29 2019-04-02 飞利浦照明控股有限公司 用于基于位置的服务的设备
KR20180046609A (ko) * 2016-10-28 2018-05-09 삼성전자주식회사 홀 영역을 가지는 전자 장치 및 전자 장치의 홀 영역 제어방법
CN107168673B (zh) * 2017-05-16 2021-01-22 西安万像电子科技有限公司 窗口的控制方法、装置和系统、存储介质及处理器
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
KR20030093881A (ko) * 2002-06-05 2003-12-11 삼성전자주식회사 자동 화면비율 조정이 가능한 디지털 방송신호 수신장치
KR20100035924A (ko) * 2008-09-29 2010-04-07 삼성전자주식회사 디스플레이장치 및 외부입력장치를 가지는 디스플레이 시스템과 그 제어 방법
KR20100101279A (ko) * 2009-03-09 2010-09-17 삼성전자주식회사 디스플레이장치 및 그 제어방법

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
CN1311701C (zh) * 2004-02-02 2007-04-18 英华达股份有限公司 具有自动调整画面功能的移动电话通讯装置以及自动调整画面的方法
US7528846B2 (en) 2005-02-23 2009-05-05 Microsoft Corporation Systems and methods to adjust a source image aspect ratio to match a different target display aspect ratio
US20080007648A1 (en) * 2006-06-23 2008-01-10 Amlogic, Inc. Real time scaling and rotating decoded image data
CN101639753A (zh) * 2008-08-01 2010-02-03 鸿富锦精密工业(深圳)有限公司 具有触摸屏的电子设备及其画面比例调节方法
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 엘지전자 주식회사 이동단말기, 디스플레이 장치 및 그 제어 방법
CN107122168A (zh) * 2010-10-01 2017-09-01 Z124 多操作系统
US8963799B2 (en) * 2011-01-11 2015-02-24 Apple Inc. Mirroring graphics content to an external display
EP2695049A1 (en) * 2011-05-10 2014-02-12 NDS Limited 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
KR20030093881A (ko) * 2002-06-05 2003-12-11 삼성전자주식회사 자동 화면비율 조정이 가능한 디지털 방송신호 수신장치
KR20100035924A (ko) * 2008-09-29 2010-04-07 삼성전자주식회사 디스플레이장치 및 외부입력장치를 가지는 디스플레이 시스템과 그 제어 방법
KR20100101279A (ko) * 2009-03-09 2010-09-17 삼성전자주식회사 디스플레이장치 및 그 제어방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097693A (ko) * 2015-12-24 2018-08-31 후아웨이 테크놀러지 컴퍼니 리미티드 이동 단말 상에 다수의 애플리케이션 윈도우들을 디스플레이하는 방법, 및 이동 단말
CN110324489A (zh) * 2015-12-24 2019-10-11 华为技术有限公司 一种移动终端显示多个应用窗口的方法及移动终端
US11620029B2 (en) 2015-12-24 2023-04-04 Huawei Technologies Co., Ltd. Method for displaying multiple application windows by mobile terminal, and mobile terminal

Also Published As

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

Similar Documents

Publication Publication Date Title
US11842459B2 (en) Media content management for a fixed orientation display
CN110377264B (zh) 图层合成方法、装置、电子设备及存储介质
US9075429B1 (en) Distortion correction for device display
US20220328019A1 (en) Display terminal adjustment method and display terminal
WO2022048424A1 (zh) 屏幕画面自适应调整方法、装置、设备和存储介质
CN111432261A (zh) 一种视频窗口画面显示方法及装置
US20160350932A1 (en) Method and device for displaying image
CN107861711B (zh) 页面适配方法及装置
US11610285B2 (en) Display method and device
CN107391148B (zh) 视图元素保存方法、装置、电子设备及计算机存储介质
US9674452B2 (en) Real-time perspective correction
US11288778B2 (en) Creation and rasterization of shapes using geometry, style settings, or location
KR102464575B1 (ko) 디스플레이 장치 및 그 입력 방법
US11910068B2 (en) Panoramic render of 3D video
US11669234B2 (en) Method for processing aerial view, electronic device, and storage medium

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
A107 Divisional application of patent