Abstract:
A system for minimizing interactions with at least an input mechanism, comprising at least a management server communicatively coupled to at least a user endpoint device, the user endpoint device comprising at least a display, an input mechanism, and a transponder mechanism configured to communicate data related to interactions with the input mechanism and displayed content, at least one storage device configured to store data based on content displayed on the display, interactions with the input mechanism, and content available for viewing, and at least one processor configured to use software to process the data such that a configuration of content data is prepared for display and the configuration is derived from at least the interactions with the input mechanism and the configuration is designed to minimize additional user interactions with the input mechanism to select the prepared content data.

Description:
TECHNICAL FIELD 
       [0001]    The present disclosure relates generally to user adaptive systems. More specifically, the disclosure relates to a system and method for landing at favorable TV content with fewer remote control clicks. 
       BACKGROUND 
       [0002]    Improving TV user experiences is a key problem in consumer electronics production and multimedia applications development. With the emergence of many forms of smart TVs, the current TV systems are experiencing significant in-and-out upgrading, from hardware, firmware, software framework, applications, to user experiences. Many new trials have been introduced to enhance users&#39; interaction with TV, for example, by providing a keyboard as a part of the remote control; and another proposal is a motion-sensor based remote control to enable TV users to point and even drag and drop an icon on the TV screen. People start to debate whether a lean-back (passive) or a lean-forward (active) usage model better fits user TV experiences. On the other hand, the cloud computing era is coming, and many web-based cloud services, for example, mapping and video sharing services, have been introduced to the TV world to further enhance the system&#39;s capability and smartness. 
         [0003]    There is a recent statistical report showing that in the US, people on average watch 4 hours of TV per day, however, 86% of the TV viewers have no idea what to watch when they sit in front of the TV. If each TV is sufficiently smart to recognize the viewer (or viewer group), understand the viewer&#39;s preferences, and recommend the right content for the viewer to watch, then a certain kind of user experience can be brought to the TV viewer. Many companies and research organizations have made efforts in this area for the past decade, and as a consequence, electronics program guide (EPG) and TV recommendation systems are current trends in the field. The results can be seen in product proposals such as TV3P, AVATAR, and queveo.tv, and in concepts such as the Semantic Web and PDPR DTV. 
         [0004]    These exemplary efforts are incorporated herein by reference via exemplary works: L. Ardissono, F. Portis, and P. Torasso, “Architecture of a system for the generation of personalized Electronics Program Guide”, 2001; Z. Yu, X. Zhou, “TV3P: An Adaptive Assistant for Personalized TV”, IEEE Trans. Consumer Electronics, Vol. 50, No. 1, February 2004, pp. 393-399; Y. B. Fernandez, J. J. P. Arias, M. L. Nores, A. G. Solla, and M. R. Cabrer, “AVATAR: An Improved Solution for Personalized TV based on Semantic Inference”,  IEEE Trans. Consumer Electronics , Vol. 52, No. 1, February 2006, pp. 223-231; A. B. B. Martinez, J. J. P. Arias, A. F. Vilas, J. G. Duque, and M. L. Nores, “What&#39;s on TV Tonight? An Efficient and Effective Personalized Recommender System of TV Programs”,  IEEE Trans. Consumer Electronics , Vol. 55, No. 1, February 2009. pp. 286-294; C. Shin and W. Woo, “Socially Aware TV Program Recommender for Multiple Viewers”,  IEEE Trans. Consumer Electronics , Vol. 55, No. 2, May 2009, pp. 927-932; and S. Lee, D. Lee, S. Lee, “Personalized DTV Program Recommendation System under a Cloud Computing Environment”,  IEEE Trans. Consumer Electronics , Vol. 56, No. 2, May 2010, pp. 1034-1042. 
         [0005]    Although many TV recommendation systems have been proposed to improve user experiences, the efforts were undermined by a superficially concluded user preferences investigation. The efforts were also limited by a lack of control on the endpoint devices or return channels from the endpoints to the content/service provider. Some systems provide users the capability to convey explicit feedback during their watching experience, which can seem annoying or distracting for users if embedded in content. Another way to provide feedback is to provide specific buttons, for example, like/dislike, on the remote control to collect users&#39; feedback. Yet another way is implicit user feedback collection, which includes deriving the viewers&#39; tastes from their program selection history, using viewing time as an indication of user preferences, and so on. 
         [0006]    These feedback collection methods and systems are incorporated herein by reference via exemplary works: M. Bjelica, “Towards TV Recommender System: Experimental with User Modeling”,  IEEE Trans. Consumer Electronics , Vol. 56, No. 3, August 2010, pp. 1763-1769; W. P. Lee, and J. H. Wang, “A User-Centered Remote Control System for Personalized Multimedia Channel Selection”,  IEEE Trans. Consumer Electronics , Vol. 50, No. 4, November 2004, pp. 1009-1015; T. Isobe, M. Fujiwara, H. Kaneta, T. Morita, and N. Uratani, “Development of a TV Reception Navigation System Personalized with Viewing Habits”,  IEEE Trans. Consumer Electronics , Vol. 51, No. 2, May 2005, pp. 665-674; and J. Parsons, P. Ralph, and K. Gallagher, “Using viewing time to infer user preference in recommender systems”, in  Proc. AAAI Workshop on Semantic Web Personalization  ( SWP -04), pp. 52-64, 2004. 
         [0007]    In an effort to provide viewers preferred content for selection, Applicant proposes a system and method for presenting content in a format that minimizes the amount of remote control use needed to select desirable content. 
       SUMMARY 
       [0008]    In one embodiment, a system minimizes interactions with an input mechanism. The system comprises a management server communicatively coupled to a user endpoint device, the user endpoint device comprising at least a display configured to display content, an input mechanism configured to change the content displayed on the display, and a transponder mechanism configured to communicate data related to interactions with the input mechanism and displayed content. The management server is further communicatively coupled to at least one processor, at least one storage device, and at least one computer-readable storage medium storing software configured to perform data processing. The at least one storage device is configured to store data based on content displayed on the display, interactions with the input mechanism, and content available for viewing. The at least one processor is configured to use the software to process the data such that a configuration of content data is prepared for display and the configuration is derived from at least the interactions with the input mechanism and the configuration is designed to minimize additional user interactions with the input mechanism to select the prepared content data. 
         [0009]    It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0010]    The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and together with the description, serve to explain the principles of the invention. 
           [0011]      FIG. 1  is an example of a simplified system having endpoints, content providers and a client and content management server. 
           [0012]      FIG. 2  is an example of structures, stored data types, and data and content flow for the system of  FIG. 1 . 
           [0013]      FIG. 3  is an example of a flow diagram for routing and manipulating data and content through the system of  FIG. 1 . 
           [0014]      FIG. 4  is a simplified example of an input device in the form of a remote control. 
           [0015]      FIG. 5  is an example of a key transferring pattern. 
           [0016]      FIG. 6  is an example of an m*n display of content with a possible navigation path from a starting point  1  to icons  2  and  3 . 
       
    
    
     DETAILED DESCRIPTION 
       [0017]    Reference will now be made in detail to the present exemplary embodiments, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. 
         [0018]    In this work, I link the content display on the screen (or other endpoint device) directly to the user remote control usage model in the system design, by utilizing the user interaction frequency as the target to refine the TV watching experiences. This effort maps a TV user experience problem into an optimization problem to minimize the frequency of user interaction and/or the clicks on the keys of the remote control. A novel approach based on a probability table of key transferring and user mood detection is proposed to indirectly determine the content layout, and the method can be naturally extended on all types of remote control devices. Furthermore, a novel hybrid layout-optimized content recommendation algorithm is proposed to select content items from a large database and present it on the screen with a layout that fits into user&#39;s preferences. 
         [0019]    An end-to-end model refines TV user experiences by pushing the right content to users to reduce the user interaction frequency with the TV. The user experience problem is abstracted into an optimization problem. That is, given the user&#39;s past interaction history, a content recommendation model minimizes the frequency of a user&#39;s clicks on the remote control. Here, assumptions include that a user&#39;s click frequency on the remote control is directly linked to the user&#39;s satisfaction with the current viewing content, and that less interaction implies that the user is comfortable with the current viewing content. Additionally, the user&#39;s mood is detected real-time from his/her click frequency, content selection, as well as behavior consistency with the past statistics, and the mood is considered as a factor of the personalization process. 
         [0020]    As explained in more detail below, the least click TV system and method comprises a system architecture and major components, a user behavior analysis algorithm, a hybrid method to analyze user&#39;s preferences, and a layout personalization algorithm. 
         [0021]    The system links the content displayed on the screen (or other endpoint devices) directly to the user remote control usage model in a system design, and uses the user interaction frequency as a target to refine the user experience of TV watching. In addition, it is the first effort to map a TV user experience problem into an optimization problem subject to minimize the frequency of user interaction and/or the clicks on the keys of the remote control. It includes a novel approach based on a probability table of key transferring and user mood detection, which are proposed to indirectly determine the content layout. The method can be naturally extended on all types of remote control devices including future ones. 
         [0022]    A novel hybrid layout-optimized content recommendation algorithm is proposed below to select content items from a large database and present them on the screen with a layout that fits user preferences and minimizes the number of clicks on an input device necessary to select preferred content. 
       1.0 SYSTEM ARCHITECTURE 
       [0023]    As shown in  FIG. 1 , the system is a combination of a cloud  11  and endpoints  1 - 5 , where the endpoints are a variety of kinds, for example, computer  1 , television  2 , mobile phone  3 , laptop  4 , tablet  5  and so on. In general, any device with a screen or projection capability that can display visual content can be an endpoint in the general scope of this system. The endpoints can convey visual or audiovisual media or other multimedia. The media can include books, games, movies, pictures, slideshows, TV programs, content directories, content information, icons, and other graphical user interface (GUI) selectable and viewable items. 
         [0024]    The endpoints can include software, hardware, and/or firmware for implementing the methods and systems set forth herein. For example, the television  2  can be preconfigured with the necessary software and hardware such as a cache, RAM, ROM, transmitter, receiver, processor etc to track such things as user interactions with a remote control, content selected for display, a length of time a program is displayed, and manipulations to the content such as fast forward, rewind, and pause. Other devices such as the mobile phone  3  or laptop  4  can have features such as a cache, RAM, ROM, transmitter, receiver, processor etc that enable it to download an application (“app”) to allow the devices to participate in the system set forth herein. With the widespread availability of internet and Wi-Fi enabled TVs, it is also contemplated that a television  2  can participate with the system via downloadable applications. 
         [0025]    The endpoints are associated with at least one input device, such as a keyboard, remote control, keypad, touchpad, synaptic pad, mouse, or track-ball. The input devices can comprise elements such as physical or rendered buttons or other tactile sensors and mechanisms to convert interactions in to digital data. The endpoints typically include a cache, memory, processor, router, software, computer readable storage medium (CRM), transponder or transmitter and receiver, battery or other power supply, wireless, optical or LAN or other internet or transmission connectivity and other firmware, hardware, or software components well known in the art for providing their intended content display and manipulation functionality. For simplicity of explanation, but not intended as limiting the extent of the physical structure, most examples will focus on a user&#39;s interaction with a television  2  and it&#39;s affiliated remote control  400 . 
         [0026]    In the cloud  11 , a set of components communicate and work with each other. The components can be physically located inside a single server, or the components can sit at different servers or clouds and communicate via standard web service protocols across connectivity such as cables, wires, routers, wireless devices, towers, hotels, etc. For simplicity, hardware, software, and firmware layouts are not shown in the figures. However, it is to be understood that these are a part of the system, along with various components such as computer readable storage mediums (CRMs), software programs, processors, memories (RAM and or ROM), servers, routers, connectivity elements (cables, couplers, routers, wireless transceivers etc.) and so on. 
         [0027]    In the example shown in  FIG. 1 , for simplicity, one cloud  11  is shown with a server  10  with communication means for accessing content databases  18 - 22 . The content databases can be maintained by this service or the content databases  18 - 22  can be provided by third party content suppliers such as subscription services and content vendors. The example of  FIG. 1  further shows a client manager  12  that communicates with many types of endpoints  1 - 5 , traces user interactions with a remote control or other input device, and collects user inputs into at least one database  16 . 
         [0028]      FIGS. 1-3  further illustrate the system architecture and flow of system information and content. 
         [0029]    A content manager  17  works with multiple clouds, or as shown, content databases  18 - 22 . Content manager  17  provides access to many types of content, including movies, TV programs, online videos, music, online gaming and so on. Content manager  17  also searches through the content for desirable titles to push to the user. Additionally, content manager  17  stores accessed meta-data into a quick-access database  172  so that content access will speed up if a used content is checked out again by other users. This speeds up the viewing of “most viewed” or “popular” content. Content manager  17  can maintain attribute data such as actor, actress, genre, title, viewing time, etc. in the same database as the content, or content manager  17  can maintain a separate database of attribute data. The attribute data can be affiliated with displayable icons that represent the attributes and/or content. 
         [0030]    User behavior analyzer  13  closely monitors the user&#39;s interactions with the endpoint  1 - 5 , detects the user&#39;s mood, and evaluates the user&#39;s behavior pattern on the remote control  400 . For example, a user could be very fluent in traversing TV channels via the digital keys  409 , or a user may only limit him/herself to the arrow keys  407  to move around. The user interactions are stored as endpoint interaction data  133 , the user&#39;s mood is stored as user mood data  131 , and the behavior patterns are stored as behavior pattern data  132 . The output of this module will be used in the content layout personalizer module  15 . 
         [0031]    User preference analyzer  14  monitors the user&#39;s viewing history in a longer term and identifies the main interests of the user according to the user&#39;s selection of content genre, actors/actresses, TV channels, and so on. The user preference analyzer  14  derives a recommendation pool  142  using a hybrid approach, below, that combines content-based filtering and collaborative filtering. In general the pool forms a navigation closure box  141  that includes the content the user may access via a set of connections from the last content he/she showed interest in or that he/she seems not interested in. As one example of the connections, the user preference analyzer  14  can affiliate two movies via a limited number of connections. For example, a user selects one movie. The user preference analyzer  14  can select, or the user can indicate, a specific preferred actor, which leads to the selection of the actor&#39;s other movie, which in turn causes the selection of a genre of movies of the same type. Another actor and his movie can then be selected as a preferred movie to offer to the user based on the previous selections by the user and/or user preference analyzer  14 . 
         [0032]    Content layout personalizer  15  contains a layout engine  151  and a content recommendation engine  152 . The layout engine  151  determines the layout of each page according to the user preference obtained by collaborative filtering, and the relative importance of each spot in the layout. The content recommendation engine  152  aims to select a number of content icons from the recommendation pool  142  and fill them into the layout design, and to use a certain strategy to determine the content selection for the page shifting. During the layout process, the user&#39;s inputs are analyzed to produce a key usage model to incorporate with a content preference ranking model derived from the user history statistic. The incorporated results are used to optimize the user&#39;s interaction with the TV, thus the user&#39;s natural remote control usage habit can be maintained. 
         [0033]    The user behavior analyzer  13  relies on user history statistics  121  collected by/via the client manager  12 . User preference analyzer  14  relies on not only the history statistics  121  but also the support of content manager  12  to access a meta-data set of the content database  171 . To supply the meta-data set, the content database  171  can comprise a variety of data types or an assimilation of databases such as client profile, content source profile, user behavior history, user preference model, personalized content layout model, cached content meta-data, or cross-reference model. Content layout personalizer  15  relies on the models obtained from user behavior analyzer  13  and user preference analyzer  14  for final content recommendation, and the user interface is eventually rendered onto the display via messages to and from client manager  12 . 
         [0034]    In the proposed system, there are off-line training processes in the user behavior analyzer  13  and user preference analyzer  14  modules for the clients. The clients may provide refined parameters for an online process which determines the content recommendation in real-time with the collaboration of content layout personalizer  15  and content manager  17 . That is, the client can further supply data on preferences such as actor, actress, genre, titles, viewing time, game preferences, category data, layout data such as grid size or shape or style, display size, preferred interaction buttons, etc. 
         [0035]      FIG. 3  illustrates a simplified flow diagram of data collection, manipulation and content recommendation. For example, a user views an endpoint display of recommended content  301 . The user makes a content selection  303  using remote control  400 . The program information is forwarded to the client manager  12  along with key usage information  304  which provides system information on the keys used on the remote control  400  to select the content. The user can contemporaneously or separately provide user inputted information on preferences  302  to provide additional information on desired content. The additional information can relate to the user&#39;s mood, favorite actors/actresses, favorite programs, favorite games, content preferences related to time of day or day of week, least favorite information, blocked programming, parental controls (V-chip settings), etc. 
         [0036]    The client manager  12  can store the information as data and can forward the information data to the user behavior analyzer  13  and the user preference analyzer  14 . The user behavior analyzer  13  can monitor, detect, evaluate user information  305  and provide module results to the content layout personalizer  15 . The user preference analyzer  14  can receive content information from the content manager  17  and can create a pool of recommended content  306  that can be used to create a navigation box of connected content  307 . The pool of recommended content  306  can be provided directly to the content layout personalizer  15  along with the navigation box of connected content  307 . 
         [0037]    The content personalizer  15  provides a layout determination  308 , a spot importance in layout  309 , content icon placement  310 , a layout shift with page scrolling  311  and a key usage model  312 . These are combined in to a final content recommendation  313  that is forwarded back by the client manager  12  to the endpoint for display. The user can then select content from the endpoint display of recommended content  301  and the selected content can be used to further refine the next recommendation. 
       2.0 USER BEHAVIOR ANALYSES 
       [0038]    The prior art is full of examples of user behavior modeling and its impact on recommendation systems and applications. For example, in incorporated by reference works: Yu et al., “Understanding User Behavior in Large-Scale Video-on-Demand Systems,” in  Proc. EuroSys &#39; 06, April 2006, Leuven, Belgium; Jung et al., “A statistical Model for User Preference,” IEEE Trans. Knowledge and Data Engineering, Vol. 17, No. 6, June 2005, pp. 834-843; and Brusilovsky et al.,  The Adaptive Web: Methods and Strategies of Web Personalization , Springer-Verlag, 2007. 
         [0039]    The instant system and method analyzes the user behavior from many angles in order to catch the internal connections between the user&#39;s behavior and his/her preferences. The analysis provides the following cues useful for building a user behavior model:
       The current mood of the user, which can be determined by the click pace of the user&#39;s interaction, the content genre selected for watching, the frequency of interaction with the input device, and so on;   The key usage pattern or the user&#39;s habit in utilizing the remote control. That is, the variety of ways a user uses an endpoint input such as a remote control, which can include the sequence of button selection and can include differences peculiar to veteran users that use a remote control in a very fluent manner and other users that only explore very limited keys on the remote control;   The number of users as a single consumer or a family. This can be determined from the content selection, as typically men, women, kids, and elders may have different tastes on the content selection. For families with members having almost the same taste, it is no harm to consider the client as a single consumer; and   The usage model of the TV, for example, typical watching hours, frequency of TV watching, content sources, and so on.       
 
         [0044]    The usage model obtained from the analysis will be used in not only the content recommendation process but also in the content layout considerations. 
         [0045]    2.1 Key Usage Pattern 
         [0046]    Different people have different key usage patterns, which include the frequency of remote control usage, the frequency of certain key usage, and the frequency of certain key transferring. In this work, probability tables are maintained for all these patterns, and used in identifying the user or user group and determining the content layout that fits the best into the user&#39;s behavior model. 
         [0047]    An example of a TV remote control  400  is shown in  FIG. 4 . A first section of the remote control  400  can include a set of miscellaneous keys  401 , which can include power buttons or audio-visual (AV) buttons. Menu, guide, or information buttons  402  can be used for selecting corresponding views on the TV. Another section of the remote control can include arrow keys  407  for moving up, down, left, or right on a menu, guide, or information view. A return button  403  can allow a user to go back a view, and an enter button  406  allows a user to affirmatively make a selection on a view. Additional keys can include channel up/down button  405  and volume up/down button  404 . Another section can include program manipulation keys  408  for playing, pausing, stopping, fast-forwarding, reversing, or recording content. Another section can include digital keys  409  for numeric or alphanumeric selection of content. Other sections and keys can be used in more complex remote control or user endpoint input systems, such as QWERTY keyboards, widget buttons, etc. 
         [0048]    As shown in  FIG. 5 , an example diagram of a key transferring pattern is demonstrated, where for each arrowed curve, the destination node refers to the key just pressed and the originating node refers to the key pressed earlier than that. The probabilities of these node transitions form a key transferring pattern, which can be very useful for the user behavior analysis. There are many ways to implement this concept, as shown in  FIG. 5 , all digital keys  409  are considered as the same key, thus transition from digital “3” to “5” would be represented by a self-loop, but this does not have to be this way if another implementation prefers to separate all 10 digits into 10 nodes. Likewise, all arrow keys  407  can be singular or plural nodes. 
         [0049]    Each of the sections or individual keys  401 - 409  of remote control  400  is assigned as K n . Denote by P u (K i ) the probability of using node (or key) K i , and P u (K i K j ) the probability of transition from node K i  to K j , where i and j are the indices of the node, and u is the index of the user. P u (K i ) can be calculated as the total using frequency of node K i  divided by the total using frequency of all nodes. Similarly P u (K i K j ) can be calculated. 
         [0050]    The following similarity evaluation (Eq. 1 below) will be used to determine whether there is a new user or whether a new mood of the user is recently introduced. 
         [0000]    
       
         
           
             
               
                 
                   Similarity 
                   = 
                   
                     { 
                     
                       
                         
                           1 
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               
                                 cos 
                                  
                                 
                                   ( 
                                   
                                     
                                       
                                         P 
                                         
                                           u 
                                            
                                           
                                               
                                           
                                            
                                           1 
                                         
                                       
                                        
                                       
                                         ( 
                                         
                                           K 
                                           i 
                                         
                                         ) 
                                       
                                     
                                     , 
                                     
                                       
                                         P 
                                         
                                           u 
                                            
                                           
                                               
                                           
                                            
                                           2 
                                         
                                       
                                        
                                       
                                         ( 
                                         
                                           K 
                                           i 
                                         
                                         ) 
                                       
                                     
                                   
                                   ) 
                                 
                               
                               * 
                               
                                 cos 
                                  
                                 
                                   ( 
                                   
                                     
                                       
                                         
                                           
                                             
                                               P 
                                               
                                                 u 
                                                  
                                                 
                                                     
                                                 
                                                  
                                                 1 
                                               
                                             
                                              
                                             
                                               ( 
                                               
                                                 
                                                   K 
                                                   i 
                                                 
                                                  
                                                 
                                                   K 
                                                   j 
                                                 
                                               
                                               ) 
                                             
                                           
                                           , 
                                         
                                       
                                     
                                     
                                       
                                         
                                           
                                             P 
                                             
                                               u 
                                                
                                               
                                                   
                                               
                                                
                                               2 
                                             
                                           
                                            
                                           
                                             ( 
                                             
                                               
                                                 K 
                                                 i 
                                               
                                                
                                               
                                                 K 
                                                 j 
                                               
                                             
                                             ) 
                                           
                                         
                                       
                                     
                                   
                                   ) 
                                 
                               
                             
                             &gt; 
                             T 
                           
                         
                       
                       
                         
                           0 
                         
                         
                           
                             otherwise 
                             , 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
       
         
           
             where u1 and u2 refers to two different users in comparison, and T is the threshold between [0, 1] that can be determined by the system. 
           
         
       
     
         [0052]    2.2 User Mood Detection 
         [0053]    As the user&#39;s preference may change during a different mood or emotion, it is important to find ways to detect the current mood of the user or user group. In past works, people have been detecting and recognizing user mood from the music, video or other media that he/she is using. Many bio-signals, such as facial expression, skin temperature, respiration, and so on, have been used to recognize whether a human-being is in a mood such as happiness, sadness, surprise, anger, fear, disgust and so on. Examples of such detection can be found in incorporated by reference works: L. Lu, D. Liu, H. Zhang, “Automatic Mood Detection and Tracking of Music Audio Signals”, IEEE Trans. Audio, Speech, and Language Processing, Vol. 14, No. 1, January 2006. pp. 5-18; S. Kim, P. G. Georgiou, S. Lee, and S. Narayanan, “Real-time Emotion Detection System using Speech: Multi-modal Fusion of Different Timescale Features”, in  Proc. IEEE MMSP  2007; S. Zhang, Q. Tian, Q. Huang, W. Gao, and S. Li, “Utilizing Affective Analysis for Efficient Movie Browsing”, in  Proc. IEEE ICIP  2009. 
         [0054]    In this work, content is linked into a database of vectors of emotion, thus from the users recent content viewing history, the user mood can be derived. In addition, a remote control key press model is built to map into various emotions, thus from the user interaction behavior, a secondary opinion of user mood is detected. By using an equation similar to Eq. (1), the similarity between emotion vectors is compared and thus the current user mood is mapped into a category within the mood list. 
       3.0 USER PREFERENCE ANALYSES 
       [0055]    The user preference analysis targets to characterize a user according to his/her long-term TV viewing history, where the content-based classification method can be applied. Typically a TV content can be labeled as a vector &lt;X i &gt; where X i  belongs to {0, 1} when representing a movie/program category type or actor/award information, for example, a genre category such as drama, horror, or action movie, and X i  can also represents a TV channel which belongs to a larger integer set. 
         [0056]    A simplified version of the mixture Gaussian model is adopted, which was proposed by incorporated by reference C. Stauffer and W. E. L. Grimson, “Learning Patterns of Activity Using Real-Time Tracking”,  IEEE Transactions on Pattern Analysis and Machine Intelligence , August 2000 to solve real-time moving object tracking, into the user preference study. 
         [0057]    In this work, the user preference is modeled and represented by a mixture of K Gaussian distributions (K=1 for the case X i  is a binary value), where each Gaussian distribution is weighted according to the frequency with which it belongs to a specific category. So the probability that the user prefers X t  at time t is estimated as: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       P 
                        
                       
                         ( 
                         
                           X 
                           t 
                         
                         ) 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         K 
                       
                        
                       
                         
                           w 
                           
                             i 
                             , 
                             t 
                           
                         
                          
                         
                           1 
                           
                             
                               
                                 2 
                                  
                                 π 
                               
                             
                              
                             
                               σ 
                               i 
                             
                           
                         
                          
                         
                            
                           
                             
                               - 
                               
                                 1 
                                 2 
                               
                             
                              
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     t 
                                   
                                   - 
                                   
                                     μ 
                                     
                                       i 
                                       , 
                                       t 
                                     
                                   
                                 
                                 ) 
                               
                               T 
                             
                              
                             
                               
                                 ∑ 
                                 
                                   - 
                                   1 
                                 
                               
                                
                               
                                 ( 
                                 
                                   
                                     X 
                                     t 
                                   
                                   - 
                                   
                                     μ 
                                     
                                       i 
                                       , 
                                       t 
                                     
                                   
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where w i,t  is the normalized weight, and μ i  and σ i  are the mean and the standard deviation of the ith distribution. 
         [0058]    The most influential distributions in the mixture form are determined and used to determine if the current user has a specific preference or not. Heuristically, the Gaussian distributions with the most supporting evidence and the least variance are most interesting. Thus, the K distributions are sorted based on the value of w/σ and an ordered list is maintained, consequently to keep the most likely distributions on top and leave less probable state-transient distributions to the bottom. 
         [0059]    The most likely distribution models for a content category are obtained by 
         [0000]        B =arg min b (Σ j=1   b   w   j   &gt;T ),  (3)
 
         [0000]    where the threshold T is the fraction of the total weight given to a specific category. The current user in evaluation is checked against the existing K Gaussian distributions to detect if the distance between the mean of a distribution is within 2.5 times of the standard deviation of this distribution. If none of the K distributions succeed in the evaluation, the least probable distribution which has the smallest value of w/ρ is replaced by a new Gaussian distribution with the current value as its mean, and a pre-assigned high variance, and low prior weight. Otherwise if the matched distribution is one of the B distributions, the user preference is marked. 
         [0060]    To keep the model adaptive, the model parameters are continuously updated using the next content selection from the same user. For the matched Gaussian distribution, all the parameters at time t are updated with this new value X t . In addition, the prior weight is updated by 
         [0000]        w   t =(1α)+ w   t-1 α,  (4)
 
         [0000]      and the mean and variance are updated by 
         [0000]      ρ t =(1ρ)+μ t-1 ρ(− X   t ,  (5)
 
         [0000]      and 
         [0000]      σ t   2 =(1ρ)σ+ t-1   2 ρ(− X   t μ t ) 2 ,  (6)
 
         [0000]    where α is the learning rate controlling adaptation speed, 1/α defines the time constant which determines change, and ρ is the probability associated with the current user, scaled by the learning rate α. So, ρ can be represented by 
         [0000]    
       
         
           
             
               
                 
                   ρ 
                   = 
                   
                     α 
                      
                     
                         
                     
                      
                     
                       1 
                       
                         
                           
                             2 
                              
                             π 
                           
                         
                          
                         
                           σ 
                           t 
                         
                       
                     
                      
                     
                       
                          
                         
                           - 
                           
                             
                               
                                 ( 
                                 
                                   
                                     X 
                                     t 
                                   
                                   - 
                                   
                                     μ 
                                     t 
                                   
                                 
                                 ) 
                               
                               2 
                             
                             
                               σ 
                               t 
                               2 
                             
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0061]    For unmatched distributions, the mean μ t  and variance σ t  remain unchanged, while the prior weight is updated by 
         [0000]        w   t =(1α−) w   t-1.   (8)
 
         [0062]    An advantage of this updating method is that the original preference distribution remains in the mixture until it becomes the least probable distribution and a new preference is observed. So if a static preference happens to change, the previous preference distribution will be rapidly reincorporated into the model. 
       4.0 CONTENT LAYOUT PERSONALIZATION 
       [0063]    The content layout personalization efforts consist of content recommendation as well as content layout. The recommendation engine selects a pool of content based on the current user mood, the user&#39;s preferences and others&#39; recommendations. 
         [0064]    In this work, the layout engine determines the layout of User Interface (UI) and/or content display components according to the user preferences as well as the recommendation content pool. The aim is to minimize the frequency of user interaction. 
         [0065]    4.1 Recommendation Engine 
         [0066]    In general, recommendation systems have quite similar theoretical foundations, as shown in incorporated by reference works to S. Perugini, M. A. Goncalves, E. A. Fox, “Recommender Systems Research: A Connection-Centric Survey”,  Journal of Intelligent Information Systems,  23:2, 107-143, 2004; G. Adomavicius, and A. Tuzhilin, “Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions”,  IEEE Trans. Knowledge and Data Engineering , Vol. 17, No. 6, June 2005, pp. 734-749; and T. L. Wickramarathne, K. Premaratne, M. Kubat, and D. T. Jayaweera, “CoFiDS: A Belief-Theoretic Approach for Automated Collaborative Filtering”,  IEEE Trans. Knowledge and Data Engineering , Vol. 23, No. 2, February 2011, pp. 175-189. These similar foundations occur no matter if it is for book, music or video content. 
         [0067]    In this work, the recommendation engine relies on the following databases:
       D: a content database storing information for all titles/programs available;   R: a database storing information for titles/programs that were recently selected by users in the same/similar interest groups compared to the current user; and   U: a database storing content that the current user viewed in a recent time period.   Let us denote by &lt;Y i &gt; the user preference vector, which corresponds to &lt;X i &gt;, the content characteristic vector. The similarity between these 2 vectors can be calculated by:       
 
         [0000]    
       
         
           
             
               
                 
                   
                     Sim 
                      
                     
                       ( 
                       
                         X 
                         , 
                         Y 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       cos 
                        
                       
                         ( 
                         
                           
                             X 
                             i 
                           
                           , 
                           
                             Y 
                             i 
                           
                         
                         ) 
                       
                     
                     = 
                     
                       
                         
                           
                             X 
                             i 
                           
                           · 
                           
                             Y 
                             i 
                           
                         
                         
                           
                              
                             
                               X 
                               i 
                             
                              
                           
                            
                           
                              
                             
                               Y 
                               i 
                             
                              
                           
                         
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0000]    The calculation of Sim(X,Y) allows the contents of D to be sorted into a list of content that is most-to-least similar to the user preference vector &lt;Y i &gt;. The list can be adjusted using the results in R and U, as below. 
         [0072]    As an example, the following criteria are used during the content selection, though other percentages can be used to adjust the listing:
       80% of the selections are top-ranked items (obtained from Eq. 9) in D that are not in U; and   20% of the selections are top-ranked items in R that are not in U.       
 
         [0075]    After all the selections are ready, a renormalization process is used to get the normalized problem P r  of kth content: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         P 
                         r 
                       
                        
                       
                         ( 
                         k 
                         ) 
                       
                     
                     = 
                     
                       
                         Sim 
                          
                         
                           ( 
                           
                             
                               X 
                               k 
                             
                             , 
                             
                               Y 
                               k 
                             
                           
                           ) 
                         
                       
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                           Sim 
                            
                           
                             ( 
                             
                               
                                 X 
                                 i 
                               
                               , 
                               
                                 Y 
                                 i 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where N is the total number of selections in the pool. 
         [0076]    4.2 Layout Engine 
         [0077]    The layout engine handles the optimization of the following items:
       The choice of the best layout pattern for the current user;   In the layout, how the content icons and UI components should be arranged; and   In the layout, how the navigation system should be design to minimize the user&#39;s interaction.       
 
         [0081]    Although it is ideal to find an overall optimization solution for the system, in this work the first item is separated from the rest. Subjective tests are made with many different users to find out for each user group with a similar user behavior, what would be the best layout pattern. Then, this pattern list is used to match between the current user and the user groups that have been investigated, based on a similarity check formula to recommend a final pattern. The pattern can be evolved slowly during over the lifetime of usage as more user behavior statistics are collected. 
         [0082]    Once the layout pattern is determined, the next question to address is where the navigation starts with and what content to populate to the user. As an example, assume the layout pattern is selected to be a grid-based layout (for example, m*n grid and m=4, n=3 as shown in  FIG. 4 ), which is the most popular layout for IPTV at this moment. Then, find out where the starting point of the navigation would be (it is the node  1  as shown in  FIG. 6 ) and then which m*n content will be selected and then where to put the content (see nodes  2  and  3  as shown in  FIG. 6 ). 
         [0083]      FIG. 6  shows an example of a possible navigation path from the starting point to an icon that the user is trying to select. As shown in  FIG. 6 , the navigation path from the starting point to a possible icon position is shown. For example, from starting point  1  to position  2 , typically 2 right moves and 1 up move need to be made. For this case, the number of clicks (or the length from position  1  to position  2 ) is L=3, and the probability of such 3 consecutive clicks P 1  can be calculated from the key transition probability shown in  FIG. 5 . In addition, the probability of selecting a certain content title (or icon) P 2  has been calculated in section  4 . 1 . 
         [0084]    As the goal is to minimize the user interaction, place the most possible selected icon in the position nearest to the navigation starting point. And, use a cost function for putting a certain title in a position such as position  2  via L*P 1 *P 2 . Use the cost function definition to minimize the total cost of putting all titles in the grid using the cost function definition. 
         [0085]    4.2.1 Optimization Problem Formulation 
         [0086]    Assuming m*n selected content obtained from the recommendation engine, denote by Pr(i) the normalized probability of the ith content being selected by the user. The layout engine is required to fit all m*n content icons into a m*n grid. These grids are labeled by 1, 2, . . . , and m*n, where Loc(i) represents the position of the ith content. Denote by s the position of the navigation starting point (s=1, 2, . . . , or m*n). Pt(j, k) is the key transferring probability from position j to k, which can be easily calculated by the multiplication of the probability of all clicks involved, and L(j,k) is the minimum clicks required to navigate from position j to k. The expected average clicks E[C] can be calculated as: 
         [0000]    
       
         
           
             
               
                 
                   
                     E 
                      
                     
                       [ 
                       C 
                       ] 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       
                         m 
                         * 
                         n 
                       
                     
                      
                     
                       
                         L 
                          
                         
                           ( 
                           
                             s 
                             , 
                             
                               Loc 
                                
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                       * 
                       
                         Pr 
                          
                         
                           ( 
                           i 
                           ) 
                         
                       
                       * 
                       
                         Pt 
                          
                         
                           ( 
                           
                             s 
                             , 
                             
                               Loc 
                                
                               
                                 ( 
                                 i 
                                 ) 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
           
         
       
     
         [0087]    Thus the problem can be formalized as: Find s, and Loc(i) for all m*n contents, to minimize E[C]. 
         [0088]    It is important to realize the interplay of elements to minimize E[C], which is in the format of the sum of the multiplication of two independent terms, L(s,j)*Pt(s,j) and Pr(i), where the first term relates to the 2 positions in the grid, and the second term relates to the content titles. Thus for any selection option of s, the list of L(s,j)*Pt(s,j) is ranked in ascending order and Pr(i) is ranked in descending order. Then, making Loc(i)=j, the sum of L(s,j)*Pt(s,j)*Pr(i) is guaranteed to be the minimized value. From this point of view, the optimization problem can be resolved after iteration over all positions for s, and then the position with minimum E[C] can be used for the solution. 
         [0089]    In order to speed up the process, a sub-optimal solution is to split the original problem into two: 
         [0090]    Find s that minimizes 
         [0000]    
       
         
           
             
               
                 ∑ 
                 
                   j 
                   = 
                   1 
                 
                 
                   m 
                   * 
                   n 
                 
               
                
               
                 
                   L 
                    
                   
                     ( 
                     
                       s 
                       , 
                       j 
                     
                     ) 
                   
                 
                 * 
                 
                   Pt 
                    
                   
                     ( 
                     
                       s 
                       , 
                       j 
                     
                     ) 
                   
                 
               
             
             ; 
           
         
       
     
         [0000]    and 
         [0091]    After the s is determined, then find Loc(i) for all m*n contents, to minimize E[C]. 
         [0092]    Problem (1) can be resolved as quick as look-up in a pre-assigned table, as it is basically searching the minimum value from a list of limited size, and the solution for problem (2) has been demonstrated as in the text above. 
       5.0 CONCLUSIONS 
       [0093]    In this work, a cloud-based TV program recommendation system is proposed, which connects the endpoint display to the remote control and to the intelligent computing in the cloud side. The layout designs as well as the content pushing model are all optimized toward a better user experience based on the remote control usage model. 
         [0094]    Many interesting applications can be developed on top of this proposal, for example, every user can have a personalized TV station in the cloud, so that they can get unique TV watching experiences via this personalized TV station, which is optimized to the user&#39;s specific taste and behavior model on the remote control. 
         [0095]    In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various other modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense. 
         [0096]    For example, the m*n grid can encompass a variety of shapes, the grid can span multiple viewing screens, the user can scroll to grids on different screens, the system or user can select various styles of grids or can stylize the grids or icons, etc. 
         [0097]    Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the invention being indicated by the following claims.