Patent Publication Number: US-11651749-B2

Title: Display layout optimization of multiple media streams

Description:
CROSS-REFERENCE TO RELATED APPLICATION(S) 
     This application claims benefit to U.S. Provisional Patent Application No. 63/108,485, filed Nov. 1, 2020, the entirety of which is hereby incorporated by reference herein. 
    
    
     TECHNICAL FIELD 
     The present disclosure is directed to optimizing a display layout of multiple incoming media streams for output to a sink device and, more particularly, to dynamically optimizing the display layout based, in part, on a prediction of a type of source device from which an incoming media stream is received. 
     BACKGROUND 
     When combining multiple video streams, such as in a teleconferencing application, conventional video stream control algorithms utilize several approaches to sizing and placement of video streams. These approaches include displaying all streams in equal size, emphasizing active talker (i.e., displaying one stream larger than others), picture-in-picture, and framing (i.e., displaying small streams squared around a big stream in the middle). The result is often poor use of screen real estate and illegible text. Moreover, native streaming protocols on various operating systems do not share metadata that specifies the type of device upon which the operating system is running (e.g., laptop, PC, phone, tablet, etc.). As a result, streaming receivers often lack context for what is being viewed on the device&#39;s output, which in turn also leads to wasted screen space and sub-optimal output rendering for the end user or viewer. 
     SUMMARY 
     According to some embodiments, a media receiver is disclosed, where the media receiver comprises a memory configured to store machine-readable instructions, and a processor circuitry in communication with the memory. The processor circuitry is configured to execute the machine-readable instructions to cause the processing circuitry to receive a first media stream corresponding to a first media source, obtain first metadata from the first media stream, receive a second media stream corresponding to a second media source, obtain second metadata from the second media stream, determine a first source type for the first media source based on the first metadata, determine a second source type for the second media source based on the second metadata, generate an optimized display including the first media stream and the second media stream based on at least the first source type and the second source type, and control transmission of the optimized display to a sink device. 
     According to some embodiments, a method for optimizing a display layout on a display screen, the method comprising receiving, by a communication interface, a first media stream from a first media source, extracting, by a processor, first metadata from the first media stream, receiving, by the communication interface, a second media stream from a second media source, extracting, by the processor, second metadata from the second media stream, determining, by the processor, a first source type for the first media source based on the first metadata, determining, by the processor, a second source type for the second media source based on the second metadata, generating, by the processor, an optimized display including the first media stream and the second media stream based on at least the first source type and the second source type, and controlling, by the processor, transmission of the optimized display to a sink device. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    shows an environmental diagram of a media presentation system including a streaming media receiver, in accordance with one or more embodiments of the present disclosure. 
         FIG.  2    shows a block diagram of the system from  FIG.  1    including a more detailed view of the streaming media receiver. 
         FIG.  3    shows an exemplary flow chart depicting a process for optimizing a display layout of multiple media streams, in accordance with one or more embodiments of the present disclosure. 
         FIG.  4    shows an exemplary flow diagram depicting the flow of signals, data, and/or corresponding information used in optimizing a display layout, in accordance with one or more embodiments of the present disclosure. 
         FIG.  5    shows an exemplary flow chart depicting a process for predicting a source device type based on an analysis of an input media stream, in accordance with one or more embodiments of the present disclosure. 
         FIG.  6    shows a flow diagram illustrating a first exemplary embodiment for predicting a source device type based on one or more characteristics of an input media stream, in accordance with one or more embodiments of the present disclosure. 
         FIG.  7    shows a flow diagram illustrating a second exemplary embodiment for predicting a source device type based on one or more characteristics of an input media stream, in accordance with one or more embodiments of the present disclosure. 
         FIG.  8    shows a flow diagram illustrating a third exemplary embodiment for predicting a source device type based on one or more characteristics of an input media stream, in accordance with one or more embodiments of the present disclosure. 
         FIG.  9    shows a flow diagram illustrating a fourth exemplary embodiment for predicting a source device type based on one or more characteristics of an input media stream, in accordance with one or more embodiments of the present disclosure. 
         FIG.  10    shows an exemplary display layout that is optimized in accordance with one or more embodiments of the present disclosure. 
         FIG.  11    shows an exemplary display layout that is optimized in accordance with one or more embodiments of the present disclosure. 
         FIG.  12    shows an exemplary display layout that is optimized in accordance with one or more embodiments of the present disclosure. 
         FIG.  13    shows an exemplary display layout that is optimized in accordance with one or more embodiments of the present disclosure. 
         FIG.  14    shows an exemplary display layout that is optimized in accordance with one or more embodiments of the present disclosure. 
         FIG.  15    shows an exemplary display layout that is optimized in accordance with one or more embodiments of the present disclosure. 
         FIG.  16    shows an exemplary display layout that is optimized in accordance with one or more embodiments of the present disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     As required, detailed embodiments are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the inventive features that may be embodied in various and alternative forms that include additional, or fewer, components and/or steps. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention. 
       FIG.  1    is an environmental diagram of a media presentation system  10  including a streaming media receiver  12 , in accordance with one or more embodiments of the present disclosure. The streaming media receiver  12  is configured to receive multimedia content, such as audio and/or video (A/V) streams, from one or more source devices  14 . The source devices  14  may include any input media device capable of providing audio and/or video signals. For instance, the source devices  14  may include various types of computing devices or multimedia devices, such as a personal computer (PC), laptop, smartphone, tablet, or streaming media player. 
     The streaming media receiver  12  may be configured to connect to a network  16 , such as a local area network (LAN) or a wide area network (WAN) such as the Internet. According to one or more embodiments, various source devices  14  communicate with the streaming media receiver  12  over the network  16 . As shown, one or more source devices  14  wirelessly connect to the streaming media receiver  12  directly using a wireless communication protocol. In certain embodiments, one or more of the source devices  14  may connect to the streaming media receiver  12  directly using a wire or cable, such as USB, HDMI, DisplayPort or the like. 
     The streaming media receiver  12  is further configured to process and analyze multiple incoming media streams from a plurality of the source devices  14  and generate an output media signal, where the output media signal is transmitted to at least one sink device  18 . The sink device  18  may refer to any output media device or endpoint of a given device output configured to receive audio and/or video signals, such as a display, television, projector, video conferencing system, A/V switch, or the like. 
     The output media signal is a composited stream going out to the sink device  18  that includes a plurality of the incoming media streams from the source devices  14 . The streaming media receiver  12  may output the composited stream to the sink device  18  as a single, flattened stream. The composited and flattened stream of the output media signal may include metadata corresponding to attributes of their respective source device  14 , where the attribute metadata may then be used for controlling the output at the end user&#39;s interface or sink device. 
     According to one or more embodiments of the present disclosure, the streaming media receiver  12  optimizes the display layout of the multiple incoming media streams from the plurality of source devices  14  when combining the streams for output to the sink device  18 . Accordingly, these attributes may relate to the sizing, position, scaling, orientation, aspect ratio, and other features of the incoming media streams to enhance the display layout of multiple streams. Optimizing the display layout for the multiple incoming video streams at the sink device  18  provides for more efficient use of screen real estate and can provide advantages such as increasing the legibility of text. For example, by optimizing the sizing and placement of the video streams, wasted screen space can be minimized and illegible text can be addressed to make more legible (e.g., increase text size by increasing display window) when multiple video streams are displayed. 
     The display layout of multiple streams may be optimized based on a number of different variables, including characteristics of the sink device  18 , total number of active incoming streams, active audio, and other characteristics of the source material or device. The source of an incoming media stream may contain useful characteristics for optimizing the display layout of multiple media streams. One such characteristic of the source may include the device type, such as laptop, PC, phone, or tablet. As set forth above, native streaming protocols on operating systems such as Microsoft Windows, Apple OSX, Apple iPadOS, Apple iOS and Android do not directly share metadata about the specific type of device upon which the operating system is running. Accordingly, one or more embodiments of the present disclosure may provide a system, apparatus, and method for predicting the device type of a source device providing an incoming media stream to the streaming media receiver  12  based on available metadata and/or other attribute information obtained from the incoming media streams. 
       FIG.  2    is a block diagram of the system  10  from  FIG.  1    including a more detailed view of the streaming media receiver  12 . According to one or more embodiments, the streaming media receiver  12  is configured to detect a source device type associated with an input media stream  20  and optimize a display layout of multiple input media streams based, at least in part, on the predicted source device type of each stream. The streaming media receiver  12  may be configured to receive multiple input media streams  20  from the plurality of source devices  14  and generate an output media signal  22  to one or more sink devices  18 , as described in  FIG.  1   . As shown in  FIG.  2   , the sink device  18  is external to the streaming media receiver  12 , and accessible via direct communication with the streaming media receiver  12  or via the network  16  (i.e., Network sink device). In one or more alternate embodiments, the sink device  18  may be integrated with the streaming media receiver  12  within a single device. Additionally, the streaming media receiver  12  may be a stand-alone device or may be integrated as a component within another computing unit or device. 
     As shown in  FIG.  2   , the streaming media receiver  12  includes a bus  24 , a processor  26 , a memory  28 , a secondary storage device  30 , and a communication interface  32 . The bus  24  may include components that permit communication among the other components of the streaming media receiver  12 . The processor  26  may be any type of processing component implemented in hardware, firmware, or a combination of hardware and software. This may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), or similar processing component. The processor  26  may include one or more processors capable of being programmed to perform functions or processes such as for controlling one or more components of the streaming media receiver  12 . The memory  28  may store information and instructions for use by the processor  26 . For example, the processor  26  may be configured to read and execute instructions stored on the memory  28  to perform functions. This may include control logic  34 , such as computer software, and data. The memory  28  may include a random access memory (RAM), a read only memory (ROM), and/or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and/or an optical memory). The secondary storage device  30  may also store information and/or software related to the operation and use of the streaming media receiver  12 . For example, the secondary storage device  30  may include a hard disk drive and/or a removable storage device or drive, as well as other types of storage device and/or non-transitory computer-readable medium. 
     The streaming media receiver  12  also includes a canvas engine  36  and a canvas renderer  38 . The canvas engine  36  and the canvas renderer  38  may be embodied as hardware, software, or a combination of hardware and software. Thus, while depicted as separate components, the canvas engine  36  and the canvas renderer  38  may be integrated with the processor  26  and/or with the memory  28  or secondary storage device  30  as control logic. The canvas engine  36  is configured to take a combination of one or more of the different variables, which may include characteristics of the sink device  18 , total number of active incoming streams, active audio, and other characteristics of the source material or source devices  14 , and instruct the canvas renderer  38  how to optimally display the multiple input media streams  20  collectively at the sink device  18 . Accordingly, the canvas renderer  38  may receive this instruction and generate the output media signal  22  for the sink device  18 . 
     The communication interface  32  may include one or more transceivers or transceiver-like components (e.g., a separate receiver and transmitter) that enables the streaming media receiver  12  to communicate with the source devices  14  and the sink device  18 , such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface  32  permits the streaming media receiver  12  to receive information from another device, such as from the input media streams  20  from the plurality of source devices  14 . The communication interface  32  may further permit the streaming media receiver  12  to provide information to another device, including the output media signal  22  to the sink device  18 . For example, the communication interface  32  may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, and/or the like. 
     The streaming media receiver  12  may perform one or more processes described herein. The streaming media receiver  12  may perform these processes based on the processor executing software instructions stored on a non-transitory machine-readable medium (e.g., the machine may be a computer device), such as the memory  28  and/or the storage device  30 . A machine-readable medium is defined herein as a non-transitory memory device, which may include memory space within a single physical storage device or memory space spread across multiple physical storage devices. Software instructions may be read into the memory  28  or the storage device  30  from another machine-readable medium or from another device via the communication interface  32 . The software instructions stored in memory  28  and/or the storage device  30 , when executed, may cause the processor  26  to perform one or more processes described in the present disclosure. Additionally, or alternatively, hardwired circuitry may be used in place of, or in combination with, software instructions to perform one or more processes described herein. Thus, the various implementations described herein may not be limited to any specific combination of hardware circuitry and software. 
     The arrangement and/or number of components shown in  FIG.  2    are provided as an example. In practice, the streaming media receiver  12  or similar device may include additional components, fewer components, different components, or differently arranged components than those shown. Additionally, or alternatively, one or more components of the streaming media receiver  12  may perform one or more functions described as being performed by another set of components of the streaming media receiver. 
       FIG.  3    is an exemplary flow chart  300  depicting a process for optimizing a display layout of multiple media streams, in accordance with one or more embodiments of the present disclosure. The display layout may be optimized based on information gathered by the streaming media receiver  12  from a number of different variables. Information and/or variables for display layout optimization may include characteristics of the sink device  18 , metadata extracted from each incoming media stream  20 , total number of active incoming media streams, and the like. As will be described in greater detail, the metadata extracted from each incoming media stream  20  may allow the streaming media receiver  12  to predict the type of source device corresponding to each media stream, which may be used to further enhance optimization of the display layout of multiple streams. 
     The process described in the flow chart  300  includes obtaining characteristics of the sink device  18 , as provided at step  305 . Characteristics of the sink device  18  may include a size, an aspect ratio, and a resolution of the sink device. Additional characteristics of the sink device  18  may include an average viewing distance a user is from the sink device. The average user viewing distance from the sink device may be relevant, for example, in a conference room or lecture hall application. Some of the sink characteristics may be automatically determined by the streaming media receiver  12 , such as aspect ratio and resolution. Other characteristics may be obtained from a user&#39;s input. For instance, upon configuration of the streaming media receiver  12 , various sink characteristics may be entered by a user, including the size of the sink device and the average user viewing distance from the sink device. 
     The streaming media receiver  12  receives one or more incoming or input media streams  20  from a plurality of source devices  14 , as provided at step  310 . As previously described, the input media streams  20  may be received wirelessly from the source devices  14  or via a wired connection, such as an ethernet connection to the network or a direct cable connection to the streaming media receiver  12  (e.g., USB, HDMI, etc.). 
     Metadata is extracted from each input media stream  20  to collect information about the streams and their corresponding source devices, as provided at step  315 . The metadata extracted from each input media stream  20  may include information and/or characteristics about each media stream such as a MAC address, stream aspect ratio, stream resolution, streaming protocol, and the like. 
     Once extracted, the streaming media receiver  12  processes and analyzes the characteristics of each input from the media streams of the source devices  12 , as provided at step  320 . In some implementations, this may include identifying which streams include active audio and, if multiple streams have active audio, which streams have priority. According to one or more embodiments, the streaming media receiver  12  predicts the type of source device from which each media stream originated based on the analysis of various characteristics extracted from a stream&#39;s metadata, as provided at step  325 . Examples of source device types that may be predicted include laptop, PC, smartphone, tablet, and the like. Various examples of methods for predicting a source device type are described in greater detail below in connection with  FIGS.  5 - 9   . 
     The streaming media receiver  12  then processes one or more of the sink characteristics, input stream characteristics, and/or predicted source device types, and generates an optimized display layout of a plurality of the incoming media streams for display at the sink device  18 , as provided at step  330 . For example, a display layout may be generated that optimizes the sizing and placement of the active input media streams at the sink device  18 . In optimizing the display layout of multiple media streams for the sink device  18 , the streaming media receiver  12  may utilize the sink characteristics, input stream characteristics, and source device type, among other things, to minimize wasted screen space and increase clarity and legibility of streamed images, video, and text. The streaming media receiver  12  may use the canvas engine  36  to optimize the display layout of multiple incoming media streams based on the available metadata and sink characteristics. 
     Upon generating an optimized display layout of the multiple input media streams, the streaming media receiver  12  transmits the output media signal  22  to the sink device  18 , as provided at step  335 . As previously described, the output media signal  22  may be a single, flattened stream including a composite of the multiple input media streams  20  arranged in the optimized display layout. According to one or more embodiments, the canvas renderer  38  may be employed to generate the output media signal  22  based on instructions received from the canvas engine  36 . 
     The transmission of the output media signal  22  may be dynamic and its transmission from the streaming media receiver  12  to the sink device  18  may be continuous. Accordingly, the optimization of the display layout at the sink device  18  of the multiple incoming media streams may also be continuous and dynamic, particularly as the number, content, and source of the input media streams change. For example, as an incoming media stream is added or removed, the components and logic modules of the streaming media receiver  12  may process all active stream characteristics to determine the most optimized sizing and placement of the current active media streams and update the output media signal  22  accordingly. As an active media stream changes any of its characteristics, such as device type or orientation, the newly available characteristics may be processed to determine the most optimized sizing and placement of all the current active media streams. Moreover, it is possible that sink characteristic may change or be altered. As a sink characteristic changes, the newly available sink characteristics may also be processed to determine the most optimized sizing and placement of all the current active media streams. 
       FIG.  4    is an exemplary flow diagram  400  depicting the flow of signals, data, and/or corresponding information used in optimizing the display layout, in accordance with one or more embodiments of the present disclosure. Four input media streams  20  are depicted, though the streaming media receiver  12  may be configured to receive, process, and optimize a display layout of any number of input media streams. As shown, the metadata extracted from each input media stream  20  may be categorized as static metadata  40  or dynamic metadata  42 . The static metadata  40  may include characteristics indicative of the type of source device, as well as mac address, protocol, DPI, and/or hostname. The dynamic metadata  42  of each input stream  20  may include information or characteristics such as screen orientation, aspect ratio, resolution, and/or content (e.g., via computer vision), as well as whether the stream includes active audio. The stream metadata  40 ,  42  and sink metadata  44  may be used in a process ( 405 ) that analyzes, calculates, and generates an optimized display layout  46  of all active input streams, which may then be transmitted to the sink device  18 . The process ( 405 ) for generating the optimized display layout  46  show in  FIG.  4    may be illustrative of an alternative embodiment to step  330  from the method  300  described in  FIG.  3   . 
     In order to optimize the display layout of multiple streams displayed simultaneously, it is helpful to understand the type of device from which each input media stream originates. Examples of source device types that may transmit media streams to the streaming media receiver  12  include laptops, PCs, smartphones, tablets, and the like. Because native streaming protocols on operating systems do not share metadata about the type of device upon which the operating system is running, the source device type may be deduced from other available information. As previously mentioned, the streaming media receiver  12  may predict the type of source device from which each input media stream  20  originated based on the analysis of various characteristics extracted from the input media stream&#39;s metadata. 
       FIG.  5    is an exemplary flow chart  500  depicting a process for predicting a source device type based on an analysis of an input media stream, in accordance with one or more embodiments of the present disclosure. Accordingly, the method described by the flow chart  500  may be an expansion of step  325  from the process described in flow chart  300  shown in  FIG.  3   . 
     To predict a source device type, the streaming media receiver  12  assigns weights to various characteristics of each input media stream  20 , as provided at step  505 . At step  510 , a total stream weight is calculated from one or more of the individual weights. For example, one or more individual weights may be summed to provide a final total stream weight. The individual weights and/or the total stream weight may provide an indication of the type of source device from which an input media stream  20  is received within a degree of certainty. To this end, various aspects of an incoming media stream are given differing values based on characteristics extracted from the stream&#39;s metadata and weighted accordingly to generate a final prediction or confidence level regarding the type of source device, as provided at step  515 . 
     The final or total stream weight may then be linked to the corresponding input media stream for use in optimizing the display layout of multiple streams at the sink device  18 . Although the final weight calculated for each input media stream  20  is linked thereto, the weight may be out of band and can dynamically change as characteristics of the input media stream change. Using the weight information, the streaming media receiver  12  may determine whether a given input media stream is being received from, for example, a laptop, PC, phone, or tablet. 
     One or several characteristics of each input media stream  20 , once extracted from the metadata, may be analyzed and weighted.  FIG.  6    depicts a flow diagram  600  illustrating a first example embodiment for predicting a source device type based on these one or more characteristics. According to the first embodiment, the streaming media receiver  12  may receive and process the media access control (MAC) address of an input media stream. If the MAC address is coming from a Layer 3 or above switch, address resolution protocol (ARP) commands may be used to resolve the MAC address with the incoming media stream. Based on the MAC address, the streaming media receiver may attempt to determine the source device type (e.g. laptop, PC, phone, tablet) from which the input media stream is being transmitted. This MAC address classification may be accomplished by maintaining a dataset of MAC addresses, including Organizationally Unique Identifier (OUI) and Network Interface Controller (NIC), as well as identifying key MAC address ranges for explicit user device manufacture model types. The method may provide a weight that helps predict the type of device that is sending the input media stream, with a degree of certainty. The identification of either the OUI or the NIC may determine a weight given based on the MAC address classification, which may be expressed as a sum of individual weights assigned to the OUI and NIC, as shown by Equation 1 below:
 
OUI weight +NIC weight =Total Stream Weight  (Eq. 1)
 
       FIG.  7    depicts a flow diagram  700  illustrating a second example embodiment for predicting a source device type based on one or more characteristics of an input media stream  20 . According to the second embodiment, the streaming media receiver  12  may further analyze a Hostname included in the metadata of the input media stream. The streaming media receiver  12  attempts to receive the Hostname and, if successful, seek key identification information in the Hostname that will help with identifying the source device type. This may be accomplished by maintaining a dataset of known Hostname prefixes and/or suffixes that manufacturers use by default on specific device model types. For example, if the Hostname is identified as “Mary&#39;s iPhone,” it may indicate with some degree of certainty that the device type is a smartphone and, more particularly, a specific make and/or model of smartphone. Accordingly, an individual weight may be assigned to the Hostname (Hostname weight ) of an input media stream. In some implementations, the individual weight from the Hostname may be combined with the weight from the MAC address classification, as shown by Equation 2 below:
 
(OUI weight +NIC weight )+Hostname weight =Total Stream Weight  (Eq. 2)
 
       FIG.  8    depicts a flow diagram  800  illustrating a third example embodiment for predicting a source device type based on one or more characteristics of an input media stream  20 . According to the third embodiment, the streaming media receiver  12  may further analyze a streaming protocol associated with the input media stream. The analysis of the streaming protocol may also include an analysis of an aspect ratio and a resolution of the input media stream. For example, the streaming media receiver  12  sorts the incoming media streams by streaming protocol for further analysis. The input media streams may be first sorted by streaming protocol because each protocol may have different methods for classification and may help narrow down source device types or at least narrow down the manufacturer of the source device  14 . For example, an Airplay streaming protocol may indicate the source device is an Apple device. 
     Once sorted by streaming protocol, the streaming media receiver  12  may then analyze the aspect ratio and screen resolution. A dataset of common screen resolutions and aspect ratios used by specific manufacturer model types may be kept and stored in memory  28  or storage device  30  in order to help identify the source device type. Individual weights may be assigned to each of the streaming protocol, aspect ratio, and resolution characteristics. In certain implementations, these individual weights may be combined with one or more of the weights from the MAC address classification and Hostname classification to provide the total stream weight used in predicting the source device type, as shown by Equation 3 below:
 
(OUI weight +NIC weight )+Hostname weight +(Protocol weight +Aspect weight +Resolution weight )=Total Stream Weight  (Eq. 3)
 
       FIG.  9    depicts a flow diagram  900  illustrating a fourth example embodiment for predicting a source device type based on one or more characteristics of an input media stream  20 . According to the fourth embodiment, the streaming media receiver  12  may further analyze the input media stream via Computer Vision Object Detection (CVOD) and Computer Vision Image Classification (CVIC) technology. In some implementations, Computer Vision Object Detection may be employed initially. The streaming media receiver  12  utilizes Computer Vision Object Detection to analyze the first few video frames of the input media stream  20 . In doing so, the streaming media receiver  12  may scan for specific objects in the frame(s). This may be accomplished using an internal trained model dataset to compare against the frames of the input media stream. The internal trained model dataset may be stored in the memory  28  or the secondary storage device  30 . Examples of specific objects may include task bar objects, start menu icons, home screen or background imagery, logos, or the like. The internal trained model dataset may be employed to recognize or detect objects in the frames that may help indicate the source device type of the input media stream  20 , as certain objects may be associated with certain device types or manufacturers. Accordingly, the streaming media receiver  12  may assign an individual weight based on the Computer Vision Object Detection process (CVOD weight ). As shown, the Computer Vision Object Detection process may result in predicting source device type using the object recognition techniques for detecting specific objects from image or video data. 
     If the CVOD weight  corresponds to a relatively low certainty level, the streaming media receiver  12  may then use Computer Vision Image Classification to further analyze the input media stream  20 . Using the same video frames from the Computer Vision Object Detection process, the streaming media receiver  12  may classify an image as coming from a particular source device type using a different internal trained model dataset stored in memory. Accordingly, the streaming media receiver  12  may assign an individual weight based on the Computer Vision Image Classification process (CVIC weight ). In certain implementations, the individual weights, CVOD weight  and CVIC weight , may be combined with one or more of the weights from the MAC address classification, Hostname classification, and Protocol classification processes to provide the total stream weight used in predicting the source device type, as shown by Equation 4 below:
 
(OUI weight +NIC weight )+Hostname weight +(Protocol weight +Aspect weight +Resolution weight )+(CVOD weight +CVIC weight )=Total Stream Weight  (Eq. 4)
 
     As shown, various individual weights may be combined into broader classifications and summed to provide a weight total for each classification. It should be noted that the classifications are exemplary only. Moreover, the individual weights corresponding to each classification are also exemplary and may be grouped or organized in a manner other than depicted in  FIGS.  6 - 9   . Any combination of one or more individual weights may be used in calculating the total stream weight and subsequently employed in predicting the source device type. 
     A dynamic, optimized display layout of multiple incoming media streams based on the various characteristics described herein, including the source device type of an incoming media stream may reduce wasted screen space, increase legibility, and ultimately enhance the viewing experience. By way of example,  FIGS.  10 - 16    illustrate a sample progression of a display layout  50  depicting how the streaming media receiver  12  may optimize the overall display layout  50  as different source devices  14  connect and transmit media streams  20  dynamically to the streaming media receiver  12 . As shown in  FIGS.  10 - 16   , rather than giving equal screen space for each input media stream  20 , the display layout  50  is dynamically optimized using the techniques described herein to provide an enhanced viewing experience for end users. 
       FIG.  10    illustrates an exemplary display layout  50  of two input media streams. In this example, a first input media stream may be received from a first source device ( 1 ), which is a laptop. A second input media stream may be received from a second source device ( 2 ), which is a smartphone. As shown, the second source device, a smartphone, is oriented in a “portrait” mode or vertically, such that the aspect ratio includes a width lesser than a height (e.g., 9:16).  FIG.  11    illustrates how the display layout  50  from  FIG.  10    may change when the orientation of the second source device ( 2 ) is rotated, changing its aspect ratio to one of a widescreen or “landscape” mode (e.g., from 9:16 to 16:9). 
       FIG.  12    illustrates how the display layout  50  from  FIG.  10    may change when a third input media stream is received from a third source device ( 3 ), which may be another laptop, when the third source device ( 3 ) actively connects to the streaming media receiver  12 .  FIG.  13    illustrates how the display layout  50  from  FIG.  12    may change when the orientation of the second source device ( 2 ) is rotated, changing its aspect ratio to one of a widescreen or landscape mode (e.g., from 9:16 to 16:9), similar to  FIG.  11   . 
       FIG.  14    illustrates how the display layout  50  from  FIG.  12    may change when a fourth input media stream is received from a fourth source device ( 4 ), which may be another smartphone, when the fourth source device ( 4 ) actively connects to the streaming media receiver  12  in portrait mode.  FIG.  15    illustrates how the display layout  50  from  FIG.  14    may change when the orientation of the fourth source device ( 4 ) is rotated, changing its aspect ratio to one of a widescreen or landscape mode (e.g., from 9:16 to 16:9).  FIG.  16    illustrates how the display layout  50  from  FIG.  15    may change further when the orientation of the second source device ( 2 ) is also rotated, changing its aspect ratio to one of a widescreen or landscape mode (e.g., from 9:16 to 16:9). 
     While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the described features. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the disclosure. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the disclosure.