U.S. patent application number 12/884706 was filed with the patent office on 2012-02-02 for facilitating audio playback during display sleep mode.
This patent application is currently assigned to APPLE INC.. Invention is credited to Simon M. Douglas, Maciej Maciesowicz, Maria A. Tovar.
Application Number | 20120026403 12/884706 |
Document ID | / |
Family ID | 45526198 |
Filed Date | 2012-02-02 |
United States Patent
Application |
20120026403 |
Kind Code |
A1 |
Maciesowicz; Maciej ; et
al. |
February 2, 2012 |
FACILITATING AUDIO PLAYBACK DURING DISPLAY SLEEP MODE
Abstract
The disclosed embodiments relate to a system for managing power
for a display. During operation, the system receives a video-blank
command, which specifies that the display is to enter a video-blank
mode wherein the display outputs a blank screen. In response to the
video-blank command, the system causes the display to output a
blank screen, and powers down display components associated with
outputting a display signal to the display. In some embodiments,
the display additionally comprises audio components including an
audio-output device, and powering down the display components
involves maintaining an existing power state for the audio
components, so that the audio components can continue to output an
audio signal while the display components are powered down.
Inventors: |
Maciesowicz; Maciej;
(Gilroy, CA) ; Tovar; Maria A.; (Atherton, CA)
; Douglas; Simon M.; (Cupertino, CA) |
Assignee: |
APPLE INC.
Cupertino
CA
|
Family ID: |
45526198 |
Appl. No.: |
12/884706 |
Filed: |
September 17, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61368164 |
Jul 27, 2010 |
|
|
|
Current U.S.
Class: |
348/634 ;
348/E3.047; 348/E5.127 |
Current CPC
Class: |
G06F 3/14 20130101; G09G
2360/144 20130101; G09G 2320/0626 20130101 |
Class at
Publication: |
348/634 ;
348/E05.127; 348/E03.047 |
International
Class: |
H04N 3/24 20060101
H04N003/24 |
Claims
1. A method for controlling a display, comprising: receiving a
video-blank command, which specifies that the display is to enter a
video-blank mode wherein the display outputs a blank screen; and in
response to the video-blank command, causing the display to output
a blank screen, and powering down display components associated
with outputting a display signal to the display.
2. The method of claim 1, wherein the display additionally
comprises audio components including an audio-output device; and
wherein powering down the display components involves maintaining
an existing power state for the audio components, so that the audio
components can continue to output an audio signal while the display
components are powered down.
3. The method of claim 2, further comprising: receiving an
audio-mute command, which specifies that the display is to enter an
audio-mute mode wherein the audio components output a muted audio
signal; and in response to the audio-mute command, causing the
audio components to output the muted audio signal, and powering
down the audio components.
4. The method of claim 2, wherein the video-blank command is
received along with a command to mute/un-mute an audio signal
associated with the audio components.
5. The method of claim 2, wherein the display can be in one of the
following modes: a no-video-blank/no-audio-mute mode, wherein the
display components are powered up and are outputting a display
signal, and the audio components are powered up and are outputting
an audio signal; a video-blank/no-audio-mute mode, wherein the
display components are powered down, and the audio components are
powered up and are outputting an audio signal; a
no-video-blank/audio-mute mode, wherein the display components are
powered up and are outputting a display signal, and the audio
components are powered down; and a video-blank/audio-mute mode,
wherein both the display components and audio components are
powered down.
6. The method of claim 1, wherein the display is one of: an
external display which is external to a computer system; and an
internal display which is internal to the computer system.
7. The method of claim 1, further comprising: receiving a sleep
command, which specifies that the display is to enter a sleep mode
wherein components in the display are powered down; and in response
to the sleep command, powering down display components associated
with outputting the display signal to the display, and if the
display includes audio components associated with outputting an
audio signal, powering down the audio components.
8. A system for controlling a display, comprising: a display
controller configured to control the display; wherein the display
controller is configured to receive a video-blank command, which
specifies that the display is to enter a video-blank mode wherein
the display outputs a blank screen; and wherein, in response to the
video-blank command, the display controller is configured to, cause
the display to output a blank screen, and power down display
components associated with outputting a display signal to the
display.
9. The system of claim 8, wherein the display additionally
comprises audio components including an audio-output device; and
wherein, while powering down the display components, the display
controller is configured to maintain an existing power state for
the audio components, so that the audio components can continue to
output an audio signal while the display components are powered
down.
10. The system of claim 9, wherein the display controller is
additionally configured to receive an audio-mute command, which
specifies that the display is to enter an audio-mute mode wherein
the audio components output a muted audio signal; and wherein, in
response to the audio-mute command, the display controller is
configured to, cause the audio components to output the muted audio
signal, and power down the audio components.
11. The system of claim 9, wherein the video-blank command is
received along with a command to mute/un-mute an audio signal
associated with the audio components.
12. The system of claim 9, wherein the display can be in one of the
following modes: a no-video-blank/no-audio-mute mode, wherein the
display components are powered up and are outputting a display
signal, and the audio components are powered up and are outputting
an audio signal; a video-blank/no-audio-mute mode, wherein the
display components are powered down, and the audio components are
powered up and are outputting an audio signal; a
no-video-blank/audio-mute mode, wherein the display components are
powered up and are outputting a display signal, and the audio
components are powered down; and a video-blank/audio-mute mode,
wherein both the display components and audio components are
powered down.
13. The system of claim 8, wherein the display is one of: an
external display which is external to a computer system; and an
internal display which is internal to the computer system.
14. The system of claim 8, wherein the display controller is
additionally configured to receive a sleep command, which specifies
that the display is to enter a sleep mode wherein components in the
display are powered down; and wherein, in response to the sleep
command, the display controller is configured to, power down
display components associated with outputting the display signal to
the display, and if the display includes audio components
associated with outputting an audio signal, power down the audio
components.
15. A non-transitory computer-readable storage medium storing
instructions that when executed by a computer cause the computer to
perform a method for controlling a display, the method comprising:
receiving a video-blank command, which specifies that the display
is to enter a video-blank mode wherein the display outputs a blank
screen; and in response to the video-blank command, causing the
display to output a blank screen, and powering down display
components associated with outputting a display signal to the
display.
16. The computer-readable storage medium of claim 15, wherein the
display additionally comprises audio components including an
audio-output device; and wherein powering down the display
components involves maintaining an existing power state for the
audio components, so that the audio components can continue to
output an audio signal while the display components are powered
down.
17. A computer system, comprising: a processor; a memory; a
display; and a display controller configured to control the
display; wherein the display controller is configured to receive a
video-blank command, which specifies that the display is to enter a
video-blank mode wherein the display outputs a blank screen;
wherein in response to the video-blank command, the display
controller is configured to, cause the display to output a blank
screen, and power down display components associated with
outputting a display signal to the display.
18. The computer system of claim 17, wherein the display
additionally comprises audio components including an audio-output
device; and wherein, while powering down the display components,
the display controller is configured to maintain an existing power
state for the audio components, so that the audio components can
continue to output an audio signal while the display components are
powered down.
19. The computer system of claim 17, wherein the video-blank
command is received along with a command to mute/un-mute an audio
signal associated with the audio components.
20. The computer system of claim 17, wherein the display is one of:
an external display which is external to a computer system; and an
internal display which is internal to the computer system.
Description
RELATED APPLICATION
[0001] This application claims priority under 35 U.S.C. .sctn.119
to U.S. Provisional Patent Application No. 61/368,164 filed 27 Jul.
2010, entitled "Using a Display Abstraction to Control a Display"
by the same inventors as the instant application (Attorney Docket
No. APL-P9058USP1). The subject matter of this application is also
related to the subject matter in a co-pending non-provisional
application by Maciej Maciesowicz and David A. Curran, Ser. No.
12/850,123, filed on 4 Aug. 2010 application entitled, "Using a
Display Abstraction to Control a Display" (Attorney Docket No.
APL-P9058US1
BACKGROUND
[0002] 1. Field
[0003] The disclosed embodiments generally relate to techniques for
controlling displays in computer systems. More specifically, the
disclosed embodiments relate to a system that facilitates audio
playback during display sleep mode.
[0004] 2. Related Art
[0005] Computer displays are often equipped with built-in speakers
which enable the display to output both audio and video signals. To
conserve power, these displays often enter a "sleep mode," wherein
various components within the display are powered down. However,
when such a display enters sleep mode, the audio components are
also powered down, which can cause an audio output, such as music,
to be interrupted. This leads to an unsatisfactory user experience.
Also, when a host system wants to output sound and the display is
in sleep mode, the display must be powered up and may suddenly
produce a bright light, which can also cause an unsatisfactory user
experience. Hence, what is needed is a technique that facilitates
powering down display components involved in producing a video
output from the display without affecting an audio output of the
display.
SUMMARY
[0006] Some of the disclosed embodiments relate to a system for
managing power for a display. During operation, the system receives
a video-blank command, which specifies that the display is to enter
a video-blank mode wherein the display outputs a blank screen. In
response to the video-blank command, the system causes the display
to output a blank screen, and powers down display components
associated with outputting a display signal to the display.
[0007] In some embodiments, the display additionally comprises
audio components including an audio-output device, and powering
down the display components involves maintaining an existing power
state for the audio components, so that the audio components can
continue to output an audio signal while the display components are
powered down.
[0008] In some embodiments, the system is also configured to
receive an audio-mute command, which specifies that the display is
to enter an audio-mute mode wherein the audio components output a
muted audio signal. In response to the audio-mute command, the
system is configured to: cause the audio components to output the
muted audio signal, and power down the audio components.
[0009] In some embodiments, the video-blank command is received
along with a command to mute/un-mute an audio signal associated
with the audio components.
[0010] In some embodiments, the display can be in one of the
following modes: (1) a no-video-blank/no-audio-mute mode, wherein
the display components are powered up and are outputting a display
signal, and the audio components are powered up and are outputting
an audio signal; (2) a video-blank/no-audio-mute mode, wherein the
display components are powered down, and the audio components are
powered up and are outputting an audio signal; (3) a
no-video-blank/audio-mute mode, wherein the display components are
powered up and are outputting a display signal, and the audio
components are powered down; and (4) a video-blank/audio-mute mode,
wherein both the display components and audio components are
powered down.
[0011] In some embodiments, the display is one of: an external
display which is external to a computer system; and an internal
display which is internal to the computer system.
[0012] In some embodiments, the system is also configured to
receive a sleep command, which specifies that the display is to
enter a sleep mode wherein components in the display are powered
down. In response to the sleep command, the system is configured to
power down both display components and audio components.
BRIEF DESCRIPTION OF THE FIGURES
[0013] FIG. 1 illustrates a computer system and a display in
accordance with the disclosed embodiments.
[0014] FIG. 2 illustrates a software architecture that facilitates
controlling a display in accordance with the disclosed
embodiments.
[0015] FIG. 3A presents a flow chart illustrating how a command is
communicated to a pluggable display-control module though a
display-control abstraction in accordance with the disclosed
embodiments.
[0016] FIG. 3B presents a flow chart illustrating how a command is
communicated to a pluggable transport module through a transport
abstraction in accordance with the disclosed embodiments.
[0017] FIG. 3C presents a flow chart illustrating how display
properties are published in accordance with the disclosed
embodiments.
[0018] FIG. 4A presents a flow chart illustrating how a
display-setting interrupt is generated in accordance with the
disclosed embodiments.
[0019] FIG. 4B presents a flow chart illustrating how a change in
ambient lighting triggers a change in the brightness of a display
in accordance with the disclosed embodiments.
[0020] FIG. 4C presents a flow chart illustrating how a
display-setting interrupt is processed at a host system in
accordance with the disclosed embodiments.
[0021] FIG. 5A presents a flow chart illustrating how the display
powers down display-related components during a video-blank mode in
accordance with the disclosed embodiments.
[0022] FIG. 5B presents a flow chart illustrating how the display
powers down audio-related components during an audio-mute mode in
accordance with the disclosed embodiments.
[0023] FIG. 5C presents a flow chart illustrating how the display
powers down display-related and audio-related components during a
sleep mode in accordance with the disclosed embodiments.
DETAILED DESCRIPTION
[0024] The following description is presented to enable any person
skilled in the art to make and use the disclosed embodiments, and
is provided in the context of a particular application and its
requirements. Various modifications to the disclosed embodiments
will be readily apparent to those skilled in the art, and the
general principles defined herein may be applied to other
embodiments and applications without departing from the spirit and
scope of the disclosed embodiments. Thus, the disclosed embodiments
are not limited to the embodiments shown, but are to be accorded
the widest scope consistent with the principles and features
disclosed herein.
[0025] The data structures and code described in this detailed
description are typically stored on a non-transitory
computer-readable storage medium, which may be any device or medium
that can store code and/or data for use by a computer system. The
non-transitory computer-readable storage medium includes, but is
not limited to, volatile memory, non-volatile memory, magnetic and
optical storage devices such as disk drives, magnetic tape, CDs
(compact discs), DVDs (digital versatile discs or digital video
discs), or other media capable of storing code and/or data now
known or later developed.
[0026] The methods and processes described in the detailed
description section can be embodied as code and/or data, which can
be stored in a non-transitory computer-readable storage medium as
described above. When a computer system reads and executes the code
and/or data stored on the non-transitory computer-readable storage
medium, the computer system performs the methods and processes
embodied as data structures and code and stored within the
non-transitory computer-readable storage medium. Furthermore, the
methods and processes described below can be included in hardware
modules. For example, the hardware modules can include, but are not
limited to, application-specific integrated circuit (ASIC) chips,
field-programmable gate arrays (FPGAs), and other
programmable-logic devices now known or later developed. When the
hardware modules are activated, the hardware modules perform the
methods and processes included within the hardware modules.
Computer System
[0027] FIG. 1 illustrates a computer system 120 and an associated
display 100 in accordance with the disclosed embodiments. Computer
system 120 can generally include any type of computer system or
computational device, including, but not limited to, a computer
system based on a microprocessor, a mainframe computer, a digital
signal processor, a portable computing device, a personal
organizer, a cell phone, a device controller, or a computational
engine within an appliance. As illustrated in FIG. 1, computer
system 120 includes a central-processing unit (CPU) 121, which can
be coupled to one or more bridge chips, including north bridge 122
and south bridge 123. CPU 121 communicates with a memory subsystem
125 through north bridge 122, wherein memory subsystem 125 contains
random-access memory, which can be organized as one or more levels
of cache memory and a main memory. CPU 121 can also communicate
with a storage device 126 through a peripheral bus 129, which is
coupled to south bridge 123. Storage device 126 can include any
type of non-volatile storage device that can be coupled to a
computer system. This includes, but is not limited to, magnetic,
optical, or magneto-optical storage devices, as well as storage
devices based on flash memory and/or battery-backed up memory. CPU
121 can additionally communicate with the graphics-processing unit
(GPU) 124 through north bridge 122. GPU 124 contains specialized
components for processing graphics data, including a dedicated
graphics processor and possibly a dedicated graphics memory.
[0028] As illustrated in FIG. 1, computer system 120 can
communicate with display 100 through either a Universal Serial Bus
(USB) interface 127, which is coupled to south bridge 123, or a
DisplayPort interface, which is coupled to GPU 124.
[0029] Display 100 can generally include any type of output device
for outputting visual (and possibly audio) information for a
computer system. Display 100 can be an external display, which can
be selectively attached to computer system 120 through an
interface, or alternatively an internal display, which is
integrated into computer system 120. Display 100 includes an
interface circuit 102, which is coupled to computer system 120
through both a display port interface 132 and a USB interface 127.
Interface circuit 102 directs a video signal 107 containing video
data to display 105, and additionally directs an audio signal 108
containing audio data to audio output device (speaker) 106.
Interface circuit 102 also communicates with a micro-controller
101, which communicates with and controls various components within
display 100. More specifically, micro-controller 101 receives
signals from an Ambient Light Sensor (ALS) 103, which is integrated
into the display. Micro-controller 101 can also communicate with a
Back-Light Controller (BLC) 104, which controls the intensity of a
backlight for display 105. Note that micro-controller 101 can
adjust the intensity of the backlighting for display 105 based on
an ambient light level measured through ALS 103. This control
process, along with other operations performed by the various
components within display 100, are described in more detail
below.
Software Architecture
[0030] FIG. 2 illustrates a software architecture that facilitates
controlling a display in accordance with the disclosed embodiments.
This software architecture includes a display-control abstraction
210 which exposes a generic display-control interface 211 to client
code. Note that this client code can include any application code
or system code that makes calls (or invocations) to control the
display. More specifically, FIG. 2 illustrates a user interface
200, which provides controls that can be used to control various
settings for a display, including a volume slider 201 and a
brightness slider 202. When a user manipulates these sliders, calls
(invocations) are made through generic display-control interface
211 to communicate associated changes in volume and brightness to
display-control abstraction 210. Display-control abstraction 210
translates these calls (invocations) into calls (invocations) to a
pluggable display-control module, such as MCCS control module 212
or XYZ control module 214, which are illustrated in FIG. 2. These
pluggable display-control modules fit into a plug-in framework
associated with display-control abstraction 210. This enables
different control modules to be swapped in without having to modify
the client code.
[0031] The pluggable display-control modules can communicate with
display 100 by making calls (invocations) through a transport
abstraction 220 that exposes a generic transport interface 221.
Transport abstraction 220 translates calls to generic
display-control interface 211 into calls to a pluggable transport
module, such as a GPU SMBus module 222, a DisplayPort Configuration
Data (DPCD) protocol module 223, or XYZ transport module 224 as is
illustrated in FIG. 2. These pluggable transport modules fit into a
plug-in framework associated with transport abstraction 220. This
enables different transport modules to be swapped in without having
to modify calls from the display-control modules. Note that FIG. 2
illustrates how DPCD module 223 can be used to send video and audio
data 110 to display 100, and to receive interrupts 109 from display
100. Also note that some of these interrupts 109 can indicate that
display settings have changed within display 100.
Display and Transport Abstractions
[0032] FIG. 3A presents a flow chart illustrating how a command is
communicated to a pluggable display-control module though a
display-control abstraction that exposes a generic display-control
interface in accordance with the disclosed embodiments. Note that
the display-control abstraction can be implemented using a display
object, which resides in a system registry.
[0033] During operation, the system first receives a command to
control the display through a generic display-control interface
(step 302). Next, the system translates the command into a
corresponding translated command for a pluggable display-control
module including code that implements a standardized set of
display-control commands (step 304). Finally, the system
communicates the translated command through a plug-in framework to
the pluggable display-control module (step 306), wherein the
plug-in framework houses the pluggable display-control module and
enables the generic display-control interface to communicate with
the pluggable display-control module.
[0034] FIG. 3B presents a flow chart illustrating how a command is
communicated to a pluggable transport module through a transport
abstraction that exposes a generic transport interface in
accordance with the disclosed embodiments. Note that the transport
abstraction can be similarly implemented using a transport object,
which resides in a system registry. During operation, the system
first receives a command from a pluggable display-control module
through a generic transport interface which facilitates
communicating with the display (step 312). Next, the system
translates the command into a corresponding translated command for
a pluggable transport module including code that implements a
standardized transport protocol (step 314). Finally, the system
communicates the translated command through the plug-in framework
to the pluggable transport module (step 316), wherein the plug-in
framework houses the pluggable transport module and enables the
pluggable display-control module to communicate with the pluggable
transport module.
[0035] FIG. 3C presents a flow chart illustrating how display
properties are published in accordance with the disclosed
embodiments. First, the system determines what display properties
are supported by the display (step 322). For example, the display
may support: a display brightness; a display contrast; a display
hue; a display saturation; an audio volume for an audio-output
device associated with the display; and an audio balance between
channels for the audio-output device. Next, the system publishes
the supported display properties through the generic
display-control interface (step 324). The generic display-control
interface can, for example, represent the brightness for a display
generically by specifying (1) a minimum value for brightness, (2) a
maximum value for brightness, and (3) a current value for
brightness.
Display-Setting-Change Interrupt
[0036] FIG. 4A presents a flow chart illustrating how a
display-setting-change interrupt is generated in accordance with
the disclosed embodiments. Note that some displays presently use
interrupts for system-related purposes. For example, interrupts can
be generated to notify the system that there is an authentication
failure associated with High-bandwidth Digital Content Protection
(HDCP) copy protection, or to notify the system that checksum
errors are occurring because the display is receiving corrupted
data packets. However, displays presently do not generate
interrupts to indicate that a display setting has changed. The only
thing that can be done in existing systems to keep track of display
settings is to perform polling operations. For example, this can
involve polling brightness buttons on a display to determine
whether a user has pushed a brightness button to increase or
decrease the brightness of the display. However, as mentioned
above, this polling-based approach consumes power and can adversely
affect system performance.
[0037] Referring back the flowchart in FIG. 4A, the system first
determines at the display that the display setting has changed
(step 402). For example, the brightness of the display can change
in response to a change in ambient light detected by an ambient
light sensor in the display. (This process is described in more
detail below with reference to FIG. 4B.) Next, in response to the
change, the system can send an interrupt from the display to the
host system through a first interface, wherein the interrupt
informs the host system that the display setting has changed (step
404). (Note that if the change in the display setting is triggered
by a communication from the host system through the first
interface, the interrupt is suppressed and is not sent to the host
system. On the other hand, if the change in the display setting is
triggered by a communication from the host system through a second
interface which is different from the first interface, the
interrupt is not suppressed and is sent to the host system.)
[0038] After sending the interrupt to the host system, the system
receives a request from the host system to obtain values for one or
more display settings including the changed display setting (step
406). In response to this request, the system sends updated values
for the one or more display settings to the host system (step
408).
[0039] FIG. 4B presents a flow chart illustrating how a change in
ambient lighting triggers a change in the brightness of a display
in accordance with the disclosed embodiments. First, the system
detects a change in ambient light through an ambient light sensor
in the display (step 412). Next, in response to the change in
ambient light, the system adjusts the brightness of the display
(step 414). For example, if the ambient light decreases, the
brightness of the display can be decreased to conserve power
without adversely affecting the ability of a user to view the
display. On the other hand, if the ambient light increases, the
brightness of the display can be increased to enable the user to
see the images on the display in the presence of the increased
ambient light.
[0040] FIG. 4C presents a flow chart illustrating how a
display-setting interrupt is processed at a host in accordance with
the disclosed embodiments. First, the host system receives an
interrupt from the display through a first interface, wherein the
interrupt indicates that a display setting has changed (step 422).
Next, in response to the interrupt, the host system sends a request
to the display, wherein the request asks for values of one or more
display settings including the changed display setting (step 424).
In response to the request, the host system receives updated values
for the one or more display settings from the display (step 426).
Finally, the host system uses the updated value for the changed
display setting to perform a display-related operation at the host
system (step 428). For example, the host system can use the updated
value to update a user interface associated with the display, so
that the user interface is consistent with the updated value of the
display setting. More specifically, if the brightness of the
display has changed, the host system can use the updated brightness
value to update a setting for a brightness slider in a user
interface that is used to control settings for the display.
Video-Blank Mode
[0041] FIG. 5A presents a flow chart illustrating how the display
powers down display-related components during a video-blank mode in
accordance with the disclosed embodiments. First, the system
receives a video-blank command, which specifies that the display is
to enter a video-blank mode wherein the display outputs a blank
screen (step 502). Next, in response to the video-blank command,
the system causes the display to output a blank screen, and powers
down display components associated with outputting a display signal
to the display. At the same time, the system maintains power to
audio components within the display, so that the audio components
can continue to output an audio signal while the display components
are powered down (step 504).
[0042] FIG. 5B presents a flow chart illustrating how the display
powers down audio-related components during an audio-mute mode in
accordance with the disclosed embodiments. First, the system
receives an audio-mute command, which specifies that the display is
to enter an audio-mute mode wherein the audio components output a
muted audio signal (step 512). Next, in response to the audio-mute
command, the system (1) causes the audio components to output the
muted audio signal, and (2) powers down the audio components (step
514). In some cases, the display components can remain powered up
to continue outputting a video signal while the audio components
are powered down.
[0043] FIG. 5C presents a flow chart illustrating how the display
powers down display-related and audio-related components during a
sleep mode in accordance with the disclosed embodiments. First, the
system receives a sleep command, which specifies that the display
is to enter a sleep mode wherein components in the display are
powered down (step 522). Next, in response to the sleep command,
the system powers down both display-related components and
audio-related components within the display (step 524).
[0044] The foregoing descriptions of embodiments have been
presented for purposes of illustration and description only. They
are not intended to be exhaustive or to limit the present
description to the forms disclosed. Accordingly, many modifications
and variations will be apparent to practitioners skilled in the
art. Additionally, the above disclosure is not intended to limit
the present description. The scope of the present description is
defined by the appended claims.
* * * * *