MXPA99011216A - System and method for recording pay tv programs - Google Patents

System and method for recording pay tv programs

Info

Publication number
MXPA99011216A
MXPA99011216A MXPA/A/1999/011216A MX9911216A MXPA99011216A MX PA99011216 A MXPA99011216 A MX PA99011216A MX 9911216 A MX9911216 A MX 9911216A MX PA99011216 A MXPA99011216 A MX PA99011216A
Authority
MX
Mexico
Prior art keywords
program
list
programs
user
chronometer
Prior art date
Application number
MXPA/A/1999/011216A
Other languages
Spanish (es)
Inventor
Richard Schneidewend Daniel
Louise Brown Megan
Sheridan Westlake Mark
Joseph Mclane Michael
Wayne Randall Darrel
Paul Geis Jerome
Original Assignee
Louise Brown Megan
Joseph Mclane Michael
Wayne Randall Darrel
Richard Schneidewend Daniel
Thomson Consumer Electronics Inc
Sheridan Westlake Mark
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Louise Brown Megan, Joseph Mclane Michael, Wayne Randall Darrel, Richard Schneidewend Daniel, Thomson Consumer Electronics Inc, Sheridan Westlake Mark filed Critical Louise Brown Megan
Publication of MXPA99011216A publication Critical patent/MXPA99011216A/en

Links

Abstract

An apparatus and a method for processing a plurality of programs are provided having the following features. A program may be selected from a plurality of programs for recording. The selected programs is then stored into a first list of programs representing programs selected for recording. A program may also be selected from the plurality of programs for both purchasing and recording. The selected program is then stored into a second list of programs representing programs purchased. This selected program is also automatically stored into the first list of programs representing programs selected for recording. In addition, when cancelling, a previously purchased program, a determination is made to see whether the purchased program also appears in the list of programs selected for recording. If it appears in the recording list, then the program is also automatically removed from the recording list, when the purchase is cancelled.

Description

SYSTEM AND METHOD FOR RECORDING TV PROGRAMS FOR PAYMENT FIELD OF THE INVENTION This invention relates in general to the field of control of the user interface for electronic devices, and more particularly, to a system and method for automatically coordinating a purchase and registration of a program.
BACKGROUND OF THE INVENTION Electronic devices, such as televisions and personal computers (PCs), require a control system that includes a user interface system. Typically, a user interface system provides information to a user, and simplifies the use of the device. An example of a user interface is an electronic menu system in a television system. A menu system allows a user to easily interact with, and control, a television system, which is becoming more complex. For example, there are currently different satellite television receivers available to receive direct satellite television service, such as the DirecTV ^ service, provided by Hughes Electronics, Inc. The ~~ satellite television provides a variety of services, including pay per event. The pay-per-event service allows a user to purchase in advance, for example, a movie or a sporting event. In order to acquire a pay-per-view program, it usually asks a user, for example, through a "buy" screen, as shown in Figure A, in order to select which program to buy. To buy a program, a user, for example, can simply enter a unique identification of the program, such as "2013" assigned by the service provider and / or the specific input channel and weather information, as shown in the Figure IA. Additionally, these satellite receivers also allow a user, for example, by means of a "stopwatch" screen shown in Figure IB, to select which programs will be recorded by a video cartridge recorder connected to the receivers. Once a user enters the required information (eg, channel number, start time, and end time), the receiver will instruct an infrared (IR) discharger to control the video cartridge recorder appropriately in the time previously selected. An infrared discharger is basically a programmable video cartridge recorder remote control emulator controlled by satellite receivers. It is placed in front of the video cartridge recorder remote control, of a connected video cartridge recorder, and will transmit commands, such as "ON" and "RECORD", under the control of the satellite receivers at the appropriate time, of according to the information on the stopwatch screen entered by the users. Currently there is no link or coordination between the two associated processes or screens of the user to make purchases and recordings of programs. That is, a user who wants, for example, to buy or record a program, needs to provide the information separately, both to the purchase process and to the recording process, filling two separate user screens (for example, "buy" screens). "and" chronometer "). Also, because there is no link between these two processes, a user who wants to cancel a program of the purchase process and the recording process, will have to perform basically the same task twice. This is slow and inefficient. ~ COMPENDIUM OF THE INVENTION The present inventors recognize that it is desirable to be able to coordinate and link the process of buying a program with the process of recording a program. Accordingly, an apparatus and method for processing a plurality of programs having the following characteristics are provided. A program can be selected from a plurality of programs for recording. Then the program selected in a "first list of programs that represent the programs selected for recording." You can also select a program from the plurality of programs for both purchase and recording, then store the selected program in a second list of programs that represent the purchased programs.This selected program is then also automatically stored in the first list of programs that represent the programs selected for recording., when a previously purchased program is canceled, a determination is made to see if the purchased program also appears in the list of programs selected for recording. If it appears in the recording list, then the program is also automatically removed from the recording list, when the purchase is canceled.
BRIEF DESCRIPTION OF THE DRAWINGS In the drawing: Figures IA and IB show, respectively, a "purchase" screen and a "recording" screen of a prior art system. Figure 2 shows an example of a television system suitable for processing user commands, and for displaying example user interface screens according to the present invention. Figure 3 shows an example of a digital video processing apparatus suitable for processing user commands, and for displaying example user interface screens, in accordance with the present invention. Figure 4 shows a block diagram of a specific implementation of a digital satellite system suitable for processing user commands, and for displaying example user interface screens, in accordance with the present invention. __ Figure 5 shows an example of a program guide for selecting programs. Figures 6A and 6B show a flow chart, in accordance with the present invention, for processing user commands, and for displaying example user interface screens, in accordance with the present invention. Figure 7 shows an exemplary flow chart, in accordance with the present invention, for erasing a chronometer to record an event. Figure 8 shows an exemplary flow chart, in accordance with the present invention, for canceling an event purchase. Figure 9 shows an example user interface screen, which allows a user to both buy and record a selected program. Figure 10 shows an example user interface screen, to list the information with respect to the programs selected for purchases. Figure 11 shows an example user interface screen, which allows a user to select programs for recording. Figure 12 shows an example user interface screen, which allows a user to cancel a previously purchased program.
DETAILED DESCRIPTION "Figure 2 shows an example of a television system suitable for processing user commands, and for displaying example user interface screens, in accordance with the present invention.The television receiver shown in Figure 2 is capable of of processing both analog NTSC television signals and Internet information The system shown in Figure 1 has a first input 1100 for receiving the RF IN television signal at radio frequencies, and a second input 1102 for receiving the television signal from baseband VIDEO IN The RF_IN signal can be supplied from a source, such as an antenna or a cable system, while the VIDEO IN signal can be supplied, for example, by a video cartridge recorder (VCR). tuner 1105 and intermediate frequency processor 1130 operate in a conventional manner to tune and demodulate a television signal pair which is included in the RF__IN signal. The intermediate frequency processor 1130 produces the VIDEO baseband video signal, which represents the portion of the video program of the tuned television signal. The intermediate frequency processor 1130 also produces a baseband audio signal, which is coupled to an audio processing section (not shown in Figure 1), for further audio processing. Although Figure 2 shows the input 1102 as a baseband signal, the television receiver could include a second tuner, and an intermediate frequency processor, similar to the units 1105 and 1130 to produce a_second baseband video signal, a from the RF IN signal, or from a second radio frequency signal source. The system shown in Figure 2 also includes a main microprocessor (mP) 1110, to control the components of the television receiver, such as the tuner 1105, the image-in-picture-processing unit 1140, the video-signal processor 1155, and the StarSight-R 1160 data-processing module. As used herein, the term "microprocessor" represents different apparatus , including, but not limited to, microprocessors, microcomputers, microcontrollers, and controllers. The 1110 microprocessor controls the system by sending and receiving both commands and data by means of the I2C BUS serial data bus, which uses the well known I2C serial data bus protocol. More specifically, the central processing unit (CPU) 1112 within the mP 1110 executes the control programs contained within the memory, such as the EEPROM 1127, shown in Figure 2, in response to the commands provided by a user, for example by means of the infrared remote control 1125 and the infrared receiver 1122. For example, the activation of a "UP CHANNEL" feature on the remote control 1125 causes the central processing unit 1112 to send a command of " change channel ", along with channel data, to tuner 1105 through the I2C BUS. As a result, the tuner 1105 tunes to the next channel in the channel scan list. Another example of a control program stored in the EEPROM 1127 is the software to implement the operations shown in Figures 6A, 6B, 7, and 8 in the form of a flow chart, which will be discussed below, and in accordance with the present invention. Main microprocessor 110 also controls the operation of an 1113 communications interface unit to provide the ability to upload and download information to and from the Internet. The communication interface unit 1113 includes, for example, a modem for connecting to an Internet service provider, for example, by means of a telephone line, or by means of a cable television line. allows the system shown in Figure 1 to provide e-mail capability and Internet-related features, such as web search in addition to receiving television programming.The central processing unit 1112 controls the functions included within mP 1110 by means of of the busbar 1119 inside the mP 1110. In particular, the central processing unit 1112 controls the auxiliary data processor 1115 and the processor = visual display (OSD) 1117. The auxiliary data processor 1115 extracts the auxiliary data. , such as StarSightR data from the PIPV video signal.StarSightR data, which provides the "data e the program guide in a known format, usually only received on a particular television channel, and the television receiver must tune that channel to extract the StarSightR data. To prevent the StarSightR data extraction from interfering with the normal use of the television receiver, the central processing unit 1112 initiates the extraction of StarSightR data, tuning the particular channel only during a period of time in which the television receiver does not normally is being used (for example, 2:00 AM). At that time, the central processing unit 1112 configures the decoder 1115, such that the auxiliary data is extracted from the horizontal line intervals, such as line 16, which are used for the StarSightR data. The central processing unit 1112 controls the transfer of the StarSightR data extracted from the decoder 1115 by means of I2C BUS to the StarSightR 1160 module. A processor internal to the module formats and stores the data in the memory inside the module. In response to activating the EPG visual display of StarSightR (for example, a user activating a particular key on remote control 125), the central processing unit 1112 transfers the StarSightR visual display EPG data formatted from the StarSightR 1160 module via I2C BUS, to the visual display display processor 1117. An EPG is an interactive feature of visual display in screen, which displays information analogous to television listings found in local newspapers or other print media. In addition, an EPG also includes the information necessary to collate and decode the programs. An EPG provides information about each program within EPG covered time frames, which are usually from the next hour up to 7 days. The information contained in an EPG includes programming features, such as channel number, program title, start time, end time, elapsed time, remaining time, evaluation (if available), topic, topic, and a brief description of the content of the program. EPGs are usually configured in a two-dimensional table or in a grid format, with time information on one axis, and channel information on the other axis. An example of a program guide is shown in Figure 5. Unlike non-interactive guides that reside on a dedicated channel, and merely scroll through the current schedule on the other channels for the next 2 to 3 hours, EPGs allow viewers to select any channel at any time during any period in the future, for example, up to 7 days ahead. In addition, the characteristics of the EPG include the ability to hight individual cells in the grid containing the program information. Once enhanced, the viewer can perform functions belonging to that selected program. For example, the viewer could instantly switch to that program if it is currently on the air. Viewers could also schedule a one-touch video cartridge (VCR) recording, or the like, if the television is properly configured and connected to a recording device. These EPGs are known in the art and are described, for example, in the Patents of the United States of North America Numbers 5,353,121; 5,479,268; and 5,479,266 issued to Young et al., and assigned to StarSight Telecast, Inc. In addition, U.S. Patent No. 5,515,106, issued to Chaney et al., and assigned to the same assignee of the present invention, describes in detail an example modality that includes the structure of the data package necessary to implement an example program guide system. The structure of the sample data package is designed in such a way that both the channel information can be transmitted (for example, channel name, call letters, channel number, type, etc.) as the program description information (for example, content, title, evaluation, star, etc.) in relation to a program, starting from a provider of "program guide database, up to a receiving apparatus, in an efficient manner." The on-screen visual display processor 1117 operates in a conventional manner, to produce video signals R, G, and B, 0SD_RGB that , when coupled to a visual display apparatus (not shown), will produce an image displayed that represents the information displayed on the screen according to the flowcharts that will be shown in Figures 6 through ~ 8, and which will be described The display visualization processor ~ 1117 also produces the -3 Fast-Switch (FSW) control signal, which is intended to control a fast switching to insert OSD_RGB signals into the Video output signal of the system at the times when a visual display will be displayed. Accordingly, when a user enables the different user interface screens of the present invention, which will be described later, the on-screen display processor 1117 produces the corresponding RGB OSD signals which "represent previously stored visual display information. or programmed into the memory 1127. For example, when a user enables an EPG, for example, by activating a particular switch on the remote control 1125, the central processing unit 1112 enables the processor 1117. In response, the processor 1117 produces the OSD_RGB signals which represent the data information of the previously extracted program guide and already stored in the memory, as discussed above.The processor 1117 also produces the FSW signal, which indicates when the EPG will be displayed. Video Signal (VSP) 1155 performs video signal processing functions conventional, such as luma and chroma processing. The output signals produced by the video signal processor 1155 are suitable for coupling with a visual display apparatus, for example a kinescope or a liquid crystal display apparatus (not shown in Figure 2), to produce an image. showed. The video signal processor 1155 also includes a fast switch for coupling the signals produced by the on-screen display processor 1117, with the path of the output video signal, at the times when graphics will be included and / or text in the displayed image. The fast switch is controlled by the control signal FSW, which is generated by the on-screen display processor 1117 on the main microprocessor 1110, at the times when text and / or graphics are to be displayed. The input signal ^ for the video signal processor 1155 is the PIPV signal, which is produced by the image-in-picture (PIP) processor 1140. When a user activates the PIP mode, the PIPV signal represents a large image (large pix) into which a small image (small pix) is inserted. When the PIP mode is inactive, the PIPV signal represents just the large image, that is, no small image signal is included in the PIPV signal. The image-in-picture processor 1140 provides the described functionality in a conventional manner, using the features included in the unit 1140, such as a video switch, an analog-to-digital converter (ADC), RAM, and a digital-to-digital converter. analog (DAC). As mentioned above, the visual display data included in the visual display of EPG is produced by the visual display display processor 1117, and is included in the output signal of the video signal processor 1155, in response to the signal Fast switching FSW. When the 1110 controller detects the activation of the visual display of EPG, for example, when a user presses an appropriate key on the remote control 1125, the controller 1110 causes the visual display display processor 1117 to produce the visual display of EPG, using information such as the program guide data, to starting from the StarSightR 1160 module. The controller 1110 causes the video signal processor 1155 to combine the visual display data EPG from the visual display display processor 1117 and the video image signal in response to the FSW signal, to produce a visual display that includes EPG. The EPG can occupy all or only a portion of the visual display area. When the visual display EPG is active, the controller 1110 executes an EPG control program stored in the EEPROM 1127. The control program monitors the location of a position indicator, such as a cursor and / or highlight, in the visual display EPG . A user controls the location of the position indicator using direction keys and selection of the remote control 1125. Alternatively, the system could include a mouse device.
The "controller 1110 detects the activation of a selection device, such as clicking on the button of a mouse, and evaluates the current location information of the cursor in conjunction with the EPG data that is being displayed, to determine the desired function. For example, tuning a particular program: Controller 1110 subsequently activates the control action associated with the selected feature An exemplary mode of the system features shown in Figure 2 that have been described so far comprises a microprocessor ST9296 produced by SGS-Thomson Microelectronics, to provide the features associated with mP 1110, an image-in-picture processor M65616 produced by Mitsubishi, to provide the described basic image-image functionality associated with the image-in-picture processor 1140, and a signal processor LA7612 video produced by Sanyo, to provide the functions of the proc video signal processor 1155. Figure 3 shows another example of an electronic device that can process user commands, and display example user interface screens, in accordance with the present invention. As described below, the system shown in Figure 3 is an MPEG compatible system, for receiving transport streams encoded in MPEG, which represent transmitted programs. However, the system shown in Figure 2 is exemplary only. The user interface system described herein is also applicable to other types of digital signal processing apparatus, including systems not compatible with MPEG, which involve other types of coded data streams. For example, other devices include digital video disc (DVD) systems, and MPEG program streams, and systems that combine computer and television functions, such as the so-called "PCTV". In addition, although the system described below is described as the processing of transmitted programs, it is exemplary only. The term 'program' is used to represent any form of packetized data, such as telephone messages, computer programs, Internet data, or other communications, for example. In panorama, the video receiver system of Figure 3, a carrier modulated with video data, is received by the antenna 10 and processed by the unit 15. The resulting digital output signal is demodulated by the demodulator 20, and decoded by the decoder 30. The output from the decoder 30 is processed by the transport system 25, which responds to commands from the remote control unit 125. The system 25 provides compressed data outputs for storage, additional decoding, or your communication with other devices.
The video and audio decoders 85 and 80 respectively, decode the compressed data from the system 25, to provide outputs for visual display. The data port 75 provides an interface for the communication of the compressed data from the system 25 to other devices, such as a computer, or a High Definition Television (HDTV) receiver, for example. The storage device 90 stores the compressed data from the system 25 in the storage medium 105. The device 90, in a reproduction mode, also supports the recovery of the compressed data from the storage medium 105, to be processed by the system 25 for decoding, communication with other devices, or storage in a different storage medium (not shown to simplify the drawing). Considering Figure 3 in detail, a carrier modulated with video data received by the antenna 10, is converted to the digital form, and processed by the input processor 15. The processor 15 includes the radio frequency (RF) tuner and the intermediate frequency (IF) mixer, and the amplification stages for converting the input video signal down to a lower frequency band suitable for further processing. The resulting digital output signal is demodulated by the demodulator 20, and decoded by the decoder 30. The output from the decoder 30 is further processed by the transport system 25. The multiplexer (mux) 37 of the service detector 33 is provided , by means of the selector 35, with the output from the decoder 30, or the output of the decoder 30 further processed by a demixing unit 40. The demixer 40 may be, for example, a removable unit, such as a smart card in accordance with ISO 7816 and NRSS (National Renewable Security Standards), Standards Committee (The NRSS removable conditional access system is defined in Project Document EIA IS-679, Project PN-3639). The selector 35 detects the presence of a compatible insertable demixing card, and provides output from the unit 40 to the multiplexer 37 only if the card is currently inserted in the video receiving unit. Otherwise, the selector 35 provides the output from the decoder 30 to the multiplexer 37. The presence of the insertable card allows the unit 40 to demix additional program channels, for example, and provide additional program services to a viewer. It should be noted that, in the preferred embodiment, the NRSS unit 40 and the smart card unit 130 (the smart card unit 130 discussed below) share the same interface of the system 25, so that only one card can be inserted. NRSS or one smart card at a time. However, the interfaces can also be separated to allow a parallel operation. The data provided to the multiplexer 37 is in the form of a packet transport data stream that complies with MPEG, as defined in standard section 2.4 of the MPEG systems, and includes the program guide information and the data content of one or more program channels. The individual packages that comprise channels of particular programs are identified by the Packet Identifiers (PIDs). The transport stream contains the Program Specific Information (PSI), to be used in the identification of the Packet Identifiers, and to assemble the individual data packets to retrieve the contents of all the program channels that comprise the packet data stream. . The transport system 25, under the control "of the system controller 115, acquires and collates the program guide information from the incoming transport stream, the storage device 90, or an Internet service provider, by means of of the communication interface unit 116. The individual packages comprising the content of the particular program channel, or the information of the Program Guide, are identified by their Packet Identifiers (PIDs) contained within the header information.
As discussed above, the description of the program contained in the program guide information may comprise different descriptive fields of programs, such as title, star, evaluation, etc., in relation to a program. ~~ The user interface incorporated in the video receiver shown in Figure 3, makes it possible for a user to activate different features by selecting a desired feature from a visual display (OSD) menu. The on-screen visual display menu may include an electronic program guide (EPG) as described above, and other features discussed below. The data representing the information displayed in the on-screen display menu is generated by the system controller 115, in response to the stored visual display information (OSD), which represents texts / graphics, guide information of stored programs and / or_ the program guide information and text / graphics received by means of the input signal, as described above, and in accordance with the example control programs that will be shown in Figures 6 to 8 , and will be discussed later. The software control programs can be stored, for example, in the built-in memory (not shown) of the system controller 115.
Using the remote control unit 125 (or other selection element, such as a mouse), a user may select, from the items of the on-screen display menu, such as a program to be viewed, a program for storing (eg, recording), the type of storage medium, and the storage manner The system controller 115 uses the selection information, provided through interface 120, to configure the system 25 in order to select the programs to be stored and displayed, and to generate Program Specific Information suitable for the selected storage medium and apparatus The controller 115 configures the elements 45, 47, 50, 55, 65, and 95 of the system 25, establishing the values of control register within these elements by means of a data bus, and by selecting signal paths by means of multiplexers 37 and 110, with the signal co control C. In response to the control signal C, the multiplexer 37 selects either the transport stream from the unit 35, or "in a reproduction mode, a data stream recovered from the storage device 90 by means of" the storage interface 95. In a normal operation without reproduction, the data packets comprising the program that the user selected to view, are identified by their "package identifiers, by selecting the unit 45. If a coding indicator cryptic in the packet header data of the selected program indicates that the packets are cryptically encoded, the unit 45 provides the packets to the cryptic decoding unit 50. Otherwise, the unit 45 provides the packets non-encoded cryptically to the decoder transport 55. Similarly, the data packages that comprise the programs that the user selected for his store The packets 47 are identified by their packet identifiers by the selection unit 47. The unit 47 provides the packets cryptically encoded to the cryptic decoding unit 50, or the packets non-encoded cryptically to the multiplexer 110, based on the flag information cryptic encoding of the packet header. The functions of the cryptic decoders 40 and 50 can be implemented in a single removable smart card that is compatible with the NRSS standard. The approach places all the security-related functions in a removable drive that can be easily replaced if a service provider * decides to change the cryptic coding techniques, or allow to easily change the security system, for example, to demix a different service. The units 45 and 47 employ packet identifier detection filters, which are coupled with the packet identifiers of the input packets provided by the multiplexer 37, with packet identifier values previously loaded in the control registers inside the units 45 and 47 by the controller 115. The previously loaded packet identifiers are used in the units 47 and 45 to identify the data packets to be stored, and the data packets to be decoded for use in the provision of data. a video image. The previously loaded packet identifiers are stored in the look-up tables of units 45 and 47. The packet identifier look-up tables are mapped into memory, in the cryptic encoding key tables in units 45 and 47, which associate the cryptic encoding keys with each packet identifier previously loaded. The packet identifier mapped in the memory and the cryptic encoding key look-up tables allow the units 45 and 47 to couple the cryptically encoded packets containing a previously loaded packet identifier, with the associated cryptic encoding keys allowing their decoding cryptic Uncoded packets cryptically have no associated cryptic encoding keys. The units 45 and 47 provide both the identified packets and their cryptic encoding keys associated with the cryptic decoder 50. The packet identifier look-up table of the unit 45 is also mapped into the memory in a destination table, which couples the packets containing pre-loaded packet identifiers, with the locations of the corresponding destination buffer area in the packet buffer zone 60. The cryptic encoding keys and the destination buffer zone location addresses associated with the programs selected by a user to view or store, are preloaded in units 45 and 47, together with ^ the packet identifiers assigned by the controller 115. The cryptic encoding keys are generated by the smart card system 130 which complies with ISO 7816-3, from the cryptic coding codes extracted from s of the input data stream. The generation of cryptic encoding keys is subject to the client's right, determined from the information encoded in the input data stream and / or previously stored in the same insertable smart card (International Standards Organization) , Document ISO 7816-3 of 1989, defines the interface and signal structures for a smart card system). The packets provided by units 45 and 47 to unit 50, are encoded cryptically using a cryptic encoding technique, such as the Cryptographic Data Coding Standard (DES), defined in Publications 46, 74, and 81 of the Federal Information Standards (FIPS) (Federal Information Standards), provided by the National Technical Information Service, Department of Commerce. The unit 50 cryptically decodes the cryptically encoded packets, using the corresponding cryptic encoding keys provided by the units 45 and 47, by applying cryptic decoding techniques appropriate for the selected cryptic encoding algorithm. The packets cryptically decoded from the unit 50, and the packets not cryptically encoded from the unit 45 comprising the program to be displayed, are provided to the decoder 55. The packets decoded cryptically from the unit 50., and packets not cryptically encoded from the unit 47 comprising the program to be stored, are provided to the multiplexer 110. The unit 60 contains four buffer zones of packets accessible by the controller 115. A ~ "of the buffer areas it is assigned to contain the data intended to be used by the controller 115, and the other three buffer zones are assigned to contain packets that are intended to be used by the application apparatuses 75, 80, and 85. Access to the packets stored in the four buffer zones inside the unit 60, both by the controller .115 and by the application interface 70, is controlled by the buffer zone control unit 65. The unit 45 provides an indicator of destination to unit 65 for each packet identified by unit 45 for decoding. "Indicators indicate the destination locations of the individual unit 60 for the identified packets, and stored by the control unit 65 in an internal memory table. The control unit 65 determines a series of read-write pointers associated with the packets stored in the buffer zone 60, based on the First-Enter-First-Exit (FIFO) principle. The write pointers, in conjunction with the "target flags," allow the sequential storage of a packet identified from units 45 or 50, at the next empty location within the appropriate destination buffer zone in unit 60. The read flags allow the packets to be read in sequence from the destination buffer areas of the appropriate unit 60, by means of the controller 115 and the application interface 70. The packets are not cryptically encoded and decoded cryptically provided by the units 45 and ~ 50 to decoder 55, contain a transport header, as defined by section 2.4.3.2 of the MPEG system standard. The decoder 55 determines, from the transport header, whether the packets are not crypted and decoded. Cryptically they contain an "adaptation" (according to the MPEG systems standard) .The adaptation field contains the time information, including, for example, Program Clock References (PCRs), which allow the synchronization and decoding of the content packets Upon detecting a time information packet, i.e., a packet containing an adaptation field, the decoder 55 signals the controller 115, by means of an interruption mechanism, by setting a system interruption, In addition, the decoder 55 changes the destination indicator of the time packet in the unit 65, and provides the packet to the unit 60. By changing the destination indicator of the unit 65, the unit 65 diverts the time information packet provided by the decoder 55 to the location of the buffer zone of the unit 60 assigned to contain data pa will be used by the controller 115, instead of an application buffer zone location. Upon receiving the interruption of the system established by the decoder 55, the controller 115 reads the time information and the PCR value, and stores it in its internal memory.
The PCR values of the successive time information packets are used by the controller 115 to adjust the master clock of the system 25 (27 MHz). The difference between the PCR-based and master-based estimates of the time interval between the reception of successive time packets, generated by the controller 115, is used to adjust the master clock of the system 25. The controller 115 accomplishes this by the application of the estimated time difference derived, to adjust the input control voltage of a controlled voltage oscillator used to generate the master clock. The controller 115 restores the system interruption after storing the time information in the internal memory. The packets received by the decoder 55 from the units 45 and 50, which contain the content of the program, including the audio, video, subtitling information, and other information, are directed, via the unit 65, from the decoder 55 to the zones. buffer of the designated application device in the buffer zone of the packet 60. The application control unit 70 retrieves in sequence the audio, video, subtitle, and other data data from the designated buffer zones , in the buffer zone 60, and provides the data to the corresponding application apparatuses 75, 80, and _85. The application apparatuses comprise audio and video decoders 80 and 85, and the high-speed data port 75. For example, the packet data corresponding to a composite program guide generated by the controller 115, as described above, and as shown in Figure 5, they can be transported to the video decoder 85, to be formatted into a suitable video signal for visual display on a monitor (not shown) connected to the video decoder 85. Also, for example, the port data 75 can be used to provide high-speed data, such as computer programs, for example, to a computer. Alternatively, port 75 can be used to produce data to an HDTV decoder, to display the images corresponding to a selected program or a program guide, for example. The packets containing the PSI information are recognized by the unit 45, as it is intended for the buffer zone of the controller 115 in the unit 60. The PSI packets are directed towards this buffer area by means of the unit 65, by means of of units 45, 50, and 55, in a manner similar to that described for packages containing the content of the program. The controller 115 reads the PSIT from the unit 60, and stores it in the internal memory. The controller 115 also generates the condensed PSI (CPSI) from the stored PSI, and incorporates the CPSI into a packet data stream suitable for being stored in a selectable storage medium. The identification and address of the packet is governed by the controller 115 in conjunction with the unit 45 and the packet identifier of the unit 47, the destination look-up tables and cryptic encoding key, and the functions of the control unit 65 of the packet. the way previously described. In addition, the controller 115 is coupled with a communication interface unit 116, which operates in a manner similar to the interface unit 1113 of FIGURE 2. That is, the unit 116 provides the ability to upload and download information to and from from Internet. The communication interface unit 116 includes, for example, a modem for connecting to an Internet service provider, for example, by a telephone line or by a cable television line. Communication capability allows the system shown in Figure 3 to provide e-mail capability and Internet-related features, such as web search, in addition to receiving television programming. Figure 4 is a "specific implementation of an electronic apparatus generally shown in Figure 3, and described in detail above." Figure 4 depicts a satellite receiver top box, designed and manufactured by Thomson Consumer Electronics, of Indianapolis, Indiana. , USA, to receive DirecTV satellite service "11 provided by Hughes Electronics. As shown in Figure 4, the upper box has a tuner 301 which receives and tunes the applicable satellite radio frequency signals in the range of 950 to 1,450 MHz from a satellite antenna 317. The tuned analog signals are output to a module link 302 for further processing. The link module 302 is responsible for the further processing of the tuned analog signals I Output and Q Output from the tuner 301, including the filtering and conditioning of the analog signals, and the conversion of the analog signals to a digital output signal, DATA . The link module 302 is implemented as an integrated circuit (IC). The integrated circuit of the link module is manufactured by SGS-Thomson Microelectronics of Grenoble, France, and has the part number ST 15339-610. The digital output, DATA, from the link module 302, consists of a current of packet data that complies, recognized and processed by the transport unit 303. The data stream, as described in detail in relation to Figure 3, includes the program guide data information, and the data content of the One or more program channels of the DirecTV1 satellite broadcast service 1. As discussed above, the program guide data contains information related to the type of program (for example, audio only, video only, etc.) as shown in indicates, for example, by the type of "class." The function of the transport unit 303 is the same as the transport system 25 shown in Figure 3 and discussed above, as described above, the transport unit. e 303 processes the data stream in packets according to the Packet Identifiers (PID) contained in the header information. Then the processed data stream is formatted in compressed audio and video packets compatible with MPEG, and coupled with an MPEG decoder 304 for further processing. The transport unit 303 is controlled by an Advanced RISC Microprocessor (ARM) 315, which is a microprocessor based on RISC. The ARM processor 315 executes the control software that resides in the ROM 308. The example components of the software may be, for example, the control programs shown in Figures 6 to 8, to process the commands of the user interface, and displaying the visual display information on the screen in accordance with aspects of the present invention that will be discussed below. The transport unit 303 is normally implemented as an integrated circuit. For example, a preferred embodiment is an integrated circuit manufactured by SGS-Thomson Microelectronics, and has the part number ST 15273-810 or 15103-65C. The compressed audio and video packets compatible with MPEG from the transport unit 303 are delivered to an MPEG decoder 304. The MPEG decoder decodes the compressed MPEG data stream from the transport unit 303. Then the decoder 304 produces the Applicable audio stream, which can be further processed by the digital-to-analog audio converter (DAC) 305, for "converting digital audio data to analog sound." Decoder 304 also produces the applicable digital video data, which they represent the image pixel information, towards an NTSC encoder 306. The NTSC encoder 306 then further processes this video data into an analog video signal compatible with NTSC., such that the video images can be displayed on a regular NTSC television screen. The MPEG decoder, as described above, can be implemented as an integrated circuit. An example mode may be an MPEG decoder integrated circuit manufactured by SGS-Thomson Microelectronics, having the part number ST 13520. In the MPEG processor 304, a visual display display processor 320 is included. The display processor visual on screen 320 reads the data from SDRAM 316, which contains the stored visual display information on the screen. The visual display information on the screen corresponds to visual display graphics / text images on the bitmap screen. The on-screen display processor may vary the color and / or translucence of each pixel of a screen display image under the control of the ARM 315 microprocessor in a conventional manner. The on-screen visual display processor is also responsible for generating "an example program guide, as shown in Figure 5, under the control of the ARM processor 315. In the example mode, upon detecting a user request from generate a visual guide display, the ARM 315 microprocessor processes the data information from the program guide obtained from a data stream provided by a program guide information provider, and formats the guide data information in screen display pixel data corresponding to a "grid guide", as shown in Figure 5. The pixel data of the on-screen visual display from the transport unit 303, is then sent to the processor screen display 320, in the MPEG 304 audio / video decoder, to generate the guide image, as described above. "" As shown in Figure 5, the "grid guide" 500 normally occupies the entire screen of a visual display. The grid guide 500 shows a program information in a time and channel format, similar to a television schedule listed in a newspaper. In particular, one dimension (for example, the horizontal) of the guide, shows the time information, while the other dimension (for example, the vertical) of the guide shows the information of the channel. The time information is transmitted to the user by putting a time line 501 on the upper portion of the guide, and is marked at half-hour intervals. Channel information is transmitted to the user through channel numbers 510-516, and the station names of the corresponding channels 520-526. In addition, the program guide 500 contains the icons Internet 550 and Email 560. By clicking on these buttons, a user can surf the Internet, and send / receive email, respectively, through the communication interface unit 307 In addition, you can also incorporate an Internet website icon into a grid of a program guide. For example, by clicking on "ESPN.com" within grid 570, the user will automatically link to, for example, an ESPN website. A low speed data port 330 is used to connect to an Infrared Discharger (not shown), to control a video cartridge recorder, to record a program. As discussed above, an infrared discharger is basically a programmable video cartridge recorder remote control emulator, controlled by the satellite receiver shown in Figure 4. It is placed in front of a remote video cartridge recorder sensor, a connected video cartridge recorder, and transmit commands, such as "ON" and "RECORD" under the control of the satellite receiver at the appropriate time, according to the information on the stopwatch screen entered by users. The additional relevant functional blocks in Figure 4 include the 307 modem, which corresponds to the communication interface unit 116 shown in Figure 3, to have access to the Internet, for example. The Conditional Access Module (CAM) 309 corresponds to the cryptic decoding unit NRSS 130 shown in Figure 3 to provide conditional access information. The broadband data module 310 corresponds to the High Speed Data Port 75 shown in Figure 3, to provide high speed data access to, for example, an HDTV decoder, or a computer. A keyboard module / Infrared Receiver 312 corresponds to the Remote Unit interface 120 shown in Figure 3, to receive the user control commands, from a user control unit 314. The Digital AV 313 bus bar module, corresponds to the input / output port 100 shown in Figure 3, to connect to an external device, such as a video cartridge recorder, or a digital video disc player. Figures 6 to 8 show example control programs in the form of a flow diagram, which can be executed by the central processing unit 1112 of Figure 2, the Controller 115 of Figure 3, or the ARM 315 microprocessor of the Figure 4, to implement the features according to the present invention. A person skilled in the art would readily recognize that these control programs, when executed by any of the systems described in Figures 2 to 4, will provide the same features in accordance with the present invention. Accordingly, to avoid redundancy, the example control programs shown in Figures 6 to 8 will be described below only with respect to the implementation of the example hardware shown in Figure 4. As discussed above, in the system shown in FIG. Figure 4, a user can select a program, for example, simply by highlighting the grid containing the desired program in an electronic program guide, as shown in Figure 5. In addition, if a selected program is a pay show per event, the ARM controller 315 of the system shown in Figure 4 will cause the visual display processor 320 to display an example "program details" screen, as shown in Figure 9. Figure 9 shows a screen Example 900 that provides a user with additional options and detailed information about a selected pay-per-view program. For example, the detailed information includes a 950 area that contains title, topic, subject, evaluation, start time, duration, cost, and a short description of the program, et cetera. In addition, the screen 900 provides a user with several actions selectable by the user. User actions include "watch the channel" 910, "channel guide" 920, "buy program" 930, and "buy and record" 940, as described below. - If a user selects the option "see the channel" 910, the ARM 315 processor will cause the system of Figure 4 to tune to the channel corresponding to the selected program, and display a program preview (if there is a preview available). If a user selects the "Channel Guide" option 920, the ARM 315 processor will cause the system to return and display the program guide as shown in Figure 5. As shown in 602 of Figure 6A, they are additionally provided to a user the "buy program" options 930 or "buy and record" a 940 program. If the user selects the option to only buy a program, as shown in step 605, the ARM processor will first set "record" variable to zero (0), as shown in step 607. The ARM 315 processor will then check to see if the user has exceeded their purchase spending limits, as shown in step 619. A purchase limit is similar to a previously established credit card limit for credit cards , and allows a pay-per-event service provider to limit its own financial risks, and avoid potential f orces. As shown in step 625, if this previously established spending limit is not exceeded, the ARM 315 processor will proceed to process and store the purchase information for this selected pay-per-event program. Basically, the ARM processor 315 will store, for example, the start and stop times of the selected program, and causing the tuner 301 to tune to the appropriate channel, and cryptically decode the purchased pay-per-event program, at the appropriate time. Once the purchase information is processed as shown in step 625, the ARM 315 processor will check to see if the "record" variable has been set to one (1), indicating a recording request. Because this is the case of purchase only, the "recording" was previously set to zero in step 607. Accordingly, the control program will branch to "A", in step 650 of Figure 6B.
On the other hand, if a user has selected both buy and record a program, the control program shown in Figure 6A will branch to step 609. In addition, when this option is selected, an additional charge for derivation could be displayed, using the on-screen visual display processor, to notify the user that the additional charge may be applied. The ARM processor 315 will then proceed to set the "recording" variable to one (1) in step 611. Then the ARM processor will check to see if a timer slot is still available to be programmed for the recording of this selected event in the step 615. Figure 11 shows a chronometer example screen 1190 to program different timers, in such a way that a user can program in advance, to record or watch programs. As shown in Figure 11, 8 chronometer slots 1191-1198 are available for this example mode. The timer display 1190 may be displayed, for example, when a user selects a "stopwatch" button on the user's control unit 314, or by the option to highlight "stopwatch" from a main menu (not shown). Then a user can select one of the eight timers 1191-1198 that will be programmed to record or watch a program, completing a sentence on screen 1199. The aspects of completing a sentence to set a timer to watch or record a program are discussed in detail in U.S. Patent Number 5,682,206 issued to Wehmeyer, et cetera, and assigned to the same assignee of the present invention. When the sentence is completed, the user can select "Run Chronometer" to complete the chronometer programming, for the selected chronometer. Returning to the discussion of the flow diagram of Figure 6A, in step 615, if an empty chronometer is available, then the ARM processor 315 will proceed to verify the spending limit for the user, as discussed above, and as shown in step 619. As shown in step 625, if this spending limit previously established for this user, then the ARM processor 315 will proceed to process and store the purchase information for this pay-per-event program selected in step 625, as discussed above. Because the "recording" variable has been set to 1 in step 611, indicating that this program has also been selected for recording, the control program will proceed to determine if there is a chronometer conflict in step 629. There is a chronometer conflict when any two of the chronometers shown, for example, on the chronometer 1190 screen of Figure 11, have been programmed with times of events that overlap each other. For example, there is a chronometer conflict if timer 1 is programmed "with an event that starts at 9:00 am, and ends at 10:00 am, and timer 3 is programmed with an event that starts at 9 : 30 am and ends at 10:30 am on the same date There is a chronometer conflict between chronometer 1 and chronometer 3 in this case, because a portion of their respective program times overlap with each other. This causes a problem, "because the system shown, for example, in Figure 4, can only provide the output for one program at a time. In order to transmit the chronometer conflict information to the users, the example screen shown in Figure 11 includes symbols to alert users about which timers have a stopwatch conflict. For example, as shown on screen 1190 of Figure 11, the symbols may be broken clock covers 1181 and 1182, which appear respectively next to timers 1191 and 1193. The symbols indicate to a user that the chronometers 1 and 3 have a stopwatch conflict, in such a way that the user can reprogram any timer to avoid conflict If there is a chronometer conflict for this selected program, as determined in step 629 of Figure 6A, then the The ARM 315 microprocessor will cause the display display processor 320 to display a "stopwatch conflict" screen (not shown), for a user to resolve the stopwatch conflict.An example of a stopwatch conflict screen may simply be a warning message to the user that there is a timer conflict for this selected program, and the user is given the option to cancel this program selection loves, or to resolve the conflict. If the user selects to resolve the timer conflict, the program in Figure 6A proceeds to confirm a "password or make sure a password has been confirmed, giving the user the authority to change the timers, as shown in step 633. After the password has been confirmed, the ARM processor will cause the screen display processor 320 to display, for example, the chronometer display screen 1190 of Figure 11, so that the user can proceed to resolve any Stopwatch conflict The user can resolve the stopwatch conflict by changing or selecting the stopwatch that is in conflict with the chronometer of the current selected program.This new time information for the stopwatch that has been changed is then stored and a stopwatch indicator at 1, as shown in step 641. Then the program will jump to point A, step 650, of the Figur to 6B.
Continuing step 645 of Figure 6B for the user to buy and record a program, the ARM 315 processor will ask the user to confirm the purchase.
If the user confirms the purchase, the ARM 315 processor will perform the necessary process to complete the purchase, including the updating of the relevant program records, including the "establishment of the variable" PURCHASING INDICATOR "in one (1), and storing the purchase information in memory 316, for example, then the ARM 315 processor will check to see if the "stopwatch indicator" has been set to 1, indicating that "a recording has been selected, and that there is no chronometer conflict , in step 649. If the stopwatch indicator is set to one, then the ARM 315 processor will proceed to store this program in a list of programs that represent the programs to be recorded. As shown in step 651, the ARM 315 processor will first choose an available stopwatch from the list of timers shown, for example, in Figure 11. Then the ARM 315 processor will automatically populate the blank fields of the sentence programming 1199 of the selected chronometer with information related to this selected program. This allows the selected program to be recorded at the appropriate time. After the stopwatch is correctly set at step 651, the control program will return to the entry point (POE), at "step 601. At this point, if a user is to invoke the chronometer 1190 visual display screen shown in Figure 11, the screen would show that timer 2 has been programmed for this pay-per-view program automatically by the ARM 315 processor. This can be seen by looking at the information in the programming sentence 1199 corresponding to the time of this program pay per event, and that the "" recording "command has been selected in the programming sentence 1199. In addition, the" $ "symbol next to the stopwatch 2 (that is, item 1192) indicates to the viewer that This is a purchased or pay-per-event event The clock not broken immediately after the "$" indicates there is no chronometer conflict between the stopwatch 2 and any other stopwatches Figures 7 and 8 show aspects of the automatic coordinations between the user's actions of 'programming a stopwatch and scheduling a purchase according to the present invention. "Figure 7 is a flow diagram for processing a user's action to erase one of the timers 1191-1198 shown in Figure 11. The user can select to erase a" stopwatch by first choosing the stopwatch to be erased, by example, the timer 2, as shown in Figure 11, and then highlight "erase timer 2" 1183, using the user control unit 314. Once "Delete Stopwatch 2" 1183 is selected, the program shown in FIG. Figure 7 will first determine if this selected chronometer 2 is related to a purchased event, as indicated by whether the variable BUY INDICATOR is set to 1, shown in step 701. If this chronometer is related to a pay-per-view show purchased, then the ARM 315 microprocessor will display a 1,200 example visual display screen, as shown in Figure 12. The 1,200 visual display screen includes the description about the purchased event, similar to that shown in Figure 9 previously discussed. The "Cancel Purchase" option 1201 is included in the screen. If the user then highlights this option, as shown in step 705, this purchase will be canceled, as shown in step 707. Then the program will proceed to erase the stopwatch 2, as indicated in step 709. Then the program proceeds to set the BUY INDICATOR to 0, because this program is no longer being purchased. The program in Figure 7 will then jump back to the entry point (POE), as indicated in step 715. Figure 8 shows a flow diagram for canceling a purchase of a program in accordance with the present invention. In step 801, a user can request the ARM 315 processor to display a list of impending purchases that already exists in the system, by enhancing the "Future Buy" option on a display screen of the example 1,000 user interface, as shown in Figure 10. Then the user can select the particular program from the list, using the navigation keys of the user control unit 314. In step 803, once a program is selected, the ARM processor will display the program detail screen as shown in Figure 12, and as described above. Again, the "Cancel Purchase" option 1201 is included in the display 1,200. If the user highlights this option, as shown in step 805, this purchase will be canceled, as shown in step 807. The program of the Figure 8 then proceed to verify if this purchased program has an associated timer, for example, to record the program, in step 809. If there is a timer associated with this program, then the timer will also be automatically cleared, as shown in step 811. Then the program will jump back to the entry point (POE) in step 813. It should be understood that the modalities and variations shown and described herein are for illustrations only, and that experts in the field can implement different modifications without departing from the scope and spirit of the invention.

Claims (17)

  1. CLAIMS 1. An apparatus for receiving a plurality of programs, which comprises: a user interface element for selecting a program from the plurality of programs, and for selecting a user action; a controller, which, in response to a first user action to select a first program to record, stores this first program in a first list representing a list of programs to be recorded, and in response to a second user action to select a second program for both buying and recording, stores this second program in a "second list that represents a list of purchased programs, and also stores the second program in the first list 2. The apparatus of claim 1, in where the first list includes a chronometer conflict indication for programs that have a chronometer conflict 3. The apparatus of claim 1, wherein the first list includes a purchase indication for the second program. claim 1, wherein the controller first determines whether there is a chronometer conflict between the second program and another program of the first list, is to store the second program in the first list. The apparatus of claim 4, wherein the controller requests a user to resolve the chronometer conflict if said chronometer conflict exists. 6. An apparatus for processing a program, which comprises: a controller for displaying a first list representing selected programs for recording; - representing _the controller to display a second list, the programs selected for purchase; and the controller, which in response to the selection by the user of said program, both for purchase and for recording, automatically introduces this program in the first list and in the second list. The apparatus of claim 6, wherein the first list includes a chronometer conflict indication for programs that have a chronometer conflict. The apparatus of claim 6, wherein the first list includes an indication of purchase for said program. 9. The apparatus of claim 6, wherein the controller first determines if there is a chronometer conflict between said program and another program of the first list, before introducing this program into the first list. 10. The apparatus of claim 9, wherein the controller requests a user to resolve the chronometer conflict, if said chronometer conflict exists. 11. An apparatus for processing a plurality of programs, comprising: an interface element "of the user to select a program from the plurality of programs, and to select a user action; a controller that, in response to a first user action to cancel a first program to record, remove this first program from a first list that represents a list of programs to be recorded, and in response to a second action by the user to cancel a second program to buy , removes the second program from the second list, which represents a list of purchased programs, and also removes the second program from the first list, if this second program appears in the first list. which comprises: an element of visual display on the screen, for displaying a first list representing the programs selected for recording; visual on screen to display a second list that represents the programs selected for purchase; a user control element to remove said program from the first and second lists; and an element of control which, in response to the removal by the user of said program from the second list, automatically removes the program from the first list, and if the second program appears in that first list. 13. A method for processing a plurality of programs, which comprises: selecting a first program to be recorded, from the plurality of programs; store the first program in a first list; select a second program for both purchase and recording; store the second program in a second list that represents the purchased programs; and store, automatically, the second program in the first list. The method of claim 13, further comprising the step of determining if there is a chronometer conflict between the second program and another program of the first list, before storing the second program in the first list. 15. The method of claim 14, which further comprises the step of requesting a user to resolve the chronometer conflict, if there is this chronometer conflict, 16. A method for processing a plurality of programs, which comprises: "select a first program to be removed from a first list that represents a list of programs selected for recording; select a second program to be removed from ~ the second list that represents a list of purchased programs; determine if the second program also appears in the first list; and automatically remove the second program from the first list, if the second program appears in this first list. 17. A method for processing a program, which comprises: removing in response to a user command, the program of a first list of programs representing programs scheduled for recording; determine if- this program is also a purchased program; and automatically remove, this program from a second list of programs that represent purchased programs, if this program is also a purchased program.
MXPA/A/1999/011216A 1997-06-06 1999-12-03 System and method for recording pay tv programs MXPA99011216A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US60/048,879 1997-06-06

Publications (1)

Publication Number Publication Date
MXPA99011216A true MXPA99011216A (en) 2000-06-01

Family

ID=

Similar Documents

Publication Publication Date Title
CA2290956C (en) System and method for recording pay tv programs
EP1374574B1 (en) Method for searching of an electronic program guide
EP1407597B1 (en) System and method for simplifying different types of searches in electronic program guide
KR100746157B1 (en) A method for a video apparatus to transmit auxiliary information to a data processing means, and method for enabling a software application
US8260676B2 (en) Control spending based on time period
EP1316212B1 (en) System and method for providing recording function when program information is unavailable or incomplete
KR100850520B1 (en) Method and apparatus for assisting a user
EP1197076B1 (en) Program guide processing
MXPA99011216A (en) System and method for recording pay tv programs
MXPA99011215A (en) System and method for processing audio-only programs in a television receiver