Patent Publication Number: US-7720432-B1

Title: Content customization in asymmetric communication systems

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application claims benefit of commonly owned provisional patent application Ser. No. 60/580,242, filed Jun. 16, 2004 and entitled “Content Customization in Asymmetric Communication Systems.” 

   BACKGROUND 
   1. Field of the Invention 
   The invention is in the field of broadcasting and more specifically in the field of broadcast content customization. 
   2. Related Art 
   Prior art communications can be categorized by the degree to which the communication is symmetric. A symmetric communication model allows each party to the communication to transmit and receive with approximately equal ability. For example, a connection between two cell phones is symmetric because each party technically has an equal ability to send and receive. An asymmetric communication is one in which one party does most of the transmitting and the other party does most of the receiving. For example, prior art television broadcasts are asymmetric because one party does most of the broadcasting and (many) other parties do most of the receiving. Some communication models are neither purely symmetric nor asymmetric. For example, pay per view television involves a party making a request over a telephone line. This request is a symmetric communication. If the request is successful, then the requestor may receive keys to decrypt an asymmetric broadcast of a television program. 
   Typically, a high degree of symmetry is required in communication where parties transmit data specifically intended for each other, or where users can actively request individually customized content. Examples of highly symmetric communication include user initiated web content serving, person-to-person telephony (whether digital or analog), and conference calls (whether physically transmitted on the Internet, the PSTN, or some combination of transport technologies). In such highly symmetric communication models, feedback amongst parties to a given communication is typically rapid, and allows for frequent and/or more specific customization of content transmitted between (and/or among) the parties. 
   In contrast, a highly asymmetric communication, such as satellite, cable, or internet broadcasting systems, allows little feedback between parties to the communication and customization of content is more difficult because these communications are often unidirectional. Where given content is consumable by a large number of parties, such as in satellite television or XM radio, asymmetric communication is usually preferred. Asymmetric communications make more effective use of bandwidth and mean that a transmitter does not also have to have substantial receiving capability. However, the prior art lacks an efficient method for providing customization in highly asymmetric communications involving many receivers. 
   SUMMARY OF THE INVENTION 
   The invention includes systems and methods for providing improved customization in asymmetric communication. An excess of information is transmitted from a sender to a plurality of receivers, for example, through a one-way broadcast. The excess of information includes more information that would normally be conveyed to a user in real time. For example, the excess information may include 12 minutes of audio data broadcast in an 8-minute period. As is further described herein, customization is achieved by selecting various subsets of the 12 minutes of audio data to present to different users during the 8 minute of real time. 
   At each receiver, a subset of the excess information is presented to (e.g., conveyed to or perceived by) a user in response to a variety of possible factors. These factors are used to customize what the user perceives by selecting which of the excess information is presented to the user and which of the excess information is discarded. The customization factors can include, for example, location of the user, a subscription status, a type of receiving device, an identity of the user, a demographic of the user, etc. 
   In various embodiments, the transmitted information includes metadata configured for determining which sections of a transmission can be customized in response to the customization factors. For example, in some embodiments, a transmission includes persistent content, referred to herein as “primary data,” that is normally conveyed to a user without alteration and variable content, referred to herein as “auxiliary data,” that is subject to customization. These two types of content are optionally distinguished by metadata. 
   In some embodiments, more than one transmission channel is used to transmit the transmitted information. For example, one transmission channel may be used to transmit a first set of information that can be conveyed to a user in real time and a second transmission channel may be used to transmit a second set of information that is excess information. The excess information is optionally configured for replacing parts of the first set responsive to customization factors. The second set is optionally transmitted using a different transmitter. For example, a nationwide satellite broadcast may transmit the first set of information and a local broadcast tower may transmit the second set. In some embodiments, a single transmission channel is used to transmit both information that can be conveyed to a user in real time and excess information. This transmission channel may be, for example, a digital radio or digital television channel. 
   In various embodiments, of the invention, the transmitted information includes textual, image, audio and/or video information, or the like. 
   Various embodiments of the invention include a system comprising: a signal receiver configured to receive an excess of information including one or more primary data sequences and a plurality of auxiliary data sequences, the one or more primary data sequences being configured to be normally included in a customized data output and members of the plurality of auxiliary data sequences being configured to be included in the customized data output subject to a comparison between criteria associated with the auxiliary data sequences and one or more customization factors; a parser configured to identify the one or more primary data sequences, the plurality of auxiliary data sequences, and the criteria, in the excess of information; and an output assembler configured to include the primary data sequences in the customized data output, to access the customization factors, and to include a subset of the plurality of auxiliary data sequences in the customized data output responsive to the comparison between the criteria and the customization factors. 
   Various embodiments of the invention include a system comprising: a signal receiver configured to receive a signal in a plurality of channels, the signal including more information than would normally be presented to a user in real time; a parser configured to identify a plurality of auxiliary data sequences within the received signal, and to identify criteria for determining which of the plurality of auxiliary data sequences to included in a customized data output; a customization factor storage configured to store one or more customization factors received from a geographic location device or a user input; and an output assembler configured to generate the customized data output by comparing the one or more customization factors with the criteria an to include one or more members of the plurality of auxiliary data sequences in the customized data output responsive to the comparison. 
   Various embodiments of the invention include a system comprising: primary data storage configured to store primary data to be included in a data transmission, the data transmission including an excess of information and being configured for generating a customized data output; auxiliary data storage configured to store auxiliary data to be included in the customized data output responsive to a comparison between one or more customization factors stored at a receiver and criteria included in the data transmission, the criteria optionally including geographic relevance data or access control data; a scheduler configured to specify the criteria, associate the criteria with the auxiliary data and to generate corresponding metadata; a metadata inserter configured to combine the metadata and the auxiliary data; and an assembler configured to assemble the primary data, auxiliary data, metadata and criteria into transmission data for inclusion in the data transmission. Optionally further including a transmitter configured to transmit the transmission data. 
   Various embodiments of the invention include a method of generating transmission data, the method comprising: optionally identifying a primary data sequence for presentation to an end-user; identifying a plurality of auxiliary data sequences for presentation to the end-user responsive to a location of the end-user or access control data stored on a receiver of the end-user; determining criteria for presentation of one or more members of the auxiliary data sequences to the end-user; associating the determined criteria with the one or more members of the plurality of auxiliary data sequences; determining metadata configured for distinguishing members of the auxiliary data sequences and optionally the primary data; optionally assigning channels for transmission of the transmission data; and assembling the metadata, optionally the primary data sequence, the plurality of auxiliary data sequence, and the criteria into the transmission data. Optionally transmitting the transmission data to a plurality of receivers at different locations of a user such that end-users associated with each of the plurality of receivers are presented with a different presentation responsive to their locations. The criteria are optionally inserted into the auxiliary data. 
   Various embodiments of the invention include a system comprising a signal receiver configured to receive a broadcast signal from one or more transmitters, the broadcast signal including more data than would normally be presented to a user in real time, a parser configured to identify, within the received broadcast signal, primary data configured to be presented to the user unmodified, auxiliary data for generating customized output data, and criteria for use in selecting, substituting or inserting the auxiliary data to generate the customized output data, customization factors storage configured to store one or more customization factors, and an output assembler configured to generate the customized output data by comparing the criteria with the one or more customization factors and selecting, substituting or inserting the auxiliary data responsive to this comparison. 
   Various embodiments of the invention include a method of generating customized output data, the method comprising receiving a broadcast at a receiver, the broadcast signal including more data than would normally be presented to a user in real time, parsing the received broadcast to identify primary data configured to be presented to a user, to identify auxiliary data configured for generating customized output data, and to identify criteria for use in selecting, substituting or inserting the auxiliary data to generate the customized output data, accessing one or more customization factors associated with the receiver, comparing the one or more customization factors with the identified criteria, selecting, substituting or inserting the auxiliary data responsive to a result of the comparison between the one or more customization factors and the identified criteria, in order to generate the customized output data. 
   Various embodiments of the invention include a method of generating a customized output data stream, the method comprising receiving one or more broadcast at a receiver, the one or more broadcast including excess data identifying primary and auxiliary sequences within the excess data identifying criteria within the excess data, the criteria associated with the auxiliary sequences accessing one or more customization factors associated with the receiver comparing the identified criteria with the one or more customization factors in order to determine which of the excess data should be included in the customized output data and which of the excess data should be discarded, and assembling the customized output data responsive to the comparison between the identified criteria and the one or more customization factors. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  illustrates a broadcasting system, according to various embodiments of the invention; 
       FIG. 2  illustrates a receiver, according to various embodiments of the invention; 
       FIG. 3  illustrates an embodiment of transmission data as a function of transmission time, according to various embodiments of the invention; 
       FIG. 4  illustrates a data output, according to various embodiments of the invention; 
       FIG. 5  illustrates further detail of an auxiliary data sequence, according to various embodiments of the invention; 
       FIG. 6  illustrates an instance of a primary data sequence, according to various embodiments of the invention; 
       FIG. 7  illustrates an alternative embodiment of transmission data illustrated in  FIG. 3 , according to various embodiments of the invention; 
       FIG. 9  illustrates a transmission data assembly system, according to various embodiments of the invention; and 
       FIG. 10  illustrates a method of generating transmission data, according to various embodiments of the invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   An excess of information is provided from a transmitter to a receiver. The information is in excess because more information is provided than would normally be conveyed to a user in real time. A subset of the provided data is included in an output stream from the receiver to be perceived by the user. For example, in some embodiments the receiver is configured to display a video output stream on a television set to be observed by the user. The subset of the provided data is determined responsive to one or more variable customization factors associated with each receiver. Thus, different users may receive different customized output streams resulting from the same broadcast. 
   The customization factors optionally include geographic information, referred to as the “location of a user.” In various embodiments the location of a user includes the output of a global positioning system, data provided to the receiver by the user, data received from a cellular telephone network, data received from a wireless network, data received from motion sensor, data received from a radio beacon triangulation system, or other data relating to geographic or relative position. For example, in some embodiments, a user may enter a zip code to indicate a location of the user. In some embodiments, the location of a user is determined by the detection of a wireless signal. For example, the location of a user is optionally determined to be Santa Fe by detection of a Santa Fe radio station or other local broadcast. The location of a user need not be the physical location of the user. For example, the user may enter a zip code for New York while the user is physically located in San Francisco. The location of a user optionally includes directional information, such as a direction of travel, or a travel history. Thus, a customization factor can include data indicating that a user has just arrived at an airport on a plane, rather than in a car, etc. A customization factor can include that a user is traveling away from a city, rather than toward the city. The location of a user can further include longitude and latitude information, a city name, a street address, a telephone area code, map quadrants, highway numbers, or any other data for identifying a particular physical area. 
   The customization factors optionally include demographics of a user such as their income, race, sex, age, purchasing habits, travel habits, education, television viewing history, user preference data, or the like. 
   The customization factors optionally include access control data such as a subscription status, an access key, an encryption key, an identity of the user, or the lice. For example, if the customization factors include a subscription status, a user having a subscription may receive a different subset of the excess information than a user not having a subscription. Thus, the user not having the subscription may receive a subset of the excess information that includes commercials, while the user that has the subscription receives a subset with fewer commercials. 
   The excess information can include digital or analog data. For example, the excess information may include a digital television signal or a digital radio signal. The excess information can be transmitted wirelessly, through a cable, through a fiber optic, or through other means of transmitting data. 
     FIG. 1  illustrates an example Broadcasting System, generally designated  100 . Broadcasting System  100  includes one or more Transmitter  110  configured to transmit Signal  120 . Transmitter  110  optionally includes a satellite, a transmitting tower, a flying transmitter, a cable system, a fiber optic system, a telephone system, and/or other system for transmitting excess information in the form of analog or digital data. In some embodiments, Transmitter  110  includes a plurality of devices, such as a geosynchronous satellite and a local transmission tower, or a cable system and a computer network. The combined information transmitted in Signal  120  by the satellite and the transmission tower (or cable system and computer network), in combination, constitute excess information. 
   Signal  120  is received in a region  130  including Area  140 A and Area  140 B. Areas  140 A and  140 B can include larger areas such as countries or states, or include smaller areas such as specific rooms in a house, city blocks, cities, zip codes, streets, regions, neighborhoods, or the like. 
   Signal  120  is optionally unidirectional. Signal  120  is optionally transmitted over a single transmission channel including excess bandwidth, e.g., more bandwidth than is required to transmit real time data. Transmission channels including excess bandwidth are found in digital television and digital radio. In some embodiments, Signal  120  is transmitted over a plurality of transmission channels, using either one transmitting device or a plurality of transmitting devices. For example, Signal  120  is optionally transmitted at two different radio frequencies from a ground based radio tower, over two different channels using a cable television system, or using a radio frequency signal and a telephone signal. 
   Signal  120  includes primary data that is presented to a user independently from customization factors and auxiliary data that may be presented to the user dependent on customization factors. Optionally, the primary data is included in a primary data stream and the auxiliary data is included in an auxiliary data stream. The primary data stream and the secondary data stream may be transmitted using different transmission channels. 
   Within Areas  140 A and  140 B, the identical Signal  120  is received by a Receiver  150 A and a Receiver  150 B, respectively. As is further described herein Receivers  150 A and  150 B are configured to use customization factors and Signal  120  to generate a customized output for presentation to a user. 
     FIG. 2  illustrates Receiver  150 A or Receiver  150 B, according to various embodiments of the invention. Receiver  150 A includes a Signal Receiver  205  such as a cable input, antenna, telephone input, fiber optic input, or the like, configured to receive Signal  120  through one or more transmission channels. For example, in some embodiments Signal Receiver  205  includes an antenna located on a roof or dashboard of an automobile, on a roof of a house, or elsewhere that a clear signal path from Transmitter  110  can be achieved. 
   Receiver  150  optionally further includes a Demodulator  210  configured to tune into a particular portion of Transmitted Signal  110 , typically conceptualized as a channel. As is known in the art, the Demodulator  210  reverses the processes used by a modulator for preparing data to be transmitted. Such processes include types of multiplexing, modulation, and error correction schemes, including quadrature phase shift key (QPSK), frequency modulation, frequency division multiplexing, amplitude modulation, time division multiplexing, forward error correction, turbo coding, viturbi coding, and the like. One skilled in the art will be able to select appropriate multiplexing, encoding, and error correction means based on considerations such as available raw bandwidth, characteristics of errors on the channel, type of data being sent, and computing power available to transmit, receive, multiplex, decode, and control these processes. Demodulator  210  is typically configured to generate a digital output in response to the received Signal  120 . 
   The digital output of Demodulator  210  is provided to a Parser  215 . Parser  215  is configured to identify those portions of the digital output that represent primary data and those portions that represent auxiliary data. In typical embodiments, primary data and auxiliary data are differentiated using metadata included in Signal  120 . The identified primary data or auxiliary data are optionally stored in a Data Buffer  220 . For example, auxiliary data may be stored in Data Buffer  220  until discarded or inserted into an output data stream using an Output Assembler  225 . In some embodiments, parts of primary data and/or auxiliary data are passed directly to Output Assembler  225  without intermediate storage in Data Buffer  220 . Data Buffer  220  optionally includes a FIFO buffer. 
   Output Assembler  225  is configured to assemble output data for presentation to a user. The output data includes the primary data and a subset of the auxiliary data received in Signal  120 . Customization factors are used to determine which of the auxiliary data received in Signal  120  is included in the output data of Output Assembler  225 . These customization factors are stored in a Customization Factors Storage  230  and available to Output Assembler  225  when needed to generate output data. Customization Factors Storage  230  can include digital memory, a lookup table, a database, random access memory, or the like. 
   The customization factors stored in Customization Factors Storage  230  are optionally derived from RAM (random access memory)  235 , a Geographic Location Device  240 , a User Input  245 , or the like. For example, RAM  235 , which may also be read only memory) can include a serial number, model number or other data regarding Receiver  150 A. 
   Geographic Location Device  240  can include a wireless global positioning system device, a wireless telephone receiver capable of determining physical location, a local positioning system, or other device configured to determine a location of Receiver  150 A. A location determined by Geographic Location Device  240  is optionally stored in Customization Factors Storage  230 . 
   User Input  245  includes an interface configured for a user to input a location of the user, a subscription key, a user identifier, a security key, a street address, a city name, longitude and latitude, or the like. For example, in some embodiments a user can subscribe to a commercial free version of a television or radio station. In exchange for payment, the user receives a subscription key that is associated with a serial number of Receiver  150 A. The user then enters the received subscription key into Customization Factors Storage  230  through User Input  245 . In another example, a user is in Chicago but wishes to hear radio content customized for San Diego. In this case the user enters a San Diego zip code and requests that this zip code take priority over data received from Geographic Location Device  240 , using User Input  245 . 
   The output data generated by Output Assembler  225  is passed to an optional Output Buffer  250  for presentation to a user through Output Device  255 . Output Device  255  includes a television monitor, a computer display, video monitor, a speaker, a game display, a gambling device, a navigation system display, or the like. 
   The operation of Receiver  150 A is optionally under the control of a Controller  260 , including an integrated circuit, software, firmware, hardware, or the like. 
     FIG. 3  illustrates an embodiment of Transmission Data  300  as a function of transmission time, as may be included in one or more Transmission  120  broadcast by Transmitter  110  and received by Receivers  150 A and  150 B. This particular embodiment of Transmission Data  300  includes four separate Channels  305 A- 305 D. In alternative embodiments, Transmission Data  300  includes one channel, two channels, three channels, or more than four channels. Each of Channels  305 A- 305 D is optionally associated with a particular and/or separate wireless frequency, data path, television channel, radio frequency band, Transmission  120 , Transmitter  110 , or the like. 
   Within each of Channel  305 A- 305 D are Primary Data Sequences  310 , designated  310 A- 310 H, and Auxiliary Data Sequences  315 , designated  315 A- 315 J. The actual number of Primary Data Sequences  310  and Auxiliary Data Sequences  315  in any particular Channel  305 A- 305 D can vary significantly in alternative embodiments. Some channels, e.g., Channel  305 C, optionally include only Auxiliary Data Sequences  315 . The length of individual Primary Data Sequences  310 A- 310 H and Auxiliary Data Sequences  315 A- 315 J may vary substantially in alternative embodiments. For example, Auxiliary Data Sequence  315 J can be less then a few seconds, or many tens of minutes or hours. 
   In some embodiments, Auxiliary Data Sequences  315  include an advertisement, an news story, a scene in a movie or television program, a traffic report, an emergency services message, a television program, a movie, a sports program, an alternative ending, an audio signal, a video signal, and/or the like. 
   There are at least three alternative approaches by which Output Assembler  225  can use Transmission Data  300  to generate output data, a “substitution approach,” a “selection approach,” and an “insertion approach.” First, in some embodiments using the substitution approach, data in first member of Channel  305 A- 305 D, e.g., Channel  305 A, is received at the same rate as it would be presented to a user. For example, 5 minutes of television programming is received in a 5-minute period. In these embodiments, the data received in Channel  305 A is optionally considered default data that would be passed directly to Output Device  255  in the absence of configuration factors. When data is received in Channel  305 A at the same rate that it would be presented to a user, Output Assembler  225  is configured to replace Auxiliary Data Sequences  315  included in Channel  305 A of Transmission Data  300 , as received from Receiver  150 A, with Auxiliary Data Sequences  315  received in Channels  305 B- 305 C, responsive to customization factors. Thus, the excess information is distributed among more than one of Channels  305 A- 305 D. For example, Auxiliary Data Sequence  315 B may be replaced by Auxiliary Data Sequence  315 C, or Auxiliary Data Sequence  315 A may be replaced by Auxiliary Data Sequence  315 H. Typically, when the replacement Auxiliary Data Sequence  315 H is received after the Auxiliary Data Sequence  315 A being replaced, Data Buffer  220  is used to temporally store parts of Transmission Data  300  such that some of Auxiliary Data Sequence  315 H is received before discarding any of Auxiliary Data Sequence  315 A. 
   A member of Auxiliary Data Sequences  315  is optionally received a substantial time before it is included in output data. For example, a member of Auxiliary Data Sequences  315  including a television advertisement may be received by Signal Receiver  205  during a period in which Output Device  255  is turned off, e.g., at 2:00 AM. Later, when a user turns on Output Device  255 , e.g., at 7:00 PM, the received television advertisement is included in output data of Output Assembler  255 . Thus, Receiver  150 A is optionally used to store an advertisement until a user is watching television or listening to the radio, and then insert the stored advertisement into output data for presentation to the user through Output Device  255 . In this way an advertiser can be assured that an advertisement will be presented to a user, regardless of which time of day the user turns on Output Device  255 . 
   In embodiments using the selection approach, the rate of data transmission within a particular member of Channels  305 A- 305 D is greater than the rate at which data is presented to a user. Thus, excess information is included in a single transmission channel that has excess bandwidth. For example, the data transmitted in 12 minutes in Channel  305 B, as shown in  FIG. 3 , may include data that would normally be presented to a user in a 14 minute period. Thus, there is 2 minutes of excess information. In the selection approach, Output Assembler  225  is configured to select which of the Auxiliary Data Sequences  315 C or  315 D should be included in output data and which should be discarded. In the present example, 2 minutes of auxiliary data will be discarded. Output Assembler  225  is configured to selected one of Auxiliary data Sequence  315 C and Auxiliary Data Sequence  315 D for inclusion in the output data, and the other of Auxiliary Data Sequence  315 C and Auxiliary Data Sequence  315 D to be discarded, responsive to customization factors. By discarding a 2-minute member of Auxiliary Data Sequences  315 , output data of 12 minutes is obtained. This output data can be presented to a user in near real time. 
   In some embodiments, Output Assembler  225  is configured to use the substitution approach, insertion approach, and the selection approach in various combinations. Typically, the substitution and selection processes are made using metadata included in Transmission Data  300 . This metadata is optionally included in Primary Data Sequences  310  or Auxiliary Data Sequences  315 , or received through a separate part of Transmission Data  300 . 
   In embodiments using the insertion approach, Primary Data Sequences  310  are separated by insertion metatags configured to indicate appropriate positions for insertion of Auxiliary Data Sequences  315 . The insertion metatags optionally include metadata for comparison with customization factors. The results of these comparisons are used to determine which, if any, Auxiliary Data Sequences  315  should be inserted at a particular position. 
   Alternative embodiments include different ratios of data transmission rates to data presentation rates. In some cases data transmission rates are several times higher than presentation rates and more than half of the transmitted data is discarded. In some cases data transmission rates are only slightly greater than data presentation rates and only a fraction of the transmitted data is discarded. In some embodiments the ratio of transmission rates and presentation rates are dependent on the time of day. 
     FIG. 4  illustrates an Output Data  410  of Output Assembler  225  according to one embodiment of the invention. Output Data  410  may be generated, for example from Transmission  300  and a set of customization factors. In the embodiment illustrated, some Auxiliary Data Sequences  315  have be used to replace default Auxiliary Data Sequences  315 , and some members of Auxiliary Data Sequences  315  have been selected over other members of Auxiliary data Sequences  315 . Typically, before delivery to Output Device  255 , some or all metadata is stripped from Output Data  410 . The orders of Primary Data Sequences  310  and Secondary Data Sequences  315  are optionally different in Output Data  410 , than the orders in which they received in Transmission  300 . 
     FIG. 5  illustrates further detail of a member of Auxiliary Data Sequences  315 , according to various embodiments of the invention. The Auxiliary Data Sequence  315  illustrated includes an optional Auxiliary Sequence Initiation Tag  510 , optional Geographic Relevance Data  515 , optional Access Control Data  520 , optional Sequencing Data  525 , an Auxiliary Segment  530 , an optional Auxiliary Segment  535 , and an optional Auxiliary Sequence Termination Tag  540 . Auxiliary Sequence Initiation Tag  510  and Auxiliary Sequence Termination Tag  540  are metadata configured for identifying the beginning and ending of Auxiliary Data Sequence  315 . They are optional when Auxiliary Data Sequence  315  is identified using other metadata or a timing schedule. For example, in some embodiments an instance of Auxiliary Data Sequence  315  is scheduled every 15 minutes and is predetermined to be 2 minutes long. In some embodiments, an Auxiliary Sequence  315  is selected based on a first level of customization factors, and Auxiliary Segment  530  or Auxiliary Segment  535 , within the chosen Auxiliary Sequence  315 , is then selected based on a second level of customization factors. These levels can be hierarchical. 
   Geographic Relevance Data  515  is data associated with at least one Auxiliary Segment  530  for use in determining if that Auxiliary Segment  530  should be included in Output Data  410  of Output Assembler  225 . Thus, Geographic Relevance Data  515  is used to produce location dependent customization. For example Geographic Relevance Data  515  may be compared with a customization factor stored in Customization Factors Storage  230  to determine if Auxiliary Segment  530  of Auxiliary Data Sequence  315 C should be substituted for Auxiliary Data Sequence  315 B in Output Data  410 . More specifically, in some embodiments, Geographic Relevance Data  515  includes one or more geographic locations and if one of these geographic locations matches a geographic location in the current customization factors, all or part of the associated Auxiliary Data Sequence  315 C will be used to replace Auxiliary Data Sequence  315 D in the output data of Output Assembler  225 . In another example, the Geographic Relevance Data  515  associated with Auxiliary Data Sequence  315 C and the Geographic Relevance Data  515  associated with Auxiliary Data Sequence  315 D may both be compared with current customization factors, and based on these comparisons, one of Auxiliary Data Sequence  315 C and Auxiliary Data Sequence  315 D is selected for inclusion in Output Data  410  and the other discarded. The current customization factors can change as Receiver  150 A or  150 B move. 
   In one embodiment, Geographic Relevance Data  515  is associated with an advertisement for a restaurant. This Geographic Relevance Data  515  is configured such that only when customization factors includes a zip code or geographical location near the restaurant will the advertisement be included in Output Data  410  presented to a user. When such data is not included in the customization factors the advertisement is not included in Output Data  410  and an alternative, e.g., default, Auxiliary Data Sequence  315  is used instead. 
   In one embodiment, Geographic Relevance Data  515  is associated with a broadcast of a sporting event. In this embodiment there may be a desire to “blackout” the broadcast in an area near where the event will occur. Thus, Geographic Relevance Data  515  is configured such that the sporting event will only be presented to a user through Receiver  150 A, if Receiver  150 A is located outside of the blackout area. 
   In one embodiment, Geographic Relevance Data  515  is associated with a traffic report and Auxiliary Data Sequence  315 D is selected over Auxiliary Data Sequence  315 C if Receiver  150 A includes a customization factor associated with a location of a traffic problem. In this embodiment, the customization factor optionally includes a route. 
   Some embodiments include a hierarchical set of Geographic Relevance Data  515 . For example, if a location of a user is in California then a default instance of Auxiliary Data Sequence  315 B may be replaced by Auxiliary Data Sequence  315 E, if the location of the user is in Northern California then Auxiliary Data Sequence  315 B may be replaced by Auxiliary Data Sequence  315 F, and if the location of the user is in San Francisco then Auxiliary Data Sequence  315 B may be replace by Auxiliary Data Sequence  315 G. 
   In some embodiments, Geographic Relevance Data  515  is configured such that Auxiliary Data Sequence  315 J is included in the Output Data  410  of Output Assembler  225  if it can be determined from customization factors that Receiver  150 A is moving. 
   Access Control Data  520  includes data configured for limiting or providing access to Auxiliary Segment  530 . For example, Access Control Data  520  may include a subscription key, a security code/key, a parental control, or the like. Output Assembler  225  is configured to compare Access Control Data  520  with customization factors stored in Customization Factors Storage  230  to determine of a particular Auxiliary Segment  530  should be included in Output Data  410  of Output Assembler  225 . For example, in one embodiment, Access Control Data  520  is associated with Auxiliary Data Sequence  315 F which includes a scene within a movie that may not be appropriate for all audiences. Unless appropriate values are found within customization factors, Output Data  410  will include a default or alternative member of Auxiliary Data Sequences  315 , e.g., Auxiliary Data Sequence  315 J, and Auxiliary Data Sequence  315 F will not be used to replace Auxiliary Data Sequence  315 J. Access Control Data  520  is used to determine which of a plurality of alternative Auxiliary Data Sequences  315  received from Transmitter  110  will be presented to a user, not merely to block a particular member of Auxiliary Data Sequences  315 . 
   Sequencing Data  525  includes information on the allowed sequence of Primary Data Sequences  310  and Auxiliary Data Sequences  315  in Output Data  410 . For example, Sequencing Data  525  may be configured to assure that the scenes in a movie are in proper order. In some embodiments, Sequencing Data  525  is configured to assure that advertisements will be included in programs whose audience is appropriate for the advertisement. For example, an advertisement appropriate for a particular demographic is included in a program whose audience is characterized by that demographic. 
   Auxiliary Segment  530  includes the data to be included in Output Data  410 . For example, Auxiliary Segment  530  may include compressed or non-compressed audio data. An instance of Auxiliary Data Sequence  315  optionally includes more than one auxiliary segment, such as Auxiliary Segment  530  and Auxiliary Segment  535 , etc. Herein, wherein the discussion refers to including one of Auxiliary Data Sequences  315  in Output Data  410  of Output Assembler  225 , at least an instance of Auxiliary Segment  530 , and optionally an instance of Auxiliary Segment  535 , is included. 
   Geographic Relevance Data  515 , Access Control Data  520 , or Sequencing Data  525  are herein referred to as “criteria,” and are optionally configured to apply to more than one instance of Auxiliary Data Sequence  315 . Further, in alternative embodiments they may be included in an instance of Primary Data Sequence  310 . In these embodiments, they are saved by Receiver  150 A for later use in selection or substitution of Auxiliary Sequences  315 . 
     FIG. 6  illustrates an instance of Primary Data Sequences  310 , according to some embodiments of the invention. Each member of Primary Data Sequences  310  includes at least one Primary Segment  620 , and optionally one or more further Primary Segments  625 . Primary Data Sequences  310  optionally further include a Primary Sequence Initiation Tag  610  and a Primary Sequence Termination Tag  630 , configured to identify the start and end of a particular Primary Data Sequence  310 . Primary Data Sequences  310  optionally further include Sequencing Data  615  similar to Sequencing Data  525 . 
     FIG. 7  illustrates an alternative embodiment of Transmission Data  300  in which Channel  305 A is used to transmit Primary Data Sequences  310  and Channel  305 B is used to transmit Auxiliary Data Sequences  315 . In these embodiments, metadata at the beginning or end of each of Primary Data Sequences  310  is used to identify positions in which one or more of Auxiliary Data Sequences  315  may be inserted in Output Data  410 . The Auxiliary Data Sequences  315  in Channel  305 B are optionally transmitted at a time significantly prior to the Primary Data Sequences  310  in Channel  305 A. 
   The embodiment of Transmission Data  300  illustrated in  FIG. 7  is optionally used in the insertion approach. In this case the Primary Data Sequences  310  in Channel  305 A are separated by insertion tags and the Auxiliary Data Sequences  135  in Channel  305 B are inserted at these insertion tags in response to criteria included in the insertion tags and customization factors. 
     FIG. 8  illustrates a method of generating Output Data  410  according to various embodiments of the invention. In this method, Transmission Data  300 , or a part thereof, is broadcast by Transmitter  110  and received by Receivers  150 A and  150 B through the same transmission channel(s). Metadata within Transmission Data  300  and one or more customization factors are used to select which parts of Transmission Data  300  is presented to users and which parts are discarded. The customization factors may differ between Receiver  150 A and Receiver  150 B, and thus a user of Receiver  150 A and a user of Receiver  150 B can be presented different content resulting from the same broadcast received through the same transmission channel or channels. This results in customization in asymmetric communications. In some embodiments, Receiver  150 A and Receiver  150 B receiver the same data in Channel  305 A, but Receiver  150 A receives Channel  305 B and Receiver  150 B receives Channel  305 C. For example, Channel  305 A may be transmitted by satellite and Channels  305 B and  305 C may be transmitted by different local broadcast towers. Thus, Receivers  150 A and  150 B may both receive part of Transmission Data  300  including Primary Data Sequences  310  but receive different Auxiliary Data Sequences  315 . The different Auxiliary Data Sequences  315  may be used to generate Output Data  410  using either the substitution approach or the insertion approach. 
   In an optional Pre-Cache Step  810 , Transmission Data  300  is received by Signal Receiver  205  of Receivers  150 A and  150 B. This reception may occur while Output Device  255  is turned off. For example, in some embodiments, Receiver  150 A includes a digital video recorder configured to record broadcasts while a television is off. The received Transmission Data  300 , or parts thereof, is optionally stored in Data Buffer  220 . For example, one or more Auxiliary Data Sequence included in Transmission Data  300  is optionally stored in Data Buffer  220  for later use in assembling Output Data  410 . 
   In an Activate Output Device Step  815 , a user activates Output Device  255  for display of Output Data  410 . For example, in some embodiments Activate Output Device Step  815  includes turning on a television, game console, or radio. In various embodiments, Activate Output Device Step  815  can occur at any time prior to a Present Data Output Step  870 , discussed below. Thus, any of steps  810 - 865  can occur prior to activating Output Device  255 . 
   In an optional Select Channel Step  820 , a default transmission channel is selected from Channels  305 A- 305 D. In some embodiments, Primary Data Sequences  310  and Auxiliary Data Sequences included in the default transmission channel are presented to the user if no customization occurs. The selection of a default transmission channel may be made by a user, or alternatively may be predetermined. For example, if Receiver  150 A is programmed to record a specific channel at a specific time, Select Channel Step  820  can be responsive to this program. In some embodiments, the default transmission channel is automatically associated with a secondary transmission channel. For example, in some embodiments, Auxiliary Data Sequences  315  for inclusion in Channel  305 A are always found in Channel  305 C. 
   In a Detect Metadata Step  825 , Parser  215  is used to detect metadata within Transmission Data  300 . The first detected metadata can be, for example, an Auxiliary Sequence Initiation Tag  510 , a Primary Sequence Initiation Tag  610 , Auxiliary Sequence Termination Tag  540 , Primary Sequence Termination Tag  630 , Sequencing Data  525 , Sequencing Data  615 , or other metadata included in Primary Data Sequences  310  or Auxiliary Data Sequences  315 . The first detected metadata is typically used to determine&#39; whether the data being parsed using Parser  215  is Primary Data Sequence  310  or Auxiliary Data Sequence  315 . 
   In an optional Identify Secondary Channel Step  830  another channel included in Transmission Data  300  is identified as a secondary channel. In the substitution approach, the secondary channel includes one or more Auxiliary Data Sequence  315  that can be used to replace one or more Auxiliary Data Sequences  315  included in the default transmission channel. In the insertion approach, the secondary channel includes one or more Auxiliary Data Sequences  315  for insertion between Primary Data Sequences  310  included in the primary channel. Identify Secondary Channel Step  830  is optionally responsive to the metadata detected in Detect Metadata Step  825 . For example, in some embodiments, the metadata detected in Detect Metadata Step  825  is Sequencing Data  525  or Sequencing Data  615  that includes an identity of an associated secondary channel. Identify Secondary Channel Step  830  is not required in the selection approach. 
   In an Identify First Auxiliary Sequence Step  835  a first Auxiliary Sequence  315  in the default transmission channel is identified. In an Identify Second Auxiliary Sequence Step  840  a second Auxiliary Sequence  315  is identified. When using the substitution approach, the second Auxiliary Sequence  315  is typically in the secondary channel, and the first Auxiliary Sequence  315  is subject to replacement by the first Auxiliary Sequence  315 . When using the selection approach the second Auxiliary Sequence  315  is typically in the default channel, and Output Assembler  225  is configured to select between the first Auxiliary Sequence  315  and the second Auxiliary Sequence  315  for inclusion in Output Data  410 . The second Auxiliary Sequence  315  was optionally cached in Pre-cache Step  810 . In the insertion approach, Identify First Auxiliary Sequence Step  835  is replaced by a step in which an insertion point is identified in the default transmission channel. 
   In a Read Auxiliary Sequence Criteria Step  845 , one or more criteria used for determining whether the second Auxiliary Sequence  315  should be included in Output Data  410  is accessed by Output Assembler  225 . This criteria includes, for example, Geographic Relevance Data  515 , Access Control Data  520 , Sequencing Data  525 , or the like. In some embodiments, this criteria is included elsewhere in Transmission Data  300 . 
   In an Access Customization Factors Step  850 , one or more customization factors, such as those stored in Customization Factors Storage  230  are accessed. The access process may include a database query, a hash table look up, reading a data file, or the like. In some embodiments, Access Customization Factors Step  850  is responsive to the criteria read in Read Auxiliary Sequence Criteria Step  845 . For example, if Geographic Relevance Data  515  is read in Read Auxiliary Sequence Criteria Step  845 , then customization factors relating to geographic relevance may be specifically looked for in Access Customization Factors Step  850 . 
   In a Select/Substitute/Insert Step  855  a comparison is made between the criteria read in Read Auxiliary Sequence Criteria Step  845  and the customization factors accessed in Access Customization Factors Step  850 . The results of this comparison is then used to determine if the second Auxiliary Sequence  315  should be selected over, or used to replace, the first Auxiliary Sequence  315 . Or, in the insertion approach, the results of this comparison is then used to determine if the second Auxiliary Sequence  315  should be inserted at an insertion point between Primary Sequences  310 . For example, if the criteria includes that a specific access key be provided and that access key is found in the customization factors, then the second Auxiliary Sequence  315  is included in Output Data  410 . Likewise, if the criteria include a specific geographic area and the customization factors include a location of a user that is within that geographic area, then the second Auxiliary Sequence  315  is included in Output Data  410 . If the criteria are not met by the customization factors then the first Auxiliary Sequence  315  is included in Output Data  410  rather than the second Auxiliary Sequence  315 . 
   In an optional Strip Metadata Step  860  any unnecessary metadata is removed from Output Data  410 . In a Provide Data Output Step  865  the resulting Output Data  410  is provided to Output Device  255 . In Present Data Output  870 , Output Device  255  is used to present Output Data  410  to a user. The presented Output Data  410  is a combination of Primary Sequences  310  and Auxiliary Sequences  315 , inclusion of the Auxiliary Sequences  315  being responsive to customization factors. In various embodiments Output Data  410  is presented as an audio stream, as a video stream, or as an audio/video stream. 
     FIG. 9  illustrates a Transmission Data Assembly System, generally designated  900 , according to various embodiments of the invention. Transmission Data Assembler  900  is configured for generating Transmission Data  300  prior to transmission by Transmitter  110 . Transmission Data Assembler  900  includes Auxiliary Data Storage  920 , a Scheduler  930 , a Metadata Inserter  940 , an Assembler  950 , and an optional Transmission Data Storage  960 . 
   Primary Data Storage  910  is configured to store data that will eventually be included in one or more Primary Sequence  310 , for example as Primary Segment  620  or Primary Segment  625 . The data stored in Primary Data Storage  910  can be, for example, a movie, a television program, a sound recording, a news program, or the like. 
   Auxiliary Data Storage  920  configured to store data that will eventually be included in one or more Auxiliary Sequence  315 . This data may include, for example, an advertisement, a traffic report, local news, a scene from a movie or television show, a lecture, music, video, audio, or the like. Primary Data Storage  910  and Auxiliary Data Storage  920  each optionally include a database, a computer network, analog or digital storage devices, a data server, or the like. 
   Scheduler  930  includes a Criteria Interface  933  and an optional Timing Interface  936 . Criteria Interface  933  is configured for an administrator to set criteria for inclusion in Auxiliary Sequences  315  and Timing Interface  936  is configured to schedule the inclusion of Auxiliary Sequences  315  in Output Data  410 . For example, in some embodiments, Criteria Interface  933  is used to associate criteria such as Geographic Relevance Data  515  and Access Control Data  520  with data stored in Auxiliary Data Storage  920 . In one embodiment, Criteria Interface  933  is configured to define criteria requiring that the location of a user must be within a specified area in order for a specific instance of Auxiliary Sequences  315  to be included in Output Data  410 . In one embodiment, Criteria Interface  933  is configured to define criteria requiring a specific subscription key in order for a specific instance of Auxiliary Sequences  315  to be included in Output Data  410 . 
   Timing Interface  936  is optionally further configured to define Sequencing Data  525  and Sequencing Data  615 . For example, Timing Interface  936  is optionally configured to determine the order in which Primary Sequences  310  and Auxiliary Sequences  315  are included in Output Data  410 . In some embodiments Timing Interface  936  is configured to specify which Auxiliary Sequences  315  can be substituted for each other, or must be chosen between. For example, Timing Interface  936  may be used to specify that three alternate Auxiliary Sequences  315  may alternatively be placed at a specific location within a Primary Sequence  310 . Customization factors are used to determine which of the three are actually presented to a user at the specific location. In one embodiment, Timing Interface  936  is configured to determine if a particular Auxiliary Sequence  315  is subject to the substitution approach or the selection approach, or both. In one embodiment, Timing Interface  936  is configured for specifying a channel for transmission of one or more Auxiliary Sequences  315 . 
   Metadata Inserter  940  is configured to combine various metadata into data retrieved from Primary Data Storage  910  and Auxiliary Data Storage  920 , in order to generate Primary Sequences  310  and Auxiliary Sequences  315 , respectively. For example, Metadata Inserter  940  is optionally configured to combine Primary Sequence Initiation Tag  610 , Primary Sequence Termination Tag  630  and/or Sequencing Data  615  with data retrieved from Primary Data Storage  910 . In another example, Metadata Inserter  940  is configured to combine Auxiliary Sequences Initiation Tag  510 , Geographic Relevance Data  515 , Access Control Data  520 , Sequencing Data  525 , and/or Auxiliary Sequence Termination Tag  540  into data retrieved from Auxiliary Data Storage  920 . The combinations produced by Metadata Inserter  940  are responsive to input (e.g., criteria) received from an administrator using Scheduler  930 . For example, criteria defined using Criteria Interface  933  is optionally included in Geographic Relevance Data  515  and combined with data retrieved from Auxiliary Data Storage  920  to generate Auxiliary Sequence  315 . 
   Assembler  950  is configured to assemble Primary Sequences  310  and Auxiliary Sequences  315  generated using Metadata Inserter  940  into Transmission Data  300  prior to transmission by Transmitter  110 . In some embodiments, Assembler  950  is configured to order the assembled Primary Sequences  310  and Auxiliary Sequence  315  to minimize delay times and buffer storage at Receiver  150 A. For example, Assembler  950  may be configured to assure that Auxiliary Sequences  315  are available for inclusion in Output Data  410  before Output Data  410  is needed for presentation to a user. Transmission Data Storage  960  is configured to store the Transmission Data  300  assembled by Assembler  950  prior to transmission by Transmitter  110 . 
     FIG. 10  illustrates a method of generating Transmission Data  300  according to various embodiments of the invention. The method of  FIG. 10  is optionally performed using the system of  FIG. 9 . 
   In an Identify Primary Sequence Step  1010 , data is read from Primary Data Storage  910  for inclusion in one or more Primary Sequences  310 . This data is optionally, video and/or audio data, etc. In an optionally Identify Insertion Points Step  1015 , one or more points within or between the data read in Identify Primary Sequence Step  1010  is identified for insertion of data read from Auxiliary Data Storage  920 . 
   In an optional Insert Insertion Tags Step  1020 , metadata is inserted at the points identified in Identify Insertion Points Step  1015 . Alternatively, in an Insert Primary Sequence Tags Step  1025 , Primary Sequence Initiation Tag  610 , Sequencing Data  615  and/or Primary Sequence Termination Tag  630  are combined with the data read from Primary Data Storage  910 . 
   In an Identify First Auxiliary Sequence Step  1030 , first data is read from Auxiliary Data Storage  920  for inclusion in a first Auxiliary Sequence  315 . This first data can include, for example, an advertisement, video data, a scene from a television show or movie, audio data, a news report, traffic information, music, or the like. 
   In an Identify Second Auxiliary Sequence Step  1035 , second data is read from Auxiliary Data Storage  920  for inclusion in a second Auxiliary Sequence  315 . The second Auxiliary Sequence  315  being configured to replace the first Auxiliary Sequence  315 , to be selected in preference to the first Auxiliary Sequence  315 , or to be inserted between Primary Sequences  310 , responsive to customization factors and criteria included in the second Auxiliary Sequence  315 . 
   In an optional Insert Secondary Sequence Tags Step  1040 , an Auxiliary Sequence Initiation Tag  510  and/or an Auxiliary Sequence Termination Tag  540  is combined with the second data read in Identify Second Auxiliary Sequence Step  1035 . 
   Insert Auxiliary Sequence Criteria Step  1045  the criteria (e.g., Geographic Relevance Data  515 , Access Control Data  520 , and/or Sequencing Data  525 ) is combined with the second data read in Identify Second Auxiliary Sequence Step  1035  to generate a Auxiliary Sequence  315 , using Metadata Inserter  940 . In some embodiments, the first data read in Identify First Auxiliary Sequence Step  1030  is also combined with such criteria. However, in some embodiments, in an instance of Auxiliary Sequence  315  that is part of a default channel may not include these criteria. 
   In an Assign Channels Step  1050 , Assembler  950  is used to assign the first and second Auxiliary Sequences  315  to one or more of Channels  305 A- 305 D within Transmission Data  300 . In an Assemble Transmission Data Step  1055  the first and second Auxiliary Sequences  315 , optionally combined with any Primary Sequences  310 , are assembled into Transmission Data  300 . The Transmission Data  300  is optionally stored in Transmission Data Storage  960 . 
   In an optional Transmit Step  1060  the Transmission Data  300  is broadcast to a plurality of Receivers  150 A and  150 B using Transmitter  110 . This broadcast is typically, a one-way transmission (e.g., asymmetric) from a transmitter to many receivers. In some embodiments, Transmitter  110  is unaware of which or how many of Receivers  150 A and  150 B are receiving the transmission. 
   In one embodiment of the invention, contributors to public broadcasting are given a subscription key to access Auxiliary Sequences  315  that include desirable programming. Those without a subscription key are presented with default Auxiliary Sequences  315  that includes solicitations for fundraising or commercials. 
   In one embodiment of the invention, a first set, e.g., the defaults set, of Auxiliary Sequences  315  is tailored toward a general audience and a second set of Auxiliary Sequences  315  is tailored toward an adult audience. An access key is required to view the adult oriented Auxiliary Sequences  315 . 
   Some embodiments of the invention include the sale of advertising on a geographic basis. For example, local pizza parlors may pay to have ads presented to user only when a location of the user is within each parlor&#39;s vicinity. It is contemplated that such establishments will be willing to pay more to reach an audience that is more likely to purchase their product, by virtue of their being close enough to do so without great inconvenience. Thus, using embodiments of the present invention, broadcasters may sell advertising based on geographical targeting ability or pricing models involving audience size. 
   In some embodiments of the invention, news and information is targeted on the basis of geographic relevance. For instance, travelers on a particular freeway receive reports of traffic and accidents near their current location, rather than at distant locations. Or, a national news broadcast can include local news segments in the form of Auxiliary Sequences  315 . 
   In general, any usage model requiring or benefiting from restricting or allowing access to broadcast information based on geographic location may benefit from embodiments of the invention. For instance, military broadcasting can send messages for troops that are only received in areas of geographic relevance. However, appropriate command posts may still receive the entire transmission by systems programmed to receive, process, and present most or all Auxiliary Sequences  315  in Transmission  300 . 
   In some embodiments, systems and methods of the invention are used for dispatching emergency services or taxis based on geographic relevance information, which allows users unconcerned with what is going on in geographically irrelevant areas to avoid having to hear about those matters. 
   In some embodiments, systems and methods of the invention are used to provide local advertising through state wide or national broadcasting networks. For example, local advertising and other programming can be provided through satellite television, XM Radio or the Sirius Satellite Network. 
   In some embodiments, systems and methods of the invention are used to provide a variety of access levels to information. For example, a potential user of a content delivery service subscribes to a predetermined level of access. To verify that the user is authorized to access content transmitted in the signal, the user enters a private key which was received during the subscription process into his Receiver  150 A. The Output Assembler  225  determines whether the issued private key matches a transmitted public key. Based on this determination a decrypted Auxiliary Sequence  315  is presented or not presented to the user. 
   In some embodiments of the invention Primary Sequences  310  or Auxiliary Sequences  315  includes deletion tags demarcating portions of content contained in the Primary Sequences  310  or Auxiliary Sequences  315  that are to be removed based on comparisons between criteria and customization factors. 
   Several embodiments of the invention are specifically illustrated and/or described herein. However, it will be appreciated that modifications and variations are covered by the above teachings and within the scope of the appended claims without departing from the spirit and intended scope thereof. For example, data included in Transmission Data  300  is optionally compressed. Data in Transmission Data  300  is optionally analog. In some embodiments, Output Buffer  250  is used for pre-caching Output Data  410 . In some embodiments, Output Assembler  225  is configured to select between more than two Auxiliary Sequences  315 . In some embodiments, all data sequences are Auxiliary Sequences  315 . In these embodiments there are no Primary Sequences  310 . 
   The embodiments discussed herein are illustrative of the present invention. As these embodiments of the present invention are described with reference to illustrations, various modifications or adaptations of the methods and or specific structures described may become apparent to those skilled in the art. All such modifications, adaptations, or variations that rely upon the teachings of the present invention, and through which these teachings have advanced the art, are considered to be within the spirit and scope of the present invention. Hence, these descriptions and drawings should not be considered in a limiting sense, as it is understood that the present invention is in no way limited to only the embodiments illustrated.