KR101545387B1 - 디스플레이 미러링을 위한 시스템 및 방법 - Google Patents

디스플레이 미러링을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101545387B1
KR101545387B1 KR1020130065475A KR20130065475A KR101545387B1 KR 101545387 B1 KR101545387 B1 KR 101545387B1 KR 1020130065475 A KR1020130065475 A KR 1020130065475A KR 20130065475 A KR20130065475 A KR 20130065475A KR 101545387 B1 KR101545387 B1 KR 101545387B1
Authority
KR
South Korea
Prior art keywords
display
preferred
mode
external
computer
Prior art date
Application number
KR1020130065475A
Other languages
English (en)
Other versions
KR20130138143A (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 KR20130138143A publication Critical patent/KR20130138143A/ko
Application granted granted Critical
Publication of KR101545387B1 publication Critical patent/KR101545387B1/ko

Links

Images

Classifications

    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1431Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using a single graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • 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
    • 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
    • G06T3/4092Image resolution transcoding, e.g. by using client-server architectures
    • 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
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • G09G2370/042Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller for monitor identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Transforming Electric Information Into Light Information (AREA)

Abstract

디스플레이 미러링 모드 및 확장된 디스플레이 모드에서 복수의 디스플레이들의 이용을 지원하는 컴퓨팅 시스템은, 시스템 내의 디스플레이들의 다양한 특성에 기초하여 시스템을 구성할 디스플레이 모드를 (거의 또는 전혀 사용자 입력 없이) 자동으로 결정할 수 있다. 예를 들어, 시스템은 텔레비전, 프로젝터, 또는 다른 프레젠테이션 타입 디스플레이가 시스템에 접속되어 있다고 결정할 수 있고, 응답하여, 시스템이 확장된 디스플레이 모드보다는, 디스플레이 미러링 모드로 구성되어야 한다고 결정할 수 있다. 시스템은 또한 프레젠테이션 타입 디스플레이가 선호 디스플레이라고 결정할 수 있고, 그의 고유 해상도, 애스팩트비 또는 컬러 프로파일을 이용하여 그 디스플레이에 대한 최상의(또는 선호) 모드에서 이미지 콘텐츠를 렌더링할 수 있다. 그 다음에 시스템은 그것을 재렌더링하지 않고, 내부 디스플레이와 같은 다른(비선호) 디스플레이들 상의 디스플레이를 위해 렌더링된 이미지 콘텐츠를 스케일링할 수 있다.

Description

디스플레이 미러링을 위한 시스템 및 방법{SYSTEM AND METHOD FOR DISPLAY MIRRORING}
본 발명은 일반적으로 비디오 디스플레이의 사용에 관한 것으로서, 구체적으로는 다수의 장치 상의 이미지의 표시에 관한 것이다.
일부 상황들에서는 컴퓨터 시스템의 다수의 디스플레이 상에 동일 이미지를 동시에 표시하는 것이 필요하다. 예를 들어, 내부 디스플레이, 및 외부 디스플레이에 결합된 외부 인터페이스를 가진 컴퓨팅 장치를 구비한 시스템을 고려한다. 이러한 시스템은 프레젠테이션을 위해(예를 들어, 큰 방 안에 있는 청중에 대한 소프트웨어 시연을 위해) 사용될 수 있다. 발표자는 청중이 외부 디스플레이 상에서 시연을 보는 동안 장치의 내부 디스플레이 상에서 시연을 보기를 원할 수 있다. 발표자는 시스템을 이러한 모드에서 동작하도록 구성할 수 있고, 그리고/또는 다수의 사용자 인터페이스 메커니즘을 이용하여 다수의 디스플레이 옵션을 명확히 지정함으로써 내부 및/또는 외부 디스플레이들 상에 이미지 콘텐츠를 렌더링하기 위한 해상도 및/또는 다른 파라미터들을 선택할 수 있다.
다른 상황들에서는 컴퓨터 시스템의 다수의 디스플레이 상에 상이한 이미지들을 표시하는 것이 필요할 수 있다. 예를 들어, 내부 디스플레이, 및 외부 디스플레이에 결합된 외부 인터페이스를 가진 컴퓨팅 장치를 구비한 시스템이 많은 양의 정보를 표시하는 애플리케이션을 실행하는 단일 사용자에 의해 사용될 수 있다. 사용자는 내부 및 외부 디스플레이들 둘 다에서 (예를 들어, 확장 데스크탑 모드에서) 정보를 보기를 원할 수 있다. 사용자는 시스템을 이러한 모드에서 동작하도록 구성할 수 있고, 그리고/또는 다수의 사용자 인터페이스 메커니즘을 이용하여 다수의 디스플레이 옵션을 명확히 지정함으로써 내부 또는 외부 디스플레이 상에 이미지 콘텐츠의 상이한 부분들을 렌더링하기 위한 해상도 및/또는 다른 파라미터들을 선택할 수 있다.
본 발명은 내부 디스플레이를 포함하고 하나 이상의 외부 디스플레이에 또한 접속되는 컴퓨터들과 관련된다. 컴퓨터들, 내부 디스플레이들 및 외부 디스플레이(들)는 디스플레이 미러링 모드에서 또는 확장 디스플레이 모드(예컨대, 확장 데스크탑 모드)에서 집합적으로 동작하도록 구성될 수 있다. 본 발명의 실시예들은 컴퓨터 및 다수의 디스플레이의 자동 구성을 가능하게 할 수 있으며, 따라서 사용자로부터의 입력이 거의 또는 전혀 없이 사용자가 콘텐츠를 최상으로 표시하기를 원하는 디스플레이 상에 콘텐츠가 최상으로 표시될 수 있다. 일부 실시예들에서, 컴퓨터는 컴퓨터에 접속된 외부 디스플레이의 특성들을 검출할 수 있으며, 외부 디스플레이의 사용 의도를 추정할 수 있다. 예를 들어, 외부 디스플레이가 프레젠테이션 장치(예를 들어, 텔레비전 또는 프로젝터)인 경우, 컴퓨터는 외부 디스플레이의 사용 의도가 외부 디스플레이가 컴퓨터의 내부 디스플레이를 미러링하는 프레젠테이션 포맷을 위한 것이라고 추정할 수 있다. 반면, 외부 디스플레이가 프레젠테이션 장치가 아닌 경우(예로서, 컴퓨터 모니터인 경우), 컴퓨터는 외부 디스플레이의 사용 의도가 확장 디스플레이 모드를 위한 보조 모니터인 것으로 추정할 수 있다.
본 발명의 실시예들은 컴퓨터로 하여금 어느 디스플레이가 선호 디스플레이인지를 결정하게 하고, 콘텐츠가 선호 디스플레이 상에 최상으로 표시되도록 콘텐츠를 렌더링하게 할 수 있다. 이어서, 렌더링된 콘텐츠가 재샘플링되고 스케일링될 수 있으며, 그리고/또는 렌더링된 콘텐츠를 재렌더링하지 않고 다른 디스플레이(들) 상에서의 표시를 위해 그의 컬러 프로파일이 변환될 수 있다. 컴퓨터는 디스플레이들의 특정 조합에 대한 사용 의도 및 선호 디스플레이를 기억할 수 있으며, 디스플레이들의 동일 조합이 나중에 검출될 때 사용 의도 및 다른 선호들이 동일한 것으로 추정할 수 있다.
일부 실시예들에서, 디스플레이 구성이 변경될 때(또는 변경되려고 할 때), 시스템에서 디스플레이 재구성 통지가 송출될 수 있다. 다양한 애플리케이션들이 통지에 응답하여 미결 변경(pending change)을 수락, 거절 또는 수정할 수 있거나, 완료된 변경을 이용할 수 있거나, 미결 또는 완료된 변경을 무시할 수 있다(또는 알아차리지 못할 수 있다). 일부 실시예들에서, 컴퓨터는 디스플레이 모드, 선호 디스플레이 및 선호 디스플레이에 대한 선호 디스플레이 모드를 자동 결정할 수 있으며, 사용자는 다양한 사용자 인터페이스 메커니즘들을 통해 자동 선택들을 무효화할 수 있다.
도 1은 다수의 디스플레이를 가진 컴퓨터 시스템의 일 실시예를 나타내는 블록도이다.
도 2a는 내부 스케일링 유닛을 가진 컴퓨팅 장치를 포함하는 컴퓨터 시스템의 일 실시예를 나타내는 블록도이다.
도 2b는 디스플레이 미러링에 사용하기 위한 하나 이상의 디스플레이 드라이버를 가진 컴퓨팅 장치를 포함하는 컴퓨터 시스템의 일 실시예를 나타내는 블록도이다.
도 3a-3b는 일부 실시예들에 따른, 선호 디스플레이의 선호 디스플레이 모드를 위해 렌더링된 비선호 디스플레이용 이미지 콘텐츠를 재스케일링하는 예들을 나타낸다.
도 3c는 일 실시예에 따른, 확장 디스플레이 모드에서의 2개의 디스플레이 상에서의 이미지 콘텐츠의 표시의 일례를 나타낸다.
도 4는 디스플레이 미러링을 구현하기 위한 방법의 일 실시예를 나타내는 흐름도이다.
도 5는 디스플레이가 프레젠테이션 장치인지를 결정하기 위한 방법의 일 실시예를 나타내는 흐름도이다.
도 6은 선호 디스플레이 상에 이미지 콘텐츠를 표시하고 다른 디스플레이 상에 이미지 콘텐츠를 미러링하기 위한 방법의 일 실시예를 나타내는 흐름도이다.
도 7은 컴퓨팅 시스템 내의 다수의 디스플레이를 구성하기 위한 방법의 일 실시예를 나타내는 흐름도이다.
도 8은 다양한 실시예들에 따른, 디스플레이 미러링을 구현하도록 구성된 예시적인 컴퓨터 시스템을 나타낸다.
본 명세서서는 "하나의 실시예", "일 실시예", "하나의 구현" 또는 "일 구현"에 대한 참조들을 포함한다. 이러한 표현들의 출현들은 반드시 동일 실시예 또는 구현을 참조하지는 않는다. 특정 특징들, 구조들 또는 특성들은 본 발명에 따른 임의의 적절한 방식으로 조합될 수 있다.
또한, 다양한 유닛들, 회로들 또는 다른 컴포넌트들이 작업 또는 작업들을 수행하도록 "구성되는" 것으로서 설명되거나 청구될 수 있다. 그러한 상황들에서, "구성되는"이라는 용어는 유닛들/회로들/컴포넌트들이 동작 동안 그러한 작업 또는 작업들을 수행하는 구조(예로서, 회로)를 포함한다는 것을 나타냄으로써 구조를 의미하는 데 사용된다. 따라서, 유닛/회로/컴포넌트는 특정된 유닛/회로/컴포넌트가 현재 동작하지 않을 때에도(예를 들어, 온 상태가 아닐 때에도) 작업을 수행하도록 구성된다고 할 수 있다. "구성되는"이라는 용어와 함께 사용되는 유닛들/회로들/컴포넌트들은 하드웨어, 예를 들어 회로들, 동작을 구현하도록 실행될 수 있는 프로그램 명령어들을 저장하는 메모리 등을 포함한다. 유닛/회로/컴포넌트가 하나 이상의 작업을 수행하도록 "구성된다"라는 기재는 그러한 유닛/회로/컴포넌트에 대해 35 U.S.C. 112조, 6항을 적용하지 않는 것을 명백히 의도한다.
전술한 바와 같이, 다양한 타입의 컴퓨팅 장치들은 내부 디스플레이를 포함할 수 있으며, 또한 하나 이상의 외부 디스플레이에 접속될 수 있다. 컴퓨팅 장치들, 내부 디스플레이들 및 외부 디스플레이(들)는 다양한 실시예들에서 그리고 상이한 상황들에서 디스플레이 미러링 모드에서 또는 확장 디스플레이 모드(예로서, 확장 데스크탑 모드)에서 집합적으로 동작하도록 구성될 수 있다. 본 발명의 실시예들은 컴퓨터에 의해 결정되는 바와 같은, 현재 사용되는 가장 유망한 사용 모델에 따라, 컴퓨팅 장치 및 다수의 디스플레이의 자동 구성을 가능하게 할 수 있으며, 따라서 사용자로부터의 입력이 거의 또는 전혀 없이 사용자가 콘텐츠를 최상으로 표시하기를 원하는 디스플레이 상에 콘텐츠가 최상으로 표시될 수 있다.
일부 실시예들에서, 컴퓨터는 컴퓨터에 접속된 외부 디스플레이의 특성들을 검출할 수 있으며, 그러한 특성들에 적어도 부분적으로 기초하여 외부 디스플레이의 사용 의도를 추정할 수 있다. 예를 들어, 컴퓨터가 외부 디스플레이의 특성들에 기초하여 외부 디스플레이가 프레젠테이션 장치(예를 들어, 텔레비전 또는 프로젝터)인 것으로 결정하는 경우, 컴퓨터는 외부 디스플레이의 사용 의도가 외부 디스플레이가 컴퓨터의 내부 디스플레이를 미러링하는 프레젠테이션 포맷을 위한 것이라고 추정할 수 있다. 반면, 컴퓨터가 외부 디스플레이의 특성들에 기초하여 외부 디스플레이가 프레젠테이션 장치가 아닌 것으로 결정하는 경우(예로서, 내부 디스플레이 및 외부 디스플레이 둘 다 컴퓨터 모니터들인 경우), 컴퓨터는 외부 디스플레이의 사용 의도가 확장 디스플레이 모드(예를 들어, 내부 및 외부 모니터들이 결합된 디스플레이들의 크기인 단일 디스플레이로서 집합적으로 작용하는 확장 데스크탑 모드)를 위한 보조 모니터인 것으로 추정할 수 있다.
일부 실시예들에서, 컴퓨터는 어느 하나가 존재할 경우에 어느 디스플레이가 선호 디스플레이인지를 결정할 수 있고, 콘텐츠가 선호 디스플레이 상에 최상으로 표시되도록 이미지 콘텐츠를 렌더링할 수 있다. 예를 들어, 텔레비전 또는 프로젝터인 외부 디스플레이와 더불어 미러링 모드에 있을 때, 이미지 콘텐츠는 (예를 들어, 텔레비전 또는 프로젝터 또는 그 파생물에 대한 고유 해상도, 종횡비 및/또는 컬러 프로파일을 이용하여) 텔레비전 또는 프로젝터 상의 표시를 위해 최상 또는 선호 모드에서 렌더링될 수 있다. 이어서, 렌더링된 콘텐츠는 재샘플링되고 스케일링될 수 있으며, 그리고/또는 (이미지 콘텐츠를 재렌더링하지 않고) 내부 디스플레이 상에서의 표시를 위해 그의 컬러 프로파일이 변환될 수 있다. 컴퓨터는 디스플레이들의 특정 조합에 대한 사용 의도 및 선호 디스플레이를 기억할 수 있으며, 디스플레이들의 동일 조합이 나중에 검출될 때 사용 의도 및 다른 선호들이 동일한 것으로 추정할 수 있다. 예를 들어, 컴퓨터는 내부 및 외부 디스플레이(들)의 특정 조합에 대한 디스플레이 모드(예를 들어, 디스플레이 미러링 모드 또는 확장 디스플레이 모드) 및/또는 선호 디스플레이(예로서, 내부 디스플레이 또는 외부 디스플레이)를 지시하는 데이터를 저장할 수 있으며, 디스플레이의 동일 조합이 나중에 컴퓨터에 접속될 경우에 또는 접속될 때 사용 의도 및 다른 디스플레이 선호들을 추정하기 위해 저장된 데이터에 액세스할 수 있다.
일부 실시예들에서, 임의의 다양한 디스플레이 재구성 이벤트(예를 들어, 외부 디스플레이의 접속 또는 분리, 사용자에 의해 개시되는 하나 이상의 디스플레이 선호의 변경의 검출 등)로 인해 디스플레이 구성이 변경될 때(또는 변경되려고 할 때), 시스템에서 디스플레이 재구성 통지가 (예를 들어, 사용자에게 그리고/또는 시스템에서 현재 실행되고 있는 다양한 애플리케이션들로) 송출될 수 있다. 일부 실시예들에서, 다양한 애플리케이션들(또는 사용자)은 그러한 통지에 응답하여 미결 변경의 수정을 수락, 거절 또는 요청할 수 있거나, 완료된 변경을 이용할 수 있거나, 미결 또는 완료된 변경을 무시할 수 있다(또는 알아차리지 못할 수 있다). 애플리케이션 또는 사용자에 의한 미결 변경의 거절에 응답하여, 컴퓨터는 미결 변경을 지연, 수정 또는 중지할 수 있다.
이제, 도 1을 참조하면, 다수의 디스플레이를 가진 컴퓨터 시스템의 블록도가 도시되어 있다. 컴퓨터 시스템(100)은 임의의 적절한 타입의 컴퓨팅 장치일 수 있는 컴퓨팅 장치(110)를 포함한다. 일 실시예에서, 장치(110)는 IPAD 제품과 같은 태블릿 컴퓨팅 장치이다.
도시된 바와 같이, 장치(110)는 디스플레이(120)에 결합된다. 일 실시예에서, 디스플레이(120)는 컴퓨팅 장치(110)에 통합 또는 내장된다. 본 명세서에서 설명되는 예들 중 일부에서, 이 디스플레이는 장치(110)의 "주" 디스플레이로서 참조될 수 있다. 일부 실시예들에서, 주 디스플레이(120)는 외부 인터페이스를 통해 장치(110)에 접속될 수 있다. 디스플레이(120)는 장치(110)의 내부 또는 외부에 배치될 수 있다는 것을 나타내기 위해 도 1에 점선으로 표시된다. 본 명세서에서 설명되는 일부 예들에서 주 디스플레이(즉, 컴퓨팅 장치(110)용 메인 또는 디폴트 디스플레이)는 실제로 컴퓨팅 장치 내에 통합되거나 외부 인터페이스를 통해 컴퓨팅 장치에 접속되는지에 관계없이 "내부" 디스플레이로서 참조될 수 있다는 점에 유의한다. 본 명세서에서 사용될 때, "디스플레이"라는 용어는 디스플레이에 제공되는 제어 신호들에 응답하여 시각적 이미지를 제시하도록 구성되는 임의의 장치를 지칭할 수 있다. 음극선관(CRT), 박막 트랜지스터(TFT), 액정 디스플레이(LCD), 발광 다이오드(LED), 플라즈마 등과 같은 다양한 기술들이 디스플레이에서 사용될 수 있다. 디스플레이는 일부 실시예들에서 터치 스크린 입력 기능 또는 프로젝션 능력도 포함할 수 있다. 디스플레이 장치들은 일부 예들에서 패널들로도 참조될 수 있다.
도 1에 도시된 예에서, 디스플레이(120)에 더하여, 컴퓨팅 장치(110)는 접속(150)을 통해 "외부" 또는 "보조" 디스플레이(160)에 결합되는 외부 인터페이스(130)를 포함한다. 상이한 실시예들에서, 인터페이스(130)는 임의 타입의 표준 또는 독점 인터페이스일 수 있으며, 유선 또는 무선일 수 있다. 주어진 인터페이스(130)는 인터페이스가 한 번에 얼마나 많은 데이터를 전송할 수 있는지를 나타내는 "데이터 폭"(예로서, 핀들의 수)을 갖는 것으로 이해될 수 있다. 도 1에서, 접속(150)은 장치(110)와 보조 디스플레이(160) 사이의 접속의 논리적 표현이다. 다양한 실시예들에서, 접속(150)은 무선일 수 있다. 다른 실시예들에서, 접속(150)은 유선일 수 있으며, 후술하는 스케일링 유닛과 같은 하나 이상의 삽입된 하드웨어 컴포넌트를 포함할 수 있다. 주 디스플레이(120)와 같이, 보조 디스플레이(160)는 임의의 적절한 타입의 장치일 수 있다. 예를 들어, 일부 실시예들에서, 보조 디스플레이(160)는 고화질 TV(HDTV) 호환 장치 또는 프로젝션 장치일 수 있다. 본 명세서에서 더 상세히 설명되는 바와 같이, 내부(또는 주) 디스플레이 또는 외부(또는 보조) 디스플레이는 다양한 시간에 컴퓨팅 장치(100)에 대한 "선호" 디스플레이(즉, 사용자가 그 디스플레이에 대한 최상 디스플레이 모드에서 이미지 콘텐츠를 표시하기를 원하는 장치)일 수 있다.
컴퓨팅 장치(110)는 많은 컴퓨팅 장치에 공통인 다양한 구조들(도 1에 도시되지 않음)을 포함할 수 있다. 이러한 구조들은 하나 이상의 프로세서, 메모리, 그래픽 회로, I/O 장치, 버스 제어기 등을 포함할 수 있다. 그러한 컴퓨팅 장치의 일 실시예가 도 8에 도시되고, 아래에 상세히 설명된다.
다양한 실시예들에서, 컴퓨팅 장치(110)는 데이터의 프레임들을 표시하도록 동작할 수 있다. 일반적으로, 프레임을 표시될 이미지를 기술하는 데이터이다. 프레임은 (예를 들어, RGB 또는 YCrCb와 같은 다양한 컬러 공간들과 관련하여) 프레임에 포함된 픽셀들을 기술하는 픽셀 데이터를 포함할 수 있으며, 혼합을 알파 값과 같은 메타데이터도 포함할 수 있다. 정적 프레임들은 비디오 시퀀스의 일부가 아닌 프레임들일 수 있다. 대안으로서, 비디오 프레임들은 비디오 시퀀스 내의 프레임들일 수 있다. 비디오 시퀀스 내의 각각의 프레임은 비디오 시퀀스에 대해 지정된 레이트(예로서, 초당 15-30 프레임)로 선행 프레임 뒤에 표시될 수 있다. 비디오 프레임들은 또한 완전한 이미지들일 수 있거나, 시퀀스 내의 다른 이미지들을 참조하는 압축 이미지들일 수 있다. 프레임들이 압축되는 경우, 장치(110) 내의 비디오 파이프라인이 프레임들을 압축 해제할 수 있다.
일부 실시예들에서, 장치(110) 내의 디스플레이 생성 유닛은 표시할 픽셀 값들의 스트림을 제공하기 위해 프레임 데이터를 생성(즉, 렌더링), 가져오기 및/또는 처리하도록 구성될 수 있다. 디스플레이 생성 유닛은 일부 실시예들에서 디스플레이 파이프라인으로서 구성될 수 있다. 또한, 디스플레이 생성 유닛은 다수의 프레임을 혼합하여 출력 프레임을 생성하도록 구성될 수 있다. 예를 들어, 하나의 실시예에서, 각각의 프레임 픽셀은 그의 불투명도를 지시하는 관련 알파 값을 가질 수 있다.
일반적으로, 픽셀 값들의 스트림 내의 픽셀 값은 장치(110)에 결합된 디스플레이 상에 표시될 픽셀의 표현일 수 있다. 픽셀 값은 하나 이상의 컬러 공간 값을 포함할 수 있다. 예를 들어, RGB 컬러 공간에서, 픽셀 값은 적색 값, 녹색 값 및 청색 값을 포함한다. 각각의 값은 0 내지 2N-1의 범위에 걸칠 수 있으며, 해당 픽셀에 대한 컬러의 강도를 기술한다. 유사하게, YCrCb 컬러 공간에서, 픽셀 값은 Y 값, Cr 값 및 Cb 값을 포함한다. 디스플레이 상의 픽셀의 위치는 픽셀 스트림 내의 대응하는 픽셀 값의 위치로부터 추정될 수 있다. 예를 들어, 픽셀 스트림은 일련의 픽셀 행들일 수 있으며, 각각의 행은 디스플레이 스크린 상의 라인을 형성할 수 있다. 프로그레시브-모드(progressive-mode) 디스플레이에서, 라인들은 연속적인 순서로 그려지며, 따라서 픽셀 스트림 내의 다음 라인은 이전 라인에 바로 인접한다. 인터레이스드-모드(interlaced-mode) 디스플레이에서는, 디스플레이에 걸치는 연속적인 패스들이 짝수 또는 홀수 라인들을 그리며, 따라서 픽셀 스트림 내의 다음 라인은 픽셀 스트림 내의 이전 라인으로부터 한 라인 건너뛴다. 간소화를 위해, 픽셀 값들의 스트림은 픽셀 스트림 또는 픽셀들의 스트림으로서 참조될 수 있다. 장치(110) 내의 픽셀 처리 유닛들은 픽셀 스트림에 대해 다양한 픽셀 작업들을 수행하도록 구성될 수 있으며, 처리된 픽셀 스트림을 각각의 물리 인터페이스(PHY) 또는 디스플레이 드라이버에 제공할 수 있다. 예를 들어, 픽셀 작업들은 컬러 공간 변환, 백라이트 제어, 감마 보정, 콘트라스트 비율 개선, 필터링, 디더링 등 중 하나 이상을 포함할 수 있다. PHY들은 일반적으로 대응하는 디스플레이들을 물리적으로 제어하는 회로를 포함할 수 있다. PHY들은 픽셀 값들에 응답하여 각각의 디스플레이 패널을 물리적으로 제어하는 제어 신호들을 구동할 수 있다. 따라서, 예를 들어, RGB 신호들에 의해 제어되는 디스플레이를 위한 PHY는 픽셀의 R, G 및 B 성분들에 대응하는 R, G 및 B 신호들 상에서 전압들을 전송할 수 있다. PHY들에 의해 전송될 수 있는 디스플레이 클럭도 존재할 수 있거나, 제어 신호들 중 하나 내에 디스플레이 클럭이 내장될 수 있다. 상이한 디스플레이들을 위한 상이한 PHY들은 상이한 클럭 도메인들 내에 있는 클럭들을 가질 수 있다.
종종, 예를 들어 큰 방 안의 청중에게 프레젠테이션을 행하기 위해 컴퓨팅 장치(110)를 사용하는 것이 바람직하다. 그러한 상황에서, 주 디스플레이(120)의 크기는 청중 멤버들에게 불충분할 수 있다. 그러한 프레젠테이션을 용이하게 하기 위해, (텔레비전, 프로젝터 또는 다른 프레젠테이션 타입 장치일 수 있는) 보조 디스플레이(160)가 인터페이스(130) 및 접속(150)을 통해 장치(110)에 결합될 수 있다. 이러한 방식으로, 발표자는 청중이 디스플레이(160) 상에서 프레젠테이션을 보는 동안에 디스플레이(120) 상에서 프레젠테이션을 볼 수 있다. 그러한 실시예들에서, 2개의 이미지가 동시에 표시될 수 있으며, 따라서 발표자가 디스플레이(120) 상에 표시되는 프레젠테이션의 특징을 설명하고 있을 때, 이와 동일한 특징이 디스플레이(160) 상에 동시에 표시된다. 상이한 디스플레이들 상의 이미지들 사이에는 소정의 고유 위상차가 존재할 수 있다는 점에 유의한다. 그러나, 본 명세서에서 사용될 때, 이미지들의 "동기화된", "동기" 또는 "동시" 표시에 대한 참조들은 시각적으로 구별 가능한 이미지 드리프트를 갖지 않는 상이한 디스플레이들 상의 이미지들의 표시를 포함한다.
이미지들의 동시 표시는 내부 디스플레이 및 외부 디스플레이가 상이한 해상도(즉, 수평 및 수직 방향에서 상이한 수의 픽셀)를 가질 때 더 어려워진다. 하나의 가능한 해법은 각각의 디스플레이에 대해 상이한 디스플레이 생성 유닛들을 갖는 것이다. 그러나, 그러한 접근법은 중대한 단점들을 가질 수 있다. 내부 및 외부 디스플레이들을 이용하여 새로운 비디오 게임을 시연하기를 원하는 게임 개발자를 고려한다. 비디오 게임이 장치(110)의 처리 능력에 의존하는 경우, 사실상 제2 디스플레이 생성 유닛이 제1 디스플레이 생성 유닛에 대한 것과 동일한 이미지를 렌더링할 때 제2 디스플레이 생성 유닛을 외부 디스플레이를 위해 가동하는 것은 처리 능력의 낭비일 수 있다. 따라서, 그러한 구성은 개발자에게 최고의 성능으로 실행되는 비디오 게임을 전시하는 능력을 제공하지 못할 수 있다.
대안 해법은 단일 디스플레이 생성 유닛이 디스플레이들(120, 160)에 출력(예컨대, 픽셀들)을 제공하는 데 사용되는 디스플레이 미러링 모드의 이용이다. 이러한 해법은 이미지 데이터를 한 번만 렌더링하고(또는 렌더링된 이미지 데이터를 메모리로부터 한 번만 가져오고), 렌더링된 이미지 데이터가 렌더링된 것과 다른 디스플레이 상에서의 제공을 위해 스케일링 유닛 또는 디스플레이 드라이버들을 이용하여 렌더링된 이미지 데이터를 재샘플링 또는 스케일링하는 것을 포함할 수 있다.
전술한 바와 같이, 다수의 디스플레이를 포함하는 컴퓨터 시스템은 일부 실시예들에서 상이한 시간에 디스플레이 미러링 모드 또는 확장 디스플레이 모드에서 동작하도록 구성될 수 있다. 상이한 크기 및/또는 해상도를 갖는 다수의 디스플레이 상에서 미러링할 때, 모든 디스플레이들 상에서 만족스런 모습을 갖는 이미지 데이터를 상이한 디스플레이들에 효율적으로 제공하는 것은 어려울 수 있다. 현재의 일부 미러링 기술들은 내부 디스플레이 및 외부 디스플레이 양쪽에 공통이지만 양 디스플레이 상에서 선명하게 보이지 않을 수 있는 해상도로 이미지들을 렌더링할 수 있다. 일부 실시예들에서, 본 명세서에서 설명되는 기술들은 그 대신에 "선호 디스플레이", 즉 사용자가 이미지들이 최상으로 표시되기를 바랄 가능성이 가장 큰 디스플레이에 대한 해상도를 최적화할 수 있다. 일부 실시예들에서 시스템은 디스플레이들의 조합에 대한 사용 예의 추정에 따라 디스플레이를 선호 디스플레이로서 자동 지정할 수 있다는 점에 유의한다. 예를 들어, 시스템은 프로젝터 또는 텔레비전이 시스템 내에 접속될 때 그를 선호 디스플레이로서 항상 지정할 수 있다.
일부 실시예들에서, 본 명세서에서 설명되는 기술들은 사용자들로부터의 입력이 거의 또는 전혀 없이 내부 및 외부 디스플레이들 둘 다를 갖는 시스템들에 대한 디스플레이 미러링 및 다양한 사용 예를 자동으로 관리하기 위한 방법들을 제공할 수 있다. 즉, 본 명세서에서 설명되는 기술들은 다수의 디스플레이를 이용하여 다양한 디스플레이 모드를 지원할 수 있는 컴퓨터 시스템에서 사용될 수 있으며, 디스플레이들이 수동 개입 없이 선호 방식일 가능성이 가장 큰 방식으로(예를 들어, 가장 유망한 디스플레이 모드로 그리고/또는 선호 디스플레이일 가능성이 가장 큰 디스플레이 상에 이미지가 표시되도록) 이미지 데이터를 제시하도록 시스템을 자동으로 구성하기 위해 사용될 수 있다.
일부 실시예들에서, 컴퓨터에 접속되는 외부 디스플레이 장치의 타입에 따라, 컴퓨터는 컴퓨터의 내부 또는 주 디스플레이 상에 제시되는 이미지들을 외부 디스플레이 장치 상에 미러링할지 또는 이미지들의 표시를 내부 및 외부 디스플레이들 사이에 공유 또는 분할할지를 자동으로 결정(또는 추정)하도록 구성될 수 있다. 예를 들어, 컴퓨터는 그가 보조 컴퓨터 모니터에 접속되는 것이 아니라 텔레비전, 프로젝터 또는 다른 타입의 프레젠테이션 장치에 접속되는 경우에 이미지들을 미러링해야 하는 것으로 추정할 수 있다. 컴퓨터는 또한 (예를 들어, 프레젠테이션 장치의 크기, 해상도, 종횡비 및/또는 컬러 프로파일에 따라) 디스플레이들 중 선호 디스플레이인 프레젠테이션 장치 상의 표시를 위해 이미지들을 최적화하도록 구성될 수 있다. 즉, 이미지들은 (예를 들어, GPU 또는 다른 이용 가능 컴퓨팅 설비를 이용하여) 프레젠테이션 장치 상의 표시를 위해 최상 또는 선호 모드로 자동 렌더링될 수 있으며, 디스플레이 미러링 모드에서 컴퓨터의 내부 또는 주 디스플레이 상의 표시를 위해 (재렌더링 없이) 재샘플링 또는 스케일링될 수 있다. 일반적으로, 다양한 품질 및 성능 레벨과 더불어 이미지를 하나의 크기에서 다른 크기로 변환하기 위해 선호 디스플레이(프레젠테이션 디스플레이 등)를 위해 렌더링된 이미지 콘텐츠의 비선호 디스플레이(내부 디스플레이 등) 상에서의 사용을 위한 스케일링을 수행하기 위해 임의의 다양한 기술이 적용될 수 있다. 예를 들어, 전술한 바와 같이, 스케일링이 GPU에 의해 수행될 수 있다. 다양한 실시예들에서, 다양한 상이한 필터들 중 어느 하나가 렌더링된 이미지 콘텐츠를 다운샘플링하도록 적용될 수 있으며, 예를 들어 쌍일차 필터가 적용될 수 있다. 일부 실시예들에서, 시스템은 렌더링된 이미지 콘텐츠를 종횡비들의 차이들에 대해 조정할 수 있다. 예를 들어, 시스템은 이미지가 다른 디스플레이에 맞도록 이미지를 하나 이상의 방향으로 신장 및/또는 압축하는 것만이 아니라 출력 상에서 정사각 픽셀들을 유지하려고 시도할 수 있다. 따라서, 선호 디스플레이와 비선호 디스플레이들의 종횡비들에 따라, 비선호 디스플레이의 상부(및/또는 하부)를 가로질러 또는 비선호 디스플레이의 측부들 아래로 "블랙 바들(black bars)"이 보일 수 있거나, (예를 들어, 2개의 디스플레이가 동일한 종횡비를 갖는 경우) 완전한 일치가 존재할 수 있다.
상이한 실시예들에서 디스플레이 미러링 자체를 구현하기 위한 다양한 방법도 존재할 수 있다는 점에 유의한다. 예를 들어, 2개의 디스플레이가 동일 해상도를 갖는 하나의 실시예에서, 하드웨어 내에 2개의 상이한 디스플레이 헤드가 존재할 수 있지만, 이들은 동일 메모리를 참조할 수 있으며, 이들 각각은 그 메모리로부터 디스플레이들 각각으로 스캔 아웃될 수 있다. 디스플레이 패널들이 상이한 크기를 갖는 다른 실시예에서(즉, 이들이 상이한 수의 픽셀을 가질 때), 이미지를 온더플라이(on the fly)로 스케일링할 수 있는 하드웨어 스케일링 유닛이 존재할 수 있다. 다수의 GPU 판매자가 소정 양의 업스케일링 또는 다운스케일링을 수행할 수 있는 소정 타입의 패널 필터를 제공하며, 이들 중 어느 하나가 본 명세서에서 설명되는 시스템들에서 사용될 수 있다는 점에 유의한다. 일반적으로, 다른 디스플레이들 상에서의 사용을 위해 렌더링된 이미지 콘텐츠의 재스케일링을 수행하는 것은 임의의 이용 가능한 GPU 드라이버들에게 맡겨질 수 있다. 일부 실시예들에서, GPU는 직사각형들의 리스트를 제공받을 수 있으며, 스크린의 일부가 그에게 다시 그려질 때 무엇이 실제로 변경되었는지를 안다. 그러한 실시예들에서, GPU는 단일 프레임마다 전체 이미지를 계속 재샘플링하는 것이 필요하지 않을 수 있으며, 이는 성능을 향상시키고 그리고/또는 배터리 수명을 연장할 수 있다.
이제, 도 2a를 참조하면, 컴퓨터 시스템의 일 실시예의 블록도가 도시되어 있다. 적용 가능한 경우에, 컴퓨터 시스템의 컴포넌트들은 도 1에서와 동일한 참조 번호들을 갖는다. 도시된 바와 같이, 컴퓨터 시스템은 인터페이스(130) 및 접속(150)을 통해 외부 디스플레이(160)에 결합되는 컴퓨팅 장치(110)를 포함한다.
도 1을 참조하여 전술한 바와 같이, 컴퓨팅 장치(110)는 단일 디스플레이 생성 유닛이 디스플레이들(120, 160)에 출력을 제공하는 미러 모드에서 동작하도록 구성될 수 있다. 본 명세서에서 사용될 때, "디스플레이 생성 유닛"이라는 용어는 표시할 그래픽 또는 픽셀 데이터를 생성하는 데 사용될 수 있는 임의의 회로를 지칭하며, 일련의 그래픽 또는 픽셀 작업들을 수행하는 파이프라인 회로를 지칭할 수도 있다. 도 2a는 디스플레이(120 및/또는 160)에 출력을 제공하는 디스플레이 생성 유닛(210)을 나타낸다. 도 2a는 스케일링 유닛(220)을 통해 유닛(210)과 디스플레이(120) 간의 결합을 도시하지만, 다른 실시예들에서는 유닛(210)과 디스플레이(120) 간의 직접 접속이 존재할 수 있고, 그리고/또는 상이한 회로 또는 유닛들(예컨대, PHY 유닛)이 이 경로를 따라 존재할 수 있다. 도 2a는 또한 스케일링 유닛(220) 및 인터페이스(130)를 포함하는 경로를 통해 외부 디스플레이(160)에 제공되는 디스플레이 생성 유닛(210)의 출력을 도시한다. 유닛(210)과 디스플레이(120) 간의 접속과 같이, 유닛(210)과 디스플레이(160)의 접속은 도 2a에 도시된 것들 외에도 다양한 기능 유닛들 또는 회로를 가질 수 있다. 일 실시예에서, 디스플레이 생성 유닛(210)은 (예를 들어, 각각의 디스플레이에 대한 선택된, 고유한 또는 최상의 디스플레이 모드에서) 디스플레이들(120, 160) 상에서 제공하기에 적합한 이미지 콘텐츠를 렌더링하기 위한 개별 파이프라인들을 포함한다. 이러한 파이프라인들 각각은 프론트엔드 및 백엔드로 분할될 수 있다. 프론트엔드들은 이미지 렌더링, 스케일링, 컬러 공간 변환 및/또는 혼합과 같은 작업들을 처리할 수 있는 반면, 백엔드들은 (예를 들어, 디더링 등을 통해) 패널 상에서의 표시를 위해 포스트-스케일링되고 혼합된 픽셀들의 준비를 처리할 수 있다.
일부 실시예들에서, 하드웨어 미러링 모드에서, 보조(또는 외부) 디스플레이에 대한 디스플레이 파이프라인의 백엔드는 주(또는 내부) 디스플레이에 대한 디스플레이 파이프라인의 프론트엔드의 출력을 입력으로 선택할 수 있거나, 주(또는 내부) 디스플레이에 대한 디스플레이 파이프라인의 백엔드는 보조(또는 외부) 디스플레이에 대한 디스플레이 파이프라인의 프론트엔드의 출력을 입력으로 선택할 수 있다. 즉, 디스플레이 생성 유닛(210)의 일 실시예에서, 디스플레이 파이프라인들의 백엔드는 미러링 모드에서 동작하는 동안에 예를 들어 어느 디스플레이가 "선호" 디스플레이인지에 따라 추가 처리를 위해 주 및 보조 디스플레이 파이프라인들의 프론트엔드 출력들 사이에서 선택하는 멀티플렉서를 포함한다. 그러한 실시예들에서, 디스플레이 파이프라인들의 백엔드들에 의한 데이터 출력은 (외부 인터페이스(130)를 통해) 디스플레이(120) 및/또는 디스플레이(160)로 제공되기 전에 스케일링 유닛(220)에 의해 더 스케일링되거나 되지 않을 수 있다. 다른 실시예들에서, 하드웨어 미러링 모드에서, 디스플레이 파이프라인들 중 하나의 디스플레이 파이프라인(예를 들어, 선호 디스플레이에 대한 디스플레이 파이프라인)의 백엔드에 의한 데이터 출력은 스케일링 유닛(220)에 의한 추가적인 스케일링이 있거나 없이 주(또는 내부) 디스플레이 및 보조(또는 외부) 디스플레이 양쪽에 제공될 수 있다. 예를 들어, 컴퓨팅 장치(110)는 디스플레이들 각각에 대한 선택된, 고유한, 선호 또는 최상의 모드에서 이미지 콘텐츠를 렌더링할 수 있고, 선호 디스플레이에 대한 렌더링된 콘텐츠를 선호 디스플레이에 직접 제공할 수 있으며, 렌더링된 콘텐츠를 비선호 디스플레이에 제공하기 전에 (렌더링된 콘텐츠를 재렌더링하지 않고) 렌더링된 콘텐츠를 비선호 디스플레이 상에서의 제공을 위해 (예를 들어, 재샘플링에 의해) 스케일링할 수 있다. 또 다른 실시예들에서, 디스플레이 생성 유닛(210)은 선호 디스플레이에 대해 이미지 콘텐츠를 렌더링하기 위한 단일 디스플레이 파이프라인을 포함할 수 있으며, 이 단일 디스플레이 파이프라인의 출력은 비선호 디스플레이에 제공되기 전에 스케일링 유닛(210)에 의해 (예를 들어, 재샘플링에 의해) 스케일링될 수 있다.
일례에서, 컴퓨팅 장치(110)는 외부 디스플레이(160)가 선호 디스플레이인 상황에서(예를 들어, 외부 디스플레이(160)가 텔레비전, 프로젝터 또는 다른 프레젠테이션 타입 장치일 때) 디스플레이 미러링을 구현할 수 있다. 이 예에서, 디스플레이 생성 유닛(210)은 외부 디스플레이(160)에 대한 최상의 디스플레이 모드에서 이미지 콘텐츠를 제공하기에 적합한 데이터를 생성할 수 있고, 이 데이터를 인터페이스(130)를 통해 디스플레이(160)에 제공할 수 있다. 이 예에서, 컴퓨팅 장치(110)는 (예를 들어, 임의 수의 고유 디스플레이 모드 중 하나의 모드의 해상도 및/또는 종횡비에 적어도 부분적으로 기초하여) 내부 디스플레이(120)에 대한 최상 디스플레이 모드에 따라 이 데이터를 (스케일링 유닛(220)을 이용하여) 디스플레이 생성 유닛(210)과 내부 디스플레이(120) 사이에서 스케일링함으로써 데이터를 내부 디스플레이(120)에 제공할 수 있다. 도 2a에 도시된 실시예에서, 스케일링 유닛(220)은 디스플레이(120) 상에 표시될 프레임을 생성하기 위해 디스플레이 생성 유닛(210)에 의해 제공되는 출력을 다운스케일링하도록 구성될 수 있다. 다른 실시예들에서, 스케일링 유닛(220)은 디스플레이(160) 상에 표시될 프레임을 생성하기 위해 디스플레이 생성 유닛(210)에 의해 제공되는 출력을 다운스케일링하도록 구성될 수 있거나, 스케일링 유닛(220)은 내부 디스플레이(120) 또는 외부 디스플레이(160) 상에(즉, 비선호 디스플레이 상에) 제시될 프레임을 생성하기 위해 디스플레이 생성 유닛(210)에 의해 제공되는 출력을 업스케일링하도록 구성될 수 있다.
컴퓨팅 장치(110)가 미러링 모드가 아니라 확장 디스플레이 모드에서 동작하고 있을 때, 내부 디스플레이(120) 또는 외부 디스플레이(160)에 제공되는 데이터는 상이할 수 있으며, 각각의 디스플레이에 대한 최상 디스플레이 모드와 호환되는(또는 임의 수의 고유 디스플레이 모드 중 하나에 기초하는) 이미지 데이터를 제공하기 위해 디스플레이 생성 유닛(210)에 의해 렌더링되고 그리고/또는 스케일링 유닛(220)에 의해 스케일링될 수 있다는 점에 유의한다. 다양한 렌더링 및 스케일링 작업들의 결과들의 여러 특정 예가 도 3a-3c에 도시되며, 아래에 설명된다.
일부 실시예들에서 컴퓨팅 장치(110) 및/또는 디스플레이 생성 유닛(210)은 하나 이상의 전용 그래픽 처리 유닛(GPU)을 포함하는 그래픽 제어기 또는 카드를 포함할 수 있으며, 디스플레이 생성 유닛(210)에 의해 수행되는 바와 같은 본 명세서에서 설명되는 기능 중 일부 또는 전부가 그러한 GPU에 의해 수행될 수 있다는 점에 유의한다. 도 2a에 도시된 예는 디스플레이 생성 유닛(210)과 별개인 단일 스케일링 유닛(220)을 포함하지만, 다른 실시예들에서는 다수의 스케일링 유닛(220)이 컴퓨팅 장치(110)에 포함될 수 있고, 그리고/또는 그러한 스케일링 유닛들이 디스플레이 생성 유닛(210)의 컴포넌트로서, 외부 인터페이스(130)의 컴포넌트로서 또는 컴퓨팅 장치(110) 내의 다른 기능 유닛의 컴포넌트로서 구현될 수 있다는 점에도 유의한다. 예컨대, 일부 실시예들에서, 본 명세서에서 설명되는 스케일링 작업들(및/또는 다중화 작업들과 같은 다른 기능)은 (GPU의 컴포넌트일 수 있는) 하나 이상의 디스플레이 드라이버(230)에 의해 구현될 수 있다. 이것은 도 2b의 예시적인 블록도에 의해 도시된다.
다양한 실시예들에서, 스케일링 유닛(220) 또는 디스플레이 드라이버들(230)은 디스플레이들(120, 160) 상에 제시되는 이미지 콘텐츠의 종횡비가 동일하도록 그리고 디스플레이들(120, 160) 각각에 제시될 이미지 콘텐츠의 해상도가 해당 디스플레이의 최상 디스플레이 모드에 적합하도록 수평 스케일 팩터 및/또는 수직 스케일 팩터에 의해 스케일링된 데이터를 내부 디스플레이(120) 및/또는 인터페이스(130)에 제공할 수 있다. 그러한 스케일링을 수행하고 그러한 스케일링을 언제 수행할지를 결정하기 위한 예시적인 방법들이 아래에 더 상세히 설명된다.
도 3a 및 3b는 미러링 모드에서 동작할 때 컴퓨팅 시스템에 의해 수행될 수 있는 일부 실시예들에 따른 이미지 스케일링의 특정한 비제한적인 예들을 나타낸다. 이러한 예들에서, (선호 디스플레이인) 외부 디스플레이의 최상 디스플레이 모드를 위해 렌더링된 이미지 데이터는 (비선호 디스플레이인) 내부 디스플레이 상의 제시를 위해 스케일링되었다. 도 3a에 도시된 예에서, 내부 디스플레이(310)는 IPAD 제품과 같은 태블릿 컴퓨팅 장치의 통합 디스플레일 수 있는 반면, 외부 디스플레이(315)는 일반적으로 프레젠테이션을 위해 사용되는 것들과 같은 HDTV 디스플레이이다. 이 예에서, 외부 디스플레이(315)가 선호 디스플레이이므로, (예를 들어, HDTV의 고유 해상도, 종횡비 및/또는 컬러 프로파일에 따라) 디스플레이(315)의 최상(또는 선호) 모드를 위해 이미지 데이터가 생성되며, 따라서 디스플레이 영역은 완전히 채워지고, 이미지는 선명하게 나타난다. 이 예에서, 내부 디스플레이(310)는 세로 배향에서 동작하고 있으며, 그의 종횡비(폭 대 높이의 비율)는 가로 배향을 구현하는 외부 디스플레이(315)의 종횡비와 매우 다르다. 예를 들어, 외부 디스플레이(315)는 16:9(예로서, 1920 x 1080 픽셀들)의 종횡비를 가질 수 있는 반면, 내부 디스플레이(310)는 3:4(예로서, 1536 x 2048 픽셀들)의 종횡비를 가질 수 있다.
이 예에서, 스케일링 유닛(220)(또는 디스플레이 드라이버들(230))은 디스플레이(310)의 최상(또는 선호) 모드에 적합한 해상도에서 디스플레이(310) 상의 이미지의 종횡비(즉, 이미지가 디스플레이(315) 상에 제시되는 것과 동일한 종횡비)를 유지하기 위해 디스플레이(315)를 위해 생성된(즉, 렌더링된) 이미지 데이터를 스케일링하도록 동작할 수 있다. 그러한 스케일링의 적용은 비례하는 크기의 동시 이미지들이 양 디스플레이(310, 315) 상에 나타나게 할 수 있다. 디스플레이(310)의 고유 종횡비는 디스플레이(315)의 고유 종횡비와 다르므로, 이 예에서, 스케일링된 이미지는 디스플레이(310)의 전체 디스플레이 영역을 채우지 못할 수 있다. 이것은 미러링된 이미지를 표시하는 데 사용되지 않는 디스플레이의 부분들을 지시하는, 디스플레이(310)의 상부 및 하부를 따르는 빗금 친 부분들에 의해 도 3a에 도시된다. 일부 실시예들에서, 디스플레이(310)의 이 부분들은 "어둡게(blacked out)" 나타날 수 있다. 다른 실시예들에서, (미러링된 이미지와 다른 하나 이상의 이미지의 부분들을 나타내는) 추가적인 이미지 정보가 빗금 친 영역에 의해 표시된 픽셀들에 표시될 수 있다. 내부 디스플레이(310) 및 컴퓨팅 장치에 외부 디스플레이(315)로서 접속된 HDTV의 종횡비가 동일한 경우, 내부 디스플레이(310) 상에 제시되는 이미지들은 전체 디스플레이 영역을 채울 수 있는데, 즉 미러링 모드에서 동작할 때 디스플레이의 어떠한 "어두운" 부분도 존재하지 않을 수 있다.
도 3b에 도시된 예에서, 내부 디스플레이(320)는 랩탑 컴퓨팅 장치의 통합 디스플레이일 수 있는 반면, 외부 디스플레이(325)는 일반적으로 프레젠테이션을 위해 사용되는 것들과 같은 프로젝터이다. 이 예에서, 외부 디스플레이(325)가 선호 디스플레이이므로, (예를 들어, 프로젝터의 고유 해상도, 종횡비 및/또는 컬러 프로파일에 따라) 디스플레이(325)의 최상(또는 선호) 모드를 위해 이미지 데이터가 생성되며, 따라서 디스플레이 영역은 완전히 채워지고, 이미지는 선명하게 나타난다. 이 예에서, 내부 디스플레이(320)는 가로 배향에서 동작하고 있으며, 그의 종횡비(폭 대 높이의 비율)는 세로 배향을 구현하는 외부 디스플레이(325)의 종횡비와 매우 다르다.
이 예에서, 스케일링 유닛(220)(또는 디스플레이 드라이버들(230))은 디스플레이(320)의 최상(또는 선호) 모드에 적합한 해상도에서 디스플레이(320) 상의 이미지의 종횡비(즉, 이미지가 디스플레이(325) 상에 제시되는 것과 동일한 종횡비)를 유지하기 위해 디스플레이(325)를 위해 생성된(즉, 렌더링된) 이미지 데이터를 스케일링하도록 동작할 수 있다. 그러한 스케일링의 적용은 비례하는 크기의 동시 이미지들이 양 디스플레이(320, 325) 상에 나타나게 할 수 있다. 디스플레이(320)의 고유 종횡비는 디스플레이(325)의 고유 종횡비와 다르므로, 이 예에서, 스케일링된 이미지는 디스플레이(320)의 전체 디스플레이 영역을 채우지 못할 수 있다. 이것은 미러링된 이미지를 표시하는 데 사용되지 않는 디스플레이의 부분들을 지시하는, 디스플레이(320)의 측부들을 따르는 빗금 친 부분들에 의해 도 3b에 도시된다. 일부 실시예들에서, 디스플레이(320)의 이 부분들은 "어둡게(blacked out)" 나타날 수 있다. 다른 실시예들에서, (미러링된 이미지와 다른 하나 이상의 이미지의 부분들을 나타내는) 추가적인 이미지 정보가 빗금 친 영역에 의해 표시된 픽셀들에 표시될 수 있다. 내부 디스플레이(320) 및 컴퓨팅 장치에 외부 디스플레이(325)로서 접속된 프로젝터의 종횡비가 동일한 경우, 내부 디스플레이(320) 상에 제시되는 이미지들은 전체 디스플레이 영역을 채울 수 있는데, 즉 미러링 모드에서 동작할 때 디스플레이의 어떠한 "어두운" 부분도 존재하지 않을 수 있다.
도 3c는 일 실시예에 따른, 확장 디스플레이 모드에서의 2개의 디스플레이 상의 이미지 콘텐츠의 표시의 일례를 나타낸다. 일부 실시예들에서, 확장 디스플레이 모드에서, 컴퓨팅 장치는 결합된 디스플레이들의 크기 및 형상을 갖는 단일의 대형 디스플레이인 것처럼 2개의 디스플레이의 집합적 디스플레이 영역 상에 이미지 정보를 제시할 수 있다. 이 예에서 설명되는 바와 같이, 내부 디스플레이(330)(3:4) 및 외부 디스플레이(335)(16:9)의 배향들 및 종횡비들이 매우 다른 경우에도, 컴퓨팅 장치는 디스플레이들의 전체 디스플레이 영역을 채우는 이미지 정보를 생성하여 양 디스플레이에 제공할 수 있다. 이 예에서, 디스플레이 생성 유닛(210)은 (예를 들어, 해당 디스플레이에 대한 고유 해상도, 종횡비 및/또는 컬러 프로파일에 따라) 이미지 콘텐츠가 제시될 디스플레이에 대한 최상(또는 선호) 모드에서 각각의 디스플레이에 대해 상이한 이미지 콘텐츠를 렌더링할 수 있다. 따라서, 각각의 디스플레이 상에서 제시되는 이미지들은 선명하고 자연스러운(예를 들어, 신장 또는 압축되지 않고 자연스런 컬러 프로파일을 갖는) 모습을 나타낼 수 있다.
본 발명의 실시예들은 (어느 하나가 존재할 경우) 어느 것이 특정 시점에 선호 디스플레이인지에 관계없이 내부(또는 주) 디스플레이 및 외부(또는 보조) 디스플레이 해상도들 및/또는 종횡비들의 임의의 적절한 조합에 적용될 수 있다는 점에 유의한다. 일부 실시예들에서, 컴퓨터가 디스플레이 미러링 모드에서 동작하고, 특정 외부 디스플레이가 검출될 때, 외부 디스플레이의 최상(또는 선호) 모드에 대한 적절한 디스플레이 파라미터 값들(예를 들어, 해상도, 종횡비 및/또는 컬러 프로파일 데이터)의 세트가 그러한 파라미터들을 저장하는 데이터베이스(예로서, 컴퓨터의 메모리에 또는 컴퓨터에 의해 액세스될 수 있는 메모리에 저장된 데이터베이스)로부터 획득될 수 있다. 유사하게, 내부 디스플레이의 최상(또는 선호) 모드에 대한 디스플레이 파라미터 값들(예를 들어, 해상도, 종횡비 및/또는 컬러 프로파일 데이터)도 그러한 데이터베이스로부터 획득될 수 있다. 예를 들어, IPAD 제품은 2048 x 1536 내부 디스플레이를 포함할 수 있는 반면, HDTV는 1920 x 1080 디스플레이를 포함할 수 있다. 본 명세서에서 설명되는 기술들은 내부 디스플레이 상에 표시되는 이미지들을 다수의 외부 장치(예로서, 다수의 프로젝터, 텔레비전 또는 컴퓨터 모니터)로 미러링할 때 적용될 수 있다는 점에도 유의한다. 그러한 실시예들에서, 시스템은 선호 디스플레이(또는 다수의 외부 디스플레이가 동일한 타입인 경우에는 선호 디스플레이 타입)를 결정(또는 선호 디스플레이를 식별하는 입력을 수신)하여 선호 디스플레이(또는 디스플레이 타입)에 대한 최상(또는 선호) 모드에서 이미지 콘텐츠를 렌더링하고, (예를 들어, 내부 디스플레이 및 선호 디스플레이의 타입과 다른 타입의 임의의 외부 디스플레이들을 포함하는) 하나 이상의 다른 디스플레이 상에서의 표시를 위해, 렌더링된 이미지 콘텐츠를 재샘플링 또는 스케일링하도록 구성될 수 있다.
일부 실시예들에서, 본 명세서에서 설명되는 시스템들은 사용자가 디스플레이 모드 및/또는 선호 디스플레이를 선택 및/또는 제어할 수 있게 하는 다양한 사용자 인터페이스 메커니즘을 제공할 수 있다는 점에 유의한다. 그러나, 사용자는 시스템이 디스플레이들의 주어진 조합에 대해 선호 디스플레이 및 디스플레이 모드를 자동으로(그리고 정확히) 추정하는 경우에는 이러한 제어들을 조작하는 것이 필요하지 않을 수 있다. 예를 들어, 프로젝터 또는 텔레비전이 컴퓨터에 접속되는 경우, 컴퓨터는 사용자가 디스플레이 미러링 모드에서 이미지들을 표시하기를 원할 가능성이 가장 높고, 또한 그러한 외부 디스플레이(즉, 프로젝터 또는 텔레비전)가 선호 디스플레이이기를 원할 가능성이 가장 높은 것으로 가정할 수 있다. 일부 실시예들에서, 컴퓨터가 가장 유망한 디스플레이 모드 및 선호 디스플레이를 결정한 후, 컴퓨터는 그 디스플레이에 대한 디스플레이 해상도, 종횡비 및/또는 컬러 프로파일을 최적화할 수 있으며(이미지 데이터를 한 번만 렌더링함으로써, 이미지 데이터가 선호 디스플레이 상에 "완전하게" 또는 "원래대로" 나타나게, 즉 이미지 데이터가 이미지 데이터의 각각의 요소와 디스플레이의 픽셀들 사이의 1:1 맵핑으로 전체 디스플레이 영역을 채우고 가능한 한 선명하게 할 수 있으며), 이어서 이 이미지 데이터를 재샘플링 또는 스케일링하여, 이미지 데이터가 다른 디스플레이 상에 표시될 때 만족스런 모습(예를 들어, 가능한 한 선명하고 그리고/또는 재렌더링 없이도 가능한 한 디스플레이를 많이 채우는 모습)을 생성할 수 있다. 이러한 기술들은 대부분의 예들에서 선호 디스플레이 모드 및 선호 디스플레이를 정확히 추정할 수 있지만, 일부 실시예들에서 사용자는 컴퓨터에 의해 자동으로 이루어진 선택들을 (예를 들어, 디스플레이 미러링 모드 또는 확장 디스플레이 모드를 선택하기 위한 또는 내부 또는 외부 디스플레이를 선호 디스플레이로서 선택하기 위한 무선 버튼 또는 다른 사용자 인터페이스 메커니즘을 이용하여) 무효화할 수 있다. 예를 들어, 일 실시예에서, 시스템은 디스플레이 미러링 모드에서 동작할 때 디스플레이(들) 내에 디스플레이 메뉴를 (예로서, 팝업 또는 풀다운 메뉴로서) 제공할 수 있으며, 사용자는 이를 통해 미러링을 불능화하거나, 선호 디스플레이의 선택을 수정할 수 있다.
전술한 바와 같이, 일부 실시예에서, 컴퓨터는 시스템에서 접속되고 이용 가능한 디스플레이들의 타입들을 검출하도록 구성될 수 있다. 도 5에 예시되어 아래에서 더 상세히 설명되는 바와 같이, 일부 실시예에서, 컴퓨터는 디스플레이들 자체로부터 디스플레이들에 관한 정보를 획득할 수 있다. 예를 들어, 컴퓨터가 부팅하거나, 리셋되거나, 그렇지 않으면 초기화될 때, 또는 외부 디스플레이가 컴퓨터에 부착될 때, 컴퓨터는 부착된 디스플레이들 각각을 폴링(poll)할 수 있고 및/또는 부착된(또는 새로 부착된) 디스플레이들 각각은 시스템에 그 자신에 관한 정보(예를 들어, 모델 번호, 시리얼 번호, 제조한 주, 그것이 지원하는 디스플레이 모드들의 리스트, 너비 픽셀들의 수×높이 픽셀들의 수와 같은 각각의 지원되는 모드의 다양한 디스플레이 파라미터 값들, 및/또는 만약에 있다면, 지원되는 모드들 중 어느 것이 디폴트 모드인지의 표시)를 제공하도록 구성될 수 있다. 일부 실시예에서, 이러한 정보는 (이러한 정보에 대한 산업 표준에 따라) 디스플레이를 포함하는 장치에 의해 제공되는 확장된 디스플레이 식별자 데이터 정보의 블록에 코드들로서 제공될 수 있다.
일부 실시예에서, 디스플레이를 포함하는 장치에 의해 제공되는 데이터는 부정확한 것으로 알려질 수 있다. 일부 그러한 실시예들에서, 장치에 의해 제공되는 데이터는 디스플레이 무효화 파라미터 값들의 데이터베이스(예를 들어, 컴퓨터 상의 메모리에 또는 컴퓨터에 의해 액세스 가능한 메모리에 저장된 데이터베이스)에 저장되는 더욱 정확한 디스플레이 데이터에 의해 무효로 될 수 있다. 일부 실시예에서, 수신 정보에 (적어도 부분적으로) 기초하여, 컴퓨터는 각 디스플레이에 대한 최상의(또는 선호) 모드를 결정할 수 있다. 일부 실시예에서, 컴퓨터는 모든 다른 디스플레이에 대하여 각 디스플레이에 대한 최상의(또는 선호) 모드에 관한 정보를 전파할 수 있다. 예를 들어, 시스템이 1080p 디스플레이 및 1920x1200 디스플레이에 부착되는 경우, 1920x1200 모드를 기술하는 정보는 1080p 디스플레이에 전파될 수 있고 그 반대도 마찬가지이다. 일부 실시예에서, 각 디스플레이(내부 및 외부)에 대한 최상의(또는 선호) 모드는 (예를 들어, 그것이 선호 디스플레이일 때) 각 디스플레이에 대한 디폴트 모드일 수 있다. 일부 그러한 실시예들에서, 컴퓨터는 (예를 들어, 1-1 맵핑에서 디스플레이 픽셀들에 매칭하는 이미지 데이터를 렌더링하는) 선호 디스플레이에 대한 디스플레이 모드로서 그 모드를 이용할 수 있고, 그 다음에 (예를 들어, 이미지 데이터를 재렌더링하지 않고, 비선호 디스플레이, 또는 그의 파생물에 대한 디폴트 모드의 해상도 및 종횡비를 이용하여) 다른 디스플레이에 대한 디폴트 모드와 호환되도록 렌더링된 이미지 데이터를 스케일링할 수 있다. 본원에서 몇개의 예로 설명된 바와 같이, 이것은 (일부 실시예에서 및 일부 경우에서) 다른 (비선호) 디스플레이의 전체 디스플레이 면적을 채우지 않는 스케일링된 이미지를 야기할 수 있다. 다른 실시예들에서, 렌더링된 이미지 데이터는 그것이 다른 (비선호) 디스플레이의 전체 디스플레이 면적(즉, 스크린)을 채우도록 스케일링될 수 있다.
다양한 타입의 장치들의 해상도 차이로 인해, 렌더링된 이미지 데이터는 비선호 디스플레이 상의 디스플레이를 위해 업 샘플링되거나(up-sampled) 또는 다운 샘플링(down-sampled)될 수 있다는 것에 주목한다. 예를 들어, 텔레비전들(및/또는 다른 가전제품 프로파일들)에 대한 공통 해상도 레벨들은 TV들에 대해 1080p 및 720p 모드들을 포함할 수 있고, 랩탑 또는 태블릿 컴퓨팅 장치들의 일부 내부 디스플레이들에서 이용가능한 고유, 디폴트, 또는 최상의 해상도는 훨씬 더 높을 수 있다(예를 들어, 1366x768). 따라서, 텔레비전이 랩탑 컴퓨터에 접속되고 선호 디스플레이인 디스플레이 미러링 모드에서, 텔레비전에 대해 렌더링된 이미지들은 랩탑 컴퓨터의 스크린 상의 디스플레이를 위해 다운 스케일링(downscaled)(예를 들어, 다운 샘플링)될 수 있다. 일반적으로, 다운 스케일링은 인접 픽셀들의 샘플링을 요구할 수 있기 때문에, 다운 스케일링은 업 스케일링(upscaling)보다 더 큰 버퍼를 요구할 수 있다. 일부 실시예에서, 본원에 설명된 시스템들은 시스템 내의 전용 하드웨어 또는 GPU를 이용하여 다운 스케일링할 수 있는 디스플레이 미러링을 위해 최적화된 시스템을 이용할 수 있고, 임의의 인지할 수 있는 지연들 또는 동기화 문제들을 일으키지 않고 다운 스케일링할 수 있다. 일부 실시예에서, 이것은 윈도우 시스템이 백엔드 스케일 버퍼들(back end scale buffers)에 직접 액세스할 수 있게 하고 윈도우 시스템이 버퍼들을 관리할 수 있게 함으로써 실현될 수 있다.
일반적으로, 본원에 설명된 기법들은 사용자가 컴퓨터에 외부 디스플레이를 부착할 수 있게 하고, 외부 디스플레이가 프레젠테이션 타입 장치(예를 들어, 텔레비전 또는 프로젝터)인지를 컴퓨터가 자동으로 검출할 수 있게 하고, 그에 따라 컴퓨터가 자동으로 시스템을 구성할 수 있게 할 수 있다. 예를 들어, 컴퓨터는 디스플레이 미러링 모드에서 시스템을 자동으로 구성할 수 있고, 외부 디스플레이 장치(즉, 텔레비전 또는 프로젝터)를 자동으로 "선호(prefer)"함으로써, 외부 디스플레이에 대해 데스크탑 사이즈를 설정하고, 그에 따라 이미지들을 렌더링할 수 있다. 이 자동 구성에 따라, 외부 디스플레이에 대한 완벽한 1-1 픽셀비/맵핑이 존재할 수 있다. 외부 디스플레이에 대해 렌더링된 이미지들은 그 다음에 내부 디스플레이에 맞도록 스케일링될 수 있어서, 그것은 양호한(그러나 아마도 완벽하지는 않은) 외관을 갖는다. 유사하게, 컴퓨터는 디스플레이에 대한 컬러 프로파일을 외부 장치에 대한 컬러 프로파일로(예를 들어, 마스터 컬러 프로파일로서) 설정할 수 있고, 내부(비선호) 디스플레이의 컬러 프로파일에 따라 렌더링된 이미지들의 컬러를 변환 또는 그렇지 않으면 적응할 수 있다.
예시적인 방법들
디스플레이 미러링을 구현하기 위한 및/또는 디스플레이 미러링을 구현할 때 및 구현할지를 결정하기 위한 시스템들 및 방법들의 다양한 실시예들은 포터블 전자 장치들을 포함하여, (아래 도 8에 예시된 컴퓨터 시스템(800)과 같은) 하나 이상의 컴퓨터에서 수행될 수 있는 방법들을 포함할 수 있다. 도 4-7은 그러한 방법들의 다양한 예들을 예시한다.
특정 실시예들이 위에서 설명되었지만, 단일 실시예만이 특정 특징과 관련하여 설명되는 경우에도, 이들 실시예들은 본 발명의 범위를 한정하도록 의도되지 않는다. 본 발명에 제공된 특징들의 예들은 별도 언급이 없는 한 제한이라기보다는 예시인 것으로 의도된다. 본원에 포함된 설명들은 본 발명의 이득을 갖는 이 기술분야의 통상의 기술자에게 명백한 바와 같은 그러한 대안들, 수정들, 및 등가물들을 커버하는 것으로 의도된다.
디스플레이 미러링을 구현하기 위한 방법의 일 실시예가 도 4의 흐름도에 의해 예시된다. 410에서 예시된 바와 같이, 방법은 컴퓨팅 장치에 접속되는 외부 디스플레이의 하나 이상의 특성을 결정하는 것을 포함할 수 있다. 예를 들어, 방법은 외부 디스플레이가 프레젠테이션 디스플레이인지 여부를 결정하는 것을 포함할 수 있다. 방법은 420에서와 같이, (디스플레이의 결정된 특성에 기초하여) 컴퓨팅 장치, 컴퓨팅 장치의 내부 디스플레이, 및 외부 디스플레이를 확장된 디스플레이 모드를 위해 구성할지 또는 디스플레이 미러링 모드를 위해 구성할지를 결정하는 것을 포함할 수 있다. 예를 들어, 디스플레이의 결정된 특성이 프레젠테이션 장치의 것과 일관되는 경우, 시스템은 디스플레이 미러링 모드를 위해 구성될 수 있다. 그렇지 않으면(예를 들어, 결정된 디스플레이의 특성이 프레젠테이션 장치의 것과 일관되지 않으면), 시스템은 (430으로부터의 부정 출구(negative exit) 및 요소 435에 의해 도 4에 예시된 바와 같이) 확장된 디스플레이 모드를 위해 구성될 수 있다.
이 예에 예시된 바와 같이, 시스템이 (430으로부터의 긍정 출구(positive exit)로서 도시된) 디스플레이 미러링 모드를 위해 구성된 경우, 방법은 440에서와 같이, 외부 디스플레이가 선호 디스플레이인지 또는 내부 디스플레이가 선호 디스플레이인지를 결정하는 것을 포함할 수 있다. 본원에 설명된 바와 같이, 방법은 450에서와 같이, 선호 디스플레이에 대한 최상의 디스플레이 모드에서 이미지 콘텐츠를 렌더링하는 것, 및 선호 디스플레이 상에 그 렌더링된 이미지 콘텐츠를 제시하는 것을 포함할 수 있다. 방법은 또한 460에서와 같이, 다른 디스플레이(즉, 비선호 디스플레이) 상의 디스플레이를 위해 렌더링된 콘텐츠를 재샘플링 및/또는 스케일링하는 것, 및 비선호 디스플레이 상에 재샘플링 및/또는 스케일링된 이미지 콘텐츠를 제시하는 것을 포함할 수 있다.
앞서 언급한 바와 같이, 일부 실시예에서, 컴퓨터 시스템이 디스플레이 미러링 모드에서 또는 확장된 디스플레이 모드에서 구성되어야 하는지를 결정하는 것은, 제조 정보, 모델 및/또는 시리얼 번호들, 지원되는 디스플레이 모드들에 대한 디스플레이 파라미터 값들, 및/또는 다른 가전제품 프로파일 정보를 포함할 수 있는, 디스플레이 장치 자체로부터 확장된 디스플레이 식별 데이터(extended display identification data; EDID)를 획득하는 것을 포함할 수 있다. 그러한 정보는 상이한 실시예들에서, 다양한 가전제품 장치들에 의해 자동으로(예를 들어, 부팅시, 시스템 초기화 동안, 또는 그것이 시스템에 부착될 때), 또는 시스템에 의한 이 정보의 폴링에 응답하여 제공될 수 있다.
모든 EDID 블록들에 제공된 정보 이외에, 시간에 따라 제안된(그리고 일부 경우에 주로 채택된) 표준에 대한 다양한 확장들이 존재한다는 것에 주목한다. 예를 들어, 대부분의 텔레비전 제조자들은 선호 비디오 모드를 표시하는 정보를 포함하는, 본원에서 CEA-861 확장 블록이라고 하는 확장을 구현하였다. 일부 경우, 선호 비디오 모드는 주어진 장치에 대해 광고된(또는 주어진 장치에 의해 지원되는) 최고 해상도 모드가 아닐 수 있다. 예를 들어, 제조자가 특정 텔레비전이 1080 수직 픽셀들을 지원하는 능력을 갖는다고 광고할 수 있지만, 텔레비전은 실제로 720 수직 픽셀들만을 구현할 수 있다. 따라서, (본원에 설명된 기법들에 의해 텔레비전에 대해 최상의 모드 또는 디폴트 모드로서 이용될 수 있는) 선호 모드는 720p 모드일 수 있다. 720p는 텔레비전의 고유 해상도이고, 이 해상도에서 렌더링된 이미지들은 임의의 스케일링을 요구하지 않을 수 있기 때문에, 이 모드에 따라 렌더링된 이미지들은 이미지들이 1080p 모드에서 렌더링한 텔레비전에서 더 잘 보일 수 있다.
일부 경우에, 일부 장치들에 의해 공급된 EDID 코드들은 오해를 일으킬 소지가 있거나 부정확하다. 예를 들어, 스피커들을 갖지만 텔레비전들은 아닌 일부 LCD 패널들은 그것들의 EDID 블록들에서 비디오 타이밍들이 아닌 오디오 타이밍들을 광고할 수 있고, "비 텔레비전들(not televisions)"로서 취급될 필요가 있을 수 있다. 다시 말해, 컴퓨터는 그러한 LCD 패널들이 디스플레이 미러링 모드에서 프레젠테이션을 위해서보다, 확장된 데스크탑 모드에서 이용을 위해 의도된다고 가정할 수 있다. 일부 실시예에서, 컴퓨터는 (밀리미터로 특정되는 물리적 폭 및 높이를 갖는 CEA 확장 블록에 포함될 수 있는) 디스플레이의 광고된 사이즈를 시험할 수 있다. 사이즈가 상당히 큰 것이면(예를 들어, 30 인치 이상과 같이, 대각선에서 12 인치보다 현저히 더 큰 것이면), 컴퓨터는 디스플레이가, 모니터로서 컴퓨터 옆에 데스크 위에 놓이는 디스플레이라기보다, 텔레비전(또는 다른 큰 프레젠테이션 디스플레이)이라고 거의 확실하게 가정할 수 있다.
프로젝터들의 경우, 프로젝트되는 이미지와 연관된 물리적 사이즈는 존재하지 않기 때문에, 표준 폴리시(policy)는 제로 mm의 폭 및 높이를 보고하는 것임에 주목한다. 그러나, 다양한 프로젝터 제조자들은 그것들의 종횡비(예를 들어, 16 mm x 9 mm)가 폭 및 높이 대신에 보고되어야 함을 의미하는 것으로 이 폴리시를 부정확하게 해석하였다. 일부 실시예에서, 컴퓨터는 이 에러를 검출하고 디스플레이가 프로젝터라고 가정할 수 있다.
일부 실시예에서, 시스템은 장치들에 의해 공급된 EDID 코드들 중 하나 이상이 부정확한 것으로 알려진 장치 식별자들의 데이터베이스 또는 리스트를 유지할 수 있다. 그러한 실시예들에서, 디스플레이 장치에 의해 제공된 정보는 장치 자체에 의해 제공된 것보다, 디스플레이의 타입을 결정하기 위해 대체 또는 무효 파라미터 값들(예를 들어, 데이터베이스 또는 리스트에 저장된 값들)이 이용되어야 하는지를 결정하기 위해 데이터베이스 또는 리스트와 비교될 수 있다. 그러한 데이터베이스는 시스템에서 국부적으로 저장될 수 있거나, 또는 네트워크를 통해 시스템에 액세스 가능할 수 있고, 디스플레이 장치에 의해 제공된 정보가 부정확한 것으로 발견될 때 주기적으로 또는 필요에 따라 갱신될 수 있다.
디스플레이가 프레젠테이션 장치인지 여부를 결정하기 위한 방법의 일 실시예가 도 5의 흐름도에 의해 예시된다. 이 예에서 예시된 바와 같이, 방법은 (502에서와 같이) 시작할 수 있고, 504에서와 같이, 컴퓨팅 시스템 내의 디스플레이의 존재를 검출할 수 있다. 예를 들어, 시스템은 다양한 실시예들에서, 부팅시, 시스템 또는 특정 디스플레이가 기동하였을 때(또는 각성하였을 때), 또는 디스플레이가 최근에 컴퓨팅 시스템에 접속되었을 때(즉, 핫 플러그(hot plug)), 내부 또는 외부 디스플레이의 존재를 검출할 수 있다. 506에 예시된 바와 같이, 방법은 디스플레이가 주 디스플레이(예를 들어, 통합 또는 내부 디스플레이, 또는 통합 또는 내부 디스플레이를 포함하지 않는 컴퓨팅 시스템에 대한 메인 또는 디폴트 디스플레이로서 역할을 하는 외부 디스플레이)인지를 결정하는 것을 포함할 수 있다. 그렇다면(506으로부터 긍정 출구로서 도시됨), 방법은 (524에서와 같이) 디스플레이가 프레젠테이션 장치가 아니라고 결정하는 것(또는 추론하는 것)을 포함할 수 있다. 디스플레이가 주 디스플레이가 아니면(506으로부터 부정 출구로서 도시됨), 및 디스플레이로부터 수신된 EDID 블록의 버전 번호가 1.3보다 작으면(508로부터 부정 출구로서 도시됨), 방법은 (524에서와 같이) 디스플레이가 프레젠테이션 장치가 아니라고 결정하는 것(또는 추론하는 것)을 포함할 수 있다.
이 예에 예시된 바와 같이, 디스플레이가 주 디스플레이가 아니면(506으로부터 부정 출구로서 도시됨), 및 EDID 버전 번호가 1.3 이상이면(508로부터 긍정 출구로서 도시됨), 방법은 510에서와 같이, 하나 이상의 디스플레이 무효화 파라미터 값들이 디스플레이를 위해 알려져 있는지를 결정하는 것을 포함할 수 있다. 예를 들어, 방법은 EDID 블록들에 제공된 하나 이상의 파라미터 값들이 부정확하다고 알려진 디스플레이들에 대해 디스플레이 파라미터 값들의 데이터베이스를 찾아보는 것(consulting)을 포함할 수 있다. 510으로부터 긍정 출구로서 도시된, 그러한 EDID 무효화 값들이 존재하면, 방법은 (512로서 도시된) 무효화 값들을 획득하기 위해 데이터베이스에 액세스하는 것, 및 (514에서와 같이) 디스플레이로부터 수신된 EDID 파라미터 값들 및 데이터베이스로부터 획득한 무효화 값들에 따라 프레젠테이션 타입의 표시를 결정 및 리턴하는 것을 포함할 수 있다. 이 예에 예시된 바와 같이, 방법은 (528에서와 같이) 디스플레이가 프로젝터임, (522에서와 같이) 디스플레이가 텔레비전임, 또는 디스플레이가 다른 타입의 디스플레이임(즉, 그것이 524에서와 같이 프레젠테이션 장치가 아님)을 결정하는 것(또는 추론하는 것)을 포함할 수 있다.
도 5에 예시된 예에서, 디스플레이 무효화 파라미터 값들이 알려지지 않고(510으로부터 부정 출구로서 도시됨), EDID 블록이 CEA-861 비디오 타이밍들을 포함하지 않고(516으로부터 부정 출구로서 도시됨), 디스플레이가 아날로그 비디오 데이터를 지원하지 않으면(526으로부터 부정 출구로서 도시됨), 방법은 (524에서와 같이) 디스플레이가 프레젠테이션 장치가 아니라고 결정하는 것(또는 추론하는 것)을 포함할 수 있다. 그러나, EDID 블록이 CEA-861 비디오 타이밍들을 포함하고(516으로부터 긍정 출구로서 도시됨), 해상도가 1080 픽셀들보다 크지 않고(518로부터 부정 출구로서 도시됨), 물리적 사이즈가 16mm x 9mm보다 크면(520으로부터 부정 출구로서 도시됨), 방법은 (522에서와 같이) 디스플레이가 텔레비전이라고 결정하는 것(또는 추론하는 것)을 포함할 수 있다. EDID 블록이 CEA-861 비디오 타이밍들을 포함하고(516으로부터 긍정 출구로서 도시됨), 해상도가 1080 픽셀들보다 크면(518로부터 긍정 출구로서 도시됨), 방법은 (524에서와 같이) 디스플레이가 프레젠테이션 장치가 아니라고 결정하는 것(또는 추론하는 것)을 포함할 수 있다.
이 예에서, EDID 블록이 CEA-861 비디오 타이밍들을 포함하고(516으로부터 긍정 출구로서 도시됨), 해상도가 1080 픽셀들보다 크지 않고(518로부터 부정 출구로서 도시됨), 물리적 사이즈가 16mm x 9mm 이하이면(520으로부터 긍정 출구로서 도시됨), 방법은 (528에서와 같이) 디스플레이가 프로젝터라고 결정하는 것(또는 추론하는 것)을 포함할 수 있다. 그러나, EDID 블록이 CEA-861 비디오 타이밍들을 포함하지 않고(516으로부터 부정 출구로서 도시됨), 디스플레이가 아날로그 비디오 데이터를 지원하면(526으로부터 긍정 출구로서 도시됨), 방법은 (528에서와 같이) 디스플레이가 프로젝터라고 결정하는 것(또는 추론하는 것)을 포함할 수 있다.
도 5에 예시된 디스플레이의 타입을 결정하기 위한 방법은 단지 그러한 방법의 일 예이고, 다른 실시예들에서는 디스플레이가 텔레비전, 프로젝터, 다른 타입의 프레젠테이션 디스플레이, 컴퓨터 모니터, 또는 컴퓨팅 장치(또는 그의 디스플레이 생성 유닛)로부터 이미지 데이터를 수신하고 디스플레이를 위해 및 특정 이용 모델을 위해 적절한 포맷으로 대응하는 이미지들을 제시할 수 있는 임의의 다른 타입의 디스플레이인지를 결정하기 위해 상이한 휴리스틱(heuristics)이 적용될 수 있다는 것에 주목한다.
앞서 언급한 바와 같이, 일부 실시예에서, 일단 선호 디스플레이 모드 및 선호 디스플레이가 결정되면, 컴퓨터에 접속된 디스플레이들의 특성에 기초하여, 컴퓨터는 선호 디스플레이의 최상의(또는 선호) 모드에서 디스플레이를 위한 이미지들을 렌더링하고, 하나 이상의 비선호 디스플레이들 상의 디스플레이를 위해 렌더링된 이미지들을 스케일링 및/또는 변환하도록 구성될 수 있다. 이것은, 일부 실시예에서, (예를 들어, EDID 코드들 및/또는 다른 저장된 또는 최근에 획득한 정보에 기초하여) 고유, 최상으로 지원된(best-supported), 디폴트, 또는 앞서 선택한 해상도, 종횡비, 컬러 프로파일, 사이즈(예를 들어, 픽셀들의 높이 및 폭), 비트 깊이(예를 들어, 16 비트 또는 30 비트 모드), 및/또는 선호 디스플레이를 위한 회전을 결정하는 것을 수반할 수 있다. 일부 경우, 사용자가 오직 저해상도 이미지 데이터를 갖는 제시를 표시하기를 원하면, 컴퓨터는 (예를 들어, 이미지들을 제시하는 데 이용되고 있는 애플리케이션에 따라) 선호 디스플레이를 위한 최상의 모드 해상도까지 이미지들을 스케일링할 수 있거나 하지 않을 수 있다는 것에 주목한다. 예를 들어, 이미지들은 그것들이 스크린을 채우기 위해 업 스케일링되지 않지만, 그것들의 고유(저) 해상도에 따라 표시되는 경우에 최상으로 나타날 수 있다.
선호 디스플레이 상에 이미지 콘텐츠를 표시하고 다른 디스플레이 상에 이미지 콘텐츠를 미러링하기 위한 방법의 일 실시예가 도 6의 흐름도에 의해 예시된다. 610에 예시된 바와 같이, 이 예에서, 방법은 외부 디스플레이가 선호 디스플레이인지 또는 내부 디스플레이가 선호 디스플레이인지를 결정하는 것을 포함할 수 있다. 예를 들어, 컴퓨팅 장치가 프로젝션 장치(예를 들어, 텔레비전 또는 프로젝터)인 외부 디스플레이에 접속되어 있다고 결정되었다면, 방법은 외부 디스플레이가 선호 디스플레이여야 한다고 결정하는 것을 포함할 수 있고, 외부 디스플레이가 프로젝션 장치가 아닌 경우, 방법은 내부 디스플레이가 선호 디스플레이여야 한다고 결정하는 것을 포함할 수 있다. 도 6에 예시된 바와 같이, 방법은 또한 620에서와 같이, 선호 디스플레이의 고유 해상도 및 비선호 디스플레이(들)의 고유 해상도(들)를 결정하는 것을 포함할 수 있다. 또한, 방법은 (630에서와 같이) 선호 디스플레이 및 비선호 디스플레이(들)의 고유 종횡비들을 결정하는 것, 및 (640에서와 같이) 선호 디스플레이 및 비선호 디스플레이(들)의 고유 컬러 프로파일들을 결정하는 것을 포함할 수 있다. 예를 들어, 일부 실시예에서, 방법은 디스플레이들 자체로부터 EDID 블록에 수신된 정보 및/또는 이들 타입들의 디스플레이들에 관한 알려진 정보(예를 들어, 디스플레이 파라미터 값들 및/또는 디스플레이 무효화 파라미터들의 하나 이상의 데이터베이스들에 저장된 정보)에 적어도 부분적으로 기초하여 이용가능하고 접속된 디스플레이들 각각에 대해 이들 최상의 디스플레이 모드 파라미터들을 결정하는 것을 포함할 수 있다.
이 예에 예시된 바와 같이, 방법은 (650에서와 같이) 선호 디스플레이의 결정된 고유 해상도, 종횡비, 및/또는 컬러 프로파일에 따라 2개의 장치에 디스플레이될 이미지 콘텐츠를 렌더링하고 나서, 이미지 콘텐츠를 재렌더링하지 않고 (660에서와 같이) 비선호 디스플레이(들)의 해상도들 및/또는 종횡비들에 따라 비선호 디스플레이(들) 상의 제시를 위해 렌더링된 이미지 데이터를 재샘플링 및/또는 그렇지 않으면 스케일링하는 것을 포함할 수 있다. 본원에 설명된 바와 같이, 렌더링된 이미지 데이터를 재샘플링하는 것은 특정 내부 및 외부 디스플레이들의 해상도들 및 종횡비들에 따라, 렌더링된 이미지 데이터를 업 샘플링 또는 다운 샘플링하는 것을 포함할 수 있다. 일부 실시예에서, 방법은 또한 (680에서와 같이) 비선호 디스플레이(들)의 컬러 프로파일(들)에 따라 비선호 디스플레이(들) 상의 디스플레이를 위해 렌더링된 이미지 데이터의 컬러 프로파일을 변환하는 것을 포함할 수 있다. 마지막으로, 방법은 (680에서와 같이) 디스플레이 미러링 모드에서 선호 디스플레이 및 비선호 디스플레이(들) 상에 이미지 콘텐츠를 제시하는 것을 포함할 수 있다.
일부 실시예에서, 컴퓨팅 시스템에 접속된 디스플레이들의 타입들을 결정하고, 디스플레이 모드를 결정하고, 및/또는 선호 디스플레이를 결정하기 위해 본원에 설명된 논리적 기능들은 시스템이 초기화될 때마다 및 외부 디스플레이가 시스템에 부착되거나 분리될 때마다(즉, "디스플레이 재구성 이벤트"가 발생할 때마다) 수행될 수 있다. 예를 들어, 그것들은 물리적 디스플레이가 시스템에 부착되거나 시스템으로부터 분리될 때마다, 사용자가 시스템에 일부 디스플레이 모드 정보를 수동으로 입력하는(예를 들어, 다양한 디스플레이 선호도들이 하나 이상의 사용자 인터페이스 메커니즘들을 통해 입력하는) 임의의 시간에, 또는 가상 디스플레이가 나타났다 사라졌다 할 때에, 수행될 수 있다. 일부 실시예에서, 시스템은 그것들의 선택들이 사용자가 디스플레이들의 특정 조합에 대한 디폴트 구성인 것으로 의도한 것일 가능성이 없지 않으면(예를 들어, 사용자가 특별한 이용의 경우에 비-표준 모드를 명시적으로 선택하는 경우) 자동으로 결정된 및/또는 사용자 정의된 선택들을 기억할 수 있다. 일 예에서, 시스템은, 마우스가 하나의 큰 확장된 데스크탑 디스플레이로서 정확하게 그것들을 가로질러 이동하도록, 복수의 LCD 패널들이 시스템에 접속되었을 때, 특정한 하나가 데스크탑 오른쪽에서 행해졌고, 내부 패널이 데스크탑 중간에서 행해졌고, 다른 것이 데스크탑 왼쪽에서 행해졌음을 기억할 수 있다. 일부 실시예에서, 그것의 패널들 전부가 시스템에 접속되는 다음번에, 시스템은 사용자가 동일한 구성 및 설정들을 원한다고 가정할 수 있고, 그 구성으로 자동으로 스냅(snap)할 수 있다.
일부 실시예에서, 시스템(또는 그의 폴리시 엔진)은 사용자가 그것들이 인식하지 않을 수 있는 차선의 경험을 갖는 것을 방지하는 것을 시도할 수 있다. 예를 들어, 프로젝터가 부착되고 그의 EDID 블록이 그것이 1080p(이것은 19x10 종횡비를 가짐)를 지원한다고 표시할 때, 시스템은 프로젝터에 그것이 완벽한 픽셀로 보이도록 이미지 데이터를 렌더링하도록 구성될 수 있다. 이 경우, 1920x1080 픽셀들은 내부 디스플레이(예를 들어, 랩탑 디스플레이)에 스케일링 업(scale up)될 수 있다. 이것은 (디스플레이의 꼭대기 및 바닥부 상의 블랙 바들로서 나타날 수 있는) 디스플레이의 매우 분명하게 미사용된 부분들을 야기할 수 있는데, 그것은 랩탑 디스플레이가 외부 디스플레이보다 더 큰 종횡비를 갖기 때문이다. 시스템은, 이것이 사용자에게 분명할 때, 그것들이 실제로 "내부를 위한 최상"을 원한 경우 사용자가 뜻하지 않게 그것들의 기계가 "외부를 위한 최상" 모드로 구성된 채로 있게 할 수 있다고 걱정할 필요가 없고, 사용자는 그것들의 디스플레이 선호도들로 가서 구성을 "내부를 위한 최상"으로 변화시킬 수 있다. 다른 한편으로, 사용자가 "외부를 위한 최상"을 원하지만 시스템은 "내부를 위한 최상"으로서 구성되어 있을 때 분명하지 않을 수 있다. 따라서, 일부 실시예에서, 시스템은 디스플레이들의 동일한 조합을 이용할 때 내부 디스플레이를 위한 선호도를 사용자가 최근에 특정한 상황들에서도 "외부를 위한 최상"을 선호하도록 구성될 수 있다. 그러한 실시예들에서, 텔레비전 또는 프로젝터를 포함하는 미러링 상황에서 "내부를 위한 최상"의 선택은 사용자가 그 자체를 핸들링할 필요가 있는 예외 경우로서 고려될 수 있다. 그러나, 일부 실시예에서, 시스템은 그러한 예외 구성은 디스플레이들의 그 조합을 위해 여러 번(예를 들어, 연이어 특정 횟수) 선택하였다고 인식하고, 디스플레이들이 그 조합이 검출되는 다음번에 그의 거동을 변화하거나 또는 "내부를 위한 최상" 모드의 선택을 확인하도록 사용자에게 프롬프트하도록 구성될 수 있다.
가상 디스플레이가 시스템에서 부착되거나 인에이블되어 있을 때(예를 들어, 사용자가 로컬 네트워크에서 가상 텔레비전에 플러그하고 그것이 텔레비전에 부착되는 경우), 사용자가 확장된 데스크탑 모드에서 잠재적으로 미러링할 수 있거나 잠재적으로 이용할 수 있는 가상 텔레비전이 이용가능하게 될 수 있다는 것에 주목한다. 그 경우, 그것은 본질적으로 텔레비전이기 때문에, 시스템은 디스플레이 미러링 모드를 디폴트로 할 수 있지만, 사용자는 확장된 데스크탑의 부분으로서 (예를 들어, 방을 가로질러) 제2 디스플레이에 대한 가상 텔레비전을 이용하기 위하여 디스플레이 메뉴에서 "미러링"을 검사하지 않을 수 있다.
앞서 언급한 바와 같이, 일부 실시예에서, 본원에 설명된 시스템은 사용자가 시스템에 의해 자동으로 행해진 결정들을 무효화할 수 있게 할 수 있다. 예를 들어, 일부 실시예에서, 외부 디스플레이가 컴퓨터에 부착될 때, "디스플레이 엑스트라(display extras)" 메뉴가 (예를 들어, 팝업으로서) 디스플레이될 수 있고, 사용자는 자동으로 결정된 선택들(예를 들어, 디스플레이 모드, 선호 디스플레이, 및/또는 그의 하나 이상의 디스플레이 파라미터들) 중 하나 이상을 수정하기 위해 (예를 들어, "그 위에 마우스를 올림으로써(mousing over it)") 이 메뉴를 선택할 수 있다. 일부 그러한 실시예들에서, 시스템이 물리적으로 디스플레이할 수 있는 모든 가능한 모드를 사용자에게 제공하는 대신에, 시스템은 특정 디스플레이에 대한 최상의 모드를 선택하기 위한, 또는 스케일링된 모드들의 세트 중 하나를 선택하기 위한 옵션을 사용자에게 제공할 수 있다. 이 스케일링된 모드들은 그 다음에 디스플레이에 맞도록 스케일링될 포인트 사이즈들의 세트(a set of point sizes)로서 표현될 수 있고, 그것들은 시스템에서 일어날 가능성이 있는 것을 사용자에게 표현하는 그러한 방식으로 라벨링될 수 있다("가장 큰 텍스트" 또는 "대부분의 픽셀들"). 다양한 실시예들에서, 디스플레이 시스템의 물리적 작업들의 상세들(예를 들어, 수직 블랭킹 시간)은 사용자를 도외시할 수 있다. 랩탑 컴퓨터에 대하여, 시스템은 (픽셀들보다) 포인트들에 관하여 디스플레이 옵션들을 표현할 수 있는데, 그것은 사용자들이 스크린들의 치수들의 해석을 위해 사용자들이 이용하는 법이기 때문임에 주목한다. 텔레비전에 대하여, 시스템은 TV형 해상도들(예를 들어, 800x600 또는 1280x720보다는, 1080p, 1080i, 또는 720p)의 집합으로서 디스플레이 옵션들을 표현할 수 있다. 컴퓨터 모니터들에 대하여, 시스템은 수평 및 수직 픽셀들(예를 들어, 2048x1536)에 관하여 디스플레이 옵션들을 표현할 수 있다.
일부 실시예에서, 컴퓨터는 컴퓨터 및 그의 부착된 디스플레이들을 위한 디스플레이 구성의 변화를 행할 때(또는 변화를 행하기 바로 전에) 디스플레이 재구성 통지들을 송출할 수 있다는 것에 주목한다. 일반적으로, 시스템(또는 그의 폴리시 엔진)은 의도된 디스플레이 구성이 무엇인지, 사용자가 선호도를 갖는지, 컬러가 어떻게 관리되어야 하는지 등을 알아내려고 시도할 수 있고, 그 다음에 미결 구성의 통지를 시스템에서 구동중인 소프트웨어에 제공할 수 있다. 그러한 실시예들에서, 프레젠테이션들 또는 영화 재생을 관리하는 애플리케이션이 시스템에 가는 디스플레이 재구성 통지를 리슨(listen)하고 자동으로 결정된 선택들(예를 들어, 선호 디스플레이, 또는 선호 디스플레이의 해상도) 중 하나 이상을 무효화하는 요구로 응답할 수 있다. 응답하여, 컴퓨터는 요청된 수정을 행할 수 있다. 유사하게, 디스플레이 재구성 통지는 디스플레이 선호도의 변화를 선택하는 사용자에 응답하여 (예를 들어, 다양한 사용자 인터페이스 메커니즘들 중 하나를 통해) 송출될 수 있다. 일부 실시예에서, 디스플레이 재구성 통지는 제안된 또는 미결 변화의 사전통보를 제공하기 위해 송출될 수 있고, 및/또는 디스플레이 재구성 통지는 변화가 행해졌음을 나타내기 위해 디스플레이 구성 변화를 행하는 것에 후속하여 송출될 수 있다. 일부 실시예에서 및 일부 경우에, 시스템에서 현재 실행 중인 애플리케이션이 미결 디스플레이 구성 변화를 거절할 수 있고, 그에 응답하여, 컴퓨터는 미결 변화를 지연, 수정, 또는 중지할 수 있다. 다른 경우들에서, 현재 실행 중의 애플리케이션들은 (예를 들어, 그것이 생성하는 이미지들의 사이즈를 다시 정함(resizing)으로써, 또는 저전력 그래픽 카드로부터 고전력 그래픽 카드로 또는 그 반대로 이동함으로써 완료된 변화를 이용하기 위해) 완료된 디스플레이 구성 변화에 반응할 수 있거나, 계류중 또는 완료된 변화를 무시할 수 있다(또는 의식하지 못할 수 있다). 일부 실시예에서, 그러한 통지들을 수신하는 데 관심 있는 애플리케이션들은 그것들을 수신하도록 등록할 수 있다. 다른 실시예들에서, 오퍼레이팅 시스템 및/또는 시스템 라이브러리의 다양한 기능들이 그러한 통지들을 수신하도록 및 그것들을 대신해 다양한 실행 중의 애플리케이션들에 의해 생성된 이미지들의 사이즈를 다시 정하도록 등록될 수 있다. 미결 및/또는 완료 디스플레이 구성 변화들의 통지들에 대한 다양한 다른 타입의 응답들이 다른 실시예들에서 수행될 수 있다.
컴퓨팅 시스템에서 복수의 디스플레이들을 구성하기 위한 방법의 일 실시예가 도 7의 흐름도에 의해 예시된다. 710에 예시된 바와 같이, 이 예에서, 방법은 사용자가 컴퓨팅 장치에 접속되고 이용가능한 디스플레이 장치들의 수 및/또는 타입의 변화를 일으키는 것을 포함할 수 있다. 예를 들어, 사용자는 컴퓨팅 장치를 재부팅 또는 기동할 수 있거나, 컴퓨팅 장치에 디스플레이를 접속할 수 있거나, 컴퓨팅 장치에서 디스플레이를 분리할 수 있다. 이 예에 예시된 바와 같이, 컴퓨팅 장치는 720에서와 같이, 이용가능한 디스플레이 장치들에서의 변화를 검출할 수 있고, 이용가능한 디스플레이들에 대한 디스플레이 타입(들)을 결정할 수 있다. 그 다음에 컴퓨팅 장치는 가장 가능성이 큰 디스플레이 모드(예를 들어, 디스플레이 미러링 모드 또는 확장된 디스플레이 모드) 및 가장 가능성이 큰 선호 디스플레이(예를 들어, 내부 디스플레이 또는 외부 프레젠테이션 타입 디스플레이)를 자동으로 결정할 수 있다. 그 다음에 컴퓨팅 장치는 이 구성을 위해 자동으로 결정된 디스플레이 파라미터들(예를 들어, 각 디스플레이에 대한 디스플레이 모드, 고유 해상도들, 종횡비들, 및/또는 컬러 프로파일들, 및/또는 디스플레이들 자체로부터 또는 그러한 정보의 하나 이상의 데이터베이스로부터 획득한 임의의 다른 디스플레이 파라미터 값들)을 저장할 수 있다.
이 예에 예시된 바와 같이, 방법은 740에서와 같이, (예를 들어, 디스플레이 모드 및/또는 선호 디스플레이가 변화해야 한다고 결정되었다면) 컴퓨팅 장치가 디스플레이 모드 및/또는 선호 디스플레이의 미결 변화에 대해 하나 이상의 현재 실행 중인 애플리케이션들 및/또는 사용자에 통지하는 것을 포함할 수 있다. 일부 실시예에서, 사용자 및/또는 하나 이상의 애플리케이션(들)은 미결 변화를 거절할 수 있고(750으로부터 긍정 출구로서 도시됨), 이 경우, 컴퓨팅 장치는 755에서와 같이, 디스플레이 모드 및/또는 선호 디스플레이로의 미결 변화를 지연 또는 중지할 수 있다. 사용자도 현재 실행 중의 애플리케이션들도 미결 변화를 거절하지 않으면(750으로부터 부정 출구로서 도시됨), 방법은 760에서와 같이, 컴퓨팅 장치가 변화를 행하고, 수정된 구성을 위해 갱신된 디스플레이 파라미터들을 저장하고, 구성 변화에 대해 사용자 및/또는 현재 실행 중의 애플리케이션(들)에 통지하는 것을 포함할 수 있다.
도 7에 예시된 바와 같이, 컴퓨팅 장치는 770에서와 같이, 디스플레이 장치(들)의 동일한 조합을 검출하는 것에 응답하여 수정된 디스플레이 구성을 위해 저장된 디스플레이 파라미터들에 후속하여 액세스할 수 있다. 다시 말해, 일부 실시예에서, 컴퓨팅 장치는 디스플레이 장치들의 동일한 조합이 컴퓨팅 장치에 접속될 때 및 그 경우에 수정된 구성에서 동일한 방식으로 디스플레이들을 구성하기 위해 동일한 디스플레이 파라미터들이 적용되어야 한다는 것을 추론하도록 구성될 수 있다. 일부 실시예에서, 컴퓨팅 장치는 다시 그것이 이러한 식으로 디스플레이들을 구성하도록 의도됨을 사용자 및/또는 임의의 현재 실행 중인 애플리케이션들에 통지할 수 있고, 사용자 및/또는 애플리케이션들은 (예를 들어, 디스플레이 장치들의 이러한 조합을 위해 상이한 디스플레이 모드, 선호 디스플레이, 및/또는 다른 디스플레이 파라미터들을 명시적으로 선택하는) 추론된 구성을 거절 또는 무효화할 수 있다는 것에 주목한다.
일부 실시예에서, 디스플레이 미러링 모드에 있는 동안, 애플리케이션은 미러링된 콘텐츠 이외에 디스플레이들 중 하나를 위한 고유한 콘텐츠(이용가능한 경우)를 제공할 수 있다는 것에 주목한다. 예를 들어, 애플리케이션이 프로젝터 또는 텔레비전 및 랩탑 또는 태블릿 장치의 내부 디스플레이 상의 제시를 위해 이미지들을 미러링하도록 구성될 수 있고, 또한 (예를 들어, 그것들이 이용가능한 경우 및 그러한 동안에만, 및 그 애플리케이션이 전경(foreground)에 있는 경우에만) 오직 내부 디스플레이 상에 스피커 노트들(speaker notes)을 동시에 제공할 수 있을 수 있다. 일부 실시예에서, 시스템이 본원에 설명된 기법들 중 임의의 것을 이용하여, 디스플레이 미러링 모드를 위해 구성되었지만, 후속하여 실행된 애플리케이션이 프레젠테이션 모드를 위해 적합하지 않다면(예를 들어, 그것이 복수의 부착된 디스플레이들에 대해 상이한 콘텐츠를 제공할 수 있다면), 컴퓨터는 그것이 확장된 디스플레이 모드에 찬성하여 디스플레이 미러링 모드를 퇴장해야 한다고 자동으로 결정할 수 있다. 일부 실시예에서, 이것은 애플리케이션 개발자들에게 노출되는 다양한 훅들(hooks)(예를 들어, 내부 디스플레이 전용", "미러링된 디스플레이용" 콘텐츠, 또는 "주" 또는 "보조" 콘텐츠로서 콘텐츠를 지정하는 데 이용될 수 있는 훅)을 통해 오퍼레이팅 시스템에 의해 구현될 수 있다.
예시적인 컴퓨터 시스템
도 8은 전술한 실시예들 중 임의의 것 또는 전부를 구현하도록 구성되는 컴퓨터 시스템(800)을 예시한다. 상이한 실시예들에서, 컴퓨터 시스템(800)은 퍼스널 컴퓨터 시스템, 데스크탑 컴퓨터, 랩탑, 노트북, 태블릿, 슬레이트, 또는 넷북 컴퓨터, 메인프레임 컴퓨터 시스템, 핸드헬드 컴퓨터, 워크스테이션, 네트워크 컴퓨터, 카메라, 셋탑박스, 모바일 장치, 소비자 장치, 비디오 게임 콘솔, 핸드헬드 비디오 게임 장치, 애플리케이션 서버, 저장 장치, 텔레비전, 비디오 레코딩 장치, 스위치, 모뎀, 라우터와 같은 주변 장치, 또는 일반적으로 임의의 타입의 컴퓨팅 또는 전자 장치를 포함하지만 이것으로 한정되지 않는, 다양한 타입의 장치들 중 임의의 것일 수 있다.
본원에 설명된 바와 같이, 디스플레이 미러링을 구현하기 위한 시스템 및 방법의 다양한 실시예들이 다양한 다른 장치들과 상호작용할 수 있는 하나 이상의 컴퓨터 시스템(800)에서 실행될 수 있다. 도 1-7과 관련하여 전술한 임의의 컴포넌트, 액션, 또는 기능은 다양한 실시예들에 따라 도 8의 컴퓨터 시스템(800)으로서 구성된 하나 이상의 컴퓨터들에 구현될 수 있다는 것에 주목한다. 예시된 실시예에서, 컴퓨터 시스템(800)은 입력/출력(I/O) 인터페이스(830)를 통해 시스템 메모리(820)에 결합된 하나 이상의 프로세서들(810)을 포함한다. 컴퓨터 시스템(800)은 I/O 인터페이스(830)에 결합된 네트워크 인터페이스(840), 및 커서 제어 장치(860), 키보드(870), 및 디스플레이(들)(880)(이것은 본원에 설명된 것들과 같은, 내부 또는 주 디스플레이 및 하나 이상의 외부 또는 보조 디스플레이들을 포함할 수 있음)와 같은 하나 이상의 입력/출력 장치들(850)을 더 포함한다. 일부 실시예에서, 컴퓨터 시스템(800)은 도 1에서 컴퓨팅 장치(110)로서 예시된 것과 같은 컴퓨팅 장치를 구현할 수 있다. 앞서 언급한 바와 같이, 컴퓨팅 장치(110) 및/또는 디스플레이 생성 유닛(210)은 하나 이상의 전용 그래픽 프로세싱 유닛(GPU)을 포함하는 그래픽 컨트롤러 또는 카드를 포함할 수 있고, 디스플레이 생성 유닛(210)에 의해 수행되는 것으로서 본원에 설명된 기능 중 일부 또는 전부는 그러한 GPU에 의해 수행될 수 있다.
상이한 실시예들에서, 입력/출력 장치들(850)은 하나 이상의 디스플레이 단말들, 키보드들, 키패드들, 터치패드들, 스캐닝 장치들, 음성 또는 광 인식 장치들, 또는 하나 이상의 컴퓨터 시스템들(800)에 의해 데이터를 입력 또는 액세스하기에 적절한 임의의 다른 장치들을 포함할 수 있다. 복수의 입력/출력 장치들(850)은 컴퓨터 시스템(800)에 존재할 수 있거나, 컴퓨터 시스템(800)의 다양한 노드들에 분배될 수 있다. 일부 실시예에서, 유사한 입력/출력 장치들이 컴퓨터 시스템(800)과 별개일 수 있고, 네트워크 인터페이스(840)를 거쳐서와 같이, 유선 또는 무선 접속을 통해 컴퓨터 시스템(800)의 하나 이상의 노드들과 상호작용할 수 있다.
일부 실시예에서, 도 8에 예시된 입력/출력 장치들(850)은 또한 본원에 설명된 바와 같이, 다양한 내부 및/또는 외부 디스플레이들 상의 디스플레이를 위해 이미지 콘텐츠를 발생(렌더링) 및/또는 스케일링하도록 구성된 하나 이상의 디스플레이 생성 유닛들, 스케일링 유닛들, 및/또는 디스플레이 드라이버들을 포함할 수 있다. 일부 실시예에서, 입력/출력 장치들(850)은 컴퓨터 시스템(800)과 하나 이상의 외부 디스플레이 장치들 사이의 접속들을 검출하기 위한, 또는 그의 장치들로부터 확장된 디스플레이 인터페이스 데이터를 수신하기 위한 회로를 포함할 수 있고 및/또는 본원에 설명된 기법들 중 임의의 것 또는 전부를 수행하기 위한 하나 이상의 전용 그래픽 카드들 또는 그래픽 컨트롤러들을 포함할 수 있다. 예를 들어, 컴퓨터 시스템(800) 내의 그래픽 컨트롤러는 시스템 메모리(820) 내의 하나 이상의 프레임 버퍼들 내로 디스플레이될 객체들을 렌더링하도록 구성될 수 있다. 그래픽 컨트롤러는 그래픽 동작의 일부 또는 전부를 수행하기 위해 그래픽 소프트웨어를 실행할 수 있는 하나 이상의 그래픽 프로세서들(또는 GPU들), 및/또는 특정 그래픽 동작들의 하드웨어 가속을 포함할 수 있다. 하드웨어 가속 및 소프트웨어 구현의 양은 실시예마다 다를 수 있다.
일부 경우에, 실시예들은 컴퓨터 시스템(800)의 단일 인스턴스를 이용하여 구현될 수 있고, 다른 실시예들에서 복수의 그러한 시스템들, 또는 컴퓨터 시스템(800)을 형성하는 복수의 노드들은 실시예들의 상이한 부분들 또는 인스턴스들을 호스팅하도록 구성될 수 있다. 예를 들어, 일 실시예에서, 일부 요소들은 다른 요소들을 구현하는 노드들과 별개인 컴퓨터 시스템(800)의 하나 이상의 노드들을 통해 구현될 수 있다.
다양한 실시예들에서, 컴퓨터 시스템(800)은 하나의 프로세서(810)를 포함하는 단일 프로세서 시스템, 또는 몇개의 프로세서들(810)(예를 들어, 2개, 4개, 8개, 또는 다른 적절한 개수)을 포함하는 멀티 프로세서 시스템일 수 있다. 프로세서들(810)은 명령어들을 실행할 수 있는 임의의 적절한 프로세서일 수 있다. 예를 들어, 다양한 실시예들에서 프로세서들(810)은 x86, PowerPC, SPARC, 또는 MIPS ISA, 또는 임의의 다른 적절한 ISA와 같은, 다양한 명령어 세트 아키텍처(instruction set architecture; ISA) 중 임의의 것을 구현하는 범용 또는 임베디드 프로세서들일 수 있다. 멀티 프로세서 시스템들에서, 프로세서들(810) 각각은 보통, 그러나 반드시는 아니라, 동일한 ISA를 구현할 수 있다. 일반적으로, 프로세서들(810)은 임의의 명령어 세트 아키텍처를 구현할 수 있고, 그 명령어 세트 아키텍처에 정의된 명령어들을 실행하도록 구성될 수 있다. 프로세서들은 스칼라, 수퍼스칼라, 파이프라인, 수퍼파이프라인, 비순차적, 순차적, 추론적, 비-추론적, 등등, 또는 그의 조합들을 포함하여, 임의의 마이크로아키텍처를 활용할 수 있다. 프로세서들은 회로를 포함할 수 있고, 옵션으로 마이크로코딩 기법들을 구현할 수 있다. 프로세서들은 프로세서들과 하나 이상의 메모리 컨트롤러들 사이에 하나 이상의 L1 캐시들과, 캐시의 하나 이상의 부가적인 레벨들을 포함할 수 있다. 다른 실시예들은 프로세서들 내의 캐시들의 복수의 레벨들을 포함할 수 있고, 또 다른 실시예들은 프로세서들과 메모리 컨트롤러들 사이에 임의의 캐시들을 포함하지 않을 수 있다.
시스템 메모리(820)는 프로세서(810)에 의해 액세스 가능한 프로그램 명령어들(822) 및/또는 데이터(832)를 저장하도록 구성될 수 있다. 다양한 실시예들에서, 시스템 메모리(820)는 DRAM(dynamic random access memory), SDRAM(synchronous DRAM), 더블 데이터 레이트(double data rate)(DDR, DDR2, DDR3, 등) SDRAM(mDDR3 등과 같은 SDRAM들의 모바일 버전들, LPDDR2 등과 같은 SDRAM들의 저전력 버전들을 포함함), RDRAM(RAMBUS DRAM), SRAM(static RAM), 불휘발성/플래시 타입 메모리, 및/또는 임의의 다른 타입의 메모리와 같은, 임의의 적절한 메모리 기술을 이용하여 구현될 수 있다. 일부 실시예에서, 하나 이상의 메모리 장치들은 SIMM(single inline memory module), DIMM(dual inline memory module) 등과 같은 메모리 모듈들을 형성하기 위해 회로 기판에 결합될 수 있다. 대안적으로, 장치들은 칩-온-칩(chip-on-chip) 구성, 패키지-온-패키지(package-on-package) 구성, 또는 멀티 칩 모듈 구성으로 시스템 온 칩(system on a chip)에 실장될 수 있다.
예시된 실시예에서, 프로세서들(810) 중 하나 이상에 의해 실행될 때, 프로그램 명령어들(822)은 전술한 기능 중 임의의 것을 통합하거나 그것을 이용하는 애플리케이션(824)을 구현하도록 구성될 수 있다. 예를 들어, 프로그램 명령어들(822)은 컴퓨터 시스템(800)에 접속된 다양한 디스플레이들의 특성에 기초하여 디스플레이 모드 및/또는 선호 디스플레이를 자동으로 결정하고, 그의 장치들 상의 디스플레이를 위해 시스템 내의 하드웨어 또는 소프트웨어에 의한 이미지 콘텐츠의 렌더링 및/또는 스케일링을 제어하고, 및/또는 본원에 설명된 기법들 중 임의의 것 또는 전부를 이용하여 디스플레이 미러링 모드 또는 확장된 디스플레이 모드에서 디스플레이를 위한 이미지들을 제공하도록 구성될 수 있다. 또한, 메모리(820)의 데이터(832)는 하나 이상의 디스플레이 파라미터들(834) 및/또는 디스플레이 무효화 파라미터들(836)에 대한 값들을 저장할 수 있다. 다른 실시예들에서, 상이한 요소들 및 데이터는 시스템 메모리(820)에 포함될 수 있다. 일부 실시예에서, 프로그램 명령어들 및/또는 데이터는 시스템 메모리(820) 또는 컴퓨터 시스템(800)과 별개의 상이한 타입의 컴퓨터 액세스 가능한 매체 또는 유사한 매체에 수신, 송신, 또는 저장될 수 있다. 컴퓨터 시스템(800)은 이전 도면들의 기능 블록들의 기능을 구현하는 것으로서 설명되어 있지만, 본원에 설명된 기능 중 임의의 것은 그러한 컴퓨터 시스템을 통해 구현될 수 있다.
다양한 실시예들에서, 메모리 컨트롤러들(도시되지 않음)은 다양한 메모리 요청기들(예를 들어, 프로세서들, 그래픽 회로 등)에 인터페이스하도록 구성된 임의의 회로를 포함할 수 있다. 임의의 종류의 인터커넥트가 그러한 메모리 컨트롤러들을 위해 지원될 수 있다. 예를 들어, 공유 버스(또는 버스들)가 이용될 수 있거나, 점대점 인터커넥트들이 이용될 수 있다. 메모리 컨트롤러에 대한 글로벌 인터커넥트에 대한 로컬 인터커넥트들의 계층적 접속이 이용될 수 있다. 일 구현에서, 메모리 컨트롤러는 다중 포트로 될 수 있고, 프로세서들은 전용 포트를 갖고, 그래픽 회로는 다른 전용 포트를 갖는 등등이다.
일 실시예에서, I/O 인터페이스(830)는 입력/출력 장치들(850)과 같은, 네트워크 인터페이스(840) 또는 다른 주변 인터페이스들을 포함하여, 프로세서(810), 시스템 메모리(820), 및 장치 내의 임의의 주변 장치들 사이에 I/O 트래픽을 조정하도록 구성될 수 있다. 일부 실시예에서, I/O 인터페이스(830)는 하나의 컴포넌트(예를 들어, 시스템 메모리(820))로부터의 데이터 신호들을 다른 컴포넌트(예를 들어, 프로세서(810))에 의한 사용을 위해 적절한 포맷으로 변환하기 위해 임의의 필요한 프로토콜, 타이밍 또는 다른 데이터 변환들을 수행할 수 있다. 일부 실시예에서, I/O 인터페이스(830)는 예를 들어, PCI(Peripheral Component Interconnect) 버스 표준 또는 USB(Universal Serial Bus) 표준의 변형과 같은, 다양한 타입의 주변 버스들을 통해 부착된 장치들을 위한 지원을 포함할 수 있다. 일부 실시예에서, I/O 인터페이스(830)의 기능은 예를 들어, 노스 브리지 및 사우스 브리지와 같은 2개 이상의 별개의 컴포넌트들로 분할될 수 있다. 또한, 일부 실시예에서, 시스템 메모리(820)에 대한 인터페이스와 같은, I/O 인터페이스(830)의 기능의 일부 또는 전부가 프로세서(810) 내로 직접 통합될 수 있다.
네트워크 인터페이스(840)는 컴퓨터 시스템(800)과 네트워크(885)에 부착된 다른 장치들(예를 들어, 캐리어 또는 에이전트 장치들) 사이 또는 컴퓨터 시스템(800)의 노드들 사이에 데이터가 교환될 수 있게 하도록 구성될 수 있다. 네트워크(885)는 다양한 실시예들에서 LAN(Local Area Network)(예를 들어, 이더넷 또는 기업 네트워크), WAN(Wide Area Network)(예를 들어, 인터넷), 무선 데이터 네트워크들, 일부 다른 전자 데이터 네트워크, 또는 그의 일부 조합을 포함하지만 이것으로 한정되지 않는 하나 이상의 네트워크들을 포함할 수 있다. 다양한 실시예들에서, 네트워크 인터페이스(840)는 예를 들어, 임의의 적절한 타입의 이더넷 네트워크와 같은, 유선 또는 무선 일반 데이터 네트워크들을 통해; 아날로그 음성 네트워크들 또는 디지털 광통신 네트워크들과 같은 원격통신/전화 네트워크들을 통해; 광 채널 SAN들과 같은 저장 영역 네트워크들(storage area networks)을 통해, 또는 임의의 다른 적절한 타입의 네트워크 및/또는 프로토콜을 통해 통신을 지원할 수 있다.
컴퓨터 시스템(800)은 단지 예시이고 실시예들의 범위를 제한하도록 의도되지 않는다는 것을 이 기술분야의 통상의 기술자는 알 것이다. 특히, 컴퓨터 시스템 및 장치들은 컴퓨터들, 네트워크 장치들, 인터넷 어플라이언스들, PDA들, 무선 전화기들, 페이저들 등을 포함하여, 표시된 기능들을 수행할 수 있는 하드웨어 또는 소프트웨어의 임의의 조합을 포함할 수 있다. 컴퓨터 시스템(800)은 또한 예시되지 않은 다른 장치들에 접속될 수 있거나, 그 대신 독립형 시스템으로서 동작할 수 있다. 또한, 예시된 컴포넌트들에 의해 제공된 기능은 일부 실시예에서 더 적은 컴포넌트들에 결합되거나 부가적인 컴포넌트들에 분배될 수 있다. 유사하게, 일부 실시예에서, 예시된 컴포넌트들 중 일부의 기능은 제공되지 않을 수 있고 및/또는 다른 부가적인 기능이 이용가능할 수 있다.
다양한 아이템들이 이용되는 동안 메모리 또는 저장소에 저장되는 것으로서 예시되어 있지만, 이 아이템들 또는 그것들의 부분들은 메모리 관리 및 데이터 무결성의 목적을 위해 메모리와 다른 저장 장치들 사이에 전달될 수 있다는 것을 이 기술분야의 통상의 기술자는 또한 알 것이다. 대안적으로, 다른 실시예들에서, 소프트웨어 컴포넌트들 중 일부 또는 전부는 다른 장치 상의 메모리에서 실행할 수 있고 컴퓨터간 통신을 통해 예시된 컴퓨터 시스템과 통신할 수 있다. 시스템 컴포넌트들 또는 데이터 구조들 중 일부 또는 전부는 또한 적절한 드라이브에 의해 판독될 컴퓨터 액세스 가능한 매체 또는 휴대용 물품에 (예를 들어, 명령어들 또는 구조 데이터로서) 저장될 수 있고, 그의 다양한 예들이 위에 설명되어 있다. 일부 실시예에서, 컴퓨터 시스템(800)과 별개의 컴퓨터 액세스 가능한 매체에 저장된 명령어들은 네트워크 및/또는 무선 링크와 같은 통신 매체를 통해 전달된, 전기, 전자기, 또는 디지털 신호들과 같은 전송 매체 또는 신호들을 통해 컴퓨터 시스템(800)에 전송될 수 있다. 다양한 실시예들은 컴퓨터 액세스 가능한 매체 상의 전술한 디스크립션에 따라 구현된 명령어들 및/또는 데이터를 수신, 전송 또는 저장하는 것을 더 포함할 수 있다. 일반적으로 말해서, 컴퓨터 액세스 가능한 매체는 자기 또는 광 매체와 같은 비일시적, 컴퓨터 판독 가능한 저장 매체 또는 메모리 매체, 예를 들어, 디스크 또는 DVD/CD-ROM, RAM(예를 들어, SDRAM, DDR, RDRAM, SRAM, 등), ROM 등과 같은 휘발성 또는 불휘발성 매체를 포함할 수 있다. 일부 실시예에서, 컴퓨터 액세스 가능한 매체는 네트워크 및/또는 무선 링크와 같은 통신을 통해 전달된, 전기, 전자기, 또는 디지털 신호들과 같은 전송 매체 또는 신호들을 포함할 수 있다.
다양한 실시예들에서, 컴퓨터 시스템(800) 내의 상이한 구조들은 시스템 온 칩(system on a chip; SoC) 내에 배치될 수 있다. 일 구현에서, 컴퓨터 시스템(800)은 통합 디스플레이(예를 들어, 내부 디스플레이(120)), SoC, 메모리, 및 외부 인터페이스(예를 들어, 외부 인터페이스(130))를 포함하고, SoC는 디스플레이, 메모리, 및 인터페이스에 결합된다. 다른 실시예들은 임의의 양의 통합된 및/또는 별개의 구현들을 활용할 수 있다.
본원에 설명된 방법들은 상이한 실시예들에서 소프트웨어, 하드웨어, 또는 그의 조합으로 구현될 수 있다. 또한, 방법들의 블록들의 순서는 변할 수 있고, 다양한 요소들은 부가, 재정렬, 결합, 생략, 수정 등등 될 수 있다. 본 발명의 이득을 갖는 이 기술분야의 통상의 기술자에게 분명한 바와 같이 다양한 수정들 및 변경들이 만들어질 수 있다. 본원에 설명된 다양한 실시예들은 한정이 아닌 예시인 것으로 여겨진다. 많은 변형들, 수정들, 부가들, 및 향상들이 가능하다. 따라서, 복수의 인스턴스들이 단일 인스턴스로서 본원에 설명된 컴포넌트들에 대해 제공될 수 있다. 다양한 컴포넌트들, 동작들 및 데이터 저장들 간의 경계들은 어느 정도 임의적이고, 특정 동작들은 특정 예시적인 구성들에 관련하여 예시된다. 기능의 다른 할당들이 고안되고 다음의 청구항들의 범위 내에 있을 수 있다. 마지막으로, 예시적인 구성들 내의 별개의 컴포넌트들로서 제시된 구조들 및 기능은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 이들 및 다른 변형들, 수정들, 부가들, 및 향상들은 이한 청구항들에 정의된 바와 같은 실시예들의 범위 내에 있을 수 있다.
본 발명의 범위는, 그것이 본원에서 다뤄진 문제들 중 임의의 것 또는 전부를 완화하든 그렇지 않든지, 본원에 (명시적으로 또는 함축적으로) 개시된 임의의 특징 또는 특징들의 조합, 또는 그의 임의의 일반화를 포함한다. 따라서, 새로운 청구항들은 임의의 그러한 특징들의 조합에 대해 이 출원(그것에 우선권을 주장하는 출원)의 진행 중에 만들어질 수 있다. 특히, 첨부된 청구항들과 관련하여, 종속 청구항들로부터의 특징들은 독립 청구항들의 특징들과 결합될 수 있고, 개개의 독립 청구항들로부터의 특징들은 단지 첨부된 청구항들에 열거된 특정 조합들이 아닌 임의의 적절한 방식으로 결합될 수 있다.

Claims (20)

  1. 컴퓨터에 의해 복수의 디스플레이들을 제어하기 위한 방법으로서,
    상기 컴퓨터에 의해,
    상기 컴퓨터에 접속되는 외부 디스플레이의 하나 이상의 특성을 결정하는 단계;
    상기 외부 디스플레이의 상기 하나 이상의 특성에 따라, 상기 컴퓨터, 상기 외부 디스플레이, 및 상기 컴퓨터의 내부 디스플레이를 구성하는데 디스플레이 미러링 모드(display mirroring mode) 및 확장된 디스플레이 모드(extended display mode) 중 어느 것이 사용되어야 하는지를 결정하는 단계; 및
    상기 컴퓨터, 상기 외부 디스플레이 및 상기 컴퓨터의 상기 내부 디스플레이를 구성하는데 상기 디스플레이 미러링 모드가 사용되어야 한다고 결정하는 것에 응답하여,
    상기 외부 디스플레이 및 상기 내부 디스플레이 중 어느 것이 선호 디스플레이인지를 결정하는 단계;
    상기 선호 디스플레이에 대한 선호 모드에서 상기 선호 디스플레이에 대해 콘텐츠를 렌더링하는 단계; 및
    다른 디스플레이 상의 표시를 위해 상기 선호 디스플레이에 대해 렌더링된 동일한 콘텐츠를 재샘플링(resampling) 또는 스케일링(scaling)하는 단계
    를 수행하는 것을 포함하는 방법.
  2. 제1항에 있어서,
    상기 선호 디스플레이 상에 상기 렌더링된 콘텐츠를 제시(presenting)하는 단계; 및
    상기 제시와 동시에, 상기 콘텐츠를 재렌더링(re-rendering)하지 않고 상기 다른 디스플레이 상에 상기 재샘플링 또는 스케일링된 콘텐츠를 제시하는 단계
    를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 외부 디스플레이의 하나 이상의 특성을 결정하는 단계는, 상기 외부 디스플레이로부터 하나 이상의 파라미터 값을 특정하는 데이터를 수신하는 단계를 포함하고,
    상기 하나 이상의 파라미터 값을 특정하는 상기 데이터의 적어도 일부는 확장된 디스플레이 식별 데이터(extended display identification data; EDID) 데이터 블록의 부분으로서 상기 외부 디스플레이에 의해 제공되는 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 특성은, 상기 외부 디스플레이가 프레젠테이션 장치(presentation device)의 디스플레이임을 암시(imply)하고,
    상기 외부 디스플레이가 선호 디스플레이인지 또는 상기 내부 디스플레이가 선호 디스플레이인지를 결정하는 단계는, 상기 외부 디스플레이가 프레젠테이션 장치의 디스플레이임을 암시하는 상기 하나 이상의 특성에 응답하여, 상기 외부 디스플레이가 상기 선호 디스플레이라고 결정하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 선호 디스플레이에 대한 상기 선호 모드에서 상기 선호 디스플레이에 대해 콘텐츠를 렌더링하는 단계는, 상기 선호 디스플레이의 고유 해상도(native resolution) 또는 상기 선호 디스플레이의 종횡비(aspect ratio) 중 적어도 하나에 따라 상기 콘텐츠를 렌더링하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 선호 디스플레이에 대한 상기 선호 모드에서 상기 선호 디스플레이에 대해 콘텐츠를 렌더링하는 단계는, 상기 선호 디스플레이에 대한 고유 컬러 프로파일(native color profile)에 따라 상기 콘텐츠를 렌더링하는 단계를 더 포함하고,
    상기 방법은, 상기 렌더링된 콘텐츠의 컬러 프로파일을 상기 다른 디스플레이의 컬러 프로파일로 변환하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 외부 디스플레이의 하나 이상의 특성을 결정하는 단계, 상기 컴퓨터, 상기 외부 디스플레이, 및 상기 컴퓨터의 내부 디스플레이를 구성하는데 디스플레이 미러링 모드 및 확장된 디스플레이 모드 중 어느 것이 사용되어야 하는지를 결정하는 단계, 상기 외부 디스플레이 및 상기 내부 디스플레이 중 어느 것이 선호 디스플레이인지를 결정하는 단계, 상기 렌더링하는 단계, 및 상기 재샘플링 또는 스케일링하는 단계는, 상기 컴퓨터에 접속되는 디스플레이들의 수 또는 타입의 변화를 검출하는 것에 응답하여 수행되는 방법.
  8. 제7항에 있어서,
    상기 검출된 변화는 디스플레이의 부가 또는 제거를 포함하고,
    상기 방법은,
    상기 검출된 변화에 응답하여 그리고 접속된 임의의 디스플레이들의 하나 이상의 특성에 따라, 상기 컴퓨터의 디스플레이 모드 또는 선호 디스플레이가 변화해야 한다고 결정하는 단계 - 상기 디스플레이 모드는 디스플레이 미러링 모드 또는 확장된 디스플레이 모드 중 어느 하나이고, 상기 선호 디스플레이는 고유 해상도 및 종횡비를 이용하여 이미지들이 제시되어야 하는 디스플레이임 - ;
    상기 결정에 따라 상기 컴퓨터의 디스플레이 모드 또는 선호 디스플레이의 미결 변화(pending change)의 통지를 발생하는 단계; 및
    상기 컴퓨터에서 현재 실행 중인 애플리케이션에 상기 통지를 제공하는 단계
    를 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 애플리케이션이 상기 미결 변화를 거절한다는 표시를 수신하는 단계; 및
    상기 수신에 응답하여, 상기 미결 변화를 수정, 지연, 또는 중지하는 단계
    를 더 포함하는 방법.
  10. 제8항에 있어서,
    상기 컴퓨터의 사용자 인터페이스에 상기 통지를 제공하는 단계;
    상기 미결 변화의 사용자 거절(user rejection)의 표시를 수신하는 단계; 및
    상기 수신에 응답하여, 상기 미결 변화를 수정, 지연, 또는 중지하는 단계
    를 더 포함하는 방법.
  11. 제8항에 있어서,
    상기 검출된 변화는 가상 디스플레이 장치의 접속 또는 분리를 포함하는 방법.
  12. 제1항에 있어서,
    상기 외부 디스플레이의 하나 이상의 특성을 결정하는 단계, 상기 컴퓨터, 상기 외부 디스플레이, 및 상기 컴퓨터의 내부 디스플레이를 구성하는데 디스플레이 미러링 모드 및 확장된 디스플레이 모드 중 어느 것이 사용되어야 하는지를 결정하는 단계, 상기 외부 디스플레이 및 상기 내부 디스플레이 중 어느 것이 선호 디스플레이인지를 결정하는 단계, 상기 렌더링하는 단계, 및 상기 재샘플링 또는 스케일링하는 단계는, 상기 컴퓨터의 초기화 동안 수행되는 방법.
  13. 시스템으로서,
    컴퓨팅 장치;
    상기 컴퓨팅 장치에 결합된 주 디스플레이 - 상기 주 디스플레이는 상기 컴퓨팅 장치에 대한 디폴트 디스플레이임 - ; 및
    상기 컴퓨팅 장치의 외부에 있는 보조 디스플레이
    를 포함하고,
    상기 컴퓨팅 장치는,
    상기 보조 디스플레이의 하나 이상의 특성을 결정하고;
    상기 보조 디스플레이의 상기 하나 이상의 특성에 따라, 상기 컴퓨팅 장치, 상기 보조 디스플레이, 및 상기 주 디스플레이를 구성하는데 디스플레이 미러링 모드 및 확장된 디스플레이 모드 중 어느 것이 사용되어야 하는지를 결정하고;
    상기 컴퓨팅 장치, 상기 보조 디스플레이, 및 상기 주 디스플레이를 구성하는데 상기 디스플레이 미러링 모드가 사용되어야 한다고 결정하는 것에 응답하여,
    상기 보조 디스플레이 및 상기 주 디스플레이 중 어느 것이 선호 디스플레이인지를 결정하고;
    상기 선호 디스플레이에 대한 선호 모드에서 상기 선호 디스플레이에 대해 콘텐츠를 렌더링하며;
    다른 디스플레이 상의 표시를 위해 상기 선호 디스플레이에 대해 렌더링된 동일한 콘텐츠를 재샘플링 또는 스케일링하도록
    구성되는 시스템.
  14. 제13항에 있어서,
    상기 보조 디스플레이의 하나 이상의 특성을 결정하기 위하여, 상기 컴퓨팅 장치는 디스플레이 장치 식별자들에 대한 디스플레이 파라미터 값들의 저장된 맵핑으로부터 상기 보조 디스플레이의 하나 이상의 디스플레이 파라미터의 값들을 특정하는 데이터를 획득하도록 구성되는 시스템.
  15. 제13항에 있어서,
    상기 컴퓨팅 장치, 상기 보조 디스플레이, 및 상기 주 디스플레이를 구성하는데 디스플레이 미러링 모드가 사용되어야 한다고 결정하는 것에 응답하여, 상기 컴퓨팅 장치는,
    상기 보조 디스플레이 상에 상기 렌더링된 콘텐츠를 제시하며;
    상기 제시와 동시에, 상기 주 디스플레이 상에 상기 재샘플링 또는 스케일링된 콘텐츠를 제시하도록
    또한 구성되는 시스템.
  16. 제13항에 있어서,
    상기 컴퓨팅 장치, 상기 보조 디스플레이, 및 상기 주 디스플레이를 구성하는데 디스플레이 미러링 모드가 사용되어야 한다고 결정하는 것에 응답하여, 상기 컴퓨팅 장치는,
    상기 디스플레이 미러링 모드에서 제시가 이루어졌다는 표시와, 주 디스플레이와 보조 디스플레이의 현재의 조합에 대한 상기 선호 디스플레이의 표시를 저장하며;
    주 디스플레이와 보조 디스플레이의 동일한 조합을 후속하여 검출하는 것에 응답하여, 상기 보조 디스플레이가 상기 선호 디스플레이인 디스플레이 미러링 모드에서 다른 이미지가 제시되어야 한다고 결정하도록
    또한 구성되는 시스템.
  17. 제16항에 있어서,
    상기 컴퓨팅 장치는,
    상기 디스플레이 모드가 디스플레이 미러링 모드여서는 안 된다거나 또는 상기 보조 디스플레이가 상기 선호 디스플레이여서는 안 된다고 특정하는 입력을 수신하며;
    상기 수신된 입력에 따라 상기 주 디스플레이 또는 상기 보조 디스플레이 중 하나 이상에 상기 다른 이미지를 렌더링, 재샘플링 또는 스케일링, 또는 제시하도록
    또한 구성되는 시스템.
  18. 컴퓨팅 장치로서,
    내부 디스플레이;
    디스플레이 생성 유닛;
    스케일링 유닛; 및
    외부 인터페이스
    를 포함하고,
    상기 컴퓨팅 장치는,
    상기 외부 인터페이스를 통해 상기 컴퓨팅 장치에 접속되는 외부 디스플레이의 하나 이상의 특성을 결정하고;
    상기 외부 디스플레이의 상기 하나 이상의 특성에 따라, 상기 컴퓨팅 장치, 상기 외부 디스플레이, 및 상기 내부 디스플레이를 구성하는데 디스플레이 미러링 모드 및 확장된 디스플레이 모드 중 어느 것이 사용되어야 하는지를 결정하며;
    상기 컴퓨팅 장치, 상기 외부 디스플레이, 및 상기 내부 디스플레이가 상기 디스플레이 미러링 모드를 위해 구성되어야 한다고 결정하는 것에 응답하여, 상기 외부 디스플레이 및 상기 내부 디스플레이 중 어느 것이 선호 디스플레이인지를 결정하도록 구성되고,
    상기 디스플레이 생성 유닛은, 상기 선호 디스플레이에 대한 선호 모드에서 상기 선호 디스플레이에 대해 콘텐츠를 렌더링하도록 구성되며,
    상기 스케일링 유닛은, 다른 디스플레이 상의 표시를 위해 상기 선호 디스플레이에 대해 렌더링된 콘텐츠를 재샘플링 또는 스케일링하도록 구성되는 컴퓨팅 장치.
  19. 제18항에 있어서,
    상기 외부 디스플레이가 프레젠테이션 타입 디스플레이이며 선호 디스플레이라고 결정하는 것에 응답하여, 상기 디스플레이 생성 유닛은 외부 프레젠테이션 타입 디스플레이의 선호 디스플레이 모드에 대해 상기 콘텐츠를 렌더링하도록 구성되며;
    상기 스케일링 유닛은, 상기 내부 디스플레이에 대해 상기 콘텐츠를 다운 샘플링(down-sample)하거나 상기 내부 디스플레이에 대해 상기 콘텐츠를 업 샘플링(up-sample)하도록 구성되는 컴퓨팅 장치.
  20. 제18항에 있어서,
    상기 컴퓨팅 장치는, 상기 외부 디스플레이가 컴퓨터 모니터 타입 디스플레이라고 결정하는 것에 응답하여, 상기 컴퓨팅 장치, 상기 외부 디스플레이, 및 상기 내부 디스플레이가 상기 확장된 디스플레이 모드를 위해 구성되어야 한다고 결정하도록 또한 구성되는 컴퓨팅 장치.
KR1020130065475A 2012-06-08 2013-06-07 디스플레이 미러링을 위한 시스템 및 방법 KR101545387B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261657549P 2012-06-08 2012-06-08
US61/657,549 2012-06-08
US13/631,310 US8738826B2 (en) 2012-06-08 2012-09-28 System and method for display mirroring
US13/631,310 2012-09-28

Publications (2)

Publication Number Publication Date
KR20130138143A KR20130138143A (ko) 2013-12-18
KR101545387B1 true KR101545387B1 (ko) 2015-08-18

Family

ID=48607085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130065475A KR101545387B1 (ko) 2012-06-08 2013-06-07 디스플레이 미러링을 위한 시스템 및 방법

Country Status (7)

Country Link
US (4) US8738826B2 (ko)
EP (1) EP2672376A3 (ko)
KR (1) KR101545387B1 (ko)
CN (2) CN106951205B (ko)
AU (1) AU2013205178B2 (ko)
TW (1) TWI611345B (ko)
WO (1) WO2013184555A1 (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
CN104041055B (zh) * 2012-01-19 2018-01-02 惠普发展公司,有限责任合伙企业 正确调整增强内容的大小以产生最优化源内容
US8738826B2 (en) * 2012-06-08 2014-05-27 Apple Inc. System and method for display mirroring
US9632648B2 (en) 2012-07-06 2017-04-25 Lg Electronics Inc. Mobile terminal, image display device and user interface provision method using the same
JP2014075094A (ja) * 2012-10-05 2014-04-24 Funai Electric Co Ltd 表示装置、表示システム、携帯情報端末および表示装置の制御方法
US20140125554A1 (en) * 2012-11-07 2014-05-08 Shanghai Powermo Information Tech. Co. Ltd. Apparatus and algorithm to implement smart mirroring for a multiple display system
US20140176393A1 (en) * 2012-12-25 2014-06-26 Kabushiki Kaisha Toshiba Information processing apparatus, user assistance method and storage medium
CN103984494A (zh) * 2013-02-07 2014-08-13 上海帛茂信息科技有限公司 用于多种设备间的直觉式用户互动系统及方法
EP2816761A1 (en) * 2013-06-17 2014-12-24 Thomson Licensing Wifi display compatible network gateway
US8819268B1 (en) * 2013-06-19 2014-08-26 Google Inc. Systems and methods for notification of device mirroring
KR102088384B1 (ko) * 2013-09-04 2020-05-28 삼성전자주식회사 디스플레이 기기의 제어 방법, 그에 따른 싱크 기기 및 그에 따른 미러링 시스템
JP6360296B2 (ja) * 2013-12-10 2018-07-18 キヤノン株式会社 画像送信装置、画像提示システム、制御方法、及びプログラム
KR102210704B1 (ko) 2013-12-24 2021-02-02 삼성전자주식회사 사용자단말기 및 사용자단말기의 제어방법
JP2015138475A (ja) * 2014-01-23 2015-07-30 キヤノン株式会社 ウィンドウシステム及びカーソル制御方法
US9823749B2 (en) * 2014-02-21 2017-11-21 Nod, Inc. Location determination and registration methodology for smart devices based on direction and proximity and usage of the same
CN106063241B (zh) * 2014-03-10 2019-02-15 京瓷办公信息系统株式会社 图像形成装置
JP2015179330A (ja) * 2014-03-18 2015-10-08 株式会社東芝 電子機器および表示方法
CN103915072B (zh) * 2014-03-24 2016-07-06 京东方科技集团股份有限公司 一种显示系统及其驱动方法
US9406157B2 (en) * 2014-04-21 2016-08-02 Airwatch Llc Concealing sensitive information on a display
CN105094727B (zh) * 2014-05-23 2018-08-21 纬创资通股份有限公司 扩展屏幕模式下的应用程序运作方法以及平板计算机
US10402472B2 (en) * 2014-07-30 2019-09-03 Bluebeam, Inc. Optimized rendering of shared documents on client devices with document raster representations
US10257424B2 (en) * 2014-07-31 2019-04-09 Hewlett-Packard Development Company, L.P. Augmenting functionality of a computing device
KR102189647B1 (ko) 2014-09-02 2020-12-11 삼성전자주식회사 디스플레이 장치, 시스템 및 그 제어 방법
JP6398489B2 (ja) * 2014-09-04 2018-10-03 株式会社リコー 情報処理プログラム、情報処理方法、及び情報処理装置
US9818174B2 (en) * 2014-09-24 2017-11-14 Microsoft Technology Licensing, Llc Streamlined handling of monitor topology changes
CN104243831A (zh) * 2014-09-30 2014-12-24 北京金山安全软件有限公司 通过移动终端进行拍摄的方法、装置及移动终端
GB201418810D0 (en) * 2014-10-22 2014-12-03 Infiniled Ltd Display
CN104407833A (zh) * 2014-12-19 2015-03-11 京东方科技集团股份有限公司 显示方法及显示终端
CN104679469B (zh) * 2014-12-29 2019-02-26 合肥杰发科技有限公司 车载终端及其获取手持终端的屏幕分辨率的方法
US10073599B2 (en) * 2015-01-07 2018-09-11 Microsoft Technology Licensing, Llc Automatic home screen determination based on display device
KR20160091012A (ko) * 2015-01-23 2016-08-02 삼성메디슨 주식회사 의료 영상 장치 및 그 제어방법
WO2016137518A1 (en) * 2015-02-27 2016-09-01 Hewlett-Packard Development Company, L.P. Waveguides in a computing device
KR102345610B1 (ko) * 2015-02-27 2021-12-30 삼성전자주식회사 스크린 미러링 서비스 제공장치 및 방법
KR102232544B1 (ko) * 2015-03-05 2021-03-26 삼성전자주식회사 번-인을 감소시키기 위한 방법 및 전자 장치
US20160266751A1 (en) * 2015-03-09 2016-09-15 Lenovo (Singapore) Pte. Ltd. Virtualized Extended Desktop Workspaces
US10152295B2 (en) * 2015-06-01 2018-12-11 Mediatek Inc. Methods for displaying image data in a computer system supporting multiple displays
CN104916250B (zh) * 2015-06-26 2018-03-06 合肥鑫晟光电科技有限公司 一种数据传输方法及装置、显示装置
EP3338446B1 (en) * 2015-09-23 2022-03-30 Hewlett-Packard Development Company, L.P. Image projections
US10379808B1 (en) * 2015-09-29 2019-08-13 Amazon Technologies, Inc. Audio associating of computing devices
US10223061B2 (en) * 2015-12-17 2019-03-05 International Business Machines Corporation Display redistribution between a primary display and a secondary display
CN108873746B (zh) * 2016-02-26 2021-05-25 广州视睿电子科技有限公司 一种显示设备及显示设备的控制方法
KR102538955B1 (ko) 2016-03-02 2023-06-01 삼성전자 주식회사 전자 장치와 전자 장치의 영상 디스플레이 및 전송 방법
CN106020753B (zh) * 2016-05-06 2019-03-29 联想(北京)有限公司 控制方法及电子设备
JP6347808B2 (ja) * 2016-07-25 2018-06-27 レノボ・シンガポール・プライベート・リミテッド マルチモニタ表示制御機能付き電子機器及びマルチモニタ表示制御方法
US20180046425A1 (en) * 2016-08-11 2018-02-15 International Business Machines Corporation Preserving an external display configuration
US9880800B1 (en) * 2016-10-26 2018-01-30 Dell Products L. P. Routing content in a dual-display computing device
US10228839B2 (en) 2016-11-10 2019-03-12 Dell Products L.P. Auto-scrolling input in a dual-display computing device
US10514844B2 (en) 2016-11-16 2019-12-24 Dell Products L.P. Automatically modifying an input area based on a proximity to one or more edges
US10170061B2 (en) 2016-11-30 2019-01-01 Dell Products L.P. Backlight compensation for a computing device with two or more display devices
JP2018097659A (ja) * 2016-12-14 2018-06-21 株式会社デンソーテン 出力処理装置および出力処理方法
KR101986995B1 (ko) * 2017-01-20 2019-09-30 한화테크윈 주식회사 웹 브라우저 상에서 비디오와 오디오를 동기화하여 재생하는 미디어 재생 장치 및 방법
US10992724B2 (en) 2017-01-20 2021-04-27 Hanwha Techwin Co., Ltd. Media playback apparatus and method including delay prevention system
KR102341301B1 (ko) 2017-03-27 2021-12-20 삼성전자 주식회사 전자 장치 및 전자 장치의 화면 공유 방법
JP2018163298A (ja) * 2017-03-27 2018-10-18 ルネサスエレクトロニクス株式会社 画像処理装置、及び画像処理方法
CN107092455A (zh) * 2017-03-28 2017-08-25 宇龙计算机通信科技(深圳)有限公司 多显示屏电子设备的控制方法及装置
US10503456B2 (en) 2017-05-05 2019-12-10 Nvidia Corporation Method and apparatus for rendering perspective-correct images for a tilted multi-display environment
US20180359207A1 (en) * 2017-06-08 2018-12-13 International Business Machines Corporation Suppressing the display of notifications on user devices based on user device activity
US10755383B2 (en) * 2017-09-29 2020-08-25 Apple Inc. Multi-space rendering with configurable transformation parameters
CN107678721A (zh) * 2017-10-09 2018-02-09 上海龙旗科技股份有限公司 一种多屏显示系统
KR102456456B1 (ko) * 2017-10-17 2022-10-19 삼성전자주식회사 복수 개의 디스플레이를 가지는 전자 장치 및 제어 방법
CN107908380B (zh) * 2017-10-31 2021-04-16 厦门海为科技有限公司 基于组态的多屏显示方法、装置、终端设备及存储介质
US10607314B2 (en) * 2018-01-09 2020-03-31 Universal City Studios Llc Image auto resizing
JP7047411B2 (ja) * 2018-01-30 2022-04-05 セイコーエプソン株式会社 プロジェクター、及び、プロジェクターの制御方法
WO2019152037A1 (en) * 2018-02-01 2019-08-08 Hewlett-Packard Development Company, L.P. Instruction updates via side channels
US10825134B2 (en) * 2018-03-29 2020-11-03 Owned Outcomes Inc. System and method for scaling content across multiple form factors
CN110515572B (zh) * 2018-05-21 2022-11-18 腾讯科技(深圳)有限公司 投屏方法、装置、存储介质和计算机设备
US10896559B2 (en) * 2018-07-11 2021-01-19 International Business Machines Corporation Electronic device containment system with contained device operation capability
US11087430B2 (en) * 2018-09-28 2021-08-10 Apple Inc. Customizable render pipelines using render graphs
KR20200067567A (ko) * 2018-12-04 2020-06-12 삼성전자주식회사 전자 장치의 상태 정보에 기반하여 동작을 수행하는 전자 장치 및 전자 장치의 동작 방법
TWI731531B (zh) * 2019-12-27 2021-06-21 宏碁股份有限公司 電腦系統及其顯示控制方法
CN111223404A (zh) * 2020-01-06 2020-06-02 信利(仁寿)高端显示科技有限公司 一种可移动式电子餐牌
CN113253958A (zh) * 2020-02-10 2021-08-13 宏碁股份有限公司 电脑系统及其显示控制方法
JP2022049600A (ja) * 2020-09-16 2022-03-29 株式会社リコー 情報処理装置、プログラム及び情報処理システム
US11948533B2 (en) 2021-02-05 2024-04-02 Samsung Electronics Co., Ltd. Display system including plurality of displays and image output method thereof
EP4351154A1 (en) * 2021-06-03 2024-04-10 LG Electronics Inc. Display device and operating method therefor
WO2022260333A1 (ko) * 2021-06-10 2022-12-15 삼성전자 주식회사 플렉서블 디스플레이를 포함하는 전자 장치 및 그 동작 방법
KR20220167119A (ko) * 2021-06-11 2022-12-20 엘지전자 주식회사 디스플레이 장치 및 그를 이용한 콘텐츠 추천 방법
WO2023287207A1 (ko) * 2021-07-15 2023-01-19 삼성전자 주식회사 전자 장치 및 이를 이용한 외부 전자 장치 연결 방법
WO2023043447A1 (en) * 2021-09-16 2023-03-23 Hewlett-Packard Development Company, L.P. Color profile updates for computing devices
WO2023044544A1 (en) * 2021-09-27 2023-03-30 Osmosis Group Holdings Pty Ltd Display panel
WO2023101163A1 (ko) * 2021-11-30 2023-06-08 삼성전자주식회사 미러링을 수행하는 장치 및 방법
US11893303B2 (en) * 2021-11-30 2024-02-06 Samsung Electronics Co., Ltd. Device and method for performing mirroring
WO2024034851A1 (ko) * 2022-08-09 2024-02-15 삼성전자 주식회사 외부 전자 장치에 화면을 표시하는 전자 장치 및 그 동작 방법
WO2024071730A1 (ko) * 2022-09-28 2024-04-04 삼성전자주식회사 디바이스간 데이터 동기화 방법 및 그 전자 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090219441A1 (en) * 2008-02-28 2009-09-03 Kabushiki Kaisha Toshiba Information processing apparatus
US20120032783A1 (en) * 2010-08-09 2012-02-09 Samsung Electronics Co., Ltd. Electronic reader system with external display interface and method of operation thereof

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180475B2 (en) * 2001-06-07 2007-02-20 Infocus Corporation Method and apparatus for wireless image transmission to a projector
US20060028398A1 (en) * 2004-07-23 2006-02-09 Willmore Charles E Wireless interactive multi-user display system and method
US20060048196A1 (en) * 2004-08-30 2006-03-02 Yau Frank C Wireless interactive entertainment and information display network systems
US7450084B2 (en) 2004-12-17 2008-11-11 Microsoft Corporation System and method for managing computer monitor configurations
CN100419848C (zh) 2005-09-28 2008-09-17 联想(北京)有限公司 一种多显示器系统及其自动设置显示模式的方法
US8810480B2 (en) * 2006-08-04 2014-08-19 Apple Inc. Methods and apparatuses for controlling display devices
NO20071401L (no) * 2007-03-16 2008-09-17 Tandberg Telecom As System og arrangement for naturtro videokommunikasjon
KR101380753B1 (ko) * 2007-07-23 2014-04-02 삼성전자 주식회사 디스플레이장치 및 그 제어방법
WO2009143294A2 (en) * 2008-05-20 2009-11-26 Citrix Systems, Inc. Methods and systems for using external display devices with a mobile computing device
US8803896B2 (en) 2008-06-17 2014-08-12 Apple Inc. Providing a coherent user interface across multiple output devices
JP4636136B2 (ja) 2008-07-11 2011-02-23 ソニー株式会社 情報処理装置、情報処理方法、情報処理システム及びプログラム
TW201017516A (en) 2008-10-22 2010-05-01 Asustek Comp Inc Computer and method for cntrolling external display
US9241062B2 (en) * 2009-05-20 2016-01-19 Citrix Systems, Inc. Methods and systems for using external display devices with a mobile computing device
US20100302141A1 (en) * 2009-05-28 2010-12-02 Subramonian Shankar Display and Interaction Environment for Mobile Devices
US8878912B2 (en) * 2009-08-06 2014-11-04 Qualcomm Incorporated Encapsulating three-dimensional video data in accordance with transport protocols
US8963797B2 (en) * 2010-01-06 2015-02-24 Apple Inc. Display driving architectures
US20120042275A1 (en) 2010-08-10 2012-02-16 Microsoft Corporation Cloning specific windows on a wireless display surface
CN101937667B (zh) * 2010-09-19 2015-09-16 深圳市中庆微科技开发有限公司 一种多屏同步显示控制系统
US8700796B2 (en) * 2010-09-22 2014-04-15 Qualcomm Incorporated MAC data service enhancements
US8963799B2 (en) * 2011-01-11 2015-02-24 Apple Inc. Mirroring graphics content to an external display
US20120306926A1 (en) * 2011-06-06 2012-12-06 Apple Inc. Inline scaling unit for mirror mode
US20120307141A1 (en) * 2011-06-06 2012-12-06 Apple Inc. Frame retiming for mirror mode
CN102253817A (zh) * 2011-06-10 2011-11-23 南京Lg新港显示有限公司 一种通过显示器菜单设置双显示器工作模式的方法
US8738826B2 (en) 2012-06-08 2014-05-27 Apple Inc. System and method for display mirroring

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090219441A1 (en) * 2008-02-28 2009-09-03 Kabushiki Kaisha Toshiba Information processing apparatus
US20120032783A1 (en) * 2010-08-09 2012-02-09 Samsung Electronics Co., Ltd. Electronic reader system with external display interface and method of operation thereof

Also Published As

Publication number Publication date
AU2013205178A1 (en) 2014-01-09
US20160162249A1 (en) 2016-06-09
CN103530078A (zh) 2014-01-22
KR20130138143A (ko) 2013-12-18
US20130328878A1 (en) 2013-12-12
WO2013184555A1 (en) 2013-12-12
AU2013205178B2 (en) 2015-05-14
CN103530078B (zh) 2017-02-22
US10031712B2 (en) 2018-07-24
US20140253416A1 (en) 2014-09-11
CN106951205B (zh) 2020-05-19
US8738826B2 (en) 2014-05-27
US20170131963A1 (en) 2017-05-11
US9552187B2 (en) 2017-01-24
EP2672376A3 (en) 2014-01-08
TW201403455A (zh) 2014-01-16
TWI611345B (zh) 2018-01-11
CN106951205A (zh) 2017-07-14
EP2672376A2 (en) 2013-12-11
US9207903B2 (en) 2015-12-08

Similar Documents

Publication Publication Date Title
KR101545387B1 (ko) 디스플레이 미러링을 위한 시스템 및 방법
KR101713177B1 (ko) 가상 디스플레이들에 대한 시스템 및 방법
AU2013226464B2 (en) Cable with fade and hot plug features
KR101401216B1 (ko) 외부 디스플레이에 대한 그래픽 컨텐츠 미러링
US7911409B1 (en) Independent views generated for multiple display devices by a software application
CN103109267B (zh) 改变图像显示属性的方法、设备和系统
JPH1074068A (ja) Lcdパネル用にグラフィックス画像を拡張する方法および装置
US20150194131A1 (en) Image data output control method and electronic device supporting the same
JP2005331943A (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
FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 4