[0001] The present invention relates to a system and method for managing display-related
resources. In particular, the present invention relates to managing screen saver and/or
screen dimming functions in view of certain state(s) of the underlying software.
[0002] A screensaver (or screen saver) is a computer program that blanks the screen or fills
it with moving images or patterns when the computer is not in use. Initially designed
to prevent phosphor burn-in on CRT and plasma computer monitors (hence the name),
screensavers are now used primarily for entertainment, security or to display system
status information (source: Wikipedia).
[0003] Further, modern operating systems have an automatic screen-dimming function. This
in turn allows to save energy consumed by a given display. In battery powered devices
with a screen, the system configuration provides a timeout setting. After such timeout
the screen is switched to a low brightness mode. After a second timeout, the screen
may be fully switched off. The respective timeouts are typically counted from the
last activity of any input device available at a certain computer system. These input
devices may include a mouse, a touchpad, a keyboard, a trackball or the like.
[0004] During computer use, there are certain situations of long inactivity, when, despite
its purpose, application managing display -related resources seems inappropriate.
Such situations include an Internet television content playback or a video call or
a video conference or web meetings or remote desktop sharing or webinar applications.
All of these situations have in common a feature of obtaining sequences of images
from a remote computer (a server).
[0005] A skilled person, wishing to influence the managing of display-related resources
has currently three options, inherent of the respective systems: (a) to disable the
management of display related resources completely (which is inconvenient, requires
specific knowledge and frequently users may have no time to configure desired timeout
parameters or may forget to enable the management); (b) to configure exceptionally
long timeouts (sometimes not provided for by operating systems); (c) to frequently
use available input devices, such as a keyboard or a mouse (which is inconvenient
and requires approaching the computer).
[0006] Prior art discloses a "Mouse with a screen saver control function"
US 20080120578 A1, describing a mouse, comprising: a screen saver control button configured for generating
a signal when receiving an operational input from a computer user; a memory unit for
storing a simulation program; and a micro-processing unit configured for running the
simulation program when receiving the signal from the screen saver control button,
and generating simulated input signals to a computer connected thereto.
[0007] A drawback of this solution is a necessity for a specific hardware as well as a requirement
for manual operation of the screen saver control button.
[0008] Another prior art solution
US 6374145 B1 entitled "Proximity sensor for screen saver and password delay" discloses an apparatus
comprising: an interface module interpretable between a user-input device and a computer-input
port of a computer, said interface module including a first connector connectable
to said user-input device and a second connector connectable to said computer-input
port; a proximity sensor operatively coupled to said interface module, said proximity
sensor operative to detect the presence of a user; and a control module, said control
module controllably coupled to said proximity sensor and said interface module, said
control module having a state machine operative to cause information emulating a user
input from a peripheral device of the computer to be transmitted to said computer
via said interface module based on an output signal provided by said proximity sensor
to prevent the activation of a computer program. In particular said computer program
is a screen saver program.
[0009] A drawback of this solution is a necessity for a specific hardware (a further physical
input device) as well as a complex software.
[0010] Thus, there exists an unaddressed need for an alternative method, being especially
adapted for cases where a client computer, equipped with a screen saver and/or screen
dimming software, obtains sequences of images from a remote computer (a server).
[0011] The aim of the development of the present invention is an improved and effective
system and method for managing display-related resources.
SUMMARY AND OBJECTS OF THE PRESENT INVENTION
[0012] The first object of the present invention is a computer-implemented method for managing
display-related resources, the method comprising the steps of: receiving an input
sequence of images at a server; the method further comprising the steps of: analyzing
presence of input activity at the server; in case of activity presence at the server,
adding, to an output data stream, a signal indicative of activity presence; adding
to the output data stream the input sequence of images; transmitting the output data
stream to a client device for the purpose of managing display-related resources of
the client device based on the signal indicative of activity presence.
[0013] Preferably, the input activity is evidence of use of input means selected from a
group comprising a mouse, a touchpad, a keyboard, a remote control.
[0014] Preferably, the resources saving action includes inhibiting invoking of a screen
saver or reducing screen brightness in order to reduce energy consumption.
[0015] Another object of the present invention is a computer program comprising program
code means for performing all the steps of the computer-implemented method according
to the present invention when said program is run on a client computer.
[0016] Another object of the present invention is a computer readable medium storing computer-executable
instructions performing all the steps of the computer-implemented method according
to the present invention when executed on a computer.
[0017] A further object of the present invention is a computer-implemented method, in a
client device, for managing display-related resources, the method comprising the steps
of: receiving an input sequence of images from a server; the method further comprising
the steps of: receiving, from the server, a signal indicative of activity presence
at the server; generating an output signal, for a display device, based on the input
sequence of images; managing display-related resources of the client device based
on the signal indicative of activity presence.
[0018] Preferably, the managing display-related resources of the client device comprises
prohibiting invoking a resources saving action.
[0019] Preferably, the prohibiting invoking a resources saving action comprises resetting
of a threshold timer associated with the resources saving action or generating of
a local activity event so that the client's operating system receives an input.
[0020] Preferably, the local activity event is a Shift or a Control or an Alt or a PrntScr
keypress.
[0021] Yet another object of the present invention is a system for managing display-related
resources, the system comprising: a data bus communicatively coupled to other components
of the system; a memory; a controller; the system further comprising: an image sequence
module having access to an input sequence of images; an output interface being communicatively
coupled to at least one client's input interface; an activity monitoring module configured
to monitor at least one input interface in order to generate a signal indicative of
activity presence; wherein the controller configured to execute all the method steps
according to the first object of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] These and other objects of the invention presented herein, are accomplished by providing
a system and method for managing display-related resources. Further details and features
of the present invention, its nature and various advantages will become more apparent
from the following detailed description of the preferred embodiments shown in a drawing,
in which:
Fig. 1 presents a diagram of a first embodiment of the method according to the present
invention;
Fig. 2 presents a diagram of a second embodiment of the method according to the present
invention;
Fig. 3 shows an overview of a system according to the present invention; and
Fig. 4 presents a general overview of the server implementing the method shown in
Fig. 2.
NOTATION AND NOMENCLATURE
[0023] Some portions of the detailed description which follows are presented in terms of
data processing procedures, steps or other symbolic representations of operations
on data bits that can be performed on computer memory. Therefore, a computer executes
such logical steps thus requiring physical manipulations of physical quantities.
[0024] Usually these quantities take the form of electrical or magnetic signals capable
of being stored, transferred, combined, compared, and otherwise manipulated in a computer
system. For reasons of common usage, these signals are referred to as bits, packets,
messages, values, elements, symbols, characters, terms, numbers, or the like.
[0025] Additionally, all of these and similar terms are to be associated with the appropriate
physical quantities and are merely convenient labels applied to these quantities.
Terms such as "processing" or "creating" or "transferring" or "executing" or "determining"
or "detecting" or "obtaining" or "selecting" or "calculating" or "generating" or the
like, refer to the action and processes of a computer system that manipulates and
transforms data represented as physical (electronic) quantities within the computer's
registers and memories into other data similarly represented as physical quantities
within the memories or registers or other such information storage.
[0026] A computer-readable (storage) medium, such as referred to herein, typically may be
non-transitory and/or comprise a non-transitory device. In this context, a non-transitory
storage medium may include a device that may be tangible, meaning that the device
has a concrete physical form, although the device may change its physical state. Thus,
for example, non-transitory refers to a device remaining tangible despite a change
in state.
[0027] As utilized herein, the term "example" means serving as a non-limiting example, instance,
or illustration. As utilized herein, the terms "for example" and "e.g." introduce
a list of one or more non-limiting examples, instances, or illustrations.
DESCRIPTION OF EMBODIMENTS
[0028] Fig. 1 presents a diagram of a first embodiment of the method according to the present
invention. This embodiment operates on a client device. The method starts at step
(101) from receiving an input sequence of images. A sequence of images obtained from
a remote computer (a server) may relate to applications such as an Internet television
content playback or a video call or a video conference or web meetings or remote desktop
sharing or webinar applications.
[0029] Said sequence of images may be a real time sequence of 25 or more frames per second
(e.g. television content encoded according to standard techniques such as AVC (Advanced
Video Coding) or HEVC (High Efficiency Video Coding)) or the sequence of images may
comprise fewer frames per second (e.g. webinar).
[0030] Subsequently, at step (102), there is executed analysis of the input sequence for
a presence of one or more input activity cues at the server. The input activity is
understood as evidence of use of input means such as a mouse/touchpad (cursor movement)
or text input in text input fields (keyboard use) at the remote computer (the server).
[0031] Preferably, it is the application that requested the server to provide the input
sequence of images, which will execute the aforementioned analysis. Alternatively,
there may be another application executed that will only monitor a specific section
of the output signal generated for a display screen at the client (this application
may also analyze audio signal generated to be output by the client). The section may
be a full screen image or any portion of said image, while said portion may be defined
by a user with a mouse. Such definition will, for example, require virtually drawing
a square or a rectangle, or any other shape using a mouse. This will result in defining
a set of coordinates applicable to output signal generated for a display screen at
the client. For example, a rectangle having coordinates in pixels (100,110) and (800,
900) will be subject to monitoring by the additional application. The second approach
is beneficial as it does not require any modifications to the existing applications
supporting an Internet television content playback or a video call or a video conference
or web meetings or remote desktop sharing or webinars.
[0032] A suitable object detection method for images or sequences of images may be employed
in order to detect cursor movement and/or typing activity. For example, cursor's position
may be detected in one image as well as detected in a subsequent image. A relative
displacement of the cursor, within the image area, may serve as an input activity
cue. Exemplary object detection methods may include SIFT (Scale-Invariant Feature
Transform) or SURF (Speeded Up Robust Features) methods applicable in computer vision
for tasks such as object recognition.
[0033] In case of presence of audio together with the input sequence of images, an input
activity cue detection may include monitoring audio in order to detect keystrokes
sounds or mouse clicks (for example using a method disclosed in Keyboard typing detection
and suppression -
US20140244247A1). Moreover, audio may be monitored for detection of voice(s) of a speaker(s) talking,
for example, during a web teleconference.
[0034] In a more general approach, content of two input sequence's images may be compared
as such and in case a difference exceeds a predefined threshold, an input activity
cue may be signaled. Such threshold (considered as a count of changed pixels with
respect to the complete monitored image) may take into account image compression artifacts,
noise etc.
[0035] A frequency of input activity cue(s) monitoring may be adjusted depending on an application.
Preferably, the detection is executed every few seconds.
[0036] Next, at step (103), in case of activity presence (or presence of activity cue(s))
configuring management of display-related resources, not to invoke resources saving
action i.e. not to invoke a screen saver or not to reduce screen brightness in order
to reduce energy consumption. Thus a resources saving action will not be invoked while
the client generates an output signal, for a display device, based on the input sequence
of images.
[0037] Thus, in this embodiment, the server side is not modified by any means. In turn the
second embodiment adapts also the server side.
[0038] Fig. 2 presents a diagram of a second embodiment of the method according to the present
invention. This method operates mainly at the server device while a client device
uses notifications obtained from the server in order to control management of display-related
resources.
[0039] The method starts at step (201), from receiving an input sequence of images at the
server. The input sequence of images being intended as part of an output to a client
device. The input sequence of images may be computer generated at the server (e.g.
in case of a webinar) or obtained from a source external to the server (e.g. a camera).
[0040] Subsequently, at step (202), there is executed analysis of presence of input activity
at the server. The input activity may originate from any input device (an activity
source) such as mouse movement, touch on a touchpad, keystroke of a keyboard or navigation
of a presentation by means of a presentation remote control unit cooperating with
the server.
[0041] Next, at step (203), in case of activity presence at the server, there is added,
to the output data stream, a signal indicative of activity presence. In its simplest
form, the signal may be just a single bit flag indicating activity on any of the monitored
activity sources. This data bit may be periodically transmitted as a part of the output
to a client device.
[0042] The input activity (speaking action) may also originate from audio registered by
a microphone connected to the server, the microphone preferably recording voice(s)
of speaker(s).
[0043] In a more complex embodiment, the signal indicative of activity presence may define
the activity source (mouse, keyboard etc.) and/or last activity time.
[0044] When a client device receives the signal indicative of activity presence, together
with images sequence for a given software application, the signal indicating presence
of activity, the client software application takes certain measures based on the signal.
This application is preferably responsible for identifying the signal indicative of
activity presence and for configuring management of display-related resources, not
to invoke resources saving action i.e. taking actions directed at not invoking a screen
saver or not reducing screen brightness in order to reduce energy consumption. Thus
a resources saving action will not be invoked while the client generates an output
signal, for a display device, based on the input sequence of images.
[0045] Prohibiting invoking resources saving action may include executing an action leading
to resetting a threshold timer of the screen saver or screen dimming. This action
may be the actual resetting of the threshold timer or generation of a local activity
event so that the client's operating system receives an input (indirectly leading
to resetting of the threshold timer). There are certain types of input that will not
influence the behavior of the operating system, such input may be pressing of a Shift
or a Control or an Alt or a PrntScr key. Preferably, the method, according to the
present invention, does not interfere with screen saver or screen dimming configuration
parameters as set by a user of the client device.
[0046] Fig. 3 presents a general overview of the system implementing the method shown in
Fig. 2. A server (301) obtains an input sequence of images, optionally audio data
associated with the input sequence as well as generates the signal indicative of activity
presence. Using a network communication (302) such as the Local area network or the
Internet, the server sends the input sequence of images (304) and optionally audio
data associated with the input sequence as well as the signal indicative of activity
presence (303) to at least one client device (305).
[0047] Fig. 4 presents a general overview of the server implementing the method shown in
Fig. 2. The server (401) may be realized using dedicated components or custom made
FPGA or ASIC circuits. The system comprises a data bus (402) communicatively coupled
to other components of the system, including a memory (403). The memory (403) may
be used for storage of any software and/or temporary processing results. Additionally,
other components of the system are communicatively coupled to the system bus (402)
so that they may be managed by a controller (403) configured to execute all the method
steps according to the aforementioned Fig. 2.
[0048] The server must obtain an input sequence of images. As already explained, the input
sequence of images may be computer generated at the server or obtained from a source
external to the server. The result is that an image sequence module (404) has access
to an input sequence of images, which is ready to be appropriately passed to an output
interface (407) being communicatively coupled to at least one client's input interface.
[0049] Similarly, an optional audio module (405) has access to an input sequence of audio
data, associated with the input sequence of images, which is ready to be appropriately
passed to an output interface (407). The output interface may use an appropriate data
delivery such as data streaming, dependent on the type and bandwidth of the output
interface (407).
[0050] Further, the system comprises an activity monitoring module (408) configured to monitor
at least one input interface (409), as previously explained, in order to generate
a signal indicative of activity presence as explained with reference to Fig. 2. The
result of the activity monitoring may be stored in an activity signal register (406),
which typically will be a single bit register.
[0051] The present invention improves management of display-related resources during presentation
of input images sequence(s) thus resulting in an improved user experience without
requiring any additional external devices as well as any explicit actions from a user.
Therefore, the invention provides a useful, concrete and tangible result.
[0052] Applications of the present invention involve management of display-related resources
during presentation of input images sequence(s) such as an Internet television content
playback or a video call or a video conference or web meetings or remote desktop sharing
or webinar applications. Thus the machine or transformation test is fulfilled and
the idea is not abstract.
[0053] It can be easily recognized, by one skilled in the art, that the aforementioned method
for managing display-related resources may be performed and/or controlled by one or
more computer programs. Such computer programs are typically executed by utilizing
the computing resources in a computing device. Applications are stored on a non-transitory
medium. An example of a non-transitory medium is a non-volatile memory, for example
a flash memory while an example of a volatile memory is RAM. The computer instructions
are executed by a processor. These memories are exemplary recording media for storing
computer programs comprising computer-executable instructions performing all the steps
of the computer-implemented method according the technical concept presented herein.
[0054] While the invention presented herein has been depicted, described, and has been defined
with reference to particular preferred embodiments, such references and examples of
implementation in the foregoing specification do not imply any limitation on the invention.
It will, however, be evident that various modifications and changes may be made thereto
without departing from the broader scope of the technical concept. The presented preferred
embodiments are exemplary only, and are not exhaustive of the scope of the technical
concept presented herein.
[0055] Accordingly, the scope of protection is not limited to the preferred embodiments
described in the specification, but is only limited by the claims that follow.
1. A computer-implemented method for managing display-related resources, the method comprising
the steps of:
• receiving (201) an input sequence of images at a server;
the method being
characterized in that it further comprises the steps of:
• analyzing (202) presence of input activity at the server;
• in case of activity presence at the server, adding (203), to an output data stream,
a signal indicative of activity presence (303);
• adding, to the output data stream, the input sequence of images (304);
• transmitting the output data stream to a client device for the purpose of managing
display-related resources of the client device based on the signal indicative of activity
presence (303).
2. The method according to claim 1 characterized in that the input activity is evidence of use of input means selected from a group comprising
a mouse, a touchpad, a keyboard, a remote control.
3. The method according to claim 1 characterized in that the resources saving action includes inhibiting invoking of a screen saver or reducing
screen brightness in order to reduce energy consumption.
4. A computer program comprising program code means for performing all the steps of the
computer-implemented method according to any of the claim 1 when said program is run
on a computer.
5. A computer readable medium storing computer-executable instructions performing all
the steps of the computer-implemented method according to any of the claim 1 when
executed on a computer.
6. A computer-implemented method, in a client device, for managing display-related resources,
the method comprising the steps of:
• receiving an input sequence of images from a server;
the method being
characterized in that it further comprises the steps of:
• receiving, from the server, a signal indicative of activity presence (303) at the
server;
• generating an output signal, for a display device, based on the input sequence of
images (304);
• managing display-related resources of the client device based on the signal indicative
of activity presence (303).
7. The method according to claim 6 characterized in that the managing display-related resources of the client device comprises prohibiting
invoking a resources saving action.
8. The method according to claim 7 characterized in that the prohibiting invoking a resources saving action comprises resetting of a threshold
timer associated with the resources saving action or generating of a local activity
event so that the client's operating system receives an input.
9. The method according to claim 8 characterized in that the local activity event is a Shift or a Control or an Alt or a PrntScr keypress.
10. A system for managing display-related resources, the system comprising:
• a data bus (402) communicatively coupled to other components of the system;
• a memory (403);
• a controller (403);
the system being
characterized in that it further comprises:
• an image sequence module (404) having access to an input sequence of images;
• an output interface (407) being communicatively coupled to at least one client's
input interface;
• an activity monitoring module (408) configured to monitor at least one input interface
(409) in order to generate a signal indicative of activity presence;
• wherein the controller (403) configured to execute all the method steps according
to claim 1.
Amended claims in accordance with Rule 137(2) EPC.
1. A computer-implemented method for managing display-related resources, the method comprising
the steps of:
• receiving (201) an input sequence of images at a server;
the method being
characterized in that it further comprises the steps of:
• analyzing (202) presence of input activity at the server;
• in case of activity presence at the server, adding (203), to an output data stream,
a signal indicative of activity presence (303);
• adding, to the output data stream, the input sequence of images (304);
• transmitting the output data stream to a client device for the purpose of managing
display-related resources of the client device, by prohibiting invoking a resources
saving action, based on the signal indicative of activity presence (303).
2. The method according to claim 1 characterized in that the input activity is evidence of use of input means selected from a group comprising
a mouse, a touchpad, a keyboard, a remote control.
3. The method according to claim 1 characterized in that the resources saving action includes invoking of a screen saver or reducing screen
brightness.
4. A computer program comprising program code means for performing all the steps of the
computer-implemented method according to any of the claim 1 when said program is run
on a computer.
5. A computer readable medium storing computer-executable instructions performing all
the steps of the computer-implemented method according to any of the claim 1 when
executed on a computer.
6. A computer-implemented method, in a client device, for managing display-related resources,
the method comprising the steps of:
• receiving an input sequence of images from a server;
the method being
characterized in that it further comprises the steps of:
• receiving, from the server, a signal indicative of activity presence (303) at the
server;
• generating an output signal, for a display device, based on the input sequence of
images (304);
• managing display-related resources of the client device, by prohibiting invoking
a resources saving action, based on the signal indicative of activity presence (303).
7. The method according to claim 6 characterized in that the prohibiting invoking a resources saving action comprises resetting of a threshold
timer associated with the resources saving action or generating of a local activity
event so that the client's operating system receives an input.
8. The method according to claim 7 characterized in that the local activity event is a Shift or a Control or an Alt or a PrntScr keypress.
9. A system for managing display-related resources, the system comprising:
• a data bus (402) communicatively coupled to other components of the system;
• a memory (410);
• a controller (403);
the system being
characterized in that it further comprises:
• an image sequence module (404) having access to an input sequence of images;
• an output interface (407) being communicatively coupled to at least one client's
input interface;
• an activity monitoring module (408) configured to monitor at least one input interface
(409) in order to generate a signal indicative of activity presence;
• wherein the controller (403) configured to execute all the method steps according
to claim 1.