Patent Publication Number: US-8126763-B2

Title: Automatic generation of trailers containing product placements

Description:
The present invention generally relates to a method and computer system for automatic creation of trailers containing product placements. In particular it relates to a method for generating revenues from providers of content data. 
     Using the TV for promoting products has been very popular since many years. However companies that have been using films, TV programs and similar channels for marketing have had the problem that viewers might not see the product placements. The main reason, for this has been that many people see the commercials as a break for making sandwiches or going to the bathroom. 
     Marketing people came up with a idea that would promote a products in a film without the viewers leaving the room. The idea was to promote products by making actors in films and TV programs use products so that viewer would see them as a natural part of the film. 
     However the recent change and development in broadcasting technology, where Internet TV and pay per view has become increasingly popular, puts the providers of product placement in an even more difficult situation. Now viewers have an explosion of films to watch and may end up watching fewer and fewer as time to watch films is reduced. (Earlier there was lesser choice and everybody watched the Sunday evening film). 
     Thus, with the new technology viewers have more control and can pick and choose what they want from a variety of offerings. 
     This possibility for viewers results in reduced eyeballs for the product placement providers. Hence the return on the investment that providers of the product placements invests in these marketing channels is more or less wasted. 
     A solution on this problem would be very beneficial for the companies owning and/or managing these marketing media since they would be able to provide better service to the product placement providers. Furthermore it would also be very beneficial for the product placement providers since the product placements would be more exposed to viewers. Thus the providers of product placement would experience more “bang for the bucks”. 
     One area that could be more exploited is trailers. Currently, there exist automatic methods to generate trailers of films recorded on home media servers, such as TiVo or the alike. Furthermore video and audio fingerprinting and matching is a known technology. 
     However, none of the prior art technologies provides a solution where the exposure time of a product placement is ensured without editing a film or TV program. 
     It is an object of the present invention to provide a method and system for increasing additional revenues generated by showing the viewers/users a trailer of a film or program comprising product placements. 
     It is an advantage of the present invention to provide a method and system for creating a subset of data designed for a specific customer from a superset of data. 
     It is further an advantage of the present invention to provide an electronic device for creating a subset of data comprising product placements from a superset of data. 
     According to a first aspect of the invention the above object and advantages are achieved by providing a method of creating a sub set of data comprising data segments from a superset of data, the superset comprising:
         content data, and   content data tagged with metadata,
 
the method comprises the steps of:
   based on the metadata, detecting data segments comprising at least the tagged content data in the superset,   selecting one or more data segments according to at least one user profile,   combine the one or more data segments so as to form a sub set of data.       

     In a second aspect of the invention, the above and other objects are fulfilled by a computer system for creating a sub set of data comprising data segments from a superset of data, the superset comprising content data and tagged content data, the computer system comprising:
         an electronic device comprising a memory,   a database comprising at least one superset of data,   a computer network, and   at least one network connection,   wherein the electronic device is programmed to:   request data segments of the superset stored in the database over the network connection,   select at least one data segment comprising tagged content data, according to a user profile stored in the memory, and
 
combine the at least one data segment so as to form a sub set of data.
       

     In a third aspect of the invention, the above and other objects are fulfilled by an electronic device comprising, at least one processor, at least one memory comprising one or more user profiles, at least one output, and at least one connection for receiving and/or sending data, the electronic device being programmed to:
         request data comprising data segments further comprising tagged content data, via the connection for receiving data,   select at least one of the data segment according to the user profile,   combining at least one selected data segment so as to form a sub set of data, and providing the sub set of data to the output.       

     Thus the present invention allows for creating a sub set of data from a superset of data on any kind of electronic device and to display the subset of data on any kind of display. Hence the present invention provides means for e.g. creating a trailer from a film on a set top box or mobile phone or the alike. 
     By the present invention data segments comprising product placements are selected from the superset of data, so as to secure displaying the product placement data to a user/viewer and hereby provide a better service to the providers of the product placement data. Since the product placement will be exposed to a viewer the provider of the product placement will experience an increase in marketing of a product or service. Thus a broadcasting company providing this service helps the provider of the product placement to promote their products/services in a more efficient way and will therefore be able to invoice the provider of the product placement. 
     The superset may comprise content not only related to films. The creation of a subset may be based on different kinds of supersets of data, the content data in the superset may therefore be related to any of the following digital/analog media:
         films,   games,   Tv,   radio,   Internet.       

     Thus content data may comprise many different kinds of data, such as MP3, MPEG-1, MPEG-2, QuickTime, MPV, and so forth. 
     The value of the counter that may be used when creating invoices preferably relates to an aggregated amount of time relating to the tagged content data. 
     In a second embodiment the value of the counter may relate to an aggregated number of times the tagged content data has been selected. 
     Furthermore a combination of these values may be used for creating an invoice to a content provider. 
     In order to design a sub set of data so that it suits a specific user/viewer a user profile comprising data about a user may be used, preferably the user profile comprises at least one of the following data about the user:
         gender,   age,   habits,   area,   time,   content provider, and   broadcaster settings (default settings)   personality traits (e.g. introvert, extravert, etc.).       

     Preferably the tagged content data is product placement data. The product placement is tagged so that it is possible to classify it, compare it with a user profile and so that it is possible to find it in a superset of data. 
     Hence by classifying the product placement data it is possible to match the product placement data with a viewer, an area, culture of a viewer or area, language of a viewer and so forth. 
     Furthermore in a second embodiment the superset of data may comprise non-program data such as commercials and so forth. In these cases the method for creating a subset preferably comprise the following steps:
         detecting the non-program data, and   while considering the detected non-program data, estimating a start and a stop time for the detected data segments in the superset, and   based on the estimated start and stop time, combining the selected data segments so as to form a sub set of data.       

     In the case when fingerprint metadata is used in the method for finding a data segment the fingerprint metadata may be stored on a separate database. In this way the fingerprint metadata can be accessed online and used for creating subsets of data. 
     In another embodiment the fingerprint metadata may be a part of the superset so that it is sent along with the superset. 
     In a further embodiment the fingerprint metadata may be sent as a separate file together with the superset of data. 
     In the cases when fingerprint metadata may be used the fingerprint metadata preferably comprises:
         audio fingerprint data,   video fingerprint data, and   text fingerprint data,   and the method for creating a subset may further comprise the steps of:   text fingerprint matching,   audio fingerprint matching, and   visual fingerprint matching.       

     The method for generating revenues from providers as described in the first aspect of the invention may be combined with any of the methods for creating a sub set of data according to the other aspects of the invention. 
     The electronic device may furthermore be programmed to select segments from data files stored on a data carrier such as a floppy disc, CD, DVD, memory stick, credit card, mobile phone, PDA and so forth. 
     Furthermore according to another embodiment, the methods described herein may further comprises the step of selecting data segment according to at least one trailer requirement(s), in order to create a subset comprising data segments that describes a film or program in a comprehensible way. 
     Preferably the trailer requirement(s) comprises at least one requirement from one of the following classes:
         duration,   continuity,   priority,   redundancy,   exclusion,   structural order requirements,   temporal order requirements and   product placement.       

     Wherein the requirements preferably are formalised in computable constraints so that they can be used in e.g. constrained optimisation problems. 
     It will be appreciated that features of the invention are susceptible to being combined in any combination without departing from the scope of the invention. 
     These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter. 
    
    
     
       Embodiments of the invention will now be described, by way of example only, with reference to the following diagrams wherein: 
         FIG. 1  shows an illustration of a superset of data comprising content data and tagged content data where some segments of the superset have been merged into a sub set of data. 
         FIG. 2  shows an illustration of an embodiment of the system used in connection with the present invention. 
         FIG. 3  is a schematic illustration of the system in  FIG. 2  wherein some of the internal modules in the electronic device is shown. 
     
    
    
     Figures are preferably schematically drafted in order to facilitate the understanding of the invention. Therefore other designs that could be drafted in the same schematic way are implicitly also disclosed in this document. 
     Preferred embodiments together with some examples will be described in this section. 
     In this application some specific terms are used, below follows a description of these.
         A broadcasting company may be any company that is able to provide consumers with information via any media such as TV, Radio, Internet and so forth.   Providers of content preferably relates to business entities that want to promote/market their products and/or services. For example a provider of content could be Nike, or Coca-Cola, BMW, Rolex and so forth.   Product placement data comprises data relating to a product or service that may be displayed. For example a scene in a film showing a pair of Nike shoes.   Data set preferably relates to an organised collection of data with a common theme.   A subset may be a set that is included in another set, which is called a superset.   A superset preferably has all the characteristics of the subset and additional characteristics.       

     Content data may be any kind of data that can be displayed/played to a viewer such as sounds, films, text, pictures, 3D world, virtual reality environments, music or other interactive content where product placement data may be used. 
     As described earlier the present invention relates to a method and system for generating revenues from providers of content data. 
     These providers may want to promote one or more of their products in a film therefore they may want an actor to use their products, such as a car, watch, or shoes in a film. Furthermore they may want an actor to eat or drink their product in a film. 
     A superset of data according to the invention may comprise a film, a computer game, a TV program, a radio program, an Internet lecture, an interactive flash presentation, and so forth. 
     In any of the above examples it is possible to place product placements in order to promote a product or service to viewers/consumers. 
     However, in some cases the purpose of product placements may not be aimed at needs for individuals, a product placement may be aimed at the needs of organisations and therefore product placement may be integrated in instruction films used for education of people in organisations and so forth. 
       FIG. 1  is an illustration of how a subset  6  of data may be created from a superset  1  of data. The superset of data comprises content data  5  and tagged content data  4 . The tags may comprise metadata  2 . Metadata  2  can exist for the entire duration of the superset and not only as shown in the figure. In the preferred embodiment subsets are created from segments where the metadata indicates commercial placements such as product placements and so forth. 
     Preferably the tags describe what information the content data comprises. This makes it possible for a software program or a user to find specific segments in the superset of data. 
     The tagging of the content data is preferably done manually by one or more persons that reviews e.g. a film or game and finds the positions of product placements. At this position he/she creates a tag that may comprise information such as: what product, product qualities, colours, context of product usage, who is the provider, to what kind of customer is the product suitable for, both professional and private, to extraverts but not to introverts, and so forth. 
     Also, the advertiser for the product can include a bid of how much they are interested in a particular kind of customer and whether all segments should be included or certain percentage (e.g. 50% of the appearances of the product for X amount of dollars, vs. 70% of the appearances should be included for X+Y amount of dollars. 
     Furthermore the tagging of the content data may be done automatically by running recognition software screening e.g. each picture in a move and using image recognition for finding logos or specific shapes of a product etc. 
     The superset  1  of data may be data representing a film, TV-program, computer game, radio program, or any other kind of media that can be represented by a data set. 
     Preferably the superset of data comprises sections of product placement data (A, B, C, D) these sections are preferably tagged content data  4 . The sections A, B, C and D may relate to different types of products, for example the A section may relate to Nike shoes, the B section may relate to a car type such as Jeep, the C section may relate to Corn Flakes and the D section may relate to a watch type such as TagHeur. 
     When a subset of data is created, for example when a trailer is created from a film, segments  3  from the film are chosen to represent the film in the trailer, preferably the segments  3  are chosen according to a user profile. 
     The segments  3  that are chosen according to the user profile comprises at least the tagged content data  4 . The tag  2  may comprise metadata describing the content data  4  and/or describing to which type of user/viewer the content data is suitable for. In this way the tagged content data  4  comprising the product placement can be matched with a user profile. 
     However, the chosen data segments  3  preferably comprises more data than just the tagged content data. Thus a one minute long trailer may comprise 10 seconds of product placement, the other 50 seconds contains other parts of the content data. 
     Thus the segments  3  that are chosen from the superset  1  may comprise both tagged content data  4  and “not tagged” content data  5  and/or the segments may contain only tagged content data or only “not tagged” content data. 
     As described earlier the whole length of the superset may be tagged with metadata, the expression “not tagged” above relates to parts of a superset that is not tagged with metadata comprising product placement tags. 
     The tagged content data in the chosen segments  3  may be in the beginning of the segment in the middle of the segment or in the end of the segment. Thus, how a segment  3  is extracted from the superset  1  may be based on what the content the data  5  in the vicinity of the tagged content data  4  comprises. 
     The superset of data may therefore further be tagged or marked so that a program will be able to find the borders  9  and  10  of the segments that are to be chosen. 
     In one embodiment the borders may be located by creating an external file comprising metadata that describes where in the superset the segments are located. This may be done by recording a start time for the beginning  9  of the segment and a stop time of the end  10  of a segment  3  from the start of the superset  7 , or from the end  8  of the superset. 
     If other information has been included in the superset such as a commercial the start and stop time preferably is compensated with this difference or change in time. This information may also be located in an external file. 
     In another embodiment the metadata describing the location, start and stop time of the segments may be included as metadata  11  in the superset  1  of data. 
     An Example of a Superset Comprising a Film. 
     In this case the superset comprises all data that is related to this move e.g. sounds, pictures, voices, metadata and so forth. 
     A sub set of the superset may only comprise selected segments of the pictures and sounds from the film. 
     Superset Comprising a Flash Presentation 
     Another example is where a superset comprises an interactive flash presentation. 
     In this case the superset comprises all data that is related to the presentation e.g. sounds, films, text, pictures, PowerPoint presentations, graphs, questionnaires, and so forth. 
     Thus a subset may only comprise some of the most interesting PowerPoint&#39;s, and some of the sounds from the flash presentation, where product placements occur. 
     Superset Comprising a Game 
     In a further example the superset may comprise an Internet world/community or game where people are able to walk around with a character in a 3D computer world where it is possible to market products as in the real world such as on posters, sounds, and so forth. 
     Thus if the broadcasting company (in this case a company managing an Internet world) wants to make a commercial/trailer about the Internet World/community or game, the provider can choose to select pictures or films comprising product placements from this Internet world/community or game, and in this way promote the products/services for content provider that has product placements in this world/game. 
       FIG. 2  illustrates an embodiment of a system that may be used in connection with the present invention. The system preferably comprises an electronic device  12  such as a set top box, a display  13  such as a TV, the Internet or a computer network  14  and an online database  15  for storage of supersets of data, such as films, games, programs and so forth. 
     In another embodiment the electronic device is a mobile device such as a PDA a mobile phone and so forth. Preferably the mobile device is able to play multimedia such as films, music and sounds etc. 
     The electronic device may send a request over the Internet  14  in order to retrieve a superset (film) from the online database, the request is preferably triggered based on input from a user. Thereafter the superset is retrieved/downloaded and it may be stored in a memory in the electronic device. 
     From the retrieved/downloaded superset the electronic device may create a subset (Trailer) comprising segments from the superset stored in the memory. 
     In another embodiment the sent request may comprise the user profile and the subset may be created at an electronic network device such as a server comprising the database. 
     The display  13  may be any kind of display, such as a display on a mobile phone, a TV, a computer monitor, a projector and so forth. 
       FIG. 3  shows some of the internal software and hardware modules in the electronic device  12 . Preferably the electronic device comprises a counter  17 , a subset creator module  18 , and a memory  20  comprising user profiles  19 . 
     In order for a broadcaster company to keep track of how many of the product placements that has been selected or for how long the product placements has been shown, one or more counters may be used. 
     Thus, the counter  17  may be used for counting how many times a specific product placement has been shown to a user  16 . 
     The value of the counter may either relate to an aggregated amount of time relating to the tagged content data, or it may relate to an aggregated number of times the tagged content data has been selected. 
     Thus the counter may either keep track of the number of times a product placement have been shown or selected, or the counter may keep track of the broadcasting time of a product placement. 
     One or more counters for each provider may be created in order to keep track of the product placement related to the provider. 
     Preferably the counter may be installed in the electronic device such as in a set top box, mobile phone, PDA, DVD player or the alike. 
     The value of the counter related to a specific product placement may be stored in the memory  20  of the electronic device and retrieved from the memory and sent to an online invoice database  21  at predetermined time intervals or according to a specific event such as when the electronic device connects to the Internet, or the user actively logs on to the Internet. 
     The predetermined time intervals may be once a day, once every week, once every month or it may be once every 6th hour, 12th hour, or at a specific date and so forth. 
     The subset creator is preferably a software module for creating a subset of data from a superset of data. For example the creator may create a trailer from a film as described below. 
     Trailer Generation 
     One of the main purposes of a trailer is to convey the essence of the original full-length film, sports program, talk show, game etc. to a viewer. Therefore, in order for a viewer to be able to understand the trailer, this process is preferably subject to a number of trailer requirements. 
     Trailer generation concerns the problem of selecting the best subset of segments of a given duration of the original program that satisfies a certain list of trailer requirements. 
     At least two approaches can be used for creating trailers: the machine learning approach and the knowledge explicit approach. In the machine learning approach a statistical classifier is trained with positive and negative examples, selected by humans, with the aim of generalising the common underlying properties of the examples in such a way that the classifier learns to distinguish between “good” previews and “bad” previews. This approach has the advantage of being generic and potentially reusable for all types of video and trailers. 
     In the knowledge-explicit approach, a designer preferably embeds requirements and constraints in an algorithm on how to make a trailer. The algorithm drives the search for finding the best subset of the original program and the composition of the trailer. 
     In order to allow a fast and convenient content selection a trailer should preferably meet more than thirty requirements that have been collected and grouped into eight categories. 
     However, less requirements may also be used such as between 1-5, 5-10, 10-20 or 20-30. It all depends on the quality that one want to achieve of the trailer. 
     The eight categories are:
         Duration requirements deal with the durations of the trailer and of its subparts (subsets). Each segment chosen for the preview may have a minimum time required for comprehension depending on its type, complexity, an on the information it conveys.   Continuity requirements necessitate that a trailer should be as continuous as possible in order to avoid that a viewer experience abrupt “jumps”.   Priority requirements indicate which content should be included in the trailer to convey as much information on the program as possible in the shortest amount of time. For example including close-ups on main actors as well as action segments and dialogues giving clues on the story line.   Uniqueness requirements aim at maximizing the efficiency of the trailer by minimising redundancy.   Exclusion requirements indicate which content should not be included in the trailer. For example a trailer should not include how the film or program ends etc.   Structural requirements dictate rules that pay attention to the structural properties of video. For example, in order to provide a good overview, a video preview should cover uniformly the entire program and mimic its original mood and tempo.   Temporal order requirement concerns the temporal order of the sequences included in the trailer. In this category, users have indicated conflicting requirements. Keeping the original order certainly helps users to understand the story line given the few clues provided by the preview. On the other hand changing the order prevents revealing too much of the story line in case users want to late view the entire content.   Product placement requirements concern what types of products and/or services that are in the film or program. Furthermore it may comprise requirements such as: product qualities, colours, context of product usage, who is the provider, to what kind/age/type of customer is the product suitable for, both professional and private, to extraverts but not to introverts, and so forth.       

     Preferably these requirements are formalised in computable constraints in order to be used to select a subset of segments from the original program that is admissible for being a trailer. At the same time, to create a good trailer it may be necessary to compare admissible sets of segments to select “the best” set, the importance score. The comparison may be based on a function that numerically estimates the value of a trailer. Given a computational model of the constrains and an importance score function to maximise, the problem of automatic generation of video previews is a constrained optimisation problem and its solution can be found with known methods such as constraint logic programming, local search techniques. 
     By following these trailer requirements it is ensured that the created trailer will convey the essence of the original full-length film etc., to a viewer so that the viewer can understand/get a hint about the content of the full-length film. 
     Thus the generation of a trailer comprising product placements may therefore be performed in two steps, namely the first step wherein segments are chosen according to trailer requirements and the second step wherein segments are chosen according to a user profile. These two steps may also be integrated in each other and thus not distinct from each other. 
     Hence, in another embodiment the process of creating a trailer further comprises the steps of creating a trailer according to trailer requirements. 
     Thus in this embodiment metadata may be matched with a user profile while satisfying the trailer requirements for trailer generation. If the trailer requirements are not meet, the trailer of a James Bond film would only have a BMW car in it and that trailer would not convey the essence of the film. 
     Therefore the additional constraints for making a trailered commercial will preferably add to the weights applied to the selection of segments for a trailer. 
     For example, given a list of segments with almost equal priority, the ones that have product placement in them that satisfy the commercial requirements (fit to a user profile and/or highest bid from product provider), are added and merged into a trailer. 
     Creation of Constraints and Model 
     Below follows an example of how a trailer may be created, where listed requirements are mapped to a part of an objective function or to a constraint that the trailer preferably should fulfil. 
     In formalising the problem off automatic trailer generation, the original program can be seen as a finite sequence of successive video segments, with synchronised audio and subtitle V=v 1  . . . v M  where v i  is the i-th video segment in the original program. M depends on the original program duration and on the actual segmentation. The desired trailer can be represented as a finite sequence of successive positions that can be taken by any video segment belonging to the original program: S=s 1  . . . s N  where s j  is the j-th position in the trailer. N depends on the duration of the trailer that is fixed by the user to a certain amount D: 
                 ∑     j   =   1     N     ⁢           ⁢     durations   ⁡     (     s   j     )         ≤     D   .           
The duration of each video segment should not be shorter than a certain minimum amount, to be understandable out of its original context and, at the same time, it should not be longer than a certain maximum value in order not to give away too many details of the story. This can be formalised by requiring: d min ≦durations(s j )≦d max .
 
     The objective function whose absolute maximum denotes the best trailer, may have the following structure:
 
eval( S )=α*π( S )−β*ρ( S )+γ*η( S )+δ*ω( S )  (1)
 
     In (1) the priority requirements are taken into consideration in π(S) that is defined as: 
     
       
         
           
             
               
                 
                   
                     π 
                     ⁡ 
                     
                       ( 
                       S 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         j 
                         = 
                         1 
                       
                       N 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       π 
                       ⁡ 
                       
                         ( 
                         
                           s 
                           j 
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
     where π(s j ) is the priority score of segment s j  and it is defined as follows:
 
π( s   j )= w*A ( s   j )  (3)
 
     in which w preferably is a vector of weighting factors and A(s j ) is a column vector of attributes associated to segment s j  in the range [0 . . . 1]. These attributes may be computed by applying several low- and mid-level content analysis algorithms such as: computation of contrast, audio loudness, detection of action, faces, dialogues, music/speech/noise/silence, and camera motion. The relative importance of the various attributes can be linearly tuned using the weighting factors w. 
     The term ρ(S) in equation (1) estimates the degree of redundancy of the trailer that in this example has a negative sign, which means that it promote uniqueness and penalise redundancy. It is defined as a linear combination of visual and textual redundancy: 
     
       
         
           
             
               
                 
                   
                     ρ 
                     ⁡ 
                     
                       ( 
                       S 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         β 
                         1 
                       
                       * 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                             N 
                             - 
                             1 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             ∑ 
                             
                               j 
                               = 
                               
                                 i 
                                 + 
                                 1 
                               
                             
                             N 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             
                               σ 
                               v 
                             
                             ⁡ 
                             
                               ( 
                               
                                 
                                   s 
                                   i 
                                 
                                 , 
                                 
                                   s 
                                   j 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                     + 
                     
                       
                         β 
                         2 
                       
                       * 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           
                             N 
                             - 
                             1 
                           
                         
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         
                           
                             ∑ 
                             
                               j 
                               = 
                               
                                 i 
                                 + 
                                 1 
                               
                             
                             N 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           
                             σ 
                             ⁡ 
                             
                               ( 
                               
                                 
                                   s 
                                   i 
                                 
                                 , 
                                 
                                   s 
                                   j 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     where σ t (s i ,s j ) represent the visual similarity of segments s i  and s j  and is computed based on automatically extracted visual features. Textual redundancy is measured by extracting keywords in the close captions or in the speech transcript, ρ(S), and by counting the number of times they are repeated in the trailer segments:
 
σ t ( s   i   ,s   j )=| K ( s   i )∩ K ( s   j )|  (5)
 
     The continuity requirements can be taken into account by considering the shots as elementary segments constituting the program. The shot boundaries can be found by performing shot cut detection. Additionally, sentences should be included entirely and not be abruptly cut while subtitles should be displayed for a sufficient amount of time to be read. If we represent the synchronised audio stream A as A=a 1  . . . a Q  (a being the j-th audio segment and Q the number of audio segments), the synchronised subtitles C as C=c 1  . . . c R  (c k  being the k-th subtitle and R the total number of subtitles), and we indicate with b s , e s , and Δ s  respectively the start time, the end time and the time-span of the video, audio or subtitle segment s, the continuity requirement of including complete audio segments can be formalised with the following constraints (this example applies to subtitles):
 
∀sεS(∀a:e a εΔ s ,b a εΔ s ) (∀a:b a εΔ s ,e a εΔ s )  (6)
 
     The structural requirement of uniform coverage of the whole program can be fulfilled by considering a segmentation of the program into L different scenes (U j , j=[1 . . . L]) and maximising η(S) in equation (1) that is the product of the relative duration of the selected segments belonging to each scene: 
     
       
         
           
             
               
                 
                   
                     η 
                     ⁡ 
                     
                       ( 
                       S 
                       ) 
                     
                   
                   = 
                   
                     
                       
                         ∏ 
                         
                           j 
                           = 
                           1 
                         
                         L 
                       
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           
                             ∑ 
                             
                               s 
                               ∈ 
                               
                                 U 
                                 j 
                               
                             
                           
                           ⁢ 
                           
                             duration 
                             ⁡ 
                             
                               ( 
                               s 
                               ) 
                             
                           
                         
                         
                           duratio 
                           ⁡ 
                           
                             ( 
                             
                               U 
                               j 
                             
                             ) 
                           
                         
                       
                     
                     L 
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
     Scene boundaries may be computed using a time-constrained clustering procedure. 
     Temporal order requirements different from the original order are taken into consideration in the term ω(S) of equation (1). For example, to generate a trailer having all the action segments at the end, ω(S) may be defined as follows: 
     
       
         
           
             
               
                 
                   
                     ω 
                     ⁡ 
                     
                       ( 
                       S 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       N 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       i 
                       * 
                       
                         action 
                         ⁡ 
                         
                           ( 
                           
                             s 
                             i 
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
     where action(s i ) indicates whether segment s i  is classified as action segment. The original order constraint is implicitly solved during optimisation by keeping the video segments chronologically ordered. 
     The weights α, β, γ and δ in (1) allow personalising the generation of the preview by changing the relative impact of the different types of requirements on the value of the objective function. 
     Implementation 
     The generation of a trailer may be divided into four main steps
         audio and video feature extraction.   audio and video segmentation and classification   segments selection.   preview composition.       

     Audio and Video Feature Extraction 
     Various algorithms may be applied to the audio and video signals to extract the features required by the next steps and for computing the priority score according to equation (3) after normalisation over the entire video. Video features include low-lever attributes such as contrast, color distribution, motion activity and mid-level attributes such as face location and size, camera motion, and so forth. 
     Audio features may include RMS value, spectral centroid, bandwidth, zero-crossing rate, MFCC and so forth. 
     Audio and video segmentation and classification. 
     This step can be divided into five sub-steps:
         Shot segmentation and clustering: a standard shot cut detection algorithm may be applied to divide the video stream into continuous shots. Time-constrained clustering is then applied to group together visually consistent shots that are not far apart in time.   Audio classification: the synchronised audio stream is classified into coherent audio classes such as silence, speech, music, noise etc.   Micro-segmentation: segment exceeding the maximum duration after the shot segmentation are further divided into sub-segments with durations bigger than d min  and with boundaries possibly aligned with content-based clues such as: a change in the audio class, appearance or disappearance of a detected face, a change in camera motion or object motion. The micro-segmentation step may be easily formalised as an integer linear programming problem and solved with standard methods such as the simplex method.   Segment compensation: successive segments violating constraint (6) are merged until the continuity requirement is fulfilled without violating the maximum segment duration d max . When this is not possible, the segmentation induced by the audio classifier is used as primary instead of the shot-based one.   Pre-filtering: commercial detection may be performed over the entire video and the detected commercials may be discarded from the set of segments available for the generation of the trailer. However this commercial detection is different from product placement detection, since product placements preferably should be present in the created trailer.       

     Segments Selection 
     Preferably the segment selection step comprises the steps of searching the best set of segments that maximise the objective function (1) in the space of all possible previews. The space of all possible previews may be explored using a local search method such as simulated annealing or a generic algorithm since preferably at this pint each requirement or constraint has either been solved in the previous steps or it is mapped to a priority or penalty score term in the objective function (1). 
     Preview Composition 
     This step preferably consists of the actual composition of the preview by fusing the selected segments into one continuous audio-visual stream, this audio-visual stream may be called a second level superset extracted from the superset of data. 
     Abrupt audio and video transitions between segments may be smoothed using dissolve effects. 
     Thus in one embodiment the subset creator may scan a superset of data and reads the tags comprising metadata about the content of the superset of data. Thereafter the creator matches the metadata in the tags and data from at least one user profile  19  stored in the memory  20 . The creator selects segments of the superset based on the matches and combines the selected segments into a subset of data. The subset of data may thereafter be stored in the memory for later retrieval or preferably the subset is played/displayed on the display  13 . 
     In another embodiment the subset creator scans a superset of data and reads the tags comprising metadata and compare the information found in the metadata with trailer requirements as described above, so that segments representing the superset of data is chosen. 
     Thereafter the trailer creator may create relations between the chosen segments so that all possible combinations according to the trailer requirements are recorded and stored either temporarily or in a file for later use. Furthermore the segments may be given priorities so that they can be classified and grouped. 
     The trailer creator may create a second level of data supersets wherein the second level supersets comprises the segments chosen according to the trailer requirements. For example the set of segments that maximise the objective function (1). 
     Since an objective function may have many solutions, the segments may be combined in many ways according to the trailer requirements, thus there may be many second level supersets to work with. 
     However, these second level supersets may be weighted according to the importance score and only a few of them having a score above a predefined threshold value may be chosen. The importance score may be the value of the objective function (1) 
     The trailer creator may from these second level supersets, match the metadata in the tags and data from at least one user profile  19  stored in the memory  20 , and the most suitable combination of segments according to the match are selected and combined into a subset of data. The subset of data may thereafter be stored in the memory for later retrieval or preferably the subset is played/displayed on the display  13 . 
     Furthermore according to a third embodiment the subset creator may scan a superset of data and reads the tags comprising metadata and compare the information found in the metadata with the trailer requirements as described above. 
     In this embodiment the user profile may be considered at the same time as the trailer requirements and thus become restrictions and be included as a part of the objective function (1). 
     The memory  20  preferably comprises one or more user profiles  19 . The user profiles may be used for selecting segments of the superset of data so that the most suitable segment is selected for the user related to the user profile. In order to create the user profile the system may need to receive some input from the user  16 . 
     Therefore a set-up page for creating a user profile related to an electronic device may be used in connection with the invention. For example when the device  12  is used for the first time a user  16  may be asked to input information that may be used to create the user profile. If a user chooses not to input any information default values will apply, and the user can access the set-up page at a later time for inputting the information. 
     Some of the default values may be changed automatically when the device is connected to the Internet since the device preferably comprises an IP address that can be traced on the Internet. In this way information such as the geographical location can be inputted in to the user profile. 
     As described above the user profile may be stored in a memory  20  of an electronic device  12  (set top box, CD, DVD, game console) that preferably is located at the location of the user  16 . However the user profile may also be stored in an online database so that it is accessible via the Internet. 
     In alternative embodiments the user profile  19  can be updated by sending an SMS, email or any other electronic message to a system comprising a software module able to extract the information from the message and store the information in a user profile. The user profile may be stored on an online database or in a memory of an electronic device connected to the Internet and located at a users location. 
     Furthermore, in an alternative embodiment a user may access a web page comprising a form wherein he/she can input information for the user profile. The form may be sent as an electronic message and stored on an online database or in a memory of an electronic device connected to the Internet and located at a users location 
     According to the preferred embodiment of the invention the chosen segments comprises product placement data. 
     Furthermore, the data segments in the superset of data may be selected according to a user profile, since product placement may relate to a specific customer segment the creation of a subset of data from a superset of data is preferably based on input related to the user that will watch the subset of data. 
     Furthermore, the providers of the product placements will be ensured that, even if the viewer decides not to see the film, the viewer would have watched their product in the trailer that was generated 
     In the above description the term “comprising” does not exclude other elements or steps and “a” or “an” does not exclude a plurality. 
     Furthermore the terms “include” and “contain” does not exclude other elements or steps. 
     In summary, the invention relates to the following. 
     This invention relates to a method and computer system for automatic generation of trailers. More specifically it relates to a method for generating revenues from providers of content data. The method generally comprises the steps of finding product placement data in a super set of data. When these product placements have been found they are preferably matched with a user profile and segments, of the superset comprising these product placements with a positive match, are selected and merged into a subset of data. A counter may keep track of which product placement that has been chosen and how many times a product placement has been chosen and viewed. Based on the value of the counter an invoice is created.