throbber
(12) United States Patent
`Stahl et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 8,738,826 B2
`May 27, 2014
`
`USOO8738826B2
`
`(54) SYSTEMAND METHOD FOR DISPLAY
`MIRRORING
`
`(71) Applicant: Apple Inc., Cupertino, CA (US)
`
`(72) Inventors: Geoffrey G. Stahl, San Jose, CA (US);
`Ian C. Hendry, San Jose, CA (US);
`Kenneth C. Dyke, Los Altos, CA (US);
`Patrick L. Coffman, San Francisco, CA
`(US); Steve S. Ko, Los Altos, CA (US);
`Nathaniel C. Begeman, San Jose, CA
`(US)
`(73) Assignee: Apple Inc., Cupertino, CA (US)
`c
`- r
`(*) Notice: Subsyster's
`p S.C. 154(b) by Oda
`M
`YW-
`(b) by
`yS.
`(21) Appl. No.: 13/631,310
`(22) Filed:
`Sep. 28, 2012
`
`(65)
`
`Prior Publication Data
`US 2013/0328878A1
`Dec. 12, 2013
`Related U.S. Application Data
`60) Provisional application No. 61/657.549, filed on J
`(60) Provisional application No.
`..)49, Illed On Jun.
`8, 2012.
`51) Int. C
`(51)
`o,F MOI
`(52) U.S. Cl.
`
`2006.O1
`(
`.01)
`
`USPC - - - - - - - - - - - ...- - - - - - - - - - - - - - - - - - - - - - - - - - - - - 710/62; 71078
`
`(58) Field of Classification Search
`None
`See application file for complete search history.
`Ref
`Cited
`eerees e
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`9, 2009 Kurita
`2009/0219441 A1
`1/2010 Kawata et al.
`2010, OO11285 A1
`4/2010 Lin
`2010, OO97357 A1
`2010, 0138780 A1* 6, 2010 Marano et al. ................ T15,804
`2010/0299436 A1* 11/2010 Khalid et al. ......
`TO9,226
`2010/0302141 A1* 12/2010 Shankar et al. ....
`... 345,156
`2011/0032334 A1
`2/2011 Raveendran et al. ........... 348/46
`Continued
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`6, 2006
`1672613
`OTHER PUBLICATIONS
`Invitation to Pay Fees in application No. PCT/US2013/043848
`mailed Aug. 1, 2013 pp. 1-7.
`International Search Report and Written Opinion from PCT/US2013/
`043848, dated Oct. 22, 2013, Apple Inc., pp. 1-20.
`Extended European Search Report in Application No. 13170578.2,
`dated Sep. 9, 2013, pp. 1-18.
`Primary Examiner — Cheng-Yuan Tseng
`FIFOF EXOFilter — C9- Ya S.
`(74) Attorney, Agent, or Firm — Robert C. Kowert:
`Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C.
`(57)
`ABSTRACT
`A computing system that Supports the use of multiple dis
`plays in display mirroring mode and extended display mode
`may automatically determine a display mode in which to
`configure the system (with little or no user input) based on
`h
`f the displays in the sy
`F
`Var1OuS Character1 St1CS Of the d1SolaVS 1n the SVStem. For
`example, the system may determine that a television, projec
`tor, or other presentation type display is connected in the
`system, and in response, may determine that the system
`
`should be configured in a display mirroring mode, rather than
`
`in an extended display mode. The system may also determine
`that the presentation type display is the preferred display, and
`p
`pe d1splay
`p
`play,
`may render image content in a best (or preferred) mode for
`that display using its native resolution, aspect ratio or color
`profile. The system may then scale the rendered image con
`tent for display on other (non-preferred) displays. Such as an
`internal display, without re-rendering it.
`
`8.264,519 B2 * 9/2012 Lunde et al. ............... 348, 14.09
`2008, 0231546 A1
`9, 2008 Li
`
`25 Claims, 8 Drawing Sheets
`
`distis is of OF8 characterisis
`of an external display that is
`connected to a computing device
`12
`
`determine whether to configure the
`computing device, an internal display of the
`computing device, and the externai display for
`extsndsddisplay mods or mirroring mods
`42
`
`
`
`configure for
`standet
`display mode
`a35
`
`- configure
`iQ -->
`for mirroring mode?
`
`determine whether the external display or the
`internal display is the preferred display
`442
`
`render contant is a best display
`mode forths preferred display;
`present rendered content on preferred display
`432
`
`re-sample and/or scale rendered content for
`display on the non-preferred display.
`present re-sampled/scaled content
`on the non-preferred display
`46
`
`Roku EX1012
`U.S. Patent No. 10,334,311
`
`

`

`US 8,738,826 B2
`Page 2
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2011/OO32338 A1*
`2011 0164.184 A1*
`2012fOO32783 A1
`
`2/2011 Raveendran et al. ........... 34.8/51
`7/2011 Avkarogullarietal. ...... 348,571
`2/2012 Ahn et al.
`
`2012fOO42275 A1
`2012fOO72609 A1*
`2012/0176396 A1*
`2012,0306926 A1*
`2012/0307141 A1*
`* cited by examiner
`
`2, 2012
`3, 2012
`T/2012
`12/2012
`12/2012
`
`Neerudu et al.
`Rajamani et al. ............. TO9,231
`Harper et al. ................. 345,589
`Millet et al. .................. 345,660
`Millet et al. .................. 348/441
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 1 of 8
`
`US 8,738,826 B2
`
`
`
`Display
`120
`
`Computing
`Device
`110
`
`130
`
`FIG. 1
`
`External
`Display
`160
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 2 of 8
`
`US 8,738,826 B2
`
`External
`Display
`160
`
`Computing Device
`110
`Internal Display
`120
`
`Display
`Generation
`Unit
`210
`
`
`
`Computing Device
`110
`Internal Display
`120
`
`Display
`Generation
`Unit
`210
`
`Display
`Driver(s)
`230
`
`FIG. 2A
`
`FIG. 2B
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 3 of 8
`
`US 8,738,826 B2
`
`N
`
`Internal
`
`N
`FIG. 3A
`
`
`
`FIG. 3B
`
`Internal
`Display
`330
`
`External
`Monitor
`335
`
`3:4 Aspect Ratio
`
`16:9 Aspect Ratio
`
`FIG. 3C
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 4 of 8
`
`US 8,738,826 B2
`
`
`
`determine One OrnOre CharacteristicS
`of an external display that is
`Connected to a Computing device
`410
`
`determine whether to configure the
`Computing device, an internal display of the
`Computing device, and the external display for
`extended display mode or mirroring mode
`42O
`
`COnfidure for
`9.
`extended
`display mode
`435
`
`-
`- -
`u-1 configures
`- for mirroring mode?
`43O
`
`determine whether the external display or the
`internal display is the preferred display
`440
`
`render Content in a best display
`mode for the preferred display,
`present rendered content on preferred display
`450
`
`re-sample and/or Scale rendered Content for
`display on the non-preferred display,
`present re-sampled/Scaled Content
`on the non-preferred display
`460
`
`FIG. 4
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 5 of 8
`
`US 8,738,826 B2
`
`begin
`502
`
`detect boot-up,
`Wake, Or hot plug
`504
`
`primary
`display?
`506
`
`
`
`eS
`
`
`
`
`
`has
`EDID >= v1.3?
`508
`
`
`
`
`
`EDID
`Override existS2
`510
`
`
`
`
`
`
`
`
`
`
`
`
`
`3CCeSS
`Override DB
`512
`
`determine and
`return type
`514
`
`
`
`
`
`
`
`Video Timings?
`516
`
`reSOlution
`> 1080p?
`518
`
`projector
`
`EDID
`physical size <=
`16nrn x 9nnnn?
`520
`
`
`
`
`
`
`
`is not a
`presentation
`device
`524
`
`is a projector
`528
`
`FIG. 5
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 6 of 8
`
`US 8,738,826 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`determine whether the external display or the
`internal display is the preferred display
`610
`
`determine native resolution of preferred display
`and of non-preferred display(s)
`620
`
`determine native aspect ratio of preferred display
`and of non-preferred display(s)
`630
`
`determine native Color profile of preferred display
`and of non-preferred display(s)
`640
`
`render Content dependent on determined
`native resolution, aspect ratio, and/or Color
`profile of preferred display
`650
`
`Scale and/or re-sample rendered content for
`non-preferred display(s) dependent on resolution
`and/or aspect ratio of non-preferred display(s)
`660
`
`translate Color profile of rendered content for non
`preferred display(s) dependent on color profile of
`non-preferred display(s)
`670
`
`
`
`
`
`
`
`
`
`
`
`
`
`present Content on preferred display and
`non-preferred display(s) in mirroring mode
`680
`
`FIG. 6
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 7 of 8
`
`US 8,738,826 B2
`
`
`
`
`
`Computing device
`delays or aborts
`pending Change
`755
`
`user causes a change in available display devices
`710
`
`Computing device detects change in available
`display devices, determines display type(s)
`720
`
`computing device automatically determines most
`likely display mode and preferred display,
`stores display parameters for this configuration
`730
`
`
`
`
`
`Computing device notifies application(s)
`and/or user of pending change in display
`mode and preferred display
`740
`
`LSe
`and/or application(s) rejec
`pending Change?
`750
`FO
`
`Computing device makes change, stores display
`parameters for modified configuration, and notifies
`user and/or application(s) of Configuration change
`760
`
`Computing device acceSSes Stored
`display parameters for modified configuration
`in response to Subsequent detection of same
`combination of display device(s)
`770
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 7
`
`

`

`U.S. Patent
`
`May 27, 2014
`
`Sheet 8 of 8
`
`US 8,738,826 B2
`
`
`
`09
`
`JOSS000ICH
`
`?J?
`
`JOSS0001)
`
`80| 9
`
`
`
`
`
`
`
`@@@
`
`SJ049ueued
`MeIds[G]
`
`F@
`
`

`

`1.
`SYSTEMAND METHOD FOR DISPLAY
`MIRRORING
`
`BACKGROUND
`
`This application claims benefit of priority to U.S. Provi
`sional Application Ser. No. 61/657.549, entitled “System and
`Method for Display Mirroring.” filed Jun. 8, 2012.
`
`TECHNICAL FIELD
`
`This disclosure relates generally to the use of video dis
`plays, and more specifically to the display of images on
`multiple devices.
`
`DESCRIPTION OF THE RELATED ART
`
`10
`
`15
`
`In some situations, there is a need to display the same
`images concurrently on multiple displays of a computer sys
`tem. For example, considera system with a computing device
`having an internal display and an external interface to which
`an external display is coupled. This system may be used for a
`presentation (e.g., for a Software demonstration to an audi
`ence in a large room). The presenter may wish to view the
`demonstration on the device's internal display while the audi
`ence views the demonstration on the external display. The
`presenter may configure the system to operate in this mode
`and/or select the resolution and/or other parameters for ren
`dering the image content on the internal and/or external dis
`plays by explicitly specifying multiple display options using
`multiple user interface mechanisms.
`In other situations, there may be a need to display different
`images on multiple displays of a computer system. For
`example, a system with a computing device having an internal
`display and an external interface to which an external display
`is coupled may be used by a single user running an application
`that displays large amounts of information. The user may
`wish to view the information across both the internal and the
`40
`external displays (e.g., in an extended desktop mode). The
`user may configure the system to operate in this mode and/or
`select the resolution and/or other parameters for rendering
`different portions of the image content on the internal or
`external displays by explicitly specifying multiple display
`options using multiple user interface mechanisms.
`
`25
`
`30
`
`35
`
`45
`
`SUMMARY
`
`This disclosure relates to computers that include an inter
`nal display and that are also connected to one or more external
`displays. The computers, internal displays, and external dis
`play(s) may be configured to collectively operate in a display
`mirroring mode or in an extended display mode (e.g., an
`extended desktop mode). Embodiments of the present disclo
`Sure may allow the automatic configuration of a computer and
`multiple displays so that content appears best on the display
`on which the user would like it to appear best with little or no
`input from the user. In some embodiments, the computer may
`detect the characteristics of an external display that is con
`nected to the computer, and may infer the intended use of the
`external display. For example, if the external display is a
`presentation device (e.g., a television or projector), the com
`puter may infer that the intended use of the external display is
`for a presentation formatin which the external display mirrors
`the internal display of the computer. On the other hand, if the
`external display is not a presentation device (e.g., if it is a
`
`50
`
`55
`
`60
`
`65
`
`US 8,738,826 B2
`
`2
`computer monitor), the computer may infer that the intended
`use of the external display is as an auxiliary monitor for an
`extended display mode.
`Embodiments of the present disclosure may allow the com
`puter to determine which display is the preferred display and
`to render content so that it appears best on the preferred
`display. The rendered content may then be resampled, scaled,
`and/or its color profile translated for display on the other
`display(s) without re-rendering it. The computer may remem
`ber the intended use and preferred display for a specific com
`bination of displays and may infer that the intended use and
`other preferences are the same when that same combination
`of displays is Subsequently detected.
`In some embodiments, when a display configuration
`changes (or is about to change), a display re-configure noti
`fication may be sent out in the system. Various applications
`may respond to the notification to accept, reject, or modify a
`pending change, may take advantage of a completed change,
`or may ignore (or be oblivious to) a pending or completed
`change. In some embodiments, the computer may automati
`cally determine a display mode, a preferred display, and a
`preferred display mode for the preferred display, and a user
`may override the automatic selections through various user
`interface mechanisms.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram illustrating one embodiment of a
`computer system having multiple displays.
`FIG. 2A is a block diagram illustrating one embodiment of
`a computer system that includes a computing device with an
`internal Scaling unit.
`FIG. 2B is a block diagram illustrating one embodiment of
`a computer system that includes a computing device with one
`or more display drivers for use in display mirroring.
`FIGS. 3A-3B illustrate examples of re-scaling image con
`tent for a non-preferred display that was rendered for a pre
`ferred display mode of a preferred display, according to some
`embodiments.
`FIG. 3C illustrates an example of the display of image
`content on two displays in an extended display mode, accord
`ing to one embodiment.
`FIG. 4 is a flow diagram illustrating one embodiment of a
`method for implementing display mirroring.
`FIG. 5 is a flow diagram illustrating one embodiment of a
`method for determining whether a display is a presentation
`device.
`FIG. 6 is a flow diagram illustrating one embodiment of a
`method for displaying image content on a preferred display
`and mirroring the image content on another display.
`FIG. 7 is a flow diagram illustrating one embodiment of a
`method for configuring multiple displays in a computing
`system.
`FIG. 8 illustrates an example computer system configured
`to implement display mirroring, according to various
`embodiments.
`This specification includes references to “one embodi
`ment.” “an embodiment,” “one implementation.” or “an
`implementation.” The appearances of these phrases do not
`necessarily refer to the same embodiment or implementation.
`Particular features, structures, or characteristics may be com
`bined in any Suitable manner consistent with this disclosure.
`Further, various units, circuits, or other components may
`be described or claimed as “configured to perform a task or
`tasks. In Such contexts, “configured to' is used to connote
`structure by indicating that the units/circuits/components
`include structure (e.g., circuitry) that performs those task or
`
`

`

`US 8,738,826 B2
`
`3
`tasks during operation. As such, the unit/circuit/component
`can be said to be configured to perform the task even when the
`specified unit/circuit/component is not currently operational
`(e.g., is not on). The units/circuits/components used with the
`“configured to language include hardware—for example,
`circuits, memory storing program instructions executable to
`implement the operation, etc. Reciting that a unit/circuit/
`component is "configured to perform one or more tasks is
`expressly intended not to invoke 35 U.S.C. S112, sixth para
`graph, for that unit/circuit/component.
`
`DETAILED DESCRIPTION
`
`As noted above, computing devices of various types may
`include an internal display and may also be connected to one
`or more external displays. The computing devices, internal
`displays, and external display(s) may, in various embodi
`ments and in different situations, be configured to collectively
`operate in a display mirroring mode or in an extended display
`mode (e.g., an extended desktop mode). Embodiments of the
`present disclosure may allow the automatic configuration of a
`computing device and multiple displays so that content
`appears best on the display on which the user would like it to
`appear best with little or no input from the user, in accordance
`with the most likely use model currently being employed, as
`determined by the computer.
`In some embodiments, a computer may detect the charac
`teristics of an external display that is connected to the com
`puter, and may infer the intended use of the external display
`based, at least in part, on those characteristics. For example, if
`the computer determines, based on the characteristics of the
`external display, that the external display is a presentation
`device (e.g., a television or projector), the computer may infer
`that the intended use of the external display is for a presenta
`tion format in which the external display mirrors the internal
`display of the computer. On the other hand, if the computer
`determines, based on the characteristics of the external dis
`play, that the external display is not a presentation device
`(e.g., if both the internal display and the external display are
`computer monitors), the computer may infer that the intended
`use of the external display is as an auxiliary monitor for an
`extended display mode (e.g., an extended desktop mode in
`which the internal and external monitors collectively act as a
`single display that is the size of the combined displays).
`In some embodiments, a computer may determine which,
`if either, display is the preferred display and may render
`image content so that it appears best on the preferred display.
`For example, when in mirroring mode with an external dis
`play that is a television or projector, the image content may be
`rendered in a best or preferred mode for display on the tele
`vision or projector (e.g., using a native resolution, aspect
`ratio, and/or color profile for the television or projector, or a
`derivative thereof). The rendered content may then be resa
`mpled, Scaled, and/or its color profile translated for display on
`the internal display (e.g., without re-rendering the image con
`tent). The computer may remember the intended use and
`preferred display for a specific combination of displays and
`may infer that the intended use and other preferences are the
`same when that same combination of displays is Subsequently
`detected. For example, the computer may store data indicat
`ing the display mode (e.g., display mirroring mode or
`extended display mode) and/or the preferred display (e.g., the
`internal display or an external display) for the particular com
`bination of internal and external display(s), and may access
`that stored data to infer the intended use and/or other display
`preferences if and when that same combination of display is
`Subsequently connected to the computer.
`
`10
`
`15
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`4
`In some embodiments, when a display configuration
`changes (or is about to change) due to any of a variety of
`display re-configuration events (e.g., connecting or discon
`necting an external display, detecting a user-initiated change
`in one or more display preferences, etc.), a display re-config
`ure notification may be sent out in the system (e.g., to a user
`and/or to various applications that are currently executing in
`the system). In some embodiments, various applications (or a
`user) may respond to Such a notification to accept, reject, or
`request a modification of a pending change, may take advan
`tage of a completed change, or may ignore (or be oblivious to)
`a pending or completed change. In response to a rejection of
`a pending change by an application or a user, the computer
`may delay, modify, or abort a pending change.
`Turning now to FIG. 1, a block diagram of a computer
`system with multiple displays is shown. Computer system
`100 includes computing device 110, which may be any suit
`able type of computing device. In one embodiment, device
`110 is a tablet computing device, such as an IPAD product.
`As shown, device 110 is coupled to display 120. In one
`embodiment, display 120 is integrated or internal to comput
`ing device 110. In some of the examples described herein, this
`display may be referred to as the “primary' display of device
`110. In some embodiments, primary display 120 may be
`connected to device 110 through an external interface. Dis
`play 120 is represented with a dotted line in FIG. 1 to indicate
`that it may be located either internal or external to device 110.
`Note that in some examples described herein, the primary
`display (i.e., the main or default display for a computing
`device 110) may be referred to as the “internal display,
`regardless of whether it is actually integrated within the com
`puting device or is connected to the computing device
`through an external interface. As used herein, the term "dis
`play may refer to any device that is configured to present a
`visual image in response to control signals being provided to
`the display. A variety of technologies may be used in the
`display, such as cathode ray tube (CRT), thin film transistor
`(TFT), liquid crystal display (LCD), light emitting diode
`(LED), plasma, etc. A display may also include touch screen
`input functionality, or projection capability, in Some embodi
`ments. The display devices may also be referred to as panels,
`in some cases.
`In the example illustrated in FIG. 1, in addition to display
`120, computing device 110 includes an external interface 130
`that is coupled to an “external' or “secondary display 160
`via connection 150. Interface 130 may be any type of standard
`or proprietary interface, and may be wired or wireless, in
`different embodiments. A given interface 130 can be under
`stood to have a “data width” (e.g., a number of pins) that
`dictates how much data the interface can transfer at one time.
`In FIG. 1, connection 150 is a logical representation of the
`connection between device 110 and secondary display 160. In
`various embodiments, connection 150 may be wireless. In
`other embodiments, connection 150 may be wired, and may
`include one or more intervening hardware components. Such
`as a scaling unit discussed below. Like primary display 120,
`secondary display 160 may be any suitable type of device. For
`example, in Some embodiments, secondary display 160 may
`be a high-definition TV (HDTV) compatible device or a pro
`60 jection device. As described in more detail herein, an internal
`(or primary) display or an external (or secondary) display
`may at various times be the “preferred display for a comput
`ing device 100 (i.e., the device on which the user would like
`image content to be displayed in a best display mode for that
`display).
`Computing device 110 may include various structures (not
`depicted in FIG. 1) that are common to many computing
`
`65
`
`

`

`US 8,738,826 B2
`
`5
`devices. These structures may include one or more proces
`sors, memories, graphics circuitry, I/O devices, bus control
`lers, etc. One embodiment of Such a computing device is
`illustrated in FIG. 8 and described in detail below.
`In various embodiments, computing device 110 may oper
`ate to display frames of data. Generally, a frame is data
`describing an image to be displayed. A frame may include
`pixel data describing the pixels included in the frame (e.g. in
`terms of various color spaces, such as RGB or YCrCb), and
`may also include metadata Such as an alpha value for blend
`ing. Static frames may be frames that are not part of a video
`sequence. Alternatively, video frames may be frames in a
`Video sequence. Each frame in the video sequence may be
`displayed after the preceding frame, at a rate specified for the
`Video sequence (e.g. 15-30 frames a second). Video frames
`may also be complete images, or may be compressed images
`that refer to other images in the sequence. If the frames are
`compressed, a video pipeline in device 110 may decompress
`the frames.
`In some embodiments, display generation unit within
`device 110 may be configured to generate (i.e. render), fetch,
`and/or process frame data to provide a stream of pixel values
`for display. The display generation unit may be configured as
`a display pipeline in some embodiments. Additionally, the
`display generation unit may be configured to blend multiple
`frames to produce an output frame. For example, in one
`embodiment, each frame pixel may have an associated alpha
`value indicating its opaqueness.
`Generally, a pixel value in a stream of pixel values may be
`a representation of a pixel to be displayed on a display
`coupled to device 110. The pixel value may include a one or
`more color space values. For example, in an RGB color space,
`the pixel value includes a red value, a green value, and a blue
`value. Each value may range from zero to 2'-1, and describes
`an intensity of the color for that pixel. Similarly, in the YCrCb
`color space, the pixel value includes aY value, a Cr value, and
`a Cb value. The location of a pixel on the display may be
`inferred from the position of the corresponding pixel value in
`the pixel stream. For example, the pixel stream may be a
`series of rows of pixels, each row forming a line on the display
`screen. In a progressive-mode display, the lines are drawn in
`consecutive order and thus the next line in the pixel stream is
`immediately adjacent to the previous line. In an interlaced
`mode display, consecutive passes over the display draw either
`the even or the odd lines, and thus the next line in the pixel
`stream skips one line from the previous line in the pixel
`stream. Forbrevity, the stream of pixel values may be referred
`to as a pixel stream, or a stream of pixels. Pixel processing
`units within device 110 may be configured to perform various
`pixel operations on the pixel stream and may provide the
`processed pixel stream to the respective physical interfaces
`(PHYs), or display drivers. For example, pixel operations
`may include one or more of color space conversions, back
`light control, gamma correction, contrast ratio improvement,
`filtering, dithering, etc. The PHY's may generally include the
`circuitry that physically controls the corresponding displayS.
`The PHY's may drive control signals that physically control
`the respective display panels in response to the pixel values.
`Thus, for example, a PHY for a display that is controlled by
`RGB signals may transmit Voltages on the R,G, and B signals
`that correspond to the R, G, and B components of the pixel.
`There may also be a display clock that may be transmitted by
`the PHYs, or the display clock may be embedded in one of the
`control signals. Different PHY's for different displays may
`have clocks that are within different clock domains.
`It is often desirable to use computing device 110 to make a
`presentation—for example, to an audience in a large room. In
`
`40
`
`45
`
`6
`Such a situation, the size of primary display 120 may be
`inadequate for audience members. To facilitate such presen
`tations, secondary display 160 (which may be a television, a
`projector, or another presentation type device) may be
`coupled to device 110 via interface 130 and connection 150.
`In this manner, the presenter may view the presentation on
`display 120 while the audience views the presentation on
`display 160. In such embodiments, the two images may be
`displayed concurrently, Such that when the presenter is
`describing a feature of the presentation appearing on display
`120, this same feature is also appearing on display 160 at the
`same time. Note that there may be some inherent phase dif
`ference between images on different displays. As used herein,
`however, references to “synchronized.” “synchronous,” or
`“concurrent display of images includes display of images on
`different displays that do not have visually discernable image
`drift.
`Concurrent display of images becomes more difficult when
`the internal display and external display have different reso
`lutions (i.e., different number of pixels in the horizontal and
`vertical directions). One possible solution is to have different
`display generation units for each display. However, Such an
`approach may have significant drawbacks. Consider a game
`developer who wishes to demonstrate a new video game using
`internal and external displays. If the video game is pushing
`the processing power of device 110, it may be a waste of
`processing power to have a second display generation unit
`running for the external display, when in effect it would be
`rendering the same image as for the first display generation
`unit. Thus, Sucha configuration might not allow the developer
`the ability to showcase the video game running at peak per
`formance.
`An alternative solution is the use of a display mirroring
`mode in which a single display generation unit is used to
`provide output (e.g., pixels) to displays 120 and 160. This
`Solution may involve rendering image data only once (or
`fetching rendered image data from memory only a single
`time), and utilizing a scaling unit or display drivers to resa
`mple or otherwise Scale the rendered image data for presen
`tation on a display other than the one for which it was ren
`dered.
`As noted above, a computer system that includes multiple
`displays may in some embodiments be configured to operate
`in a display mirroring mode or an extended display mode, at
`different times. When mirroring on multiple displays that
`have different sizes and/or resolutions, it may be difficult to
`efficiently provide image data to the different displays that
`has a pleasing appearance on all of the displays. Some current
`mirroring techniques may render images at a resolution that is
`common to both an internal display and an external display,
`but that may not look sharp on both displays. In some embodi
`ments, the techniques described herein may instead optimize
`the resolution for a “preferred display', i.e., one on which the
`user would most likely prefer images to appear at their best.
`Note that in Some embodiments, the system may automati
`cally designate a display as the preferred display, depending
`on the inferred use case for the combination of displays. For
`example, the system may always designate a projector or
`television as the preferred display when it is connected in the
`system.
`In some embodiments, the techniques described herein
`may provide ways to automatically manage display mirroring
`and various use cases for systems with both internal and
`external displays with little to no input from users. In other
`words, the techniques described herein may be employed in a
`computer system that is capable of supporting various display
`modes using multiple displays, and to automatically config
`
`10
`
`15
`
`25
`
`30
`
`35
`
`50
`
`55
`
`60
`
`65
`
`

`

`7
`ure the system so that the displays present image data in a
`manner most likely to be the preferred manner (e.g., in a most
`likely display mode and/or with the image appearing at its
`best on the display that is most likely to be the preferred
`display) without manual intervention.
`In some embodiments, depending on the type of external
`display device that is connected to a computer, the computer
`may be configured to automatically determine (or infer)
`whether to mirror the images presented on an internal or
`primary display of the computer on the external display
`device, or to share or split the presentation of images between
`the internal and external displays. For example, the computer
`may infer that it should mirror images if it is connected to a
`television, a projector, or another types of presentation
`15
`device, as opposed to being connected to an auxiliary com
`puter monitor. The computer may also be configured to opti
`mize the images for display on a presentation device as the
`preferred one of the displays (e.g., dependent on the size,
`resolution, aspect ratio, and/or color profiles of the presenta
`tion device). In other words, the images may be automatically
`rendered in a best or preferred mode for display on the pre
`sentation device (e.g., using a GPU or other available com
`puting facilities), a

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket