ADVANCED TELEVISION SYSTEM

Abstract: A digital television recording method comprising: broadcasting a television program associated with a broadcaster set of parameters enabling access to a first set of predetermined portions of the program; operating an agent for determining whether to record the program and for associating with the program, upon recording of the program, an agent set of parameters enabling access to a second set of predetermined portions of the program; storing the program together with the broadcaster set of parameters and the agent set of parameters to generate an addressable program; retrieving at least a portion of the addressable program; displaying the at least a portion of the addressable program to a user; receiving from the user a user set of parameters enabling access to a third set of predetermined portions of the addressable program; editing the addressable program to include the user set of parameters enabling access to the third set of predetermined portions of the addressable program thereby generating an edited addressable program; and storing the edited addressable program.

Description: ADVANCED TELEVISION SYSTEM FIELD OF THE INVENTION The present invention relates to digital television recording systems. BACKGROUND OF THE INVENTION Today, television programs are recorded at home on low capacity magnetic tape storage devices using video cassette recorders (VCRs). Typically, conventional video cassettes store only three or four hours of good quality movies. Thus, in order to record many programming hours, a user must use several video cassettes. A conventional VCR is typically a passive recorder since it does not determine what television material to record. Typically, the VCR must be programmed by the user in order to initiate recording, and programming options typically include only selection of a time to begin recording and a time to end recording. When the user wants to see a portion of a recorded movie, the user must first determine in which cassette the movie is recorded since VCRs do not provide a recording content guide. Although the user may write on each cassette titles of movies recorded therein, most users do not keep track of the movies recorded on their video cassettes. This makes searching of movies in video cassettes difficult. Even after the user determines which video cassette includes the required movie, the user must rewind the cassette or move forward to find the portion of the movie. Such operations are inconvenient and typically cause wear to the video cassette and several electro-mechanical parts of a VCR thereby resulting in a need for frequent repairs in video laboratories. Some VCRs also provide an editing function which enables the user to edit a recorded movie. However, editing with a VCR is difficult and requires frequent rewinding or moving forward of video cassettes which, as mentioned above, causes wear to the video cassettes and several electro-mechanical parts of the VCR. Thus, it is appreciated that a recording and retrieval system which enables easy access to selected portions of stored movies and simple editing of movies will be highly desired. In a publication titled "Double Agent - Presentation and Filtering Agents for a Digital Television Recording system" by Meuleman et al. of Philips Research, Eindhoven, The Netherlands, dated 18-23 April 1998, there is described a double agent which explores scenarios for automated selection of television programs and their presentation via anthropomorphic interfaces. The double agent operates on data recorded by an experimental digital VCR. In a publication titled "SMASH - a concept for advanced use of storage at home" by Persoon of Philips Research, Eindhoven, The Netherlands, dated 3 May 1998, the concept of SMASH (Storage for Multimedia Applications and Systems) is described. The main goal of the project is to explore the future possibilities offered on the one hand by the massive amount of new digital services that enter the consumers home and on the other hand the impressive progress of storage technologies that are suitable for home use. In a publication titled "Mediators - Guides through online TV services" by Kohar et al. of Philips Research, Eindhoven, The Netherlands, dated 3 May 1998, there are described anthropomorphic guides who aid users in selection and navigation to content in interactive television services. The following US Patents are related to special effects in television: 4,080,626; 4,272,787; 4,768,095; 4,774,582; 4,777,531 ; 5,519,448; 5,621,473. Israel Patent Application 121230, submitted 3 July 1997 and corresponding published PCT Application WO 99/01984 both assigned to NDS Limited describe one system for using intelligent agents to customize an electronic program guide (EPG) based on user behavior. Israel Patent Application 120174, submitted 8 February 1997 and corresponding published UK Patent Application 2,322,030 both assigned to NDS Limited describes a method for producing and recording a digital data stream, and particularly for protecting recording of digital data streams including digital television data. In a DAVIC (The Digital Audio-Visual Council) publication DA VIC/TC/APP/98/05/001 titled "Applications for Home Storage Based Systems", dated 1 May 1998, there are described a number of applications which can be realized through the provision of home storage systems, made easy to use by appropriate use of content descriptions, markers, links and agent technologies. The disclosures of all references mentioned above and throughout the present specification are hereby incorporated herein by reference. SUMMARY OF THE INVENTION The present invention seeks to provide digital television recording apparatus having a powerful yet simple user interface which enables manipulation of information recorded by the digital television recording apparatus. In the present invention, television programs are recorded in a high capacity memory based on a continuously updated user profile. The television programs are also presented to a viewer based on the user profile. The television programs include various types of television material, such as programs, commercials, video clips, program guides, data, multimedia information, hypermedia links and teletex. The high capacity memory may include a high capacity hard disk and a high capacity external memory. A user may either watch broadcast television or programs retrieved from the high capacity memory or link to other networks, such as the Internet. When viewing a program retrieved from the memory, the user has a variety of possibilities to manipulate the program, such as editing, marking and combining highlights in the program, tagging the program for retrieval under determinable conditions, changing parental control criteria and using special features, such as picture-in-picture (PIP). The user also has additional interactive features. The user may switch from broadcast television to the stored program in a simple way. Additionally, one of the features provided by the digital television recording apparatus is program freezing in which the program is frozen when the user is required to stop watching television, and then automatically recorded in the memory from the moment of freeze. When the user is able to watch television again, the program is retrieved from the memory and the user may resume watching the program in a delayed mode from the moment of freeze. Storage of television programs makes it possible to treat the programs as computer software programs and thus many advantages arise. Additionally, flexible programming tools may be adapted which are tailored to specific needs of television viewers. There is thus provided in accordance with a preferred embodiment of the present invention a digital television recording method including broadcasting a television program associated with a broadcaster set of parameters enabling access to a first set of predetermined portions of the program, operating an agent for determining whether to record the program and for associating with the program, upon recording of the program, an agent set of parameters enabling access to a second set of predetermined portions of the program, storing the program together with the broadcaster set of parameters and the agent set of parameters to generate an addressable program, retrieving at least a portion of the addressable program, displaying the at least a portion of the addressable program to a user; receiving from the user a user set of parameters enabling access to a third set of predetermined portions of the addressable program, editing the addressable program to include the user set of parameters enabling access to the third set of predetermined portions of the addressable program thereby generating an edited addressable program, and storing the edited addressable program. Preferably, the agent set of parameters is operative to override at least a portion of the broadcaster set of parameters. The user set of parameters is preferably operative to override at least one of a portion of the broadcaster set of parameters, and a portion of the agent set of parameters. Preferably, the broadcaster set of parameters includes a subset of parameters which cannot be overridden by any of the agent set of parameters and the user set of parameters. Additionally, at least one of the broadcaster set of parameters, the agent set of parameters, and the user set of parameters may include a tag determining at least one of a program retrieval parameter and a content retrieval parameter. Further additionally, the agent set of parameters includes a recording quality parameter determining a quality of recording of the program. The user set of parameters preferably includes a rating parameter determining a rating of the program as provided by the user. The television program may include a commercial and the broadcaster set of parameters may include a commercial set of parameters. Preferably, the broadcaster set of parameters includes a parameter determining a request for additional information related to at least one of the commercial and the program. The broadcaster set of parameters also preferably includes a parameter determining expiration of the commercial after a predetermined number of people have seen the commercial or after the user has seen the commercial a predetermined number of times. Additionally, the broadcaster set of parameters also includes a parameter disabling fast-forward/fast backward browsing through the program . Alternatively or additionally, the television program includes two separate television programs displayed simultaneously in a picture-in-picture (PIP) mode on a television screen, and the user set of parameters includes a parameter determining a viewing selection for viewing only one of the two separate television programs on the full television screen. Preferably, the broadcaster set of parameters includes at least one parameter determining at least one of the following information fields: a type of the program; supplementary information accompanying the program; an associated audio channel in a language which differs from a language used in an original audio channel associated with the program; program delete enabled/disabled; parental control associated with at least a portion of the program which requires parental control; an expiration time of the program; picture-in-picture availability; a program title; a time when the program is broadcast; a length of the program; a determination whether the program is encrypted; a compression format of the program; characteristics of the program; cancellation of material already transmitted in the program; selective routing of part of the material to selected users; context specific tagging; and a media item. Additionally, the agent set of parameters includes at least one parameter determining at least one of the following information fields: a quality of recording of the program; a type of program whose recording is required; at least a title of a favorite program whose recording is required; a time and a date when recording of the program is required; and existence of a review attached to the program; context specific tagging; a media item; and a category of the program. Further additionally, the user set of parameters includes at least one parameter determining at least one of the following information fields: a program rating provided by the user; a review of the program; a request for additional information relating to the program; a format of the program after editing operations; at least one highlight in the program; compression preferences for compressing the program prior to storage; image manipulation; and video wallpaper selection. Preferably, the first set of predetermined portions of the program, the second set of predetermined portions of the program, and the third set of predetermined portions of the addressable program include identical portions of the program. There is also provided, in accordance with a preferred embodiment of the present invention a digital recording method including determining whether to record a program, and recording the program in response to a recording determination at a recording quality determined by a recording quality parameter. Further in accordance with a preferred embodiment of the present invention there is provided a digital recording method including determining whether to record a program, storing the program in response to a recording determination, and retrieving the program in accordance with a rating given to the program. There is also provided in accordance with a preferred embodiment of the present invention a digital recording method including determining whether to record a program, storing the program in response to a recording determination, and retrieving the program in accordance with a browsing hierarchy. Additionally in accordance with a preferred embodiment of the present invention there is provided a digital recording method including determining whether to record a program, recording the program in a circular buffer upon first activation of a freeze selector from a moment of the first activation of the freeze selector, conditionally accessing the program recorded in the circular buffer for retrieval of the program from the circular buffer upon second activation of the freeze selector, and playing the program retrieved from the circular buffer from the moment of the first activation of the freeze selector. There is also provided in accordance with a preferred embodiment of the present invention apparatus for digital recording of a program including a receiver for receiving the program associated with a broadcaster set of parameters enabling access to a first set of predetermined portions of the program, an agent module operatively associated with the receiver and operative to determine whether to record the program and to associate with the program, upon recording of the program, an agent set of parameters enabling access to a second set of predetermined portions of the program, a memory operatively associated with the agent module and operative to store an addressable program, the addressable program including the program associated with the broadcaster set of parameters and the agent set of parameters, a display operatively associated with the agent module, the receiver and the memory and operative to display at least a portion of the addressable program to a user, an input/output (I/O) interface operatively associated with the agent module and operative to receive from the user a user set of parameters enabling access to a third set of predetermined portions of the addressable program, and a user programming manager operatively associated with the memory, the I/O interface, the agent module, the receiver and the display and operative to generate an edited addressable program by editing the addressable program to include the user set of parameters enabling access to the third set of predetermined portions of the program, and to store the edited addressable program in the memory. In accordance with a preferred embodiment of the present invention there is also provided apparatus for digital recording of a television program including a processor for determining whether to record the television program, a memory associated with the processor and operative to store the television program in response to a recording determination received from the processor, and a recording quality selector associated with the processor and the memory and operative to select a recording quality parameter determining a quality of storage of the television program in the memory. Additionally, the apparatus includes a freeze selector operatively associated with the processor, wherein upon a first activation of the freeze selector, the processor is operative to record the program in the memory from a moment of first activation of the freeze selector, and upon a second activation of the freeze selector, the processor is operative to play the program recorded in the memory from the moment of first activation. Further additionally, the apparatus includes a rating activator associated with the processor and the memory and operative to input information determining a rating given to the program. The apparatus also preferably includes a NEXT key selector associated with the processor and the memory and operative to browse through television programs stored in the memory. Preferably, the NEXT selector is operative to browse through television programs stored in the memory in accordance with an order determined by at least one of the following: the user; the agent; and the broadcaster. Additionally, the NEXT selector is operative to browse through television programs stored in the memory in accordance with a hierarchy. The hierarchy is preferably determined by at least one of the following: the user; the agent; and the broadcaster. There is also provided in accordance with a preferred embodiment of the present invention apparatus for digital recording of a television program including a processor for determining whether to record the television program, a memory associated with the processor and operative to store the television program in response to a recording determination received from the processor, and a rating activator associated with the processor and the memory and operative to input information determining a rating given to the television program. Additionally, the apparatus includes a freeze selector operatively associated with the processor, wherein upon a first activation of the freeze selector, the processor is operative to record the program in a circular buffer from a moment of first activation of the freeze selector, and upon a second activation of the freeze selector, the processor is operative to play the program recorded in the circular buffer from the moment of first activation. Preferably, the apparatus also includes a NEXT key selector associated with the processor and the memory and operative to browse through television programs stored in the memory. Further in accordance with a preferred embodiment of the present invention there is also provided apparatus for digital recording of a television program including a processor for determining whether to record the television program, a memory associated with the processor and operative to store the television program in response to a recording determination received from the processor, and a NEXT key selector associated with the processor and the memory and operative to browse through television programs stored in the memory. There is also provided in accordance with a preferred embodiment of the present invention apparatus for digital recording of a program including a processor for determining whether to record the program, a circular buffer associated with the processor and operative to store the program in response to a recording determination received from the processor, a conditional access module for providing conditional access to the program stored in the circular buffer, and a freeze selector operatively associated with the processor, wherein upon a first activation of the freeze selector, the processor is operative to record the program in the circular buffer from a moment of first activation of the freeze selector, and upon a second activation of the freeze selector, the processor is operative to play the program recorded in the circular buffer from the moment of first activation in accordance with conditions determined by the conditional access module. Preferably, the conditions determined by the conditional access module include disabling of fast-forward/fast-backward over selected portions of the program. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which: Fig. 1A is a simplified pictorial illustration of a system for playing programs stored and retrieved by digital television recording apparatus, the system being constructed and operative in accordance with a preferred embodiment of the present invention; Fig. IB is a simplified block diagram illustration of digital television recording apparatus in the system of Fig. 1A, the digital television recording apparatus being constructed and operative in accordance with a preferred embodiment of the present invention; Fig. 2 is a simplified flow chart illustration of a preferred method of operation of the apparatus of Figs. 1A and IB; and Figs. 3A and 3B together constitute a simplified flow chart illustration of a preferred method of manipulation of television programs recorded in the apparatus of Figs. 1A and IB. DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT Reference is now made to Fig. 1A which is a simplified pictorial illustration of a system for playing programs stored and retrieved by digital television recording apparatus 10, the system being constructed and operative in accordance with a preferred embodiment of the present invention. Preferably, the apparatus 10 includes an integrated receiver and agent (IRA) portion 1 1 and a memory portion 12. The apparatus 10 preferably receives programs from a transmission network and stores the programs in the memory portion 12. The terms "program" and "television program" are interchangeably used throughout the specification and claims to include various types of transmitted material, such as television programs, commercials, video clips, program guides and electronic program guides (EPGs), data, multimedia information, hypermedia links, computer programs, computer data and applications which may be downloaded, program applets and teletex. Preferably, the programs may be stored in the memory portion 12 and/or retrieved from the memory portion 12 in accordance with instructions provided by an intelligent agent, generally referred to as an agent, which is resident in the IRA portion 1 1. The instructions provided by the agent are preferably determined by the agent in accordance with viewing habits of a user learned by the agent. Preferably, programs retrieved from the memory portion 12 may be displayed on a display 13 which may include any appropriate type of a conventional display. Preferably, the display 13 is operatively associated with the apparatus 10. When a program retrieved from the memory portion 12 is displayed on the display 13, an alert 14 indicating that the program is a stored program may be displayed on the display 13. Reference is now made to Fig. IB which is a simplified block diagram illustration of the digital television recording apparatus 10 in the system of Fig. 1A, the apparatus 10 being constructed and operative in accordance with a preferred embodiment of the present invention. Preferably, the apparatus 10 receives programs from a headend 15 via a satellite 20 or by broadcast. Alternatively, the apparatus 10 may receive programs from a cable headend (not shown). The television programs are preferably received at an antenna 25 and provided, via a coaxial cable 30 and a connector 35, or any other appropriate conventional means, to the apparatus 10. At the apparatus 10, the television programs are preferably received and decoded in an integrated receiver and decoder (IRD) 40 which preferably includes a conventional IRD. Preferably, the television programs received at the IRD 40 are tuned to and decoded under control of a processor 45. Decoded television programs are preferably provided, under control of the processor 45, either directly to a television 50 or to a high capacity memory 55 preferably via a data bus 60. It is appreciated that the television 50 may be a preferred type of the display 13 of Fig. 1A. The high capacity memory 55 may preferably include a conventional high capacity hard disk as used in conventional personal computers or a plurality of high capacity hard disks. It is appreciated that today a conventional computer typically includes a hard disk having a capacity of 2 - 4 Gigabyte, and hard disks with capacities of 10 Gigabyte are considered today as state-of-the-art. Prototypes of hard disks having higher capacities, such as 100 Gigabyte, are under development today and manufacturers claim availability in the market of 100 Gigabyte hard disks in large quantities by the end of the year 1998. Typically, a good quality movie of two hours requires a storage capacity of 4 Gigabyte. Thus, a 10 Gigabyte hard disk may typically store two to three full length movies or several typical television shows, each having a length of 30 - 45 minutes. A 100 Gigabyte hard disk may typically store 20 - 25 full length movies, or about 100 typical television shows. It is thus appreciated that the high capacity memory 55 may preferably be implemented by a hard disk having a capacity of at least 100 Gigabyte in order to provide good performance of the apparatus 10. However, the capacity of the memory 55 is not meant to be limiting, and the memory 55 may be also implemented by hard disks having capacities lower than 100 Gigabyte. Alternatively, the high capacity memory 55 may include a plurality of 10 Gigabyte hard disks, such as 10 hard disks, which may together be accessed in order to effectively provide a 100 gigabyte disk space, as is well known in the art. Preferably, some television programs may be also stored in an external removable memory 65 under control of the processor 45. The external removable memory 65 may include at least one of the following media: a magnetic tape; a CD-ROM (Compact-Disk Read-Only-Memory); a digital video disk (DVD); a write-many read-many compact disk or DVD; and a removable hard disk. The external removable memory 65 is preferably accessible via a removable memory reader and writer 70 which is operatively associated with the data bus 60. It is appreciated that the external removable memory 65 may be used to extend storage capacity of the apparatus 10 so that a plurality of movies may be stored in both the memories 55 and 65. Preferably, the external removable memory 65 may include a recording media changer (not shown) having a plurality of removable memories (not shown) housed in a housing (not shown) and manipulated by a changer robot (not shown). Preferably, the high capacity memory 55 and the external removable memory 65 may additionally store video and audio information provided by at least one of the following sources: an external video source 75, such as a video camera, a conventional VCR, or an image storage device (not shown); a telephone network 80, which may include a cellular telephone network (not shown); and a local area network (LAN) 85. It is appreciated that the video and audio information provided by the telephone network 80 and the LAN 85 may originate from external sources, such as the World Wide Web (WWW) (not shown), and may be routed to the telephone network 80 and the LAN 85 via networks, such as the Internet (not shown), and a wide area network (WAN) (not shown). It is appreciated that at least one of the memory 55 and the memory 65 may by divided into two parts: a broadcaster part which may include, for example, commercials which the broadcaster is interested in having a user view; and a user part in which information generated or selected by the user may be stored. It is appreciated that information may be transferred from the user part to the broadcaster part and vice versa. Preferably, the apparatus 10 communicates with the telephone network 80 via a modem 90 and with the LAN 85 via a LAN interface 95. The video source 75 is typically operatively associated with the processor 45 via the data bus 60. Alternatively, the video source 75 may be associated with an image processor (not shown) which may be operatively associated with the data bus 60. It is appreciated that the apparatus 10 may also communicate with the headend 15 via one of the telephone network 80 and the LAN 85. Alternatively, the apparatus 10 may communicate with the headend 15 by employing a radio frequency (RF) transmitter 100 for transmitting uplink information via the connector 35, the coaxial cable 30, the antenna 25 and the satellite 20. Preferably, the transmitter 100 may be driven by data provided by the processor 45 via the data bus 60. Alternatively, the apparatus 10 may communicate with the headend 15 via a Very Small Aperture Terminal (VSAT) as is well known in the art. The apparatus 10 also preferably includes a compressor/decompressor 105 which is operative to compress/decompress data provided to/retrieved from any one of the memories 55 and 65. The compressor/decompressor 105 is preferably operatively associated with the data bus 60. Preferably, the apparatus 10 may be operated by the user via a remote control 1 10, or an input device, such as a keyboard or a mouse (not shown), which may communicate with the apparatus 10 via an input/output (I/O) interface 115. The I/O interface 115 is preferably comprised in the apparatus 10 and is operatively associated with the processor 45. It is appreciated that instructions and selections inputted by the user via the remote control 110 are executed by the processor 45. Preferably, the remote control 1 10 includes function keys 120, 121, 122, 123, 124, 125 and 126 for operating special functions as described below. The apparatus 10 also preferably includes an encryptor/decrypter 130 which is operative to encrypt/decrypt data provided to/retrieved from any one of the memories 55 and 65. The encryptor/decrypter 130 is preferably operatively associated with the data bus 60 and is operative with keys or seeds provided by a smart card 135 via a smart card reader 140. It is appreciated that the keys or seeds provided by the smart card 135 may be operative to provide conditional access to and parental control of data stored in the memories 55 and 65. The term "parental control" is used throughout the specification and claims to include control by a person who has right to control what programs another person, or persons, may view and/or record/delete, and/or otherwise use. For example, and without limiting the generality of the foregoing, parental control is typically used to control programs whose viewing by children requires consent of a parent. The processor 45 preferably includes the following units: an agent module 145; a commercial manager 150; a user programming manager 155; an image processor 160; and a viewing analysis module 165. It is appreciated that at least some of the units comprised in the apparatus 10, and especially the compressor/decompressor 105, may be embodied in a general purpose processor, and the general purpose processor may be operative to execute all functions performed by the units in the apparatus 10 which are comprised in the general purpose processor. The operation of the apparatus 10 of Figs. 1A and IB is now briefly described. Preferably, the apparatus 10 may be employed to digitally record television programs provided by the headend 15 in one of the memories 55 and 65. If the IRD 40 includes a plurality of tuners (not shown), the apparatus 10 may be operative to record several programs simultaneously while viewing any program displayed at any channel, wherein the programs may be transmitted over different channels. It is appreciated that programs may be transmitted during off-peak hours for display later. Preferably, the programs transmitted during off-peak hours may be associated with at least one of the following codes: a time zone code determining a region; a subscriber identification code identifying a digital television recording apparatus; and a blacklist code identifying subscribers in a blackout area in which the programs must be displayed at later hours. Additionally, programs which are scheduled for display a number of times a day, such as previews, commercials and clips with a channel logo and theme music, or material that is to be displayed in response to defined conditions, may be transmitted only once or preloaded into memory and retrieved in response to an instruction transmitted from the headend 15. Thus, rather than transmitting the programs which are scheduled for display a number of times a day many times, the programs may be transmitted once, and either instructions to display the programs may be transmitted many times, or an instruction detailing a number of broadcast times may be broadcast once. This allows saving of transmission bandwidth. Additionally or alternatively, video, audio and control words for a single program need not be transmitted together. For example, if a program is scheduled for transmission with two associated audio channels, a first audio channel including an English version and a second audio channel including a Spanish version, the video portion of the program may be transmitted once and stored in the memory 55. When a particular version is due to be broadcast, such as the English version, the broadcaster may transmit the first audio channel, an instruction to retrieve the video portion from the memory 55, and an instruction to associate the first audio channel with the video portion. The term "control word" is used throughout the specification and claims to include a control word packet or any appropriate stream of control data/software which is associated with the program or with a portion of the program. Similarly, the program may be associated with several control words, each corresponding to a different set of on-screen-displays (OSDs), where the OSDs may, for example, include messages in different languages, or with different pricing information depending on when a preview of a Pay-Per-View program is shown. The program may preferably be displayed at different hours with different OSDs. Additionally, sections of a video portion, an audio portion and/or a control word portion of a program may be broadcast separately. For example, sections of video from the end of the program may be broadcast prior to sections of video from an earlier part of the program, with material from another program in between, and in a different order than that of sections from the audio portion and the control word portion. Additionally, the sections that are broadcast separately may be stored in separate locations in the memory 55 to increase security and to prevent a hacker from decoding a program by detecting a program location in the memory 55. Further additionally, different sections of the video portion, the audio portion and the control word portion comprised in the program may be transmitted by different transmission sources. This may enhance efficient use of bandwidth and increase security by making it difficult for a hacker to access the program from a single transmission source. Preferably, the apparatus 10 may be also employed to record programs provided by the video source 75, and programs provided via the LAN 85 and/or the telephone network 80. It is appreciated that the apparatus 10 may operate as a home server for recording/deleting and displaying programs and information generated at various terminals at home and/or provided from networks, such as the Internet. Additionally, the apparatus 10 may be also employed to transmit programs recorded in one of the memories 55 and 65 to other users, either via a subscriber management system (not shown), or directly to users addresses. Preferably, the programs transmitted to the other users may be transmitted via at least one of the following: the LAN 85; the telephone network 80; and the transmitter 100 or the VSAT. It is appreciated that transmission of programs to the other users and/or reception of programs from any of the other users may require conditional access which may preferably be provided by the smart card 135. It is appreciated that operations such as recording of programs, retrieval of programs stored in the memories 55 and 65, and deletion of programs stored in the memories 55 and 65 are preferably controlled by the processor 45. The apparatus 10 also preferably enables a variety of additional features such as editing of programs stored in the memories 55 and 65 to include only portions which are of interest to the user. Another feature available in the apparatus 10 includes freeze of a broadcast television program. In such a case, when the user freezes the program, such as by operating the key 121 on the remote control 110, the program is recorded, for example in the memory 55. When the user unfreezes the program, the apparatus 10 may resume playing the program from the memory 55 rather than from current broadcast of the program. Preferably, the apparatus 10 uses a portion of the memory 55 as a circular buffer and resumes playing the program from the buffer from the point at which the program was frozen. It is appreciated that from that point on, the program is played from the memory 55 in a delayed mode of operation. Thus, the user may stop watching the television program, for example in order to answer to a telephone call, and may resume watching the television program without missing any portion of the program. It is appreciated that the program may also include marks which are employed to mark portions of the television program that are stored in the circular buffer so that if the user wants to skip some portions of the program to catch-up with the broadcast, the user may input a required mark and jump to the portion marked with the required mark. It is appreciated that the circular buffer may be controlled by the smart card 135, or any other conventional conditional access module, which provides conditional access to the program stored in the circular buffer. Preferably, the smart card 135 may be operative to disable fast-forward/fast backward operations on the program stored in the circular buffer so that the user is not able to skip portions of the program which are of value to the broadcaster, such as commercials. It is appreciated that the key 121 may be also operated in a configuration in which the circular buffer is always operative so that a portion of the program, such as the most recently received five minutes of the program, is always stored in the circular buffer. This enables storage of highlights whose viewing may be otherwise missed. An additional feature available in the apparatus 10 preferably includes display of multiple programs simultaneously on a screen of the television 50. This feature, referred to as picture-in-picture (PIP), may be employed by the user if he does not want to miss programs but has limited time to watch television. Preferably, while watching two programs in a PIP mode, the user may switch between the two programs if he decides to watch only one of the programs on the full television screen. A determination of the program currently watched is preferably provided by the audio currently played. Alternatively or additionally, in the PIP mode the user may view a premium program on a portion of the television screen without accompanying audio and another program on the rest of the television screen with accompanying audio. In order to see the premium program on the full screen together with the audio, the user may be required to pay for the premium program. Preferably, payment for the program is performed in a conventional method, such as by operating the key 123 on the remote control 110 to accept the program. The payment is preferably handled via the smart card 135. It is appreciated that at least part of the material received at the apparatus 10 may be compressed and encrypted. In such a case, the material is preferably decompressed at the compressor/decompressor 105 and decrypted at the encryptor/decrypter 130 under control of the smart card 135 as is well known in the art. Preferably, a program received at the apparatus 10 is associated with a broadcaster set of parameters enabling access to predetermined portions of the program. The broadcaster set of parameters may preferably define the following information which may characterize the program and/or tags which are associated with the program and characterize features of the program: (1) A type of the program such as a movie, a show, a commercial, and a program provided from the WWW; (2) supplementary information accompanying the program such as a review of the program as provided by a reviewer, detailed information regarding a product offered by the program, notes accompanying the program, tagged portions of the program, and a percentage of viewers who are currently watching the program; (3) an associated audio channel in a language which differs from the language used in an original audio channel associated with the program; (4) program delete enabled/disabled; (5) parental control associated with at least a portion of the program which requires parental control; (6) expiration time of the program and/or a number of times the program is watched; (7) special features, such as PIP availability; (8) general information, such as a program title, a time when the program is broadcast, a length of the program, a determination whether the program is encrypted and a compression format of the program; (9) quality and characteristics of material transmitted, such as a data rate, cancellation of material already transmitted such as E-mail, and selective routing of part of the material to selected users; (10) context specific tagging for use with and/or enhancement of transmitted programs; and (1 1) media items, such as WWW content, advertising pointers and pointers to WWW sites. It is appreciated that the broadcaster set of parameters mentioned above is not meant to be limiting, and it may include additional parameters. It is further appreciated that not all of the above mentioned parameters must be associated with each program. For example, programs may be transmitted without supplementary information or additional audio channels in various languages. The parameter of delete enabled/disabled is preferably used mainly in conjunction with commercials as described below or used generally with any type of program. All the other parameters are transmitted as necessary. It is appreciated that the parameter defining the quality and characteristics of material transmitted may be used, for example, to improve transmission efficiency by transmitting selected information or programs at a higher data rate than other programs which are transmitted at a regular or reduced data rate. It is appreciated that the programs transmitted at a regular or reduced data rate and the programs transmitted at a higher rate may be stored in any of the memories 55 or 65, and upon retrieval from the memories 55 or 65 all the programs may be displayed at conventional frame rates. The parameter defining context specific tagging for use and/or enhancement of transmitted programs may be used to define specific portions in the programs which may be of special interest to the user, for example, portions in which a favorite actor plays, and portions which may be of special interest to the broadcaster, for example, portions in which a specific product is displayed. The parameter defining media items, such as WWW content, advertising pointers and pointers to WWW sites may be used to provide the user with direct access to the media items, such as by pointing at a media item. Preferably, at the apparatus 10, an agent resident in the agent module 145 is operated on the program to determine whether to record the program, for example in the memory 55, and to associate with the program an agent set of parameters enabling access to predetermined portions of the program. The agent preferably learns viewing habits of the user by tracking user's favorite programs and other preferences, such as favorite channels, and main viewing hours. Once user preferences are determined, the agent preferably determines that the program must be recorded if characteristics of the program match the user preferences. Preferably, if the agent determines that the program must be recorded, the agent may record the program with the agent set of parameters which may be different from the broadcaster set of parameters. It is appreciated that the agent may preferably include an intelligent agent, as described in Israel Patent Application 121230 and corresponding published PCT application WO 99/01984 referred to above, which learns preferences of the user from observed viewing habits of the user, determines preferences of the user, organizes the user preferences in categories in accordance with a user profile, and adjusts the preferences in accordance with continuously evolving viewing habits of the user. It is further appreciated that the agent may be programmable, and the user may determine preferences by entering information which may be used as inputs for the agent. Preferably, a plurality of agents may be resident in the agent module 145, each being associated with a member of a family of the user. Preferably, each agent may identify a member of the family to which it corresponds according to a code inputted by the member of the family of the user or a biometrics parameter of the member of the family of the user. Alternatively, each member of the family of the user may select a corresponding agent by using a different key on the remote control 1 10 or by using a different remote control. Further alternatively, each member of the family of the user may have an individualized smart card, and each agent may be associated with a corresponding smart card. Preferably, agents may be stored in corresponding smart cards or activated by the corresponding smart cards which may include viewing preferences of the members of the family of the user. It is appreciated that for simplicity, only one agent is referred to herein below, but the number of agents is not meant to be limiting. Preferably, the agent set of parameters may override at least a portion of the broadcaster set of parameters. For example, if a program is broadcast with two audio channels accompanying the video, the agent may determine that only one of the audio channels must be recorded with the video. Additionally, the agent may record only a portion of the supplementary information accompanying the program. The agent may also determine additional portions of the program which may require parental control and may override options such as "delete enabled" and expiration time if the program is considered a favorite program. It is appreciated that the agent may be also operative to determine attributes that are not provided by the broadcaster set of parameters. Thus, the agent set of parameters may preferably additionally define some or all of the following information which may characterize the program and/or tags which are associated with the program and characterize features of the program prior to recording and during recording: (1 ) a quality of recording of the program; (2) a type of program whose recording is required; (3) titles of favorite programs whose recording is required; (4) a time and a date when recording of programs is required; (5) existence of a review attached to the program; (6) additional context specific tagging and/or media items associated with the program, such as WWW pages pointers, games pointers and advertisement pointers; and (7) a category of the program, such as sports, music, and comedy. It is appreciated that the above mentioned agent set of parameters is not meant to be limiting, and it may include additional parameters. It is further appreciated that the agent may typically determine values of the parameters in the agent set of parameters by learning the preferences of the user from observed viewing habits of the user as mentioned above. Preferably, the quality of recording of the program is determined by the agent prior to recording of the program, and preferably in accordance with the amount of free storage capacity in the memories 55 and 65. Alternatively, the user may select the quality of recording by pressing the key 126 on the remote control 110. It is appreciated that the parameter defining the quality of recording may also preferably include a routing parameter which routes the program to a selected one of the memories 55 and 65. The parameters indicating the type of program to be recorded, titles of favorite programs whose recording is required, and the time and the date when recording of programs is required may be either programmed by the user or determined by the agent in accordance with viewing habits of the user studied by the agent. Preferably, the information stored after the operation of the agent includes the program associated with a current set of parameters which includes a combination of the broadcaster set of parameters that were not changed by the agent set of parameters and the agent set of parameters. The program associated with the current set of parameters forms an addressable program, addressable by the user. Preferably, the user may retrieve from the memory 55 at least a portion of the addressable program in accordance with settings of the current set of parameters. It is appreciated that the at least a portion of the addressable program is retrieved from the memory 55 under control of the smart card 135 which provides conditional access to at least some of the programs stored in the memory 55. The at least a portion of the addressable program which is retrieved from the memory 55 may preferably be selected by the user via the remote control 1 10 and displayed to the user on the television 50 or on any other conventional display if access to the selected portion of the addressable program is allowed by the smart card 135. Preferably, the user may edit the at least a portion of the addressable program by inputting a user set of parameters which enable access to predetermined portions of the program. Thus, the user may browse through the program, delete portions of the program or all the program, mark and combine favorite highlights and add information and tags characterizing the program. It is appreciated that during editing the user set of parameters is associated with the addressable program to generate an edited addressable program. Preferably, once program editing is terminated, the user may preferably store the edited addressable program in the memory 55. It is appreciated that the user set of parameters may override at least one of a portion of the broadcaster set of parameters, and a portion of the agent set of parameters. For example, while editing, the user may decide not to record part of the supplementary information accompanying the program, or to change the expiration time. Additionally, the user may also input additional criteria for parental control or remove some of the parental control criteria transmitted by the broadcaster. Alternatively or additionally, the user may specify parental control of only at least a portion of a movie which requires parental control so that a child may see the movie without the at least a portion defined by the user. Preferably, the broadcaster set of parameters may include a subset of parameters which cannot be overridden by any of the agent set of parameters and the user set of parameters. It is appreciated that parameters in the subset of parameters which cannot be overridden may include, for example, the type of the program, conditional access information associated with the program and determining conditional access to the program, a basic parental control rating and a "delete disabled" option in case the program is a commercial or a program whose deletion is not permitted. It is further appreciated that the broadcaster may determine additional parameters in the subset of parameters which cannot be overridden. The user set of parameters may preferably include, in addition to at least some of the broadcaster set of parameters and the agent set of parameters, parameters defining some or all of the following information which may characterize the program and/or tags which are associated with the program and characterize features of the program: (1) a program rating provided by the user; (2) a review of the program - selected from a list of available reviews, or printed by the user; (3) a request for additional information relating to the program, such as hyper links to local and/or remote local sources, information in various multimedia formats, E-mail, commercials, and information related to advertisement; (4) a format of the program after editing operations such as mixing portions of the program, reordering of portions of the program, and deletion of portions of the program; (5) preferred highlights, such as a goal in a football game; (6) compression preferences for compressing the program prior to storage; (7) image manipulation; and (8) video wallpaper selection. It is appreciated that the above mentioned user set of parameters is not meant to be limiting and it may include additional parameters. It is further appreciated that the program rating may preferably be programmed by the user by entering a rating parameter from an available list of rating parameters. Alternatively, the user may operate the function key 120 in the remote control 1 10 to input a rating for the program. Preferably, a review of the program selected by the user may be associated with the program so that the review entered by the user is recorded as part of the program. Alternatively, the user may retrieve the program with a review selected from a list of available reviews. Typically, after viewing the review the user may decide whether to view the program or not. The request for additional information relating to the program is preferably transmitted to the headend 15, and the headend 15 may preferably transmit the additional information a short time after the request is received. Alternatively, the additional information related to the program may be transmitted with the program and stored in the memory 55. When the user enters the request for the additional information, the additional information may be retrieved from the memory 55 and displayed on the television 50. Further alternatively, the additional information may be scheduled for transmission some time after the user enters the request for the additional information. In such a case, the additional information is preferably transmitted on schedule and not immediately at the request of the user. It is appreciated that the additional information may be also transmitted over a different channel, such as a callback channel or an E-mail channel. This is especially suitable in a case where the additional information includes a pointer to the WWW. Preferably, the format of the program after editing may be used to replace the original format of the program as saved in the memory 55. Thus, after reformatting, the edited addressable program may occupy less memory capacity than the addressable program. It is appreciated that the user may reformat the addressable program so that only the preferred highlights of the program are stored, and the rest of the program is deleted. The compression preferences may be employed to apply different compression procedures to the program prior to storage. If, for example, the program transmitted is compressed with the conventional MPEG-2 compression procedure, the user may decide to compress the program with an improved compression procedure, such as the MPEG-4. Preferably, the parameter defining image manipulation may be generated in response to operations performed by the user on video images of the program. For example, the broadcaster may transmit two programs in a PIP mode. In such a case, when the user selects only one of the programs, the image processor 160 is operative to display the program on the whole screen of the television 50. It is appreciated that image manipulation may also include rotation and translation of images as well as zoom on the images. Preferably, the image manipulation is performed in the image processor 160 using conventional image processing methods. The parameter defining a video wallpaper selection may be employed to select a video image, or a series of still video images, to accompany audio when an audio channel is selected. For example, the user may select an image of a sunset from a library of video images to accompany love songs provided via an audio channel. It is appreciated that user editing operations and inputs may be processed in the user programming manager 155. Preferably, user reactions to the program and the rating of the program is analyzed in the viewing analysis module 165 which preferably executes operations and functions similar to those performed in a conventional Nielsen box. It is appreciated that at least one of the broadcaster set of parameters, the agent set of parameters, and the user set of parameters may preferably include at least one tag determining a program retrieval parameter, and the program may be retrieved by selecting the tag. Additionally, information resident in the program, such as teletex and video images, may be used to create tags according to which the program may be retrieved and manipulated. Preferably, the at least one tag determining a program retrieval parameter may be generated and associated with the program when the program is stored in the external removable memory 65. In such a case, the at least one tag may include a label including a reference number which may be used to manage a library of external memory devices and to enable the user to locate a program in an external memory device. Preferably, when the user wants to watch a program stored in an external memory device, the user may be prompted to insert an external memory device having an appropriate label. It is appreciated that similar tags may be applied to programs stored in the memory 55. Preferably, the key 124 on the remote control 1 10 may be employed by the user as a conventional "ENTER" key to execute an operation or a series of operations preceding operation of the "ENTER" key 124. When the key 124 is pressed after a series of editing operations on a program, the series of editing operations are entered and the program is stored in an edited form. The key 125 on the remote control 1 10 may preferably be employed by the user as a "NEXT" button to browse forward through programs stored in any of the memories 55 and 65. If, for example, the user watches a program retrieved from the memory 55 and presses the key 125, the processor 45 preferably accesses a start point of a program which follows the program in the memory 55. It is appreciated that the "NEXT" button may be used to follow programs in accordance with a selected order or a hierarchy. The selected order and the hierarchy are preferably determined by at least one of the following: the user; the agent; and the broadcaster. Preferably, the "NEXT" key 125 may include a plurality of "NEXT" buttons (not shown), wherein each of the plurality of "NEXT" buttons may be used in association with a hierarchy. Hierarchies may include, for example, a first hierarchy of stories within the program, a second hierarchy of sections within the program, and a third hierarchy of programs of similar type. When the user browses through the first hierarchy of stories by pressing one of the plurality of "NEXT" buttons, the user may pass, for example, from a first story in a news program to a second story in the news program. When the user browses through the second hierarchy of sections by pressing another one of the plurality of "NEXT" buttons, the user may pass, for example, from a news section related to politics in the program to a news section related to sports in the program. When the user browses through the third hierarchy of programs of similar type by pressing yet another one of the plurality of "NEXT" buttons, the user may pass, for example, from a first comedy program to a second comedy program. It is appreciated that the "NEXT" key 125 may also include a plurality of "PREVIOUS" buttons (not shown), each associated with one of the plurality of "NEXT" buttons, and each operative to browse backward through the programs stored in any of the memories 55 and 65. Alternatively or additionally, the "NEXT" button may be used to browse through program categories presented via an EPG. It is appreciated that at least some of the programs may be encrypted. In such a case, the user must insert the smart card 135 in the smart card reader 140 to allow conditional access to and/or retrieval of the encrypted programs. It is appreciated that conditional access via the smart card 135 to access and/or retrieve encrypted programs is preferably performed in one of methods which are well known in the art. It is further appreciated that programs which are transmitted in clear form do not require presence of the smart card 135, unless the smart card 135 is required for a purpose other than decryption. Alternatively or additionally, the user may be also required to provide an identification, such as by means of the smart card 135, to allow access to a program that is broadcast in clear form. In such a case, if the user does not provide an appropriate identification, or the user is not entitled to watch the program that is broadcast in clear form, an alert indicating that the user is not entitled to access the program may be generated by the processor 45 and displayed on the television 50. If the program is a commercial it is preferably processed in the commercial manager 150. Preferably, the commercial receives additional attributes which may be used to control distribution and display of the commercial and to provide feedback to advertisers. Additionally, the commercial may receive attributes which prevent skipping the commercial without viewing it. Alternatively, the user may be required to view a predetermined amount of commercials over a predetermined time period and the commercial may receive attributes determining whether the user has viewed the commercial and a number of times the user has viewed the commercial. Preferably, the additional attributes are assigned to the commercial by the broadcaster by associating a commercial set of parameters to the commercial in addition to the above mentioned broadcaster set of parameters. The commercial set of parameters may preferably define the following additional information and/or tags which specifically characterize the commercial: (1) a time and a date when the commercial is watched; (2) expiration after a predetermined number of people have seen the commercial; (3) fast-forward/fast-backward disabled; (4) additional information regarding a product offered by the commercial; and (5) targeting information. It is appreciated that the above mentioned commercial set of parameters is not meant to be limiting and it may include additional parameters. Preferably, the broadcaster may receive revenues for displaying the commercial in accordance with a time and a date when the commercial is viewed. For example, the broadcaster may receive increased revenues for the commercial if the user watches the commercial at prime time. Thus, the time and the date when the commercial is watched may be associated with a variable revenue rate, where the revenue rate that the broadcaster receives varies with the time of day and the date when the commercial is viewed by the user. It is appreciated that information regarding the time and the date when the commercial is viewed is preferably analyzed in the processor 45 and transmitted to the headend 15 via an uplink provided by the transmitter 100 or a VSAT. It is further appreciated that the processor 45 may also delete the commercial after the user has seen it a predetermined number of times. The parameter defining expiration after a predetermined number of people have seen the commercial may be transmitted to the broadcaster via the callback channel and employed by the broadcaster to know, in near real time, the number of people who watch the commercial and to delete the commercial after a predetermined number of people have seen the commercial. The broadcaster may also employ the parameter defining expiration after a predetermined number of people have seen the commercial to provide a proof of exposure to the commercial against which the advertisers typically pay the broadcaster. Preferably, the parameter disabling the option of "fast-forward/fast- backward" when the commercial is displayed may be employed to prevent situations in which the user watches a movie and skips the commercial, the commercial being preferably associated with the movie. When this parameter is employed, the processor 45 prevents browsing, and the user may either view the commercial or pass to another program. Preferably, the parameter disabling the option of "fast-forward/fast- backward" when the commercial is displayed may be employed only until the user has seen the commercial a predetermined number of times in a predetermined time period, such as a week, or a predetermined number of commercials in the predetermined time period. It is appreciated that the predetermined number of times that a user must see a commercial may vary from user to user. Similarly, the predetermined number of commercials that a user must see may vary from user to user. It is appreciated that the parameter disabling the option of fast- forward/fast backward is not employed in a mode in which the user only browses through available programs. Alternatively, the operations of fast-forward and fast-backward are enabled and the user may be required to pay more money if he does not watch a predetermined number of commercials per a predetermined time period, such as a month. Preferably, during fast-forward and fast-backward through the program, even when the program is a commercial, a specially prepared meaningful shortened version of a full commercial may be displayed on the television 50. Preferably, each shortened version of a full commercial may last about 3 seconds, and other shortened versions of other commercials may follow until browsing through fast-forward/fast-backward is ended. It is appreciated that the shortened versions of the full commercials are preferably characterized and treated as full commercials. Preferably, the user may respond to the commercial by requesting additional information regarding the product offered by the commercial. The request for additional information may preferably be inputted by operating the function key 122 in the remote control 110. The targeting information is preferably employed to define fields of potential interest of the user or a profile of the user. The commercial is preferably transmitted to the user only if the commercial is in a field of interest of the user or matches the user profile. Alternatively, the commercial is always transmitted, but it is stored only if the commercial is in the field of interest of the user or matches the user profile. It is appreciated that targeting criteria may be stored in the smart card 135. Additionally or alternatively, the targeting information may include a request for payment so that if the commercial is provided as a premium advertisement service, the user may be required to pay for watching the commercial or to pay either less or more for watching video with or without the commercial. If the commercial is not provided as a premium service, the commercial may be broadcast at off-peak hours. It is appreciated that the commercial manager 150 may also include a statistics manager (not shown) which may provide statistics information, such as the number of times the commercial was viewed by the user, and the commercial manager 150 may display the commercial or delete it based upon the statistics information. Preferably, the statistics information may be transmitted to the headend 15 via the callback channel. Additionally, at least a portion of the statistics information may be displayed to the user. Preferably, the commercial manager may be employed to control a commercial catalog including of individually customized advertisements. Reference is now made to Fig. 2 which is a simplified flow chart illustration of a preferred method of operation of the apparatus 10 of Figs. 1A and IB. Preferably, a broadcaster associates a set of broadcaster parameters to a program and broadcasts the program to a plurality of users. It is appreciated that the broadcaster may associate different sets of broadcaster parameters to different programs, and each program may receive a unique set of broadcaster parameters. Each broadcaster set of parameters preferably enables access to predetermined portions of each of the different programs. Preferably, the program is received at digital television recording apparatus at a user premises. At the apparatus, an agent is executed on an EPG which includes links to the program. The agent is preferably personalized according to viewing habits of the user. Preferably, the agent determines whether to record the program, for example in a memory , and associates with the program, upon recording, an agent set of parameters enabling access to predetermined portions of the program. It is appreciated that the program is preferably stored together with the broadcaster set of parameters and the agent set of parameters thereby generating an addressable program addressed and accessed via the EPG. Preferably, the agent may be employed, in association with the EPG, to offer the user programs for viewing in accordance with moods of the user or preferences compiled in accordance with history of viewing habits of the user. The programs offered for viewing may include broadcast programs and programs recorded in the memory. Preferably, the programs offered for viewing may also include programs that the user missed viewing of, the programs being arranged in accordance with a viewing priority determined by at least one of the agent and the user. It is appreciated that the agent may be also employed, in association with the EPG, to manipulate recording and deletion of programs and to enable programmed recording and deletion. The programmed recording and deletion may include recording/deletion of programs that have been watched, recording of programs that are currently displayed, and recording of programs that are scheduled to be broadcast in the future. It is appreciated that the user may view, via the EPG, a list of all recorded programs. Preferably, the user may also search the list of recorded programs in accordance with different criteria, such as program type and title. Preferably, the user may retrieve at least a portion of the addressable program and watch the at least a portion of the addressable program on a television. Then, the user may perform editing operations on the addressable program which typically result with an input of a user set of parameters enabling access to predetermined portions of the program. The user set of parameters is preferably received at a processor comprised in the apparatus and when the user presses an "ENTER" key on a remote control the addressable program is edited to generate an edited addressable program including the user set of parameters enabling access to predetermined portions. Preferably, the edited addressable program replaces the addressable program recorded in the memory. Reference is now made to Figs. 3A and 3B which together constitute a simplified flow chart illustration of a preferred method of manipulation of television programs recorded in the apparatus 10 of Figs. 1A and IB. Preferably, a user may select viewing a television program broadcast from a headend or a stored television program stored in a memory. If the user watches a broadcast television program, the user may have, at any time during the broadcast, an option to freeze the program by pressing a freeze key on a remote control. In such a case, the program, starting from the instant the user pressed the freeze key, is recorded in a circular buffer (not shown) which may be comprised in the memory and used to overcome a freeze lag. The circular buffer is preferably loaded and emptied continuously so that when the user presses the freeze key again, the program is retrieved from the buffer which is circularly loaded from the memory and the user may watch the program from the moment the program was frozen. In a preferred embodiment of the present invention the option to freeze the program may be implemented alone, and not necessarily in combination with other features of the present invention as described herein. If the user watches the stored television program, the user may edit the program at any time during which the program is played. Preferably, editing of the program may include deletion of parts of the program, combinations of parts of the programs and reordering of the program. Additionally, the user may also combine portions of the program with other programs to create a new program. Preferably, the user may also perform at least one of the following operations while watching the program by employing the remote control or another appropriate input device: (1) input a rating by pressing a rating key on the remote control or by typing a rating; (2) input a review to the program or retrieve a review of the program; (3) accept a premium program in a PIP mode; (4) switch to one of a plurality of programs displayed in a PIP mode; (5) browse through recorded programs or sections of recorded programs by pressing a "NEXT" key on the remote control; (6) select a program from a menu or an EPG; (7) select a language for playing the audio, i.e. select one of a plurality of audio channels; (8) select a quality of recording by pressing a key on the remote control; (9) change parental control criteria and define portions of the program as locked under a secret code; (10) program the agent and/or specify recording data, i.e. channels from which to record, either simultaneously or separately, dates and times for recording; (11) save highlights of the program, for example by pressing an "ENTER" key on the remote control; (12) select compression format for storage of the program; (13) program an expiration time for deleting programs when the memory is full; (14) manipulate images on the television screen, e.g. zoom on an image; (15) select a video wallpaper; and (16) tag the program with selected information. Additionally, if the program is a commercial the user may also perform at least one of the following operations while watching the commercial by employing the remote control or another appropriate input device: (1) request additional information regarding a product or a program offered by the commercial by pressing a key on the remote control; and (2) change user profile for targeted advertisement information. It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination. It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described herein above. Rather the scope of the invention is defined only by the claims which follow:

Claims: What is claimed is: CLAIMS 1. A digital television recording method comprising: broadcasting a television program associated with a broadcaster set of parameters enabling access to a first set of predetermined portions of the program; operating an agent for determining whether to record the program and for associating with the program, upon recording of the program, an agent set of parameters enabling access to a second set of predetermined portions of the program; storing the program together with the broadcaster set of parameters and the agent set of parameters to generate an addressable program; retrieving at least a portion of the addressable program; displaying said at least a portion of the addressable program to a user; receiving from the user a user set of parameters enabling access to a third set of predetermined portions of the addressable program; editing the addressable program to include said user set of parameters enabling access to the third set of predetermined portions of the addressable program thereby generating an edited addressable program; and storing the edited addressable program. 2. A method according to claim 1 and wherein said agent set of parameters is operative to override at least a portion of the broadcaster set of parameters. 3. A method according to claim 1 or clam 2 and wherein said user set of parameters is operative to override at least one of the following: a portion of the broadcaster set of parameters; and a portion of the agent set of parameters. 4. A method according to any of claims 1 - 3 and wherein said broadcaster set of parameters comprises a subset of parameters which cannot be overridden by any of the following: the agent set of parameters; and the user set of parameters. 5. A method according to any of claims 1 - 4 and wherein at least one of said broadcaster set of parameters, said agent set of parameters, and said user set of parameters comprises a tag determining at least one of the following: a program retrieval parameter; and a content retrieval parameter. 6. A method according to any of claims 1 - 5 and wherein said agent set of parameters comprises a recording quality parameter determining a quality of recording of the program. 7. A method according to any of claims 1 - 5 and wherein said user set of parameters comprises a rating parameter determining a rating of the program as provided by the user. 8. A method according to any of claims 1 - 7 and wherein the television program comprises a commercial and the broadcaster set of parameters comprises a commercial set of parameters. 9. A method according to any of claims 1 - 8 and wherein the television program comprises a commercial and the broadcaster set of parameters comprises a parameter determining a request for additional information related to at least one of the following: the commercial; and the program. 10. A method according to any of claims 1 - 9 and wherein the television program comprises a commercial and the broadcaster set of parameters comprises a parameter determining expiration of the commercial after an event comprising at least one of the following: a predetermined number of people having seen the commercial; and the user having seen the commercial a predetermined number of times. 1 1. A method according to any of claims 1 - 10 and wherein the broadcaster set of parameters comprises a parameter disabling fast-forward/fast backward browsing through the program . 12. A method according to any of claims 1 - 7 and wherein the television program comprises two separate television programs displayed simultaneously in a picture-in-picture (PIP) mode on a television screen, and the user set of parameters comprises a parameter determining a viewing selection for viewing only one of the two separate television programs on the full television screen. 13. A method according to any of claims 1 - 12 and wherein the broadcaster set of parameters comprises at least one parameter determining at least one of the following information fields: a type of the program; supplementary information accompanying the program; an associated audio channel in a language which differs from a language used in an original audio channel associated with the program; program delete enabled/disabled; parental control associated with at least a portion of the program which requires parental control; an expiration time of the program; picture-in-picture availability; a program title; a time when the program is broadcast; a length of the program; a determination whether the program is encrypted; a compression format of the program; characteristics of the program; cancellation of material already transmitted in the program; selective routing of part of the material to selected users; context specific tagging; and a media item. 14. A method according to any of claims 1 - 5 and 7 - 13 and wherein the agent set of parameters comprises at least one parameter determining at least one of the following information fields: a quality of recording of the program; a type of program whose recording is required; at least a title of a favorite program whose recording is required; a time and a date when recording of the program is required; and existence of a review attached to the program; context specific tagging; a media item; and a category of the program. 15. A method according to any of claims 1 - 6 and 8 - 14 and wherein the user set of parameters comprises at least one parameter determining at least one of the following information fields: a program rating provided by the user; a review of the program; a request for additional information relating to the program; a format of the program after editing operations; at least one highlight in the program; compression preferences for compressing the program prior to storage; image manipulation; and video wallpaper selection. 16. A method according to any of claims 1 - 15 and wherein said first set of predetermined portions of the program, said second set of predetermined portions of the program, and said third set of predetermined portions of the addressable program include identical portions of the program. 17. A digital recording method comprising: determining whether to record a program; and recording the program in response to a recording determination at a recording quality determined by a recording quality parameter. 18. A digital recording method comprising: determining whether to record a program; storing the program in response to a recording determination; and retrieving the program in accordance with a rating given to the program. 19. A digital recording method comprising: determining whether to record a program; storing the program in response to a recording determination; and retrieving the program in accordance with a browsing hierarchy. 20. A digital recording method comprising: determining whether to record a program; recording the program in a circular buffer upon first activation of a freeze selector from a moment of the first activation of the freeze selector; conditionally accessing the program recorded in the circular buffer for retrieval of the program from the circular buffer upon second activation of the freeze selector; and playing the program retrieved from the circular buffer from the moment of the first activation of the freeze selector. 21. Apparatus for digital recording of a program comprising: a receiver for receiving the program associated with a broadcaster set of parameters enabling access to a first set of predetermined portions of the program; an agent module operatively associated with the receiver and operative to determine whether to record the program and to associate with the program, upon recording of the program, an agent set of parameters enabling access to a second set of predetermined portions of the program; a memory operatively associated with the agent module and operative to store an addressable program, the addressable program including the program associated with the broadcaster set of parameters and the agent set of parameters; a display operatively associated with the agent module, the receiver and the memory and operative to display at least a portion of the addressable program to a user; an input/output (I/O) interface operatively associated with the agent module and operative to receive from the user a user set of parameters enabling access to a third set of predetermined portions of the addressable program; and a user programming manager operatively associated with the memory, the I/O interface, the agent module, the receiver and the display and operative to generate an edited addressable program by editing the addressable program to include the user set of parameters enabling access to the third set of predetermined portions of the program, and to store the edited addressable program in the memory. 22. Apparatus for digital recording of a television program comprising: a processor for determining whether to record the television program; a memory associated with the processor and operative to store the television program in response to a recording determination received from the processor; and a recording quality selector associated with the processor and the memory and operative to select a recording quality parameter determining a quality of storage of the television program in the memory. 23. Apparatus according to claim 22 and also comprising a freeze selector operatively associated with the processor, wherein upon a first activation of the freeze selector, the processor is operative to record the program in the memory from a moment of first activation of the freeze selector, and upon a second activation of the freeze selector, the processor is operative to play the program recorded in the memory from the moment of first activation. 24. Apparatus according to claim 22 or claim 23 and also comprising: a rating activator associated with the processor and the memory and operative to input information determining a rating given to the program. 25. Apparatus according to any of claims 22 - 24 and also comprising: a NEXT key selector associated with the processor and the memory and operative to browse through television programs stored in the memory. 26. Apparatus according to claim 21 and wherein said NEXT selector is operative to browse through television programs stored in the memory in accordance with an order determined by at least one of the following: the user; the agent; and the broadcaster. 27. Apparatus according to claim 25 and wherein said NEXT selector is operative to browse through television programs stored in the memory in accordance with a hierarchy. 28. Apparatus according to claim 27 and wherein said hierarchy is determined by at least one of the following: the user; the agent; and the broadcaster. 29. Apparatus for digital recording of a television program comprising: a processor for determining whether to record the television program; a memory associated with the processor and operative to store the television program in response to a recording determination received from the processor; and a rating activator associated with the processor and the memory and operative to input information determining a rating given to the television program. 30. Apparatus according to claim 29 and also comprising a freeze selector operatively associated with the processor, wherein upon a first activation of the freeze selector, the processor is operative to record the program in a circular buffer from a moment of first activation of the freeze selector, and upon a second activation of the freeze selector, the processor is operative to play the program recorded in the circular buffer from the moment of first activation. 31. Apparatus according to claims 29 or 30 and also comprising: a NEXT key selector associated with the processor and the memory and operative to browse through television programs stored in the memory. 32. Apparatus for digital recording of a television program comprising: a processor for determining whether to record the television program; a memory associated with the processor and operative to store the television program in response to a recording determination received from the processor; and a NEXT key selector associated with the processor and the memory and operative to browse through television programs stored in the memory. 33. Apparatus for digital recording of a program comprising: a processor for determining whether to record the program; a circular buffer associated with the processor and operative to store the program in response to a recording determination received from the processor; a conditional access module for providing conditional access to the program stored in the circular buffer; and a freeze selector operatively associated with the processor, wherein upon a first activation of the freeze selector, the processor is operative to record the program in the circular buffer from a moment of first activation of the freeze selector, and upon a second activation of the freeze selector, the processor is operative to play the program recorded in the circular buffer from the moment of first activation in accordance with conditions determined by the conditional access module. 34. Apparatus according to claim 33 and wherein said conditions determined by the conditional access module comprise disabling of fast- forward/fast-backward over selected portions of the program.

Inventors: KIPNIS SHLOMO, MAISSEL JONATHAN, RICHARDSON DAVID, SILVER YONATAN, TSURIA YOSSEF, WACHTFOGEL REUVEN, KIPNIS, SHLOMO, MAISSEL, JONATHAN, RICHARDSON, DAVID, SILVER, YONATAN, TSURIA, YOSSEF, WACHTFOGEL, REUVEN
Applicants: KIPNIS SHLOMO, MAISSEL JONATHAN, NDS LTD, RICHARDSON DAVID, SILVER YONATAN, TSURIA YOSSEF, WACHTFOGEL REUVEN, KIPNIS, SHLOMO, MAISSEL, JONATHAN, NDS LIMITED, RICHARDSON, DAVID, SILVER, YONATAN, TSURIA, YOSSEF, WACHTFOGEL, REUVEN
Application year: 1999
Main classification: H04N7
IPC codes: G11B27, H04N5, H04N7, H04N9