Patent Description:
With the emergence of <NUM> and <NUM> HDR video content, consumers face a dizzying array of technology (and acronyms) in display devices advertised as compatible with such video content. These devices may have different types of connections (e.g., high-definition multimedia interface (HDMI)) that have different versions (e.g., HDMI <NUM> or HDMI <NUM>) and different protocols (e.g., high-bandwidth digital content protection (HDCP)) that also have different versions (e.g., HDCP <NUM> or HDCP <NUM>). Consumers who purchase the latest devices, such as the latest televisions, to display <NUM> content may expect the devices to begin displaying <NUM> or <NUM> HDR video straight of the box. However, there are a number of variables that may impact the consumer's ability to enjoy such content. For example, devices do not necessarily have the same inputs and outputs. Some inputs may support <NUM> video only, others may support both <NUM> and <NUM> HDR video, and others may not support either resolution. Other inputs, such as a high-definition multimedia interface (HDMI) port, may have different versions with different capabilities. For example, HDMI <NUM> may support <NUM> video, but may be limited to displaying such content at <NUM> frames per second where HDMI <NUM> supports <NUM> video at <NUM> frames per second. Other ports may employ different firmware versions of standards, such as high-bandwidth digital content protection (HDCP), which is a protocol for protecting video content. <NUM> content requires at least a HDCP <NUM> port and is not compatible with an older generation HDCP <NUM> port.

Compounding this problem are the proliferating number of content devices that may be connected within a user's entertainment ecosystem. Cable set-top boxes, media streaming devices, gaming devices, and audio players must also be compatible with the television's inputs and outputs in order to properly play <NUM> and <NUM> HDR content. Currently, prior art media devices do not process available information, such as the capabilities of a display device, and aid consumers with regard to the settings and configurations of such devices. More than ever, consumers need assistance to optimize the settings of their devices to improve performance of their devices. Document <CIT> discloses a method and system that selects a test of a device, applies the test, evaluates a result to determine whether the test produces a desired result, and modifies parameters accordingly.

Provided herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for using technology in innovative ways to provide enhanced media streaming functionality.

<FIG> illustrates a block diagram of a multimedia environment <NUM>, according to some embodiments. In a non-limiting example, multimedia environment <NUM> is directed to streaming media.

The multimedia environment <NUM> may include one or more media systems <NUM> and one or more content servers <NUM> communicatively coupled via a network <NUM>. In various embodiments, the network <NUM> can include, without limitation, wired and/or wireless intranet, extranet, Internet, cellular, Bluetooth and/or any other short range, long range, local, regional, global communications network, as well as any combination thereof.

In an embodiment, media system <NUM> includes a display device <NUM>, media device <NUM>, remote control <NUM>, and audiovisual (A/V) device <NUM>. Although only one media device is illustrated within media system <NUM>, a person of ordinary skill in the art would understand that media system <NUM> may comprise more than one media device.

Display device <NUM> may be implemented as, for example, a monitor, television, computer, smart phone, tablet, and/or projector. Display device <NUM> may support <NUM> or <NUM> HDR, for example. Display device <NUM> may include any number of ports for receiving video content. Depending on the type and/or age of display device <NUM>, these ports may be implemented as different HDMI ports such as an HDMI <NUM> port, an HDMI <NUM> port, HDMI Audio Return Channel (ARC) port, an HDMI Mobile High-Definition Link port, or an HDMI Digital Video In (DVI) port, to name just a few examples. Media device <NUM> may be implemented as, for example, a streaming media device, DVD device, audio/video playback device, cable box, video game consoles, Blu-ray disc players, and/or digital video recording device. Media device <NUM> may include any number of ports for outputting video content. Depending on the type and/or age of media device <NUM>, these ports may also be implemented as different HDMI ports as described above with regard to display device <NUM>. In some embodiments, the media device <NUM> can be a part of, integrated with, operatively coupled to, and/or connected to display device <NUM>. The media device <NUM> may be configured to communicate with network <NUM>.

In an embodiment, A/V device <NUM> may be implemented within media system <NUM> for connecting display device <NUM> and media device <NUM>. In an embodiment, more than one media device may be included in media system <NUM>, and A/V device <NUM> may serve as a hub for receiving audio and video signals from multiple sources within media system <NUM>. For example, A/V device <NUM> may be connected to display device <NUM> and the more than one media device within media system <NUM>.

A user <NUM> may interact with media system <NUM> via remote control <NUM>. Remote control <NUM> can be any component, part, apparatus or method for controlling media device <NUM>, display device <NUM>, and/or A/V device <NUM>, such as a remote control, a tablet, laptop computer, smartphone, on-screen controls, integrated control buttons, or any combination thereof.

Content servers <NUM> (also called content sources) may each include databases to store content <NUM>. Content <NUM> may include any combination of music, videos, movies, TV programs, multimedia, images, still pictures, text, graphics, gaming applications, advertisements, software, and/or any other content or data objects in electronic form.

<FIG> illustrates an example block diagram of the media device <NUM>, according to some embodiments. Media device <NUM> may include a streaming module <NUM>, processing module <NUM>, user interface module <NUM>, memory <NUM>, and a display interface module <NUM>.

Now referring to <FIG> and <FIG>, in some embodiments, a user may use remote control <NUM> to interact with the user interface module <NUM> of media device <NUM> to select content <NUM>, such as a movie, TV show, music, book, application, game, to name just a few examples. The streaming module <NUM> of media device <NUM> may request the selected content <NUM> from content server(s) <NUM> over the network <NUM>. Content server(s) <NUM> may transmit the requested content <NUM> to the streaming module <NUM>. Media device <NUM> may transmit the received content to display device <NUM> for presentation to a user. In streaming embodiments, the streaming module <NUM> may transmit the content to display device <NUM> in real time or near real time as it receives such content <NUM> from content server(s) <NUM>. In non-streaming embodiments, media device <NUM> may buffer or store the content <NUM> received from content server(s) <NUM> in memory <NUM> for later playback on display device <NUM>.

In some embodiments, memory <NUM> also stores code or control logic that, when executed, causes processing module <NUM> to perform display diagnostics of a display device, and display interface module <NUM> of media device <NUM> may provide an interface between media device <NUM> and display device <NUM>. For example, in an embodiment, media device <NUM> may be external to display device <NUM> and connected to a port of display device <NUM> through display interface module <NUM> by, for example, a physical cable or a wireless connection. In another embodiment, media device <NUM> may be a component of display device <NUM> and is connected to other components of display device <NUM> through display interface module <NUM> by, for example, a physical bus. In some embodiments, memory <NUM> may also store predetermined informational messages that can be retrieved and displayed on the display device based on the results of the display diagnostics.

In some embodiments, content server(s) <NUM> may also include code for performing display diagnostics remotely from media device <NUM>. In such an embodiment, content server(s) <NUM> may receive information for performing display diagnostics from media device <NUM>. Upon receiving the information, content server(s) <NUM> may perform display diagnostics and return the results of the display diagnostics for display on media device <NUM>. In another embodiment, another external server separate from content server(s) <NUM> may include code for performing display diagnostics.

In some embodiments, display diagnostics include automatically (with little or no user input) detecting and determining the display capabilities of the display device based on the display device's input ports, processing the detected information from the display device, and providing information and/or a recommendation to the user regarding the display settings of the display device. In an embodiment, the recommendation specifies the display settings of the media device connected to the display device which determines the quality of the content provided by the media device to the display device. The recommended display settings are intended to improve or even optimize the performance of the display device without requiring the user to conduct a trial-and-error approach to determine what settings are appropriate based on the devices within media system <NUM>. As one non-limiting example, if the media device detects that the display device is capable of displaying <NUM> UHD HDR video content, the media device may recommend adjusting the displaying settings of the media device to provide such content (and not 720p content) to the display device.

An example of detecting the display capabilities includes detecting the types of ports of the display device. For example, if the display diagnostics receives an indication from display device that the display device has an HDMI <NUM> port, media device <NUM> may process the indication by determining that the display device is capable of display <NUM> video content but only at <NUM> frames per second and provide this information to the user on the display device. In other embodiments, code for display diagnostics may be stored in a memory (not shown) of display device <NUM>. Accordingly, in this embodiment, display device <NUM> may directly execute display diagnostics.

<FIG> illustrates a flowchart for performing automated display diagnostics of a display device, according to some embodiments. As one non-limiting example with regard to <FIG>, the steps of method <NUM> shown in <FIG> may be performed by media device <NUM> to determine the display capabilities of display device <NUM>. In such an embodiment, media device <NUM> may execute code in memory <NUM> to perform method <NUM> of <FIG>. While method <NUM> of <FIG> will be discussed below as being performed by media device <NUM>, other devices including display device <NUM> may store the display diagnostics code and therefore may execute method <NUM> by directly executing the code. For example, in some embodiments, an external server, such as content server(s) <NUM>, may store display diagnostics code for executing method <NUM>. The following discussion of method <NUM> will refer to devices of <FIG> as an exemplary non-limiting embodiment of method <NUM>.

According to some embodiments, display diagnostics includes the display of a graphical user interface (GUI) on a display device, such as display device <NUM>. Accordingly, at step <NUM>, display diagnostics of display device <NUM> begins by displaying a diagnostic screen on display device <NUM>. In some embodiments, diagnostic screen conveys actions to be performed by a media device, such as media device <NUM>, that may be initiated by a user such as automated display diagnostics of display device <NUM>.

At step <NUM>, media device <NUM> receives input from the user indicating that automated display diagnostics are to be performed by media device <NUM>. In response to receiving the input, media device <NUM> may execute appropriate code located in memory associated with the automated display diagnostics.

Automated display diagnostics continue at step <NUM> by testing the resolution capability of display device <NUM>. Resolution refers to the number of pixels that compose the image on display device <NUM>. Examples of resolutions for display devices, such as display device <NUM>, include 720p, 1080p, <NUM> UHD, and <NUM> UHD HDR, to name just a few examples. At step <NUM>, the resolution test may include receiving signals from display device <NUM> that indicate the resolution of the display for display device <NUM>. For example, if display device <NUM> is capable of displaying <NUM> UHD or <NUM> UHD HDR, then display device <NUM> also provides signals indicating its frame rate capability. For example, as discussed above, display device <NUM> may provide information indicating that it has an HDMI <NUM> port and an HDMI <NUM> port. Media device <NUM> receives this information, processes the information by determining that the HDMI <NUM> port is only capable of displaying <NUM> video content at <NUM> frames per second while the HDMI <NUM> port is capable of displaying such content at <NUM> frames per second. Accordingly, in some embodiments, the display diagnostics will determine the capabilities of display device <NUM> by determining the type of HDMI port to which media device <NUM> is connected.

At step <NUM>, media device <NUM>, executing the display diagnostics, updates the diagnostic screen based on the results of the resolution test performed at step <NUM>. In an embodiment, during execution of the resolution test, media device <NUM> updates the display with an icon informing the user that the resolution test is in progress. When execution of the resolution test is complete, media device <NUM> may update the display again with another icon informing the user of the completion and/or results of the resolution test. In addition or alternatively, media device <NUM> may provide a summary of the results. In an embodiment, updating the diagnostic screen may include determining a recommendation directed to the display settings, such as the resolution, of display device <NUM> and providing the recommendation on the display of display device <NUM>.

Then, at step <NUM>, media device <NUM> executes the HDR test of display diagnostics, which tests the HDR capability of display device <NUM>. HDR refers to a display device's capability of displaying a wider range of colors such as brighter whites and darker blacks. The wider range of colors allows display devices to display details in the darkest and brightest areas of video that are lost in non-HDR display devices. In addition to determining whether display device <NUM> is HDR-capable, the HDR test also determines the frame rate supported by an HDR-capable device. For example, some HDR-capable display devices may only support <NUM> HDR at <NUM> frames per second while others support <NUM> frames per second. In general, the display diagnostics may determine the HDR capabilities of display device <NUM> by determining the type of HDMI port to which media device <NUM> is connected. Providing this information to the user may be important because some media providers may only stream <NUM> HDR content if the HDR-capable display device supports <NUM> HDR at <NUM> frames per second.

At step <NUM>, media device <NUM> updates the diagnostic screen based on the results of the HDR test performed at step <NUM>. In an embodiment, during execution of the HDR test, media device <NUM> updates the display with an icon informing the user that the HDR test is in progress. When execution of the HDR test is complete, media device <NUM> may update the display again with another icon informing the user of the completion and/or results of the HDR test. In addition or alternatively, media device <NUM> may provide a summary of the results. In an embodiment, updating the diagnostic screen may include updating the recommendation that was initially determined in step <NUM> and is directed to the display settings of display device <NUM>. Updating the recommendation may include retrieving a predetermined message or information based on the results of the HDR test and providing the updated recommendation on the display of display device <NUM>.

Next, at step <NUM>, media device <NUM> executes the content protection test of display diagnostics, which tests the content protection capability of display device <NUM>. Content protection, such as HDCP, generally is designed to prevent copying of digital audio and video content as it travels across a connection, such as an HDMI port. Certain types of video content require certain versions of content protection. For example, <NUM> video content may require a display device to support HDCP <NUM>. Display devices that only support HDCP <NUM> may not be able to display <NUM> video content.

At step <NUM>, media device <NUM> updates the diagnostic screen based on the results of the content protection test performed at step <NUM>. In an embodiment, during execution of the content protection test, media device <NUM> updates the display with an icon informing the user that the test is in progress. When execution of the test is complete, media device <NUM> may update the display again with another icon informing the user of the completion and/or results of the test. In addition or alternatively, media device <NUM> may provide a summary of the results. In an embodiment, updating the diagnostic screen may include updating the recommendation directed to the display settings such as the resolution and/or HDR capability of display device <NUM>. Updating the recommendation may include retrieving a predetermined message or information based on the results of the content protection test and providing the updated recommendation on the display of display device <NUM>.

At step <NUM>, after completion of the resolution, HDR, and content protection tests as described above and collecting the necessary information from display device <NUM>, display diagnostics may further analyze the information and the results of the tests to provide a summary of the capabilities of display device <NUM>, update a recommendation as to the appropriate display settings for display device <NUM>, and/or an action that the user may perform such as suggestions for changing a configuration of media system <NUM>. In another embodiment, display device <NUM> may transmit the information to an external server for further analysis. In such an embodiment, display diagnostics may be installed on the external server and may perform the analysis of the information. After completion of the analysis, the external may provide the summary of the capabilities of display device <NUM> to display device <NUM>.

Display diagnostics may display the summary, recommendation, and/or action on display device <NUM> for viewing by the user. In an embodiment, the recommendation indicates that media device <NUM> should provide <NUM> UHD HDR content to display device <NUM>. In an embodiment, media device <NUM> may determine the appropriate recommendation by retrieving predetermined messages either stored locally in media device <NUM> or retrieved over a network from content server <NUM>. As one non-limiting example, if media device <NUM> determines that display device <NUM> is capable of displaying <NUM> HDR content at <NUM> frames per second and implements HDCP <NUM>, media device <NUM> may retrieve a predetermined message informing the user that media device <NUM> and/or display device <NUM> may be set to a <NUM> UHD HDR setting. In another embodiment, the message may be generated dynamically based on the information provided to media device <NUM>.

After viewing the information provided by display diagnostics, the user may decide to change a configuration of media system <NUM>. For example, the user may change the input port of display device <NUM> into which media device <NUM> is connected. At step <NUM>, media device <NUM> determines whether the user wishes to retry the automated display diagnostics. If so, media device <NUM> executes the code for automated display diagnostics and restarts the method <NUM> at step <NUM>. If not, media device <NUM> determines whether the user accepts a recommendation provided by display diagnostics at step <NUM>. If not, or if media device <NUM> does not receive a response from the user within a predetermined time period, media device <NUM> does not implement the recommended display settings and returns to the diagnostic screen at the original settings at step <NUM>. However, if the user does accept the recommendation, then at step <NUM>, media device <NUM> implements the recommended display settings and displays the diagnostic screen at the accepted settings.

<FIG> illustrates a flowchart for performing display diagnostics of a display device, such as display device <NUM>, based on a user-initiated change to the display settings of a media device, such as media device <NUM>, or display device <NUM>, according to some embodiments. As one non-limiting example with regard to <FIG>, the steps of method <NUM> shown in <FIG> may be performed by media device <NUM> to determine the display capabilities of display device <NUM>. In such an embodiment, media device <NUM> executes code in memory <NUM> to perform method <NUM> of <FIG>. While method <NUM> of <FIG> will be discussed below as being performed by media device <NUM>, other devices including display device <NUM> may store the display diagnostics code in a memory and therefore also execute method <NUM>. For example, in some embodiments, an external server, such as content server(s) <NUM>, store display diagnostics code for executing method <NUM>. The following discussion of method <NUM> will refer to devices of <FIG> as an exemplary embodiment of method <NUM>.

In some embodiments, method <NUM> illustrates steps performed when a user manually changes a display setting on media device <NUM> or display device <NUM>. At step <NUM>, media device <NUM> displays an information screen providing details of the display settings of display device <NUM>. In some embodiments, the Display Setting screen conveys different settings at which media device <NUM> may provide video content. Non-limiting examples of settings include 720p, 1080p, <NUM> UHD, and <NUM> UHD HDR.

At step <NUM>, media device <NUM> receives the user's manually selected option for the display setting. As discussed above, in some embodiments, this option may include 720p, 1080p, <NUM> UHD, and <NUM> UHD HDR. Other options may be possible including future display settings that require determining the resolution, HDR, and content protection capabilities of the display device. At step <NUM>, media device <NUM> determines the user selected option.

If the user manually selected 720p/1080p or <NUM> UHD as the display option, media device <NUM> proceeds to step <NUM> where media device <NUM> executes display diagnostics code for the resolution test. In particular, display diagnostics tests the resolution capability of display device <NUM> to determine whether the user selected option is capable with the actual resolution capability of display device <NUM>. The resolution test may include receiving signals from display device <NUM> that indicate the resolution of display device <NUM>. Moreover, if display device <NUM> is capable of displaying <NUM> UHD, then display device <NUM> may also provide signals indicating the frame rate capability of display device <NUM>. For example, as discussed above, display device <NUM> may provide information regarding the type of HDMI ports (e.g., HDMI <NUM>, HDMI <NUM>). Media device <NUM> collects this information and processes it to determine the capabilities of display device <NUM>.

At step <NUM>, media device <NUM>, after processing the information collected from display device <NUM>, updates the information screen to provide to the user an indication of the results of the test performed at step <NUM>. In an embodiment, during execution of the resolution test, media device <NUM> updates the display with an icon informing the user that the resolution test is in progress. When execution of the resolution test is complete, media device <NUM> may update the display again with another icon informing the user of the completion and/or results of the resolution test. In addition or alternatively, media device <NUM> may provide a summary of the results. In an embodiment, updating the information screen may include determining a recommendation directed to the display settings, such as the resolution, of display device <NUM> and providing the recommendation on the display of display device <NUM>.

Next, at step <NUM>, media device <NUM> executes display diagnostics code for the content protection test, which tests the content protection capability of display device <NUM>. Examples of content protection for video content include HDCP <NUM> and HDCP <NUM> although the disclosure is not limited to these examples. At step <NUM>, media device <NUM> updates the information screen based on the results of the content protection test performed at step <NUM>. In an embodiment, during execution of the content protection test, media device <NUM> updates the display with an icon informing the user that the test is in progress. In an embodiment, updating the information screen may include updating the recommendation that was initially determined in step <NUM> and is directed to the display settings of display device <NUM>. Updating the recommendation may include retrieving a predetermined message or information based on the results of the content protection test and providing the updated recommendation on the display of display device <NUM>. When execution of the test is complete, media device <NUM> may update the information screen again with another icon informing the user of the completion and/or results of the test. In addition or alternatively, media device <NUM> may provide a summary of the results.

At this point, also in <NUM>, if the user has selected 720p/1080p or <NUM> UHD as a display setting, media device <NUM> may proceed with analyzing the results of the resolution test and the content protection test in order to provide a recommendation regarding the user's selection. For example, if the user has selected <NUM> UHD but the display diagnostics have determined that the resolution of display device <NUM> is 720p or 1080p, the display diagnostics will provide a recommendation that media device <NUM> or display device <NUM> should be set accordingly.

In another embodiment, media device <NUM> provides the results of the resolution test and the content protection test to an external server. In such an embodiment, display diagnostics may be installed on the external server. The display diagnostics on the external server may analyze the results of the resolution test and generate a recommendation. The external server may then provide the recommendation for display on media device <NUM>.

Returning back to step <NUM>, if the user has selected <NUM> UHD HDR, media device <NUM> proceeds to step <NUM> where media device <NUM> executes display diagnostics code for the resolution test as described above with regard to step <NUM>. At step <NUM>, media device <NUM> further performs an HDR test to determine the HDR capabilities of display device <NUM>. In addition to determining whether display device <NUM> is HDR-capable, the HDR test also determines the frame rate supported by an HDR-capable device. For example, some HDR-capable display devices may only support <NUM> HDR at <NUM> frames per second while others support <NUM> frames per second. In general, the display diagnostics will determine the HDR capabilities of display device <NUM> by determining the type of HDMI port to which media device <NUM> is connected.

At step <NUM>, media device <NUM> updates the information screen based on the results of the HDR test. In an embodiment, during execution of the HDR test, media device <NUM> updates the display with an icon informing the user that the HDR test is in progress. When execution of the HDR test is complete, media device <NUM> may update the display again with another icon informing the user of the completion and/or results of the HDR test. In addition or alternatively, media device <NUM> may provide a summary of the results. In an embodiment, updating the diagnostic screen may include updating the recommendation from previous steps and is directed to the display settings of display device <NUM>. Updating the recommendation may include retrieving a predetermined message or information based on the results of the HDR test and providing the updated recommendation on the display of display device <NUM>. Media device <NUM> then proceeds to step <NUM> to test the content protection capability of display device <NUM>, which was described above. Step <NUM> is similar to the scenario performed when the user selects 720p/1080p or <NUM> UHD except media device <NUM> includes the results of the HDR test in its analysis when providing a recommendation to the user.

At step <NUM>, media device <NUM> determines whether the user has changed another display setting or if the user has indicated that he has changed a physical configuration of media system <NUM> (e.g., changing the HDMI port into which media device <NUM> is plugged). If the user has changed one or more display settings, then media device <NUM> repeats method <NUM> starting at step <NUM> based on the changed display setting or the updated physical configuration. If not, then in step <NUM> media device <NUM> determines whether the user accepts the current display setting. If not or if the user does not respond (i.e., times out), media device <NUM> returns to step <NUM> and displays the information screen at the original display setting. If yes, then at step <NUM>, media device <NUM> displays the information screen at the accepted display setting.

Various embodiments and/or components therein can be implemented, for example, using one or more computer systems, such as computer system <NUM> shown in <FIG>. Computer system <NUM> can be any computer or computing device capable of performing the functions described herein. For example, one or more computer systems <NUM> can be used to implement any embodiments of <FIG>, and/or any combination or sub-combination thereof.

One or more processors <NUM> can each be a graphics processing unit (GPU). In some embodiments, a GPU is a processor that is a specialized electronic circuit designed to process mathematically intensive applications. The GPU can have a parallel structure that is efficient for parallel processing of large blocks of data, such as mathematically intensive data common to computer graphics applications, images, videos, etc..

Computer system <NUM> also includes a main or primary memory <NUM>, such as random access memory (RAM). Main memory <NUM> can include one or more levels of cache. Main memory <NUM> has stored therein control logic (i.e., computer software) and/or data.

Computer system <NUM> can also include one or more secondary storage devices or memory <NUM>. Secondary memory <NUM> can include, for example, a hard disk drive <NUM> and/or a removable storage device or drive <NUM>. Removable storage drive <NUM> can be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup device, and/or any other storage device/drive.

Removable storage drive <NUM> can interact with a removable storage unit <NUM>. Removable storage unit <NUM> can be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and/ any other computer data storage device.

According to an exemplary embodiment, secondary memory <NUM> can include other means, instrumentalities or other approaches for allowing computer programs and/or other instructions and/or data to be accessed by computer system <NUM>. Such means, instrumentalities or other approaches can include, for example, a removable storage unit <NUM> and an interface <NUM>. Examples of the removable storage unit <NUM> and the interface <NUM> can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB port, a memory card and associated memory card slot, and/or any other removable storage unit and associated interface.

Computer system <NUM> can further include a communication or network interface <NUM>. For example, communication interface <NUM> can allow computer system <NUM> to communicate with remote devices <NUM> over communications path <NUM>, which can be wired and/or wireless, and which can include any combination of LANs, WANs, the Internet, etc. Control logic and/or data can be transmitted to and from computer system <NUM> via communication path <NUM>.

In some embodiments, a tangible apparatus or article of manufacture comprising a tangible computer useable or readable medium having control logic (software) stored thereon is also referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system <NUM>, main memory <NUM>, secondary memory <NUM>, and removable storage units <NUM> and <NUM>, as well as tangible articles of manufacture embodying any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as computer system <NUM>), causes such data processing devices to operate as described herein.

The Summary and Abstract sections can set forth one or more but not all exemplary embodiments as contemplated by the inventors, and thus, are not intended to limit this disclosure or the appended claims in any way.

While this disclosure describes exemplary embodiments for exemplary fields and applications, it should be understood that the disclosure is not limited thereto. For example, and without limiting the generality of this paragraph, embodiments are not limited to the software, hardware, firmware, and/or entities illustrated in the figures and/or described herein. Further, embodiments (whether or not explicitly described herein) have significant utility to fields and applications beyond the examples described herein.

Claim 1:
A media device (<NUM>), comprising:
a display interface (<NUM>) configured to communicate with a display device (<NUM>);
a processor (<NUM>); and
a memory (<NUM>) operatively coupled to the processor (<NUM>), the memory (<NUM>) configured to store program code that when executed causes the processor (<NUM>) to perform operations comprising:
(i) receiving a user selection associated with a display setting of the display device (<NUM>), wherein the display setting includes a resolution of the display device (<NUM>);
(ii) determining whether the user selection includes a high-dynamic range, HDR, selection or a non-HDR selection;
(iii) responsive to the user selection including the HDR selection:
performing a resolution capability test and a HDR capability test, wherein the resolution capability test tests a capability of the display device to support a plurality of different resolutions and the HDR capability test tests a capability of the display device to support HDR;
in response to performing the resolution capability test and the HDR capability test, updating an information screen that is displayed on the display device (<NUM>) based on first results of performing the resolution capability test and the HDR capability test;
after performing the resolution capability test and the HDR capability test, performing a content protection capability test, wherein the content protection capability test tests a capability of the display device to support at least one content protection protocol; and
in response to performing the content protection capability test, updating the information screen based on second results of performing the content protection capability test; and
(iv) determining, based on the first and second results, a display setting recommendation, wherein the display setting recommendation comprises a display setting associated with the display device (<NUM>).