Abstract:
An approach is provided for faceted browsing of video assets. A metadata file is parsed to categorize and rank attributes corresponding to a video asset, wherein the ranked attributes are based on a criterion. A set-top box provides attribute browsing to determine selection of the video asset.

Description:
BACKGROUND INFORMATION 
       [0001]    The media industry has many avenues for providing users with entertainment sources, through television, film, gaming, etc. As the number of available broadcast channels, IPTV (Internet Protocol television) sources, recorded programs, on-demand videos, and on-demand games grow in number, users face the daunting task of trying to find programs of interest. Locating an item of interest among the thousands of items of content, in a television environment, poses a major challenge in that time spent searching undercuts the objective of providing the user with more variety. Reduction or streamlining of content is unacceptable, particularly in light of the competitive landscape of media delivery. However, the user&#39;s task of selecting desired content becomes more onerous as the number and variety of content continues to increase. For instance, content from IP sources can be made available to television (TV) systems; the global Internet is replete with user generated video streams, web casts, etc. Undoubtedly, the user interface must keep pace with the explosion of content. 
         [0002]    Common methods of locating content include text search and category browsing. Text search can accurately find content, but is slow and cumbersome with the current generation of remote control technologies. Category hierarchies, such as those employed in many current video-on-demand (VOD) systems, are slow and often result in empty or non-interesting sets of results. This causes users to “bob” through the groupings: traversing deep into one area of the hierarchy, coming back up, traversing down yet another area. It is noted that users often trying to find a branch they had viewed previously before finally choosing a program. This laborious process can easily discourage a user from selecting content all together; in a pay-per-view scenario, this results in loss of revenue for the service providers. 
         [0003]    Therefore, there is a need for efficiently browsing through content listings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0004]    Various exemplary embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which: 
           [0005]      FIG. 1  is a diagram of a system capable of providing faceted browsing of video assets, according with an exemplary embodiment; 
           [0006]      FIG. 2  is a flowchart of a process for collapsing and ranking attributes in support of faceted browsing, according to an exemplary embodiment; 
           [0007]      FIG. 3  is a diagram of a system for managing video assets, according to an exemplary embodiment; 
           [0008]      FIG. 4  is a flowchart of a process for asset selection, according to various exemplary embodiments; 
           [0009]      FIG. 5  is a diagram of a video asset file, according to an exemplary embodiment; and 
           [0010]      FIG. 6  is a diagram of a computer system that can be used to implement various exemplary embodiments. 
       
    
    
     DETAILED DESCRIPTION 
       [0011]    In apparatus, method, and software for attribute browsing of video assets are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the various exemplary embodiments. It is apparent, however, to one skilled in the art that the various exemplary embodiments may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the exemplary embodiments. 
         [0012]    Although the various embodiments of the present invention are described with respect to video assets, it is contemplated that these embodiments have applicability to other media. 
         [0013]      FIG. 1  is a diagram of a system capable of providing faceted browsing of video assets, according with an exemplary embodiment. A video delivery system  100  includes a service provider system  101  serving multiple subscriber sites  103  (of which only one is shown). The service provider system  101  communicates with one or more content provider systems  105 . It is contemplated that the service provider can also be the content provider in some instances. The content provider system  105 , by way of example, maintains content as asset files  107  along with metadata files  109  corresponding to various assets. In certain exemplary embodiments, these assets are video assets, which include on-demand videos, broadcast programs, games, IPTV (Internet Protocol Television), digital video recordings, broadcast television program guide data, etc. Such assets can delivered to the service provider system  101  through any variety of transmission facility  111 . 
         [0014]    The service provider system  101 , in an exemplary embodiment, utilizes an asset parser  113  to parse the metadata files of the assets. The metadata can be in form of an extensible Markup Language (XML) file, for example. The parser  113  categorizes attributes of the assets for storage in an asset database  115 . This database  115  is accessible via an asset attribute server  117 . Additionally, the asset database  115  is administered by an asset administrator  119 . 
         [0015]    At the subscriber site  103 , a user  121  can utilize a remote controller  123  to interface a set-top box  125  to select the asset (e.g., programming) for viewing by a display  127 . The remote controller  123  can employ infrared, radio frequency (RE) signals, or other wireless links (e.g., BLUETOOTH) to communicate with the set-top box  125 . Additionally, it is contemplated any type of input interface can be used; e.g., a keypad on the set-top box  125 , a game controller, a keyboard that is separate from the set-top box  125 , mouse, etc. The user can navigate a large amount of content through an “attribute browsing” capability to find a specific asset. The system  100 , in an exemplary embodiment, applies “faceted browsing” techniques to the meta-data provided with the types of assets. This browsing capability, in certain embodiments, can be implemented as part of an interactive program guide (IPG), or other applications. 
         [0016]    “Faceted browsing” addresses the shortcomings of the conventional text search and category browse methods. Faceted browsing refers to a method of searching through a set of objects based on attributes of those objects (e.g., name, color, weight, size, etc.), and using those attributes to refine the scope of the objects that are shown. As an illustration of this concept, the selection of fruits and vegetables is described. One could first select only items that are green, and further from the resulting set, select only items weighing more than a certain weight, e.g., 7 pounds. Accordingly, finding a watermelon in the remaining set would be much simpler than finding watermelon from all fruits and vegetables. 
         [0017]    It is recognized that in the environment of the subscriber site  103 , simplicity of the interface for the “television with remote control” environment is important in consumers&#39; willingness to subscribe to more and more content. Accordingly, the system  100  uses, in an exemplary embodiment, the attributes describing the available assets to enable the viewer to compose complex searches in a step-wise fashion, with a presentation of possible attributes and matching video assets at each step of the process. This type of search process would not frustrate the viewer in that return of null set of matches is avoided. This search process has the added advantage of being well-suited to the television user-interface with its “highlight and click” paradigm. This browsing technique is supported through manipulation of the metadata (or attributes), as explained in  FIG. 2 . 
         [0018]      FIG. 2  is a flowchart of a process for collapsing and ranking attributes in support of faceted browsing, according to an exemplary embodiment. The process involves categorizing (e.g., collapsing), as in step  201 , a list of attributes across all the types (e.g., rating, price, genre, etc.), and ranking the attributes based on a criterion (step  203 ). For example, one criterion can specify the frequency of occurrence of the attribute. This yields a list of attributes from which the user may select from, as in step  205 . Also, a resulting list of all assets that meet the filter requirements of the attributes that have been selected. This browsing mechanism also allows the viewer to “window shop” and to view all the video assets that are available within a selected set of filters. For example, if the viewer were to pick a category of “foreign” and then the country (e.g., “Italy”), the user may find assets, such as movies in the Italian language, movies with Italian themes, music videos from Italian bands, and/or games set in Italy. This type of browsing highlights what content the system  100  has to offer rather than unavailable content. 
         [0019]    As seen in  FIG. 2 , the process can be repeated using newly selected attributes, as in step  207 . Thereafter, the user is presented with a list of objects meeting the specified attributes, per step  209 . 
         [0020]    The above arrangement enables users to quickly browse large sets of assets, and to narrow the collection of assets based on metadata types of interest to the user. 
         [0021]      FIG. 3  is a diagram of a system for managing video assets, according to an exemplary embodiment. The asset parser  113  of the system  100  includes a categorization module  301  for categorizing attributes of the assets and a ranking module  303  to rank the attributes. The ranking module  303  operates in conjunction with attribute rules or criteria applied to the attributes, such as frequency of occurrence. These rules or criteria are stored in an asset attribute rules database  305 ; such rules can be determined by the service provider through the administrator  119 . For the purposes of illustration, assets are delivered to the transmission facility  111  with, for example, an XML file describing the assets. 
         [0022]    As mentioned, the metadata  109  can be in form of an XML file, according to an exemplary embodiment. For instance, Tables 1 and 2 show exemplary XML files, which the asset parser  113  can process. 
         [0000]    
       
         
               
             
           
               
                 TABLE 1 
               
               
                   
               
             
             
               
                 &lt;asset&gt; 
               
               
                   &lt;type&gt;movie&lt;/type&gt; 
               
               
                   &lt;content_filesize&gt;522&lt;/content_filesize&gt; 
               
               
                   21 title&gt;Tough Mission III&lt;/title&gt; 
               
               
                   &lt;genre&gt;action&lt;/genre&gt; 
               
               
                   &lt;MPAA_rating&gt;PG-13&lt;/ MPAA_rating&gt; 
               
               
                   &lt;production_year&gt;2006&lt;/production_year&gt; 
               
               
                   &lt;plot_summary&gt;Dan Hunt comes face to face with a dangerous and 
               
               
                     sadistic arms dealer while trying to keep his identity secret in 
               
               
                     order to protect his girlfriend, &lt;/plot_summary&gt; 
               
               
                   &lt;director&gt;J.J. Shoot&lt;/director&gt; 
               
               
                   &lt;runtime&gt;126&lt;/runtime&gt; 
               
               
                   &lt;suggested_price&gt;3.95&lt;/suggested_price&gt; 
               
               
                   &lt;language&gt;English&lt;/language&gt; 
               
               
                   &lt;country&gt;U.S.&lt;/country&gt; 
               
               
                   &lt;actor&gt; 
               
               
                     &lt;name&gt;Action, Tom&lt;/name&gt; 
               
               
                     &lt;role&gt;Dan Hunt&lt;/role&gt; 
               
               
                   &lt;/actor&gt; 
               
               
                 &lt;/asset&gt; 
               
               
                   
               
             
          
         
       
     
         [0000]    
       
         
               
             
           
               
                 TABLE 2 
               
               
                   
               
             
             
               
                 &lt;asset&gt; 
               
               
                   &lt;type&gt;sitcom&lt;/type&gt; 
               
               
                   &lt;name&gt;Funny Earl&lt;/name&gt; 
               
               
                   &lt;episode_name&gt;Mailbox&lt;/episode_name&gt; 
               
               
                   &lt;VCHIP_rating&gt;TV-PG&lt;/ VCHIP_rating&gt; 
               
               
                   &lt;description&gt;A bored Catalina offers to help Earl with number 75 on 
               
               
                     his list, cleaning out a mailbox he once used as a trash can. 
               
               
                     &lt;/plot_summary&gt; 
               
               
                   &lt;showdate&gt;11/9/2006&lt;/showdate&gt; 
               
               
                   &lt;start&gt;8:00pm&lt;/start&gt; 
               
               
                   &lt;minutes&gt;30&lt;/minutes&gt; 
               
               
                   &lt;suggested_price&gt;0.00&lt;/suggested_price&gt; 
               
               
                   &lt;high_definition&gt;No&lt;/high_definition&gt; 
               
               
                   &lt;actor&gt; 
               
               
                     &lt;FirstName&gt;Jason&lt;/FirstName&gt; 
               
               
                     &lt;LastName&gt;Fun&lt;/LastName&gt; 
               
               
                     &lt;role&gt;Earl Hiccups&lt;/role&gt; 
               
               
                   &lt;/actor&gt; 
               
               
                 &lt;/asset&gt; 
               
               
                   
               
             
          
         
       
     
         [0023]    The above XML files can be formulated in a download video asset file, as shown in  FIG. 4 . As described earlier, this file can include information describing the video asset. A similar XML file can be provided for each program available on broadcast television, for example. The file can span a certain period (e.g., 2 weeks) of broadcast, and can be updated periodically (e.g., on a daily basis). This XML file can be used to generate a program “grid” for providing information about each broadcast program, such as program name, episode name, V-Chip rating, actors, and plot summary. As new types of content become available, such as user generated content (e.g., IP sources), such content will also include XML information detailing the new type of content. 
         [0024]    The asset parser  119  parses the XML files to obtain a database of video assets and the attributes associated with each one. For example, attributes such as “Content_Filesize” are ignored; and synonyms are substituted where appropriate, such as “Free” in place of “Suggested_Price 0.00.” Also, differences in naming conventions are properly handled, such as “Action,Tom” in the video-on-demand files and FirstName=“Tom” MiddleName=“” LastName=“Action” in the broadcast television file. 
         [0025]      FIG. 4  is a diagram of a video asset file, according to an exemplary embodiment. Section  401  specifies the fields for the asset, as enumerated in Table 3. Sections  403  and  405  provide values of the particular assets. 
         [0000]    
       
         
               
               
               
             
           
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                 FIELD 
                 DESCRIPTION 
               
               
                   
                   
               
             
             
               
                   
                 Type 
                 Category of video asset 
               
               
                   
                 Name 
                 Title of the video asset 
               
               
                   
                 Episode 
                 Episode information 
               
               
                   
                 Year 
                 Year the asset was released 
               
               
                   
                 Rating 
                 Rating information (e.g., Motion Picture 
               
               
                   
                   
                 Association of America 
               
               
                   
                   
                 (MPAA) rating information) 
               
               
                   
                 Date 
                 Date available for viewing 
               
               
                   
                 Start 
                 Start time 
               
               
                   
                 Length 
                 Duration of video asset 
               
               
                   
                 Price 
                 Cost of the video asset per viewing 
               
               
                   
                 HD 
                 Specifies whether High Definition (HD) format 
               
               
                   
                 Country 
                 Country where asset was produced 
               
               
                   
                 Actor 
                 Name of actors 
               
               
                   
                 Role 
                 Role of actors 
               
               
                   
                 Plot 
                 Plot summary 
               
               
                   
                   
               
             
          
         
       
     
         [0026]      FIG. 5  is a flowchart of a process for asset selection, according to various exemplary embodiments. This scenario involves the user  121  using the remote control device  123  to invoke an asset selection option, as in step  501 . The set-up box  107  then displays, as in step  503 , asset information—e.g., list of objects (e.g., video titles) with associated attributes. In an exemplary embodiment, two lists are presented: an initial list of all attributes, sorted by frequency; and a list of all video titles, sorted alphabetically, for instance. Alternatively, the list of titles can be sorted by a “popularity/time of day” relevance score. The user  121  can subsequently select an attribute, per step  505 . In other words, to find a video of interest, the user can scan the list of titles, or narrow the title list by “clicking” an attribute. That clicked (or selected) attribute is used as a filter to generate a new, smaller list of titles (in which all the titles have that attribute, sorted as mentioned above). It is noted that the list can be expanded at any time by “de-selection” of an attribute. 
         [0027]    In turn, the set-top box  107 , per step  507 , retrieves content information (e.g., list of titles) from the asset database  115  corresponding to the selected attribute and displays the retrieved list of titles. From this new list of titles, a new list of attributes is generated—e.g., the attributes of all the titles in the new list, sorted by frequency. At this point, the user  121  can further narrow the listings by selection of other attributes. The user can further refine the list of titles by clicking another item in the list of attributes, or expand the list of titles by removing one of the attributes in the current filter set. Each chosen attribute becomes a filter term, logically “AND-ed” together to refine the list of titles (and the associated list of attributes of those titles). A “back” function can be added to “undo” an added search term (attribute). In this way a user can quickly narrow a long list of titles using any attributes of interest. Further, because each successive list of attributes is derived from the just-narrowed list of titles, clicking any attribute at any step along the navigation path will return at least one title. 
         [0028]    To further illustrate faceted browsing, if in the initial list the user  121  clicked on the attribute “PG,” the list of all titles would be replaced by only those titles having as one of their attributes an MPAA rating of “PG.” Additionally, the list of attributes would be replaced by a list of all the attributes of this reduced set of PG titles (e.g., ordered by frequency). The selection of an attribute, for example, could specify a maximum or minimum value. Using this example, selecting PG may result in a result set that contains everything PG or less, including G and TV-Y, etc. 
         [0029]    Moreover, some of these “PG” titles can be tagged as a “Comedy” in their XML files, such that “Comedy” would appear in this new attribute list. If the user clicks “Comedy” in this attribute list, then the list of all titles would be replaced by only those titles having both attributes “PG” and “Comedy.” The attribute list would be replaced by a list of all the remaining attributes of this new set of titles. 
         [0030]    It is noted that these “PG comedies” can be tagged as High-Definition (HD) in their XML files, so “High-Definition” would appear in the new attribute list. By clicking “High-Definition” the user will receive a list of “PG comedies in High-Definition”, etc. 
         [0031]    At some point during the browsing process, the list of titles will be narrowed to a usable or workable number of entries. In step  509 , the user  121  can highlight a selection using the remote control device  123  and “clicks” on the title. In step  511 , the set-top box requests the selected asset. Alternatively, by selecting an item in the title list, the user  121  can be directed to other options, such as watching a preview, paying for viewing rights (for video-on-demand content), setting the DVR to record (for broadcast), etc. 
         [0032]    This searching capability (i.e., attribute browsing) permits finding niche content more quickly than the traditional text search method. 
         [0033]    The above described processes relating to faceted browsing may be implemented via software, hardware (e.g., general processor, Digital Signal Processing (DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or a combination thereof. Such exemplary hardware for performing the described functions is detailed below. 
         [0034]      FIG. 6  illustrates a computer system  600  upon which an exemplary embodiment can be implemented. For example, the processes described herein can be implemented using the computer system  600 . The computer system  600  includes a bus  601  or other communication mechanism for communicating information and a processor  603  coupled to the bus  601  for processing information. The computer system  600  also includes main memory  605 , such as a random access memory (RAM) or other dynamic storage device, coupled to the bus  601  for storing information and instructions to be executed by the processor  603 . Main memory  605  can also be used for storing temporary variables or other intermediate information during execution of instructions by the processor  603 . The computer system  600  may further include a read only memory (ROM)  607  or other static storage device coupled to the bus  601  for storing static information and instructions for the processor  603 . A storage device  609 , such as a magnetic disk or optical disk, is coupled to the bus  601  for persistently storing information and instructions. 
         [0035]    The computer system  600  may be coupled via the bus  601  to a display  611 , such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. A TV interface  612  can optionally be provided to output to a television set. An input device  613 , such as a keyboard including alphanumeric and other keys, is coupled to the bus  601  for communicating information and command selections to the processor  603 . Another type of user input device is a cursor control  615 , such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor  603  and for controlling cursor movement on the display  611 . 
         [0036]    According to one embodiment of the invention, the processes described herein are performed by the computer system  600 , in response to the processor  603  executing an arrangement of instructions contained in main memory  605 . Such instructions can be read into main memory  605  from another computer-readable medium, such as the storage device  609 . Execution of the arrangement of instructions contained in main memory  605  causes the processor  603  to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory  605 . In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the exemplary embodiment. Thus, exemplary embodiments are not limited to any specific combination of hardware circuitry and software. 
         [0037]    The computer system  600  also includes a communication interface  617  coupled to bus  601 . The communication interface  617  provides a two-way data communication coupling to a network link  619  connected to a local network  621 . For example, the communication interface  617  may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. As another example, communication interface  617  may be a local area network (LAN) card (e.g. for Ethernet™ or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface  617  sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface  617  can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although a single communication interface  617  is depicted in  FIG. 6 , multiple communication interfaces can also be employed. 
         [0038]    The network link  619  typically provides data communication through one or more networks to other data devices. For example, the network link  619  may provide a connection through local network  621  to a host computer  623 , which has connectivity to a network  625  (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the “Internet”) or to data equipment operated by a service provider. The local network  621  and the network  625  both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link  619  and through the communication interface  617 , which communicate digital data with the computer system  600 , are exemplary forms of carrier waves bearing the information and instructions. 
         [0039]    The computer system  600  can send messages and receive data, including program code, through the network(s), the network link  619 , and the communication interface  617 . In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an exemplary embodiment through the network  625 , the local network  621  and the communication interface  617 . The processor  603  may execute the transmitted code while being received and/or store the code in the storage device  609 , or other non-volatile storage for later execution. In this manner, the computer system  600  may obtain application code in the form of a carrier wave. 
         [0040]    The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor  603  for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as the storage device  609 . Volatile media include dynamic memory, such as main memory  605 . Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus  601 . Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read. 
         [0041]    Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the various exemplary embodiments may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA) or a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory can optionally be stored on storage device either before or after execution by processor. 
         [0042]    In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various 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 flow. The specification and the drawings are accordingly to be regarded in an illustrative rather than restrictive sense.