Existing display sub-systems and emerging technologies like foldable and flexible rollable displays have fixed active regions for rendering images. This active region displays images with automatic aspect-ratio scaling according to the operating system's (OS's) policy. Current display technologies face significant challenges, such as the inability to dynamically update and modify the physical active region of the display panel. Similarly, for Digital Rights Management (DRM) and Enterprise Rights Management (ERM) content, all data for the full active region is encrypted, leading to unnecessary power consumption. Additionally, any mode change in the display causes flicker due to synchronization issues.
Seamlessly updating an active region would be beneficial for several reasons, including the potential to save power when the full active region is not required for displaying an image and accommodating user preferences for scaling the active region. Moreover, encrypting and decrypting smaller data sets based on a dynamically reduced active region could result in significant power savings in computing, rendering (GPU), and display operations. Therefore, there is a demand to overcome the above challenges and dynamically adjust the active display region.
Some examples of apparatuses and/or methods will be described in the following by way of example only, and with reference to the accompanying figures, in which:
Some examples are now described in more detail with reference to the enclosed figures. However, other possible examples are not limited to the features of these embodiments described in detail. Other examples may include modifications of the features as well as equivalents and alternatives to the features. Furthermore, the terminology used herein to describe certain examples should not be restrictive of further possible examples.
Throughout the description of the figures, same or similar reference numerals refer to same or similar elements and/or features, which may be identical or implemented in a modified form while providing the same or a similar function. The thickness of lines, layers, and/or areas in the figures may also be exaggerated for clarification.
Accordingly, while further examples are capable of various modifications and alternative forms, some particular examples thereof are shown in the figures and will subsequently be described in detail. However, this detailed description does not limit further examples to the particular forms described. Further examples may cover all modifications, equivalents, and alternatives falling within the scope of the disclosure. Like numbers refer to like or similar elements throughout the description of the figures, which may be implemented identically or in modified form when compared to one another while providing for the same or a similar functionality.
When two elements A and B are combined using an “or,” this is to be understood as disclosing all possible combinations, i.e. only A, only B as well as A and B, unless expressly defined otherwise in the individual case. As an alternative wording for the same combinations, “at least one of A and B” or “A and/or B” may be used. This applies equivalently to combinations of more than two elements.
If a singular form, such as “a,” “an,” and “the” is used and the use of only a single element is not defined as mandatory either explicitly or implicitly, further examples may also use several elements to implement the same function. If a function is described below as implemented using multiple elements, further examples may implement the same function using a single element or a single processing entity. It is further understood that the terms “include,” “including,” “comprise,” and/or “comprising,” when used, describe the presence of the specified features, integers, steps, operations, processes, elements, components, and/or a group thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, processes, elements, components and/or a group thereof.
Unless otherwise defined, all terms (including technical and scientific terms) are used herein in their ordinary meaning of the art to which the examples belong.
Specific details are set forth in the following description, but examples of the technologies described herein may be practiced without these specific details. Well-known circuits, structures, and techniques have not been shown in detail to avoid obscuring an understanding of this description. “An example/example,” “various examples/examples,” “some examples/examples,” and the like may include features, structures, or characteristics, but not every example necessarily includes the particular features, structures, or characteristics.
Some examples may have some, all, or none of the features described for other examples. “First,” “second,” “third,” and the like describe a common element and indicate different instances of like elements being referred to. Such adjectives do not imply that the described element item must be in a given sequence, either temporally or spatially, in ranking, or in any other manner. “Connected” may indicate elements are in direct physical or electrical contact with each other, and “coupled” may indicate elements cooperate or interact with each other, but they may or may not be in direct physical or electrical contact.
As used herein, the terms “operating,” “executing,” or “running” as they pertain to software or firmware in relation to a system, device, platform, or resource are used interchangeably and can refer to software or firmware stored in one or more computer-readable storage media accessible by the system, device, platform, or resource, even though the instructions contained in the software or firmware are not actively being executed by the system, device, platform, or resource.
The description may use the phrases “in an example/example,” “in examples/examples,” “in some examples/examples,” and/or “in various examples/examples,” each of which may refer to one or more of the same or different examples. Furthermore, the terms “comprising,” “including,” “having,” and the like, as used with respect to examples of the present disclosure, are synonymous.
It should be noted that the example schemes disclosed herein are applicable for/with any operating system and a reference to a specific operating system in this disclosure is merely an example, not a limitation.
The apparatus may allow for dynamic reconfiguration of the display area, optimizing the use of display resources and potentially saving power or computations by limiting the active display area. The apparatus 10 may also include several components designed to enhance the configuration and management of display settings, providing users with greater control and flexibility.
The interface circuitry 40 or means for communicating 40 may correspond to one or more inputs and/or outputs for receiving and/or transmitting information, which may be in digital (bit) values according to a specified code, within a module, between modules or between modules of different entities. For example, the interface circuitry 40 or means for communicating 40 may comprise circuitry configured to receive and/or transmit information.
For example, the processor circuitry 30 or means for processing 30 may be implemented using one or more processing units, one or more processing devices, or any means for processing, such as a processor, a computer, or a programmable hardware component being operable with accordingly adapted software. In other words, the described function of the processor circuitry 30 or means for processing may as well be implemented in software, which is then executed on one or more programmable hardware components. Such hardware components may comprise a general-purpose processor, a Digital Signal Processor (DSP), a microcontroller, etc.
For example, the memory circuitry 20 or means for storing information 20 may be a volatile memory, e.g. random access memory, such as dynamic random-access memory (DRAM) or static random-access memory (SRAM).
The apparatus and associated method may be extended to selecting a new physical active region of display by the OS based on a learning model that can deduce the active region of display based on the usage of display panel real estate for different images and information used by the user. For example, if, at a certain time of the day, the user only uses certain critical information that is rendered in a specific smaller physical region of the display panel, the OS policy can inform the display subsystem of a new active region where only critical information is displayed and turn off the remaining physical area of the display panel.
The displays 250, 252 in
As shown in
The apparatus and the method it employs may result in display subsystem power reduction (i.e. in the second apparatus 212 or the overall system 200) is achieved when only a reduced portion of the display panel is used as the active region, leading to improved user experience by allowing the user to choose the active region. Additionally, there is a reduction in display interconnect usage as the data transmitted for the reduced active region decreases. In pixel-addressable displays with higher granularity control of the backlight, the backlight may be limited to the reduced active region, thereby reducing the power consumption of the display panel.
As shown in
An interface may allow users to configure and manage active region policies for various applications. By using this interface, users can easily set up and modify their display preferences and policies, tailoring the active regions of their displays to suit their needs better.
A hint may be generated to configure the second display for the subset active region. The hint may be a virtual hot plug event. A software hint may be a directive or suggestion given by software to guide or optimize the behavior of other software components, such as the operating system or hardware drivers, enhancing performance, efficiency, or functionality. A hot plug event (HPD) may refer to the physical act of connecting or disconnecting a display device (such as a monitor) to a computer system while it is powered on. This event prompts the display driver to detect the new hardware, reinitialize display settings, and update the display configuration accordingly. The HPD event is a signal used to inform the system of a change in the display configuration. A virtual HPE may be a software-triggered simulation of a hot plug event. This interaction hints the system to reconfigure the display's active region based on the user's selection, allowing for dynamic adjustments to the display area. It makes the display driver believe that a display device has been connected or disconnected, causing it to reinitialize display settings and update the configuration as if the physical connection change had occurred.
In some embodiments, the apparatus may interact with a graphics driver and window manager, such as Surface Flinger in Android systems. Surface Flinger is a component that composes window buffers into the display's frame buffer. The apparatus may generate a “New Virtual Hot Plug Detect (HPD) Event” after a user activates the “Change Active Display Region” mode and selects a new, reduced active region on the display panel.
In some embodiments, the apparatus may determine a resolution and/or a scale for the subset active region. Determining a scale for a subset of an active region may ensure optimal resolution and aspect ratio, resulting in better image quality and a more seamless user experience when extending or mirroring displays. A Dynamic Active Region Activator may do this within the display subsystem, specifically the display driver. This component is responsible for scaling the resolution of the frame to match the user-selected smaller active region. By dynamically adjusting the display settings, the activator may ensure that the content is appropriately rendered within the chosen area, enhancing the display's efficiency and user experience. The subset active region may generally be smaller (e.g. have a lower resolution or result in fewer pixels) than the original active region. Therefore, adapting the number of pixels or data that must be encrypted and decrypted based on the active display region may save computing resources or power compared to rendering the original active area. These benefits may also extend to thermal and reliability aspects since fewer pixels and data must be encrypted or displayed. Furthermore, settings around determining active areas may be policy configurable and enforced via platform Trusted Execution Environment (TEE).
In some embodiments, the apparatus may generate a plurality of frames for output to the second display based on the subset active region. As seen in
In some embodiments, the apparatus may queue the plurality of frames in a buffer of the second display. If another active region within the second display/subset active region is selected as a new display, a frame buffer may be required for the second display to continue rendering from it until the new active region/new display, indicated as a newly connected display, is configured.
Generating the plurality of frames may comprise rescaling a resolution of each frame based on the subset active region. Rescaling may refer to adjusting the resolution to match the dimensions of the subset active region. This feature may ensure that each frame is optimally resized to fit the subset active region, improving image clarity and display performance by preventing distortion and enhancing visual fidelity.
In some embodiments, the apparatus may compress the plurality of frames for output to the second display. Compressing may refer to reducing the frame data size using a compression algorithm to decrease the amount of data transmitted. This compression minimizes bandwidth usage and enhances data transmission efficiency to the second display, resulting in improved performance and reduced power consumption.
In certain scan-line-based display systems, implementing this disclosure may involve several steps. First, the display source generates smaller frames based on the active region the user selects, which is a specified portion of the display area designated for rendering. The display source may optionally compress these reduced frames using a Display Stream Compression (DSC) algorithm to decrease the data transmission load. Upon receiving the frames, the current scan-line-based display monitors decompress the frames, if compression has been applied, and render only the bands or scan lines that constitute the newly selected active region. Although this approach reduces power consumption by the display source and communication link due to the reduced data transmission, the power reduction at the display sink is limited by the need to process and render the bands or scan lines of the active region. This method optimizes data transmission and power consumption, enhancing the efficiency of current scan-line-based display systems.
The differences between prior implementations and the disclosed embodiments (existing vs. proposed UCARD features) can be summarized in Table 1.
In implementations based on the Video Electronics Standards Association's (VESA's) bulk display protocol, the display source generates smaller frames based on the active region selected by the user. This reduced frame data may be compressed using the most optimal compression algorithm available. If the display monitor is pixel-addressable, it will decompress the data. If compression has been applied, it will render it on the reduced set of pixels corresponding to the selected active region. In this scenario, both the display source and the display sink can minimize power consumption, including a decrease in the link power required for data transmission.
In some embodiments, the apparatus may receive a user selection of the original active region and determine the subset active region based on the user selection. User selection may refer to the input the user provides to designate a specific portion of the display. Examples of user selection include various input methods, such as clicking and dragging the mouse to select a rectangular area on the screen, using touchscreen gestures like pinching or swiping to define the active region and employing keyboard shortcuts to highlight or select specific portions of the display. Additionally, a user selection may be made through voice commands to specify the desired screen area, navigating through a software menu to choose a predefined active region, or utilizing a stylus to draw or mark the desired active area on a tablet or touchscreen device. These various input methods allow for dynamic and customizable adjustments to the active display area based on user preferences. This feature may allow the apparatus to dynamically adjust the active display area according to user preferences, enhancing customization and display management.
The user selection may be based on a touch interaction with the first display. A touch interaction may provide users with a more intuitive and efficient method to designate the active region. Touch interactions are natural and direct, allowing users to select areas of the screen quickly and accurately with simple gestures. Moreover, a direct touch interaction with the display may ensure that the selected active region accurately reflects the user's intentions, leading to a more intuitive and efficient selection process. This leads to enhanced user experience and productivity, as users can seamlessly interact with the display without the need for additional input devices like a mouse or keyboard. Additionally, touch interactions can reduce the complexity of user interfaces and make devices more accessible to a wider range of users, including those who may have difficulty using traditional input methods. User selection is not limited to touch interaction; it may also be made using a mouse pointer or other user interface where the user can enter the coordinates and size of the subset active region.
Additionally, the apparatus may introduce an interface between the display driver and the Human Interface Device (HID) driver, which manages input from devices such as touchscreens and mice. This interface communicates the user-selected active region to the display driver, ensuring that the specified area is used for display purposes. By sharing this information between the drivers, the system can accurately and efficiently adjust the display settings to reflect the user's preferences.
In some embodiments, the apparatus may check an access right to the content of the user selection and determine the subset active region based on the access right. This feature may ensure that only authorized content is displayed, enhancing security and compliance with digital rights management policies. For example, if a user selects a portion of a document that requires special permissions to view, the apparatus verifies the user's access rights. If the user has the necessary permissions, the selected area is displayed; otherwise, it remains inaccessible.
For any DRM (Digital Rights Management) and ERM (Enterprise Rights Management) content, the entire data needed for the full active region of the display is encrypted, resulting in unnecessary power consumption. Encrypting and decrypting smaller data (reduced pixel count) based on the changed active region of the display would lead to significant power savings in computing, rendering (GPU), and display. By restricting the encryption and decryption processes to the data corresponding to the active display region, the method achieves significant power savings in computing, rendering (GPU), and display operations. Furthermore, the apparatus 10 may configure and enforce policies via a platform Trusted Execution Environment (TEE) to manage the encryption and decryption processes. This policy-driven approach may ensure optimized resource usage while maintaining data security and processing reliability.
In some embodiments, the apparatus may request an access right from the content provider based on the user selection. This facilitates seamless access to restricted content by automatically initiating permission requests, thus reducing user intervention, and streamlining workflow. For instance, when a user selects a restricted video clip, the apparatus automatically requests access rights to the content provider. The video clip is displayed to the user upon receiving the necessary permissions. The apparatus may also check for previously saved and cached access rights and display content based on known rights.
In some embodiments, the apparatus can cache access rights to avoid repeated requests after the display is reconfigured. This caching mechanism may be policy configurable, allowing the system to control whether caching is permitted based on local or applied specific policies by a system administrator. The implementation specifics of caching may be tailored to meet the requirements of different applications, ensuring flexibility and adaptability. This approach reduces latency in accessing restricted content and enhances overall system efficiency by minimizing redundant access right requests.
Furthermore, the apparatus may include machine-readable instructions to determine one or more subset active regions of the original active region. This allows for more granular control and customization of display regions, enhancing the user's ability to manage multiple tasks and display configurations. For example, on a large display, the user can select and define multiple smaller areas for different applications, such as one area for a video call and another for document editing.
In some embodiments, the apparatus may generate one or more further hints to configure additional displays based on the subset active regions identified. This feature may improve multi-display management by providing automated configuration suggestions, ensuring optimal display settings, and reducing manual adjustments. For instance, after identifying multiple subset active regions, the apparatus suggests optimal settings for connecting and configuring additional monitors, such as resolution and orientation, based on the content and user preferences.
Displays, such as the first and second displays 50, 52, may be internal or external to the apparatus 10. In one embodiment, the first display 50 may be an embedded display. Current display technologies allow techniques such as partial updates and tiled displays to save power. However, the image/frame is rendered on the display panel's fixed (entire real estate) active region. Currently, foldable and rollable displays support only static active regions on the portion of the display determined at manufacturing time; they are static and not user-configurable and on-demand. A display may be any device or component capable of presenting visual information to a user, typically comprising a screen or interface on which data, images, or other visual elements can be rendered and perceived. This may include, but is not limited to, LCD (Liquid Crystal Display), LED (Light Emitting Diode) displays, OLED (Organic Light Emitting
Diode) displays, plasma screens, and other technologies that facilitate the visual representation of electronic information.
The disclosure apparatus and methods may provide software-driven seamless management of display active region physical real estate for improved user experience and platform power savings. This involves a “Virtual Hot Plug” based approach to adapt to new active regions, combined with software-managed queuing of frames in the display's PSR (Panel Self Refresh) buffer for a seamless transition between the original and subset areas on the second or external display. From a DRM and ERM aspect, only need-based pixels (based on the current active region) are computed, rendered, and encrypted, increasing power efficiency.
This application proposes the following novel components: UCARD app & framework: Software components introduced in this disclosure that provide the following functionality. First, a Configuration UI where users could configure and manage active region policies associated with apps. Second, interaction with the platform Graphics driver and Window manager (for example, Surface Flinger in Android) to hint the system to reconfigure display active region via virtual HPD event. “New Virtual Hot Plug Event” is generated after the user has activated the “Change Active Display Region” mode and chosen a new reduced active region on the display panel. Third, a new Logic/Dynamic Active Region Activator in the display subsystem (Display Driver), which, based on user input, scales the resolution of the frame to be displayed in a smaller active region chosen by the user. Fourth, a new interface between the Display Driver and HID Driver (e.g. touch or mouse) to share the chosen region on the display panel to be used as an active region for the display.
Platform policies may be configured through the system root of trust to allow/disallow changing of the active region of the display and the content to be displayed in the new active region. The apparatus and methods disclosed may be extended to any device, PCs, Handheld devices, or embedded or external display monitors. Additionally, there could be different mechanisms to trigger the event of placing a system in a mode that allows input from the user to select a new rectangular region for display (with AI PC intercept), such as “New voice-activated command/Change Active Display Region,” a user interface exposing the option to “Change Active Display Region,” etc.
The computer system 100 may be at least one of a client computer system, a server computer system, a rack server, a desktop computer system, a mobile computer system, a security gateway, and a router. The mobile device 100 may be a smartphone, tablet, wearable, or mobile computer.
More details and aspects of the concept for determining a subset active region may be described in connection with examples discussed below (e.g.
The method may include determining a resolution and/or scale for the subset active region in step 330. The method may further entail generating a plurality of frames for output to the second display based on the subset active region in step 340. Generating the plurality of pt frames may include rescaling each frame's resolution based on the subset active region when generating these frames.
The method may further include queueing the plurality of frames in a buffer of the second display, as depicted in step 350, and compressing the plurality of frames for output to the second display, shown in step 360.
In a preliminary step 301, the method may involve receiving a user selection of the original active region to determine the subset active region based on the user selection. This selection process may be based on a touch interaction with the first display. The method may also include checking an access right to the content of the user selection and determining the subset active region based on this access right, as shown in step 302. If required, the method proceeds to step 303, where it requests access rights from a content provider based on user selection.
The method may determine one or more subset active regions of the original active region and generate one or more further hints to configure one or more displays for each subset active region. This method may enhance display management by dynamically adjusting settings based on user interactions and access rights, optimizing both functionality and efficiency.
More details and aspects of the concept for determining a subset active region may be described in connection with examples discussed above (e.g.
The operation of determining the display panel capabilities, configuring, and transmitting the display data may be done based on the currently existing methods and standards (step 508). Prior to the user selecting the subset of the original active region, the display panel capabilities, configuration, and transmission of data to the first/original display may occur in the typical fashion. Once the original active area is set up, the user can go about selecting the subset active regions. In some embodiments, once the subset is determined, either by the system or by the user, the subset active region may be saved by the system. System policies or settings may then determine if the subset active region should be maintained until the user chooses to change it or if the next reboot always brings the original display active region of the display panel. For example, if a user connects a second display to the system, the system policies may be set to maintain the customized active region that the user has previously selected. However, if the user reboots the system, the display may either maintain this customized active region or revert to the original active region, depending on the predetermined system settings.
More details and aspects of the concept for determining a subset active region may be described in connection with examples discussed above (e.g.
The display monitor is connected (either externally connected or embedded, in which case the display monitor is always connected), establishing a communication link between the monitor and the system (step 602). The system then proceeds to discover the capabilities of the connected display monitor, such as its resolution, supported display modes, and other technical specifications (step 603).
Based on the discovered capabilities, the system configures the display monitor, setting the appropriate display parameters to ensure optimal performance (step 604). Subsequently, a hot plug event is detected, signaling the detection of a connected display monitor (step 605).
In response to the hot plug event, the display engine scales the frame as needed to fit the active region of the detected display monitor, ensuring that the content is properly adjusted for display (step 606). The system then renders the frame within the static active display region, preparing the content for viewing (step 607). Finally, the system actively renders the content in the configured display monitor with the static display region (step 608).
Branching off from step 608, the method includes additional steps pertaining to this disclosure to allow the detection and configuration of user-selected active display regions. A user intending to use a smaller portion of the display monitor (step 609) activates a “Change Active Display Region” mode and selects a rectangular active region for display rendering through a touch-based user interface or mouse selection (step 610). This interaction allows the user to define the specific area of the display they wish to utilize, optimizing the display space for their needs. The selected active region is then sent from the touch software to the display driver, enabling the system to process the user's input (step 611). The display driver computes the optimal active region for the display, taking into account the dimensions and position of the user-selected area (step 612). Along with the display engine, the display driver determines the optimized resolution for the new active region, ensuring the content is displayed clearly and efficiently within the specified area (step 613).
A virtual Hot Plug Detect (HPD) event is generated to indicate the detection of a new display configured to the new active region, effectively updating the system to recognize the new display parameters (step 614). The display driver then scales the frame based on the size of the new active region, adjusting the content to fit the newly defined display space (step 615). Finally, the system renders critical data and/or the full data within this reduced active region, ensuring that essential information is displayed prominently while optimizing the use of the display area (step 616). The process returns to step 608, actively rendering the content in the newly configured active display region, continuously updating, and adapting to user interactions and preferences.
More details and aspects of the concept for determining a subset active region may be described in connection with examples discussed above (e.g.
A non-transitory, computer-readable medium comprising a program code that, when the program code is executed on a processor, a computer, or a programmable hardware component, causes the processor, computer, or programmable hardware component to perform any of the methods discussed herein.
More details and aspects of the concept for offloading a workload may be described in connection with examples discussed above (e.g.
Depending on its applications, computing device 700 may include other components that may or may not be physically and electrically coupled to the board 702. These other components include, but are not limited to, volatile memory (e.g. DRAM), non-volatile memory (such as, ROM), flash memory, a graphics processor, a digital signal processor, a crypto processor, a chipset, an antenna, a display, a touchscreen display, a touchscreen controller, a battery, an audio codec, a video codec, a power amplifier, a global positioning system (GPS) device, a compass, an accelerometer, a gyroscope, a speaker, a camera, and a mass storage device (such as, hard disk drive, compact disk (CD), digital versatile disk (DVD), and so forth).
The communication chip 706 enables wireless communications for the transfer of data to and from the computing device 700. The term “wireless” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. The communication chip 706 may implement any of a number of wireless standards or protocols, including but not limited to Wi-Fi (IEEE 802.11 family), WiMAX (IEEE 802.16 family), IEEE 802.20, long term evolution (LTE), Ev—DO, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, Bluetooth, derivatives thereof, as well as any other wireless protocols that are designated as 3G, 4G, 5G, and beyond. The computing device 700 may include a plurality of communication chips 706. For instance, a first communication chip 706 may be dedicated to shorter range wireless communications such as Wi-Fi and Bluetooth and a second communication chip 706 may be dedicated to longer range wireless communications such as GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev—DO, and others.
The processor 704 of the computing device 700 includes an integrated circuit die packaged within the processor 704. In some implementations of the invention, the integrated circuit die of the processor includes one or more devices that are assembled in an ePLB or eWLB based POP package that that includes a mold layer directly contacting a substrate, in accordance with implementations of the invention. The term “processor” may refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory.
The communication chip 706 also includes an integrated circuit die packaged within the communication chip 706. In accordance with another implementation of the invention, the integrated circuit die of the communication chip includes one or more devices that are assembled in an ePLB or eWLB based POP package that that includes a mold layer directly contacting a substrate, in accordance with implementations of the invention.
More details and aspects of the concept for adapting a processor to a workload may be described in connection with examples discussed above (e.g.
The aspects and features described in relation to a particular one of the previous examples may also be combined with one or more of the further examples to replace an identical or similar feature of that further example or to additionally introduce the features into the further example.
It is further understood that the disclosure of several steps, processes, operations, or functions disclosed in the description or claims shall not be construed to imply that these operations are necessarily dependent on the order described, unless explicitly stated in the individual case or necessary for technical reasons. Therefore, the previous description does not limit the execution of several steps or functions to a certain order. Furthermore, in further examples, a single step, function, process, or operation may include and/or be broken up into several sub-steps,-functions,-processes or-operations.
If some aspects have been described in relation to a device or system, these aspects should also be understood as a description of the corresponding method. For example, a block, device or functional aspect of the device or system may correspond to a feature, such as a method step, of the corresponding method. Accordingly, aspects described in relation to a method shall also be understood as a description of a corresponding block, a corresponding element, a property or a functional feature of a corresponding device or a corresponding system.
An example (e.g. example 1) relates to an apparatus comprising interface circuitry to communicate with a first display and a second display, memory circuitry, machine-readable instructions, and processor circuitry to execute the machine-readable instructions to: determine a subset active region of the original active region, and generate a hint to configure the second display for the subset active region.
Another example (e.g. example 2) relates to a previously described example (e.g. example 1), wherein the hint is a virtual hot plug event.
Another example (e.g. example 3) relates to a previously described example (e.g. one of examples 1 or 2), further comprising the machine-readable instructions to determine a resolution and/or a scale for the subset active region.
Another example (e.g. example 4) relates to a previously described example (e.g. example 3), wherein the resolution and/or the scale is smaller than the original active region.
Another example (e.g. example 5) relates to a previously described example (e.g. one of examples 1-4), further comprising the machine-readable instructions to generate a plurality of frames for output to the second display based on the subset active region.
Another example (e.g. example 6) relates to a previously described example (e.g. example 5), wherein generating the plurality of frames further comprises rescaling a resolution of each frame based on the subset active region.
Another example (e.g. example 7) relates to a previously described example (e.g. one of examples 5 or 6), further comprising the machine-readable instructions to queue the plurality of frames in a buffer of the second display.
Another example (e.g. example 8) relates to a previously described example (e.g. one of examples 5 or 6), further comprising the machine-readable instructions to compress the plurality of frames for output to the second display.
Another example (e.g. example 9) relates to a previously described example (e.g. one of examples 1-8), further comprising the machine-readable instructions to receive a user selection of the original active region and determine the subset active region based on the user selection.
Another example (e.g. example 10) relates to a previously described example (e.g. example 9), wherein the user selection is based on a touch interaction with the first display.
Another example (e.g. example 11) relates to a previously described example (e.g. one of examples 9 or 10), further comprising the machine-readable instructions to check an access right to a content of the user selection and determine the subset active region based on the access right.
Another example (e.g. example 12) relates to a previously described example (e.g. one of examples 9 or 10), further comprising the machine-readable instructions to request an access right from a provider of the content of the user selection based on the user selection.
Another example (e.g. example 13) relates to a previously described example (e.g. one of examples 1-12), further comprising the machine-readable instructions to: determine one or more subset active regions of the original active region, and generate one or more further hints to configure one or more further displays for each of the one or more subset active regions.
An example (e.g. example 14) relates to a method comprising: determining a subset active region of an original active region of the first display, and generating a hint to configure the second display for the subset active region.
Another example (e.g. example 15) relates to a previously described example (e.g. example 14), wherein the hint is a virtual hot plug event.
Another example (e.g. example 16) relates to a previously described example (e.g. one of examples 14 or 15), further comprising determining a resolution and/or a scale for the subset active region.
Another example (e.g. example 17) relates to a previously described example (e.g. example 16), wherein the resolution and/or the scale is smaller than the original active region.
Another example (e.g. example 18) relates to a previously described example (e.g. one of examples 14-17), further comprising generating a plurality of frames for output to the second display based on the subset active region.
Another example (e.g. example 19) relates to a previously described example (e.g. example 18), wherein generating the plurality of frames further comprises rescaling a resolution of each frame based on the subset active region.
Another example (e.g. example 20) relates to a previously described example (e.g. one of examples 18 or 19), further comprising queueing the plurality of frames in a buffer of the second display.
Another example (e.g. example 21) relates to a previously described example (e.g. one of examples 18 or 19), further comprising compressing the plurality of frames for output to the second display.
Another example (e.g. example 22) relates to a previously described example (e.g. one of examples 14-21), further comprising receiving a user selection of the original active region and determining the subset active region based on the user selection.
Another example (e.g. example 23) relates to a previously described example (e.g. example 22), wherein the user selection is based on a touch interaction with the first display.
Another example (e.g. example 24) relates to a previously described example (e.g. one of examples 22 or 23), further comprising checking an access right to a content of the user selection and determining the subset active region based on the access right.
Another example (e.g. example 25) relates to a previously described example (e.g. one of examples 22 or 23), further comprising requesting an access right from a provider of the content of the user selection based on the user selection.
Another example (e.g. example 26) relates to a previously described example (e.g. one of examples 14-25), further comprising: determining one or more subset active regions of the original active region, and generating one or more further hints to configure one or more further displays for each of the one or more subset active regions.
An example (e.g. example 27) relates to system comprising an apparatus according to a previously described example (e.g. one of examples 1-13) and/or implementing a method according to a previously described example (e.g. one of examples 14-26).
An example (e.g. example 28) relates to a non-transitory, computer-readable medium comprising a program code that, when the program code is executed on a processor, a computer, or a programmable hardware component, causes the processor, computer, or programmable hardware component to perform the method of a previously described example (e.g. examples 14-26).)
The aspects and features described in relation to a particular one of the previous examples may also be combined with one or more of the further examples to replace an identical or similar feature of that further example or to additionally introduce the features into the further example.
Examples may further be or relate to a (computer) program, including a program code to execute one or more of the above methods when the program is executed on a computer, processor, or other programmable hardware component. Thus, steps, operations, or processes of different ones of the methods described above may also be executed by programmed computers, processors, or other programmable hardware components. Examples may also cover program storage devices, such as digital data storage media, which are machine-, processor-or computer-readable and encode and/or contain machine-executable, processor-executable, or computer-executable programs and instructions. Program storage devices may include or be digital storage devices, magnetic storage media such as magnetic disks and magnetic tapes, hard disk drives, or optically readable digital data storage media, for example. Other examples may also include computers, processors, control units, (field) programmable logic arrays ((F) PLAs), (field) programmable gate arrays ((F) PGAs), graphics processor units (GPU), application-specific integrated circuits (ASICs), integrated circuits (ICs) or system-on-a-chip (SoCs) systems programmed to execute the steps of the methods described above.
It is further understood that the disclosure of several steps, processes, operations, or functions disclosed in the description or claims shall not be construed to imply that these operations are necessarily dependent on the order described unless explicitly stated in the individual case or necessary for technical reasons. Therefore, the previous description does not limit the execution of several steps or functions to a certain order. Furthermore, in further examples, a single step, function, process, or operation may include and/or be broken up into several sub-steps, -functions, -processes, or -operations.
If some aspects have been described in relation to a device or system, these aspects should also be understood as a description of the corresponding method. For example, a block, device, or functional aspect of the device or system may correspond to a feature, such as a method step, of the corresponding method. Accordingly, aspects described in relation to a method shall also be understood as a description of a corresponding block, a corresponding element, a property, or a functional feature of a corresponding device or a corresponding system.
As used herein, the term “module” refers to logic that may be implemented in a hardware component or device, software or firmware running on a processing unit, or a combination thereof, to perform one or more operations consistent with the present disclosure. Software and firmware may be embodied as instructions and/or data stored on non-transitory computer-readable storage media. As used herein, the term “circuitry” can comprise, singly or in any combination, non-programmable (hardwired) circuitry, programmable circuitry such as processing units, state machine circuitry, and/or firmware that stores instructions executable by programmable circuitry. Modules described herein may, collectively or individually, be embodied as circuitry that forms a part of a computing system. Thus, any of the modules can be implemented as circuitry. A computing system referred to as being programmed to perform a method can be programmed to perform the method via software, hardware, firmware, or combinations thereof.
Any of the disclosed methods (or a portion thereof) can be implemented as computer-executable instructions or a computer program product (e.g. machine-readable instructions, program code, etc.). Such instructions can cause a computing system or one or more processing units capable of executing computer-executable instructions to perform any of the disclosed methods. As used herein, the term “computer” refers to any computing system or device described or mentioned herein. Thus, the term “computer-executable instruction” refers to instructions that can be executed by any computing system or device described or mentioned herein.
The computer-executable instructions can be part of, for example, an operating system of the computing system, an application stored locally to the computing system, or a remote application accessible to the computing system (e.g. via a web browser). Any of the methods described herein can be performed by computer-executable instructions performed by a single computing system or by one or more networked computing systems operating in a network environment. Computer-executable instructions and updates to the computer-executable instructions can be downloaded to a computing system from a remote server.
Further, it is to be understood that implementation of the disclosed technologies is not limited to any specific computer language or program. For instance, the disclosed technologies can be implemented by software written in C++, C #, Java, Perl, Python, JavaScript, Adobe Flash, C #, assembly language, or any other programming language. Likewise, the disclosed technologies are not limited to any particular computer system or type of hardware.
Furthermore, any of the software-based examples (comprising, for example, computer-executable instructions for causing a computer to perform any of the disclosed methods) can be uploaded, downloaded, or remotely accessed through a suitable communication means. Such suitable communication means include, for example, the Internet, the World Wide Web, an intranet, cable (including fiber optic cable), magnetic communications, electromagnetic communications (including RF, microwave, ultrasonic, and infrared communications), electronic communications, or other such communication means.
The disclosed methods, apparatuses, and systems are not to be construed as limiting in any way. Instead, the present disclosure is directed toward all novel and nonobvious features and aspects of the various disclosed examples, alone and in various combinations and sub-combinations with one another. The disclosed methods, apparatuses, and systems are not limited to any specific aspect, feature, or combination thereof, nor do the disclosed examples require that any one or more specific advantages be present, or problems be solved.
Theories of operation, scientific principles, or other theoretical descriptions presented herein in reference to the apparatuses or methods of this disclosure have been provided for the purposes of better understanding and are not intended to be limiting in scope. The apparatuses and methods in the appended claims are not limited to those apparatuses and methods that function in the manner described by such theories of operation.
The following claims are hereby incorporated in the detailed description, wherein each claim may stand on its own as a separate example. It should also be noted that although, in the claims, a dependent claim refers to a particular combination with one or more other claims, other examples may also include a combination of the dependent claim with the subject matter of any other dependent or independent claim. Such combinations are hereby explicitly proposed unless it is stated in the individual case that a particular combination is not intended. Furthermore, features of a claim should also be included for any other independent claim, even if that claim is not directly defined as dependent on that other independent claim.