CA2179474C - Method and apparatus for selectively blocking video signals - Google Patents
Method and apparatus for selectively blocking video signals Download PDFInfo
- Publication number
- CA2179474C CA2179474C CA002179474A CA2179474A CA2179474C CA 2179474 C CA2179474 C CA 2179474C CA 002179474 A CA002179474 A CA 002179474A CA 2179474 A CA2179474 A CA 2179474A CA 2179474 C CA2179474 C CA 2179474C
- Authority
- CA
- Canada
- Prior art keywords
- video signal
- informational
- program content
- information
- content information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/454—Content or additional data filtering, e.g. blocking advertisements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4532—Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/08—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
- H04N7/087—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
- H04N7/088—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
- H04N7/0887—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of programme or channel identifying signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/162—Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Television Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
A method and apparatus block the reception of television programming which meets specified criteria. Data packets describing television programming are broadcast with the television signal. The data packets include at least packets which contain category information specifying a level in one or more multi-level categories and/or label information specifying labels applied to the program content of the signal.
Data packets in an incoming video signal are detected by a blocking apparatus and compared to preferences stored in non-volatile memory in the blocking apparatus. If the contents of the data packets match or exceed the stored preferences then the video signal is blocked. The apparatus is field configurable. Configuration information specifying the rating scheme is transmitted on a separate channel. The methods of the invention are extremely flexible and allow several different rating systems to be used simultaneously.
Data packets in an incoming video signal are detected by a blocking apparatus and compared to preferences stored in non-volatile memory in the blocking apparatus. If the contents of the data packets match or exceed the stored preferences then the video signal is blocked. The apparatus is field configurable. Configuration information specifying the rating scheme is transmitted on a separate channel. The methods of the invention are extremely flexible and allow several different rating systems to be used simultaneously.
Description
METHOD AND APPARATLJg FOR SELECTIVELY BLOCKING
This invention relates to apparatus and methods for selectively blocking the reception of video signals in response to information which is encoded in the signals. The method and apparatus of the invention have particular application in controlling the content of television programnvng that can be displayed on a television.
Television viewers are faced with an increasingly diverse selection of programs to choose from. Some programs contain content which some viewers may consider to be offensive or which contain material which is inappropriate for children. There is a need for an effective way to block offensive or inappropriate material from being viewed.
2o As the number of available television channels increases it is becoming increasingly difficult for television viewers to locate and select programming that interests them from the many programs that may be completely uninteresting. There is a need for a system which would allow a television viewer to limit the selection of programs available for viewing to those programs which match the viewer's preferences.
Vogel, U.S. Patent No. 4,930,160 discloses methods and apparatus for automatically censoring video programs. If a classification z ~ ~9~.~4 i code encoded in the video or audio portion of a video signal matches a stored classification code then an alternative video signal is displayed.
Elam, U.S. Patent No. 4,554,584 discloses a circuit for blanking the audio and video portions of a video signal in response to digital code words transmitted in the video signal. The code words are transmitted as ASCII codes in line 21 of the video signal. The picture and sound are blanked whenever the received ASCII code matches or exceeds a value selected by the user.
Lemelson, U.S. Patent No. 5,387,942 discloses a system which would allow parents to block the reception of television programming which they consider to be inappropriate for their children. Lemelson discloses a video reception control unit. The control unit responds to 3-digit binary codes embedded in a received video signal. The codes indicate respectively whether or not the program content of the received video signals includes violence, coarse language and nudity. A viewer can set the control unit to block transmission of the received video signal to a television whenever all, or selected ones, of the codes indicate the presence of adult subject matter. The control unit is lockable to prevent determined children from tampering with its settings.
Other prior art video blocking systems and related systems and methods are disclosed in the following United States patents: Chard 4,605,964; Olvio Jr., 4,888,796; OIvio Jr. 5,172,111; Kwoh et a1. 5,382,983;
Hunter Et al., 5,485,418; Banker et al. 5,477,262; Voge1 et al., 4,930,158;
Nafeh 5,343,251; Choi, 5,270,822; Keene 5,450,122; Vogel, 5,253,066; Vogel 5,371,795; Copriviza et al. 5,319,453; Graves et al. 5,410,344; Palmer.
This invention relates to apparatus and methods for selectively blocking the reception of video signals in response to information which is encoded in the signals. The method and apparatus of the invention have particular application in controlling the content of television programnvng that can be displayed on a television.
Television viewers are faced with an increasingly diverse selection of programs to choose from. Some programs contain content which some viewers may consider to be offensive or which contain material which is inappropriate for children. There is a need for an effective way to block offensive or inappropriate material from being viewed.
2o As the number of available television channels increases it is becoming increasingly difficult for television viewers to locate and select programming that interests them from the many programs that may be completely uninteresting. There is a need for a system which would allow a television viewer to limit the selection of programs available for viewing to those programs which match the viewer's preferences.
Vogel, U.S. Patent No. 4,930,160 discloses methods and apparatus for automatically censoring video programs. If a classification z ~ ~9~.~4 i code encoded in the video or audio portion of a video signal matches a stored classification code then an alternative video signal is displayed.
Elam, U.S. Patent No. 4,554,584 discloses a circuit for blanking the audio and video portions of a video signal in response to digital code words transmitted in the video signal. The code words are transmitted as ASCII codes in line 21 of the video signal. The picture and sound are blanked whenever the received ASCII code matches or exceeds a value selected by the user.
Lemelson, U.S. Patent No. 5,387,942 discloses a system which would allow parents to block the reception of television programming which they consider to be inappropriate for their children. Lemelson discloses a video reception control unit. The control unit responds to 3-digit binary codes embedded in a received video signal. The codes indicate respectively whether or not the program content of the received video signals includes violence, coarse language and nudity. A viewer can set the control unit to block transmission of the received video signal to a television whenever all, or selected ones, of the codes indicate the presence of adult subject matter. The control unit is lockable to prevent determined children from tampering with its settings.
Other prior art video blocking systems and related systems and methods are disclosed in the following United States patents: Chard 4,605,964; Olvio Jr., 4,888,796; OIvio Jr. 5,172,111; Kwoh et a1. 5,382,983;
Hunter Et al., 5,485,418; Banker et al. 5,477,262; Voge1 et al., 4,930,158;
Nafeh 5,343,251; Choi, 5,270,822; Keene 5,450,122; Vogel, 5,253,066; Vogel 5,371,795; Copriviza et al. 5,319,453; Graves et al. 5,410,344; Palmer.
5,195,135; Kamijyo, 5,053,884; Von Kohorn, 4,520,404; Hoffart, 5,341,216;
Thomas et al. 5,425,100; Nadan 5,321,750; Hori, 5,386,240; Vogel, 5,446,488;
Iggulden et al. 5,333,091; Robertson et al. 5,361,301; Kawashima et al., 5,307,165; Diehl et al., 5,373,557; Coutrot et al., 5,301,233; Sussman 5,369,440; and Minot et al. 5,455,892.
Summary of the Invention As noted above, the prior art includes various devices which block reception of an incoming video signal when a code encoded in the signal matches a code stored in the device. A problem that the inventor has identified with all such prior devices known to the inventor is that the prior art blocking devices must be constructed or initially programmed with advance knowledge of the meanings of the codes which may be embedded in the incoming video signal. Where different coding schemes are used in, for example, different geographical regions and a blocking device is moved from one region to another or where new coding schemes are introduced to replace or supplement existing coding schemes, then the prior art units must be rewired or reprogrammed. This can be extremely expensive because very many blocking devices will be affected.
Further, previous systems cannot readily provide selective blocking where different coding schemes are used for different programs or on different channels that may be received in a particular location.
Accordingly, this invention provides in one aspect a method of selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with a first informational scheme;
(b) configuring the apparatus in accordance with a second informational scheme, said second informational scheme being distinct from said first informational scheme;
Thomas et al. 5,425,100; Nadan 5,321,750; Hori, 5,386,240; Vogel, 5,446,488;
Iggulden et al. 5,333,091; Robertson et al. 5,361,301; Kawashima et al., 5,307,165; Diehl et al., 5,373,557; Coutrot et al., 5,301,233; Sussman 5,369,440; and Minot et al. 5,455,892.
Summary of the Invention As noted above, the prior art includes various devices which block reception of an incoming video signal when a code encoded in the signal matches a code stored in the device. A problem that the inventor has identified with all such prior devices known to the inventor is that the prior art blocking devices must be constructed or initially programmed with advance knowledge of the meanings of the codes which may be embedded in the incoming video signal. Where different coding schemes are used in, for example, different geographical regions and a blocking device is moved from one region to another or where new coding schemes are introduced to replace or supplement existing coding schemes, then the prior art units must be rewired or reprogrammed. This can be extremely expensive because very many blocking devices will be affected.
Further, previous systems cannot readily provide selective blocking where different coding schemes are used for different programs or on different channels that may be received in a particular location.
Accordingly, this invention provides in one aspect a method of selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with a first informational scheme;
(b) configuring the apparatus in accordance with a second informational scheme, said second informational scheme being distinct from said first informational scheme;
(c) storing, in the apparatus, user preference information for selectively blocking programs described according to said first informational scheme;
(d) storing, in the apparatus, user preference information for selectively blocking programs described according to said second informational scheme;
(e) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(f) comparing said program content information to the user preference information for the informational scheme according to which said program content information is encoded to determine whether to block the presentation of said video signal, at least in part; and (g) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
In another aspect the invention provides a method of enabling a television viewer to selectively block television programming from different television sources, said method comprising the steps of:
(a) obtaining a first television program having first program content information embedded therein, said first program content information being encoded according to one of a plurality of informational schemes;
(b) obtaining a second television program having second program content information embedded therein, said second program content information being encoded according to another of said plurality of informational schemes;
(d) storing, in the apparatus, user preference information for selectively blocking programs described according to said second informational scheme;
(e) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(f) comparing said program content information to the user preference information for the informational scheme according to which said program content information is encoded to determine whether to block the presentation of said video signal, at least in part; and (g) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
In another aspect the invention provides a method of enabling a television viewer to selectively block television programming from different television sources, said method comprising the steps of:
(a) obtaining a first television program having first program content information embedded therein, said first program content information being encoded according to one of a plurality of informational schemes;
(b) obtaining a second television program having second program content information embedded therein, said second program content information being encoded according to another of said plurality of informational schemes;
(c) simultaneously transmitting, to said viewer, said first television program on a first television channel and said second television program on a second television channel;
(d) at said viewer, receiving either said first television program or said second television program and extracting the program content information corresponding to the received program; and (e) at said viewer, automatically comparing the extracted program content information to user preference information corresponding to the extracted program content information to determine whether to block the presentation of said video signal, at least in part.
In another aspect the invention provides a method of selectively blocking a video signal comprising the steps of:
(a) receiving, at an apparatus, a set of configuration information describing an informational scheme, said set of configuration information having been embedded in a remotely transmitted configuration signal;
(b) configuring said apparatus in accordance with the set of configuration information;
(c) storing, in the apparatus, user preference information for selectively blocking programs described according to said informational scheme;
(d) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to said informational scheme;
(e) comparing said program content information to the user preference information to determine whether to block the presentation of said video signal, at least in part; and (f) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
(a) a memory for storing (i) a first set of configuration information describing a first informational scheme, (ii) a second set of configuration information describing a second informational scheme, said second informational scheme being distinct from said first informational scheme, (iii) a first set of user preference information for selectively blocking programs described according to said first informational scheme, and (iv) a second set of user preference information for selectively blocking programs described according to said second informational scheme;
(b) an input for receiving a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(c) an output for providing an audio and video presentation of said video signal;
(d) a decoder coupled to said input for extracting said program content information;
(e) a processor coupled to said decoder and to said memory for comparing said extracted program content information to the user preference information for the informational scheme according to which said program content _ 7 information is encoded; and (f) blocking means operatively coupled between said processor and said output for selectively blocking the presentation of said video signal at said output, at least in part, in response to the comparison performed by said processor.
In another aspect the invention provides a method for selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with two or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes; and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
In another aspect the invention provides a method for selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with one or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least two or more informational schemes including the one or more informational schemes in step (a); and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
(a) a memory storing data representing two or more informational schemes;
(b) a switch for coupling to a display unit, said switch receiving a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes; and (c) a processor coupled to the memory and the switch, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
(a) a memory storing data representing two or more informational schemes;
(b) a detector detecting encoded data embedded in a video signal and outputting the encoded data, said encoded data representing program content information embedded in the video signal, said program content information being encoded according to at least one of said two or more informational schemes; and (c) a processor coupled to the memory and the detector, said processor decoding said encoded data to determine said program content information, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
- 8a -(a) a memory storing data representing two or more informational schemes; and (b) a processor coupled to the memory, said processor detecting encoded data embedded in a video signal representing program content information encoded according to at least one of said two or more informational schemes, decoding said encoded data to determine said program content information, comparing said program content information to said stored data and blocking display of the video signal in accordance with said comparison.
Brief Description of the Drawings In drawings which illustrate non-limiting preferred embodiments of the invention, Figure 1 is a block diagram showing video blocking apparatus of the invention connected between an incoming video signal and a television;
Figure 2 is a block diagram of video signal blocking apparatus according to the invention;
Figure 3 is a drawing of an on screen display produced when a video signal is being blocked;
Figure 4 is a drawing of an infrared remote control transmitter for controlling the operation of the apparatus of Figure 2;
Figures 5A through 5I are examples of on screen menu displays that could be produced by the apparatus of Figure 2; and, Figure 6 is an example of an informational screen display that may be produced by the apparatus of Figure 2.
Detailed Description of the Preferred Embodiment In the invention, as shown in Figure 1, information about video programnning being carried in a video signal 24 is encoded and the encoded information is embedded in video signal 24 by a broadcaster 26.
An apparatus 20 retrieves and decodes the embedded information.
Apparatus 20 is in the signal path between the broadcaster 26 and a viewers television screen. If the decoded information matches stored user preferences stored in a memory means in, or otherwise accessible to, apparatus 20 then apparatus 20 blocks the video component of video signal 24 from being displayed on a video display means, such as the viewer's television monitor 22, and also preferably blocks any audio component of 2o video signal 24 from being played. This provides the viewer, or the viewer's parent or guardian, with some control over the television programming that the viewer can be exposed to. In t$e alternative, apparatus 20 may permit viewing of video signal 24 only if the decoded information matches certain stored user preferences.
Incoming video signal 24 may be delivered to apparatus 20 by satellite, by cable, by VHF or UHF broadcast or in any other suitable way.
Incoming video signal 24 may also be the output from a video playback device, for example, a video cassette recorder ("VCR") or a laser disk player. In the latter case, the "broadcaster' 26 is the party who provided the recorded signal which is played back to create incoming video signal 24.
Apparatus 20 is preferably built into a television set 22 but may also be provided as a stand-alone unit. Where apparatus 20 is provided as a stand-alone unit suitable locking means are provided to 1o prevent the operation of apparatus 20 from being frustrated by routing incoming video signal 24 so that it bypasses apparatus 20.
As shown in Figure 2, apparatus 20 has inputs 32 for one or more signals, such as composite audio and video signals, which comprise incoming video sisal 24. Inputs 32 may be connected, for example, to the audio and video outputs from a VCR, a television tuner, or a cable converter. Inputs 32 are preferably buffered to prevent unnecessary loading of the source of video signal 24. Apparatus 20 also has an output 34 which may be connected to the video input of a television set. Switching means 36 and 38 are connected between inputs 32 and output 34. Separate outputs (not shown) for composite video and composite audio and/or other signal formats) may also be provided in addition to or instead of a single output 34.
When apparatus 20 is not blocking a signal then switching means 36 and 38 are ON so that video from inputs 32 passes through switching means 36 and 38, through rf modulator 39 and out of output 34.
RF modulator 39 combines the audio and video signals from inputs 32 into a rf signal which can be received by a standard television set.
Switching means 36 and 38 are preferably electro-mechanical relays or electronic switches but may be any other switching means capable of preventing incoming video signal 24 at inputs 32 from being passed to output 34 in a form capable of being viewed on the screen of television 22.
Switching means 36 and 38 may even be switchable filters or other apparatus which degrades signal 24, or adds noise to signal 24, to the point that signal 24, is no longer capable of being viewed on the screen of television 22 when it exits apparatus 20.
When apparatus 20 detects one or more embedded codes in video signal 24 that represent information which indicates that video signal 24 should be blocked then apparatus 20 turns switching means 36 and 38 OFF, as described below, thereby preventing video signal 24 from reaching output 34. When video signal 24 is being blocked, video switching means 38 may connect to an alternative video signal, for example a signal containing a graphic which indicates that video signal 24 is being blocked. The graphic may optionally provide details about the program being blocked, such as its title etc. Preferably switching means 36 and 38 are OFF when apparatus 20 is not powered so that the operation of apparatus 20 cannot be defeated by disconnecting apparatus 20 from its power source.
Information about the program content of a received video signal is preferably embedded and encoded as digital data packets which are transmitted with the video signal. The data packets are inserted by broadcaster 26 or by a cable company who retransmits video signal 24.
In the preferred embodiment of the invention, the data packets are embedded in video signal24 by transmitting them during the video blanking interval of video signal 24. In North America, the video blanking interval comprises lines 10 through 21 of a video signal. Most preferably, the data packets each comprise data bytes transmitted in the Extended Data Services ("XDS") portion of a video signal. XDS data is transmitted i n line 21 of the video signal as defined by Electronic Industries Association specification No. EIA-608, as is well known. It is desirable to use line 21 because almost all new television sets sold in the North America are required to have a built-in decoder for XDS data transmitted on line 21.
Specification No. EIA-608 specifies protocols for embedding digitally encoded information packets containing information about a television program which is being currently broadcast. Each XDS data packet begins with a "start" character which also indicates the "class" of the information (i.e. generally what the information in the packet relates to). For example: the start character for data about a current program (the "Current" class) is Olh; the start character for data about the current channel (the "Channel Information" class) is 05h; and, the start character for "undefined" data (the "Undefined" class) is ODh. A data type character which indicates the specific nature of the information being transmitted follows the start character. Each information packet ends with an "end"
character, which is defined in EIA-608 to be OFh, and a checksum character.
EIA-608 defines codes for transmitting some information that is useful for practising the invention. Other information for practising the invention can be conveniently transmitted as XDS data using the undefined data type provided by EIA-608, as discussed below. Of course, this or similar information could also be encoded and transmitted in ways which do not conform with the EIA-608 specification. It will be readily apparent to those skilled in the art that the invention could be practised with other protocols and/or by encoding and embedding any necessary data in video signal 24 using other encoding and/or embedding techniques. What is important is that the incoming video signal 24 have somehow embedded in it codes which convey at least some of the information described below.
1o Table I lists some types of XDS data which are defined by EIA-608 and are useful in the invention.
TABLE
I -XDS
Data Types Start Size of Char. ~g Da a Char. (Bvt~es)r Olh 02h 2 Duration: Length of show (hours and minutes) 01h 02h 2 Time-in Show: Elapsed time in program (hours and minutes) Olh 03h 2-32 Title: Title of program (up to standard ASCII characters) 01h 04h 2-4 Type: A keyword describing the type of program e.g. "horror', "comedy", "talk show", "news' etc.
01h 05h 2 Rating: Motion Pictures Association of America ("MPAA") or Canadian Motion Picture Distributors Association ("CMPDA") (or equivalent) rating 1o Olh 10h to Advisory: Consists of key words or 1711 short key phrases that describe the subject matter and content of a television program.
05h 02h 4 Call Letters: Call letters of local broadcaster 07h 01h and 4-6 Time: Time of day 04h Information about a program may include category information, which identifies a level assigned to the program in each of one or more categories. An example of a category is the "Rating" information described in Table I. Each program may be assigned a rating which ranges kom, for example, "Exempt" to "X-Rated" through a series of intermediate levels. Information about a program may also be provided in the form of labels which may be used to indicate whether certain subject matter is present in the program. For example, labels may include things such as "Action", "Drug-use', "Adult", "Tallc-show" etc. An informational scheme may include several groups of labels. Different groups may describe different aspects of a program or may contain labels assigned by different rating organizations. The data types "Type' and "Advisory" which are specified by EIA-608 are examples of groups of labels that may be assigned to video programs. An informational scheme may provide one or more groups of labels not specified by EIA-608 in addition to or instead of the labels specified by EIA-608.
In addition to some or all of the predefined data types described above, the preferred embodiment of the invention provides embedded codes containing a category information which describes a level assigned to the currently broadcast program according to at least one additional category. For example, in a preferred embodiment of the invention, the current program is rated in each of three categories in respect of its levels of violence, sexuality and coarse language. Category information in respect of these three scales can conveniently be transmitted as XDS data in unused parts of the "Rating" data packet (start character 05h) of the Current class. In the alternative, this additional category information could be transmitted as data in the XDS "Undefined" class, or may be otherwise transmitted.
The inventor has found that it is generally desirable to provide category information on a graduated scale in which the lowest level of the scale describes unoffensive program content and the highest IeveI of the scale indicates program content that many viewers would find highly offensive. Between the highest and lowest levels on the scale are intermediate levels. Most preferably each scale contains between 3 and 7 levels. This provides sufficient flexibility and yet rn;n;m;~es the amount of effort required for broadcaster 26, or a rating organization, to assign a level or levels to the program in each category and is not overly complicated for a viewer to understand or set up.
As a 3-bit binary number can have 8 possible values, a data packet containing two 7-bit characters can store category information for a program in 4 independent categories each having up to 8 levels. For example, Table II illustrates a combination of four categories that could be applied to a television program. The meanings attributed to the levels in 2o each category are defined by the persons or body that sets standards for the category in question. For example, Table III explains possible meanings of the levels in the "Rating" category of Table II.
TABLE II
- EXAMPLE
CATEGORIES
DATA RATING VIOLENCE LANGUAGE SEXUALTTY
(c) (v) (1) (s) 0 Exempt none none none 1 General comedic suggestive mature themes 2 PG mild mild brief nudity 3 Adult brief coarse mild sexuality 4 Restrictedstrong strong full nudity 5 X-Rated graphic explicit sexual activity The category information of Table II may be encoded in two 7-bit characters, charl and chart. For example, this may be done as follows:
bit6 bits bit4 bit bit2 bitl bit0 charl 1 v2 v1 v0 c2 cl c0 chart 1 s2 sl s0 12 11 10 v2, vl and v0 are the values of the three bits which indicate the level in the violence category of violence in the program; s2, s1 and s0 are the values of the three bits which indicate the level in the sexuality category of 2o sexuality in the program;12,11 and 10 are the values of the three bits which indicate the level in the language category of coarse language in the program; and c2, cl and c0 are the values of the three bits which indicate the level in the rating category,of the rating for the program. Each of chart and chart has a value between 40h and 7Fh. For example, a "PG" program (c=2) with comedic violence (v=1) suggestive language (1=1) and brief nudity (s=2) would have bits allocated to charl and chart as follows:
bit6 bits bit4 bit bit2 bitl bit0 charl 1 0 0 1 0 1 0 chart 1 0 1 0 0 0 1 TABLE
III -CLASS
RATING
(c) 1o LEVEL RATING DESCRIPTION
(C) 0 E Exempt - news , sports , documentaries etc.
1 G General Audience - suitable for viewing by all ages 2 PG Parental Guidance advised below 13 years of age - Themes may not be suitable for children. May contain brief violence, coarse language and/or mature themes 3 A Adult - suitable for persons 16 years of age and older. Those under 16 should view with an adult. will likely contain violence, strong language and/or nudity.
4 R Restricted to 18 years of age and older-content not suitable for those under the age of 18. contains graphic violence, explicit language and/or sexual activity.
Information about the content of video signal 24 could also be encoded and embedded in video signal 24 as ASCII strings and transmitted in over one of the text channels (T1 or T2) which are also defined in EIA-608. -If embedded codes are to be transmitted on a text channel then, preferably, each embedded code consists of a pair of delimiter characters, which respectively identify the start and end of an embedded code, a data identifier, which identifies the meaning of data in the embedded code and some data. The characters in the embedded code are preferably selected from the ASCII symbols.
For example, an embedded code could contain the 4 ASCII
characters "<V4>". 'The delimiter characters "<" and ">" indicate the start and end of the embedded code respectively. The data identifier "V" could indicate that the accompanying data indicates the level in the violence category of violence in the program content of the received video signal 24.
The numeral "4" indicates that the violence level is 4 on a scale of, for example, 0 to 5. Where embedded codes are transmitted in a text channel then, for example, a film rated "Adult" with an advisory for brief violence, mild language and brief nudity could have embedded in it, among others, the codes <C3> <V3> <L2> <S2>.
If embedded codes are transmitted on a text channel in which other textual information is also being transmitted then each embedded code should consist of a sequence of characters that is very unlikely to occur in any other data in the channel being used to transmit the embedded codes.
Each different type of embedded code can be transmitted by broadcaster 26 at a different rate. XDS data transmitted according to EIA-608 has a maximum throughput of about 60 characters per second.
Consequently, where data packets are transmitted as XDS data on line 21 of video signal 24 the relevant program information should occupy no more than about 100 7-bit characters to ensure that all of the desired information can be broadcast in embedded codes which are repeated every 2-4 seconds.
1o The amount of data that must be transmitted to describe a program can be reduced by transmitting information, such as labels which are selected from a predefined list, by transmitting only an index which identifies the position of the Label in the list. For example; if in a list of labels "Action' is the tenth label, then the label "Action' can be transmitted by setting the tenth bit in a block of transmitted data or by otherwise transmitting data representing the index "10" (which can be encoded as one character or less) instead of the string "Action' (which occupies 6 characters). If the program information includes category information relating to one or more mufti-level categories of mufti-level information which can have one of several levels then it is only necessary to transmit an integer indicating the level for the current program, as described above. It is not necessary to transmit the descriptions for each different level in the category or even for the current level in the category.
~.
As data packets are received in apparatus 20 they are detected by data slicer 40 which may be, for example, a 86129 data slicer and on screen display chip available from Zilog Corporation. In the preferred embodiment of the invention data slicer 40 is a line 21 decoder. Data slicer 40 is connected to video input 22 and monitors received video signal 23.
The operation of apparatus 20 is coordinated by a microprocessor 42, which runs a software program 54 stored in a memory means accessible to microprocessor 42 such as ROM 43. Microprocessor 42 may, for example, be a Motorola 6805 microprocessor. The particular circuitry associated with microprocessor 42 and the circuitry for interfacing microprocessor 42 to other devices, such as ROM 43 and the other parts of apparatus 20 can have many variations and is well known to those skilled in the art and is therefore not described herein.
Each time data dicer 40 detects and decodes a character in the received video signal it transmits the character to microprocessor 42 over data bus 44 and triggers an interrupt in microprocessor 42. Triggering the interrupt causes microprocessor 42 to execute an interrupt handler routine which interprets the received character. The following pseudo code illustrates the operation of the interrupt handler routine. In pseudo-code in this application: get(operandl, operand2) is a function that fetches data from either the IR receiver 65 or data slicer 40. Operand 1 specifies the type of data that is expected. The retrieved data is stored in the variable identified by operand2; convert(time_of_day) converts a string of ~6 characters which represents the time of day and converts it into a number in the range of 1 to 1440 representing the minute in the day;
load user(operandl) retrieves the data which is identified by operandl from non-volatile memory; display(operand) uses on screen display generator 60 to display information pointed to by operand on a display means, such as the screen of television 22; update(operand) adds a station s call letters, a program title, or a range of viewing times to a list of restricted call letters, program titles, or viewing times; change(operandl,operand2) changes operandl by the amount specified in operand2; toggle(operand) 1o switches the value of the variable identified by operand between 2 values;
arid parse is used to parse incoming classification information and is described more fully below.
XDS Data Receive Algorithm ~5 XDS_begin;
get(Start, Type); ' Start is the character that identifies the XDS class 'Type is the character that identifies the meaning 'of the data within the class * Current Class ao if Start=01 ~
begin j,~ Type=02 ~g get(string, duration + time_in_show);
jf Type=03 ~ get(string, title);
'get index which identifies label jf Type=04 get(index, type(T_type));
'retrieve category information f Type=05 ~ for N=1 to number of categories begin get(n_level(N), classification); 'n_level(N) is an array parse(configuration, classification);
end;
end;
* Channel Information CIass j~ Start=05 f Type=02 ~ get(string, channel); 'retrieve call letters of station * Miscellaneous Qass ~ Start=07 ~g if Type=01 ~ get(string, time of day);
clock=convert(time_of_day); 'set internal clock * Undefined CIass if Start=OD ~
begin if Type=05 get(string, configuration);
XDS_end; -As data packets are received by data slicer 40 and transmitted 2o to microprocessor 42, the intemzpt routine parses the retrieved data and stores the received data in memory locations 52 in RAM 46 according to the data identifier in the encoded information. For example,: one memory location 52 stores the current value of the level in the violence category "V" for the current program; another memory location 52 stores the call letters of broadcaster 26, another memory location stores the current value of the level in the language category "L" for the current program, another memory location 52 stores a list of the labels which describe aspects of the program etc.
Each time an embedded code data packet is received, microprocessor 42 simply determines what type of information is stored in the received data packet and overwrites the memory locations) 52 corresponding to that type of information with the data in the received data packet. Microprocessor 42 may use configuration information stored in apparatus 20 which specifies how the encoded information is organized 1o in the received data packet to separate different types of information stored in the data packet before storing the information in memory locations 52.
For example, in a preferred embodiment of the invention category and label information is transmitted in a single XDS data packet.
Category information for a number of categories is transmitted first (with information about two categories transmitted in each 7-bit character as described above) followed by label information (with one character specifying a label). The characters used to specify label information are in the range 20h to 3Fh. The character 20h specifies the first label, the 2o character 21h specifies the second label, and so on. An XDS data packet can contain up to 32 characters so, if 4 characters are used to transmit category information, then 28 characters are available for transmitting label information.
Apparatus 20 has stored in it configuration information which identifies the number of mufti-level categories and the number of labels being used. If, for example, the configuration information indicates that there are 5 categories, then apparatus 20 treats the first 3 characters in the data packet as being category information (5 categories each having 8 levels or less can be encoded in 3 bytes as described above) and the rest of the characters in the data packet are treated as specifying labels.
If a broadcaster 26 transmits at least one of each type of embedded code about every 2 to 4 seconds then the data stored in memory locations 52 will not be more than about 4 seconds old. The content of embedded codes cauld change throughout a television program to permit 1o blocking of certain offensive scenes only.
Preferably, whenever microprocessor 42 receives an embedded code cantaining station identification information (e.g. the call letters of a broadcaster 26) then microprocessor 42 compares the newly received call letters to the previously stored call letters. If the newly received call letters are different from the call letters stored in RAM 46 then the viewer must have selected a different channel. Microprocessor 42 then erases the information stored in memory locations 52 in RAM 46. This eliminates the problem that could be caused if a viewer switched from, for example, watching a program on one channel with extreme violence V=6 to a new channel with no coding for violence. If there were no new data to overwrite the violence level stored in RAM 46 then the viewer could be blocked from viewing the new channel too.
Because embedded codes do not need to be transmitted at specific times, the embedded codes can be transmitted when space is available. If the embedded codes are being transmitted in line 21 of an incoming video signal 24 and other data is also being transmitted on line 21 (for example captions in a different language) then the embedded codes can be buffered. If line 21 of the video signal is full in one frame of the video signal then the embedded codes which were ready to be transmitted with that frame can be saved and transmitted in Line 21 one or more subsequent frames of the video signal. This guarantees that the embedded codes do not interfere with the transmission of other data in line 21 of the video signal.
1 o While a user is watching television 22 then microprocessor 42 runs a main portion of software program 54, as illustrated by the following pseudo-code:
Main Program 54 Main begin;
Initialize data_slicer;
Initialize OSD;
Configure interrupt sources (XDS, IR);
Load_configuration_data; 'load configuration information 'load previously stored user preferences 2o Load user(cat setting(N cat)); 'category preference information Load user(label_list(N cat+1)); 'label preference information 'label preference information (in the "type' group of labels) Load_user(type_list(N_type));
Load_user(channel_list(N channel)); 'list of channels to block (or permit) Load_user(title_list(N title)); 'list of program titles to block(or permit) Load_user(viewing_times); 'allowable viewing times Load user(allowance); 'daily viewing allowance While (T'V_On > 0) do _27_ begin Block = Off; 'default is that video signal 24 can pass 'block video signal 24 if any of the 'following conditions are met ~ i=1 to N_cat s~.g i~ (cat(i) > cat setting(i)) I~ Block = On;
~ i=1 to N cat+1 ~
fg~ j=1 to L_type ~
(label(j) E label list(i)) ~g Block = On;
~ i=1 to N_type ~
o~ j=1 to T type ~
if (type(j) a type list(i)) ~ Block = On;
~ i=1 to N channel ~g (channel a channel list(i)) 11~ Block = On;
~ i=1 to N title ~
j,f (title a title_Iist(i)) ~ Block = On;
,~ (clock a viewing_times) ~ Block = On;
i~ (TV_On > allowance) t~ Block=On;
'display alternative image when BIock=On (video signal 24 is blocked) 'by switching switching means 38 and generating blocking screen with 'on Screen display 60 j~ (Block = On) ~ display(Block Screen);
gl~g, display(normal);
end;
as Under the control of software program 54, microprocessor 42 compares the data stored in memory locations 52 with corresponding user preference information stored in, or loaded from, memory locations 56 in non-volatile memory means 58. Any suitable compatable non-volatile memory, for example, flash RAM ("FRAM"), electrically erasable programmable ROM ("EEPROM") or a magnetic storage medium, may be used for non-volatile memory means 58.
When program 54 detects that memory locations 52 contain data which is outside the bounds prescribed by the corresponding memory locations 56 then program 54 causes microprocessor 42 to turn switching means 36 and 38 OFF. When switching means 38 is fumed OFF it optionally connects an alternative video signal, such as a display created by an on screen display generator 60, to output 34. Figure 3 shows an example of such a display. The display of Figure 3 provides information about the program which is being blocked. This information is available from memory locations 52.
An on screen display generator 60 is commonly incorporated on a single chip with a data slicer 40. On screen display generator 60 can generate and display on the screen of television 22 displays which, for 2o example, provide information about a current program, indicate that a program is being blocked, indicate the current configuration of apparatus 20, and/ or guide a user in setting up and configuring apparatus 20.
Apparatus 20 includes input means, which can be any means which allows a user to send information to apparatus 20. In the currently preferred embodiment of the invention, the input means includes an infrared remote control transmitter 71 which transmits control signals to an infrared receiver 65 in apparatus 20. When infrared receiver 65 receives a control signal from infrared transmitter 71 it interrupts processor 42.
Software running in processor 42 can then retrieve and interpret the transmitted information.
Preferably a user can override the blocking function of apparatus 20 by entering a password, or identification number, ("PIN").
This permits those who know the PIN to watch an individual television program that apparatus 20 is configured to block without reprogramming apparatus 20. At the end of the program (or after a time period) apparatus resumes its normal function. Apparatus 20 can detect when a program is over by monitoring data packets containing the title or identification number for the current program.
Apparatus 20 must be able to recognize the various information that is encoded and embedded in video signal 24. If all programming were described everywhere according to a universal 20 informational scheme, which never changed, then apparatus 20 could be preprogrammed to recognize all of the types of information about video signal 24 in that universal scheme. It is highly unlikely that a universal rating scheme could be agreed upon. People in different countries, and even people in different parts of the same country have differing. views regarding what information is appropriate for selecting programming to view and what typed of subject matter might be considered to be offensive.
The present invention provides a video and blocking system capable of dealing with and blocking programs that may be coded according to two or more distinct information schemes. Preferably, the invention provides a method and apparatus to remotely configure apparatus 20 to accommodate new schemes for selecting and transmitting information about video signal 24 that may be introduced to augment or replace existing schemes. This makes it unnecessary to physically alter apparatus 20 if a new informational scheme is adopted.
In accordance with this preferred embodiment, broadcaster 26 transmits configuration information which describes the scheme of information about video signal 24 used by broadcaster 2 6 . The configuration information is preferably encoded and embedded in video signal 24 in the same manner as the codes which contain information about video signal 24 are encoded and embedded. When configuration information is received by apparatus 20 it is identified as such by, for example, its XDS data type. The configuration information identifies: the number of categories (0 or more) and the number of levels within each category in the informational scheme; the number of groups of labels (0 or more) and the number of labels in each group. This information is used by apparatus 20 to allocate locations in non-volatile memory means 58 to store user preference information corresponding to each category and each group of labels in the informational scheme. The information is also used when apparatus 20 is initialized to allocate memory locations 52 in RAM
46 to store the received category information and label information.
Preferably the configuration information provides descriptive names of the different categories of multi-level information in the informational scheme (e.g. violence, sexuality, language etc.); descriptive names for each level within each category (e.g., for the violence category:
none, comedic, mild, brief, strong, graphic etc.); and some or all of the descriptive labels used in the informational scheme. This information can be provided to a user to assist the user in providing user preference information for storage in apparatus 20. In general, it is easier for a user to select between blocking programming in which the level of violence is "strong" or "graphic" than it is to select between levels "4" and "5".
Configuration information is preferably transmitted in a separate channel so that it does not interfere with program related information. Most cable television networks have a "barker" channel which does not require much of its own information because it merely displays a schedule of television programs which are available for viewing on other channels of the cable network. In a cable television network, configuration information can be conveniently transmitted as XDS data in the barker channel. The configuration information may, for example, be transmitted as XDS data having a selected type (for example 05h) in the undefined class. The configuration information is preferably repeated over and over again, a typical amount of configuration information can be repeated approximately once every 10 seconds or so over an XDS channel.
In the remotely configurable embodiment, apparatus 20 can be configured by tuning to the channel containing configuration information and initiating the configuration process (by, for example, selecting a menu option or pushing a control button). An unskilled user can therefore easily initiate a process for reconfiguring apparatus 20 to accommodate changes to the informational scheme in the user's area or to accommodate a different informational scheme which is used in a new area to which the user moves.
The configuration information received by apparatus 20 may describe all of the categories and labels in the informational scheme being used. In the alternative, to minimize the amount of configuration information which is required, the configuration information may specify only additions to a basic informational scheme, such as the scheme specified by EIA-608.
The apparatus and methods described herein assume some knowledge about how any additional category information and/or label 1o information will be encoded. For example, if category information is encoded and embedded in an XDS data packet, as described above, then new categories may be added simply by adding new characters (up to the maximum number of characters allowed in a data packet which is currently 32 characters) to the XDS data packet. The configuration information could include information about how additional information will be encoded and/or embedded. For example, configuration information could include a data type character which is used to identify additional category and/or label information in data packets sent in the "Undefined"
class specified by EIA-608.
Confi,gu_ration Example In this example, category and label information is transmitted in a single XDS data packet. Category information for a number of categories is transmitted first (with information about two categories transmitted in each 7-bit character as described above) followed by label information (with one character specifying a label). The characters used to specify label information are in the range 20h to 3Fh. The character 20h specifies the first label, the character 21h specifies the second label, and so on. An XDS data packet can contain up to 32 characters so, if 4 characters are used to transmit category information, then 28 characters are available for transmitting label information.
Apparatus 20 receives configuration information which specifies, inter alia, the number of characters in the data packet that contain category information and the number of characters that contain label information.
Configuration information may be transmitted in the XDS
undefined class (start character ODh) in type 05h (type character 05h). The first character following the start character and the type character indicates whether the data which follows is the name of a category or the name of a group of labels. For example, the character 7Eh could indicate a category name and the character 7Fh could indicate the name for a group of labels.
In this example, the rating scheme includes: 4 categories of category information - rating, violence, sexuality and language - each having levels described as in Table II, and a group of eight labels or "keywords' for describing program content -Action, Sexuality, Mild Action, Language, Family, Mature Content, Graphic Violence, and Nudity.
In this example, the informational scheme includes both category information and label information. Configuration information about the categories in the scheme is sent first, followed by configuration information about the labels in the scheme. Apparatus 20 can locate the beginning of the configuration information by looking for the first 7Eh identifier to follow a 7Fh identifier. The configuration information may, for example, be transmitted as follows:
ODh 05h 7Eh R A T 1 N G OFh + Checksum ODh 05h E X E M P T OFh + Checksum ODh 05h G E N E R A L OFh + Checksum ODh 05h P G OFh + Checksum ODh 05h A D U L T OFh + Checksum ODh05hRESTRICTEDOFh+Checksum 1o ODh 05h 7Eh V I O L E N C E OFh + Checksum ODh 05h N 0 N E OFh + Checksum ODh 05h C O M E D I C OFh + Checksum ODh 05h M 1 L D 0Fh + Checksum ODh 05h B R I E F OFh + Checksum a5 ODh 05h S T R O N G 0Fh + Checksum ODh 05h G R A P H I C OFh + Checksum 0Dh 05h 7Eh L A N G U A G E OFh + Checksum ODh 05h N O N E OFh + Checksum zo ODh 05h E X P L I C I T OFh + Checksum ODh 05h 7Eh S E X U A L I T Y OFh + Checksum ODh 05h N O N E OFh + Checksum ODh 05h E X P L I C I T OFh + Checksum z5 ODh 05h 7Fh L A B E L S OFh + Checksum ODh 05h A C T I O N OFh + Checksum ODh 05h S E X U A L I T Y OFh + Checksum ODh 05h N U D I T Y OFh + Checksum As each category name is received, microprocessor 42 stores the category name in memory means 58. Microprocessor 42 then stores the names of the levels in that category in memory means 58. Microprocessor 42 counts the number of categories and the number of levels in each category and stores these numbers in memory means 58. When microprocessor 42 detects the identifier 7Fh then it stores the information in that packet as a label group name. If there are no labels in the informational scheme then the label group name can be set to a value such as NULL (OOh) to indicate that there are no labels. Microprocessor receives and stores the names for the labels. In this example, the first label name corresponds to character 20h, the second Label name corresponds to the character 21h, the third Label name corresponds to the character 22h, and so on.
In the example there are 4 categories and 8 labels. This means that the first 2 characters in a data packet containing this information specify category information. Up to eight more characters may specify label information.
When the configuration process is started and microprocessor 42 detects configuration information then microprocessor 42 stores the configuration information in non-volatile memory 58. This is illustrated by the following pseudo code:
Configuration Function parse(configuration, classification);
begin * Configuration format N cat=I; 'initialize N-cat, the number of categories to 1 get(char, configuration);
char=7E ~ 'category names are prefaced by, e.g. 7Eh begin get(cat name(N_cat), configuration); 'get name of first category 1o i=0 'get descriptive names for category levels get(level_name(N cat,i), configuration);
level_name(N cat,i) * null ,fig begin i=i+1;
get(level_name(N_cat,i), configuration);
end;
N_Ievel(N cat) = i; 'store number of Ievels in this category N_cat=N cat+1;
end;
2o j~ char=7F ~g 'descriptive labels are prefaced by e.g. 7Fh begin get(label_name, configuration);
i=0;
get(label(i), configuration);
label(i) * null ~
begin i=i+Z;
get(label(i), configuration);
end;
N level(N cat)=iy N cat=N cat-1; 'Store total number of categories end;
* Parse Classification Data ~ i=1 to N cat,~g get(cat(i), classification);
get(char, classification);
i=I;
3xhile char null ~
1o begin label(i)=get(char, classification);
i=i+1;
get(char, classification);
end;
The architecture of apparatus 20 which is described above permits an easy to use user interface. In the currently preferred embodiment of the invention the user interface includes an infrared 2o receiver 70 and an on screen display generator 60 both connected to microprocessor 42. The user can set the user preferences stored in apparatus 20 by malting selections with an infrared remote control transmitter 71 (Fig 4) and confirming the changes by viewing the display generated by on screen display generator 60 on the screen of television 22 (or some other display connected to microprocessor 42).
2 i X94.74 ~, Much of the data encoded and embedded in incoming video signal24 is of interest to viewers. For example, a viewer may be interested in knowing the title of the current television program, how long the current program has left to run etc. Preferably infrared remote control transmitter 71 includes a key 75 which, for a short period, for example, a few seconds, displays the title of the current program together with other information about the current program. This information is stored in RAM 46 in apparatus 20. It is therefore trivial to cause microprocessor 42 to send this information through on screen display driver 60 for display on the screen of television 22 as shown, for example, in Figure 6.
Preferably the system of menus in the user interface is no more than 3 levels deep and permits access to the most often used functions of apparatus 20 with a minimum number of key strokes. The techniques for setting user preferences by means of an infrared remote control are well known and are widely used, for example, in programming VCRs. These well know techniques are therefore not described here in detail.
In the currently preferred user interface a user can invoke a 2o main menu 80 by pressing a function key 72 on remote control transmitter 71. When the function key is pressed, microprocessor 42 switches switching means 38 OFF and causes on screen display 60 to display a request that the user enter an access code (or "PIN"). Microprocessor 42 verifies that a valid PIN has been entered. When a valid PIN has been entered then main menu 80, as shown in Figure 5A, is displayed on the screen of television 22. If a valid PII~ is not entered then microprocessor 42 does not permit access to main menu 80.
21194?4 Main menu 80 provides a user with several options [1]
through (6]. The user can select one of these options by pressing the correspondingly numbered one of buttons 88 on infrared remote control transmitter 71. Each selection either sets an operating parameter of apparatus 20 or opens a further menu which may have selections leading to other menus.
The "Blocking" option [1] on menu 80 allows a user to enable, temporarily disable for a selected period of time (or "put to sleep"), or 1o disable completely the blocking function of apparatus 20. The "Blocking"
option would be used, for example, by parents who wish to have ux~liniited access to all television programming without altering other settings of apparatus 20.
Option [1] could optionally open a menu 90 (Fig 5B) which allows the features of apparatus 20 to be individualy enabled or disabled.
Each of the features listed beside options [1] to [6] of menu 90 can be set to ON, SLEEP (for a specified time period) or OFF by pressing the correspondingly numbered one of buttons 88 on remote control transmitter 2o 71 until the desired setting is obtained. If ON is selected, the feature is enabled and will operate according to the manner in which it is configured.
If SLEEP is selected the feature will be disabled for a period of time designated by the "Sleep Time". If the user selects OFF the feature will be disabled and will not operate.
as The "Master" option [1] of menu 90 can be used to disable or temporarily disable the operation of all blocking features of apparatus 20.
In the alternative, a user may simply disable one or more individual features from the list of menu choices which includes: "Ratings Block", "Channel Block", "Program Block", "Viewing Times", and "Daily Allowance" features. In the example menu 90 of Figure 5B the operation of "Channel Block" has been suspended for one hour. Any channel may be viewed although the incoming video signal 24 may still be blocked by an enabled feature of apparatus 20. No restrictions are placed on specific programs or viewing times because those features are OFF.
1o The set up function, option [2] of menu 80 opens a menu 100 (Fig. 5C). Menu 100 lists various parameters that a user can set to affect the operation of apparatus 20. The values that the user selects for these parameters comprise preference information which is stored in memory locations 56 in non-volatile memory 58 and used, as described above, to determine whether or not a received video signal 24 will be blocked by apparatus 20. For example, when a user selects "Category Thresholds' from menu 100, the user is presented with another menu 110 (Fig 5D).
Menu 110 allows the user to set thresholds in the various categories in the informational scheme for which apparatus 20 is configured by, for 2o example, pressing a button on remote control transmitter 71 to cycle through the available levels. The categories correspond to embedded codes containing category information that might be present in incoming video signal 24.
The user is assisted in setting threshold levels because menu 110 displays the descriptive names for the categories, as indicated by 111, as well as the descriptive names 112 for each level in each category. These descriptive names are part of the configuration information according to which apparatus 20 is preferably configured. If apparatus 20 is reconfigured for use with a different rating scheme then menu 110 will display category names and category level descriptions according to the new rating scheme.
After a user has selected thresholds for each category, the currently set threshold level for each category is stored as preference information in non-volatile memory 58. This can be done, for example, when the user exits menu 110. Apparatus 20 will block incoming video signal 24 whenever incoming video signal 24 has an embedded code containing category information identifying a level in a category which equals or exceeds the value of the threshold level for that category (which is stored a memory location 56 for that category in non-volatile memory 58). It can be readily appreciated that apparatus 20 can simultaneously accommodate multiple categories and can be set to block an incoming signal 24 that meets or exceeds a threshold level set for any one category.
In accordance with the present invention, the ability to simultaneously handle multiple rating schemes, as broadcast in real time, is useful because of the many sources of television programming.
Television programming which originates in Canada from a Canadian broadcaster may be rated according to a first rating scheme. Television programming which originates in the United States from a United States broadcaster may be rated according to a second rating scheme. Both sets of television programming may be received by a person located anywhere in North America. It is therefore desirable that a video blocking system can seamlessly accommodate television programming which includes embedded codes containing information relevant to either or both rating schemes. Additional informational schemes set up by, For example, groups of concerned parents could also be handled by apparatus 20.
Options [2] and [3] of menu 100 allow a user to select labels which, if present in an incoming signal, will cause apparatus 20 to block the signal. Option [2] allows a user to specify labels in a group of labels specified by the rating scheme being used. Option [3] allows the user to specify labels from the list of types set out in EIA-608. When restricted 1 o labels (option [2]) is selected, a display of various labels that are provided by the informational scheme according to which apparatus 20 has been configured is displayed on television 22 (Fig. 5E). Apparatus 20 can be pre-configured with the various types specified by EIA-608 (Fig. 5F) because these types do not change.
The number of different labels that can be used as criteria to determine whether or not to block video signal 24 is limited in practice only by the amount of memory in apparatus 20. One program may simultaneously have several "labels" associated with it by broadcaster 26.
2o For example, a cartoon about a gruesome mass murderer might have the following labels which describe the type of program in video signal 24:
"ANIMATED", "HORROR", "CRIME", and "DRAMA". Other labels describing the program could optionally be embedded in video signal 24 and encoded in an ADVISORY group of labels. For example, a broadcaster could assign key phrases, such as "rape scene', "strong action violence', "strong sexuality", "gory violence", or "brief partial nudity', where appropriate, to a television program. The labels are descriptive and are therefore relatively easy for a user to understand when the user is deciding what labels should cause apparatus 20 to block a video signal 24. The text of the labels is downloaded to apparatus 20 and stored when apparatus 20 is configured as described above.
The "Viewing Times", option (4J of menu 100, permits a user to allow TV viewing only during certain hours of the day. When a user selects option j4~ of menu 100 then a menu 160 (Fig 5I) is displayed. By setting the options on this menu, a user can store viewing time information 1o which specifies time ranges during which television viewing is allowed. At all other times incoming signal 24 will be blocked by apparatus 20. Of course, the viewing time information could specify time ranges during which television viewing is not allowed. Preferably, appropriate viewing tune ranges can be set separately for morning, afternoon and evening.
Apparatus 20 preferably reads and decodes embedded codes containing "Time of Day" information (or "time data") which contain information about the time at which video signal 24 is being transmitted by broadcaster 26. Microprocessor 42 then compares the decoded time data 2o with the stored viewing time information. If the result of the comparison indicates that the time data corresponds to a time within an allowed viewing time range then microprocessor 42 operates switching means 36, 38 to allow video signal 24 to be displayed on the screen of television 22.
If the result of the comparison indicates that the time data corresponds to a time within a non-allowed viewing time range then microprocessor 42 operates switching means 36, 38 to prevent video signal 24 from being displayed on the screen of television 22.
Because time of day information is contained in incoming video signal 24 the operation of apparatus 20 does not depend on a local clock being accurately set. Further, the operation of apparatus 20 cannot be thwarted by resetting a clock in apparatus 20. Apparatus 20 may include a back-up real time clock for cases in which the incoming video signal does not contain time data.
A user can set the morning start time from 3:00 AM to 11:30 AM in 1/2 hour increments by displaying menu 160 and pressing the [1]
1o key on remote control 71. The duration for morning viewing is adjustable from 0.5 hours to 9.0 hours in 1/2 hour increments by pressing the [2] key.
The user can set the afternoon start time from 12:00 PM to 5:30 PM in 1/2 hour increments by pressing the [3] key. Similarly the duration for afternoon viewing is adjustable from 0.5 hours to 6.0 hours in 1/2 hour increments by pressing the [41 key. Finally, the user can set the evening start time from 6.00 PM to 2:30 AM in 1/2 hour increments by pressing the [5] key. Similarly the duration for evening viewing is adjustable from 0.5 hours to 9.0 hours in 1/2 hour increments by pressing the [6] key.
"Daily Allowance", option [5] of menu 100, lets a user set a ma~dmum amount of time that signals to television 22 are not blocked by apparatus 20, in increments of 0.5 hours. The Daily Allowance can be set by displaying menu 100 and repeatedly pressing the [5] key on remote control 71 until the desired daily allowance is displayed.
The Unrated Programs option [fi] of menu 100 determines whether programs which are not accompanied by embedded information will be blocked by apparatus 20.
"Display Blocked Stations", option [4] of menu 80, allows a user to view a list of stations (Fig. 5G) which will be blocked by apparatus 20. A user can add a station to the list of prohibited stations by tuning to the undesired station, pressing button 75 on remote control 71 to display information about the station (it may take a few seconds for the data packet containing the call letters to be received) and selecting [2] on the remote control. When this is done, the call letters of the station are added to a list of blocked stations stored in non-volatile memory means 58.
Stations on the list of Figure 5G may be deleted by pressing the correspondingly numbered key on remote control 71. If there are more than 8 channels in the list the user may press [8] to view and/or modify a list of additional channels. Apparatus 20 can store a large number of station call letters. The list length is limited in practise only by the available non-volatile memory 58 accessible to apparatus 20.
Apparatus 20 could be configured to allow a user to type in directly a list of stations or program titles to be blocked. However, reading the call letters of stations to be blocked and the titles of programs to be blocked directly from data packets in the incoming signals ensures that the blocking information in apparatus 20 will exactly match the information embedded in incoming video signal 24.
"Display Blocked Titles", option [4] of menu 80, allows a user to set up a list 150 of programs (Fig. 5H) which will be blocked by apparatus 20. A user can set up and maintain a list of prohibited programs in essentially the same manner as the user sets up a list of blocked stations.
The length of list 150 is limited in practice only by the available amount of non-volatile memory in apparatus 20 available for storing list 150.
The Captions option [5] of menu 80 allows a user to select one of 9 captioning modes. The user may choose to display the information being transmitted in one of the close caption channels CC1 to CC4, information transmitted in one of the text channels T1 through T4 or no caption information. Where data packets representing encoded information for use by apparatus 20 are transmitted in, for example, text channel T2, then apparatus 20 strips out the characters which comprise the data packets before displaying text channel T2.
The Change PIN option [6] of menu 80 allows a user to select a new PIN for access to apparatus 20.
2o The user interface may be implemented by causing microprocessor 42 to run software which operates generally according to the following pseudo code:
Istfra-red (IR) Data Receive and On-Screen Display Algorithm )I~-begin;
get(data,key) key = key 75 ~ .
begin display(Tnformation) get (data,selection) if selection=1 ~ update (title_list) j~ selection=2 th_lle update (station_list) end;
'require user to enter PIN before allowing user to set preferences j,~ key = key 73 ~ get(string, PIN);
if PIN=User_PIN
1o begin display(Main);
'allow user to pick item from main menu get(data, menu selection);
*BIocking jf menu_selection=1 change(ViewControl block, +1);
*SetUp menu_selection=2 begin display(ViewControl_SetLJp);
get(data,menu selection);
*Category Thresholds i# menu selection=1 lh~
begin display(cat name(N cat),label_name,Category_Thresholds):
get(data,menu selection);
jf menu selectionc5 ~ change(cat setting(menu_selection), +1);
i~ menu selection=M exit;
end;
*Restricted Labels if menu selection=2 ~
begin display(label(N_level(N cat)), Restricted_Labels);
get(data,menu_selection);
j~ menu selection<9 toggle(label(menu selection));
if menu_selection=M 111eu exit;
end;
*Restricted Types ,menu selection=3,~
begin display(Restricted_Types);
get(data, menu selection);
j~ menu_selection <9 toggle(type(menu_selection));
if menu selection=M exit;
end;
*Viewing Times if menu selection=4,~g~
begin display(Viewing_Times);
get(data, menu_selection);
if menu_selection=1 ~ change(Morning_Start, +30);
menu_selection=2.t~n change(Morning_Duration, +0.5);
~ menu_selection=3 the change(Aftemoon_Start, +30);
if menu selection=4 lh~ change(Aftemoon Duration, +0.5);
if menu selection=5 ,t~g~ change(Evening_Start, +30);
f menu selection=6 ~n change(Evening_Duration, +0.5);
j~ menu selection=7 ~ change(Time Zone, +60);
change(clock, Time_Zone);
if menu selection=M ~ exit;
update(viewing_times);
end;
*Daily Allowance iF menu_selection=5 ~g change(Allowance, +0.5);
*Unrated Programs i~' menu selection=6 Toggle(Unrated);
*Configure if menu selection=7 ~ Toggle(Configure Enable);
end;
*Display Blocked Titles i~ menu selection=3 ~
begin display(Program_Blocking_list);
get(data, menu selection);
if menu selection <8 ~, toggle(program(menu_selection));
j~ menu_selection=M ,~ exit:
end;
*Display Blocked Stations if menu selection=4 ~
begin display(Channel_Blocking_List);
get(data, menu selection);
jf menu selection <8 remove(channel(menu_selection));
y~ menu selection--M ,~ exit;
end;
*Captions j~ menu selection=5 toggle(Captions, +1);
*Change PIN
if menu selection=6 the begin display(Enter Old PIN);
get(string, PIN);
i~ PIN=User_PIN ~e begin 1 o display(Enter_New_PIN);
get(User PIN);
end;
end;
*Exit Menu jf menu selection=M ~ exit;
end;
1TZ_end;
It can be appreciated that the methods and apparatus of the invention provide parents with a great deal of flexibility in blocking programming which they consider to be undesirable. In addition to blocking programs which exceed set thresholds in categories in one or more rating schemes or which include Labels selected from one or more groups of labels, parents can:
~ block out specific channels (at specific times, if desired);
block out programs of a specific title, for example, parents can block their children from watching a program having the name "The X
Files' at any time, regardless of the ratings assigned to any specific episode of that program;
~ block programs which contain labels identifying them as being of particular types, for example, parents could set apparatus 20 to block programs of one or more of the following types: combat, crime, erotica, fantasy, horror, soap opera, suspense, tallc, etc.;
block access to all programming at certain times of day. Parents can also Iimit viewing time to a set amount of time per day.
1o All of the above functions are available to parents in a consistent way.
Those skilled in the art will realize that the foregoing description of a user interface can be varied in many ways without departing from the scope of the invention. 'The user interface need not use a remote control n but could use any known means for accepting input from a user. The user interface need not display information on the screen of television 22 but may use some alternative display means to advise a user about the status of apparatus 20. Apparatus 20 need not include all of the features described above and may include additional features. The menu structure described above may be departed from while staying within the scope of the invention.
As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof.
s
(d) at said viewer, receiving either said first television program or said second television program and extracting the program content information corresponding to the received program; and (e) at said viewer, automatically comparing the extracted program content information to user preference information corresponding to the extracted program content information to determine whether to block the presentation of said video signal, at least in part.
In another aspect the invention provides a method of selectively blocking a video signal comprising the steps of:
(a) receiving, at an apparatus, a set of configuration information describing an informational scheme, said set of configuration information having been embedded in a remotely transmitted configuration signal;
(b) configuring said apparatus in accordance with the set of configuration information;
(c) storing, in the apparatus, user preference information for selectively blocking programs described according to said informational scheme;
(d) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to said informational scheme;
(e) comparing said program content information to the user preference information to determine whether to block the presentation of said video signal, at least in part; and (f) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
(a) a memory for storing (i) a first set of configuration information describing a first informational scheme, (ii) a second set of configuration information describing a second informational scheme, said second informational scheme being distinct from said first informational scheme, (iii) a first set of user preference information for selectively blocking programs described according to said first informational scheme, and (iv) a second set of user preference information for selectively blocking programs described according to said second informational scheme;
(b) an input for receiving a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(c) an output for providing an audio and video presentation of said video signal;
(d) a decoder coupled to said input for extracting said program content information;
(e) a processor coupled to said decoder and to said memory for comparing said extracted program content information to the user preference information for the informational scheme according to which said program content _ 7 information is encoded; and (f) blocking means operatively coupled between said processor and said output for selectively blocking the presentation of said video signal at said output, at least in part, in response to the comparison performed by said processor.
In another aspect the invention provides a method for selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with two or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes; and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
In another aspect the invention provides a method for selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with one or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least two or more informational schemes including the one or more informational schemes in step (a); and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
(a) a memory storing data representing two or more informational schemes;
(b) a switch for coupling to a display unit, said switch receiving a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes; and (c) a processor coupled to the memory and the switch, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
(a) a memory storing data representing two or more informational schemes;
(b) a detector detecting encoded data embedded in a video signal and outputting the encoded data, said encoded data representing program content information embedded in the video signal, said program content information being encoded according to at least one of said two or more informational schemes; and (c) a processor coupled to the memory and the detector, said processor decoding said encoded data to determine said program content information, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
In another aspect the invention provides an apparatus for selectively blocking a video signal comprising:
- 8a -(a) a memory storing data representing two or more informational schemes; and (b) a processor coupled to the memory, said processor detecting encoded data embedded in a video signal representing program content information encoded according to at least one of said two or more informational schemes, decoding said encoded data to determine said program content information, comparing said program content information to said stored data and blocking display of the video signal in accordance with said comparison.
Brief Description of the Drawings In drawings which illustrate non-limiting preferred embodiments of the invention, Figure 1 is a block diagram showing video blocking apparatus of the invention connected between an incoming video signal and a television;
Figure 2 is a block diagram of video signal blocking apparatus according to the invention;
Figure 3 is a drawing of an on screen display produced when a video signal is being blocked;
Figure 4 is a drawing of an infrared remote control transmitter for controlling the operation of the apparatus of Figure 2;
Figures 5A through 5I are examples of on screen menu displays that could be produced by the apparatus of Figure 2; and, Figure 6 is an example of an informational screen display that may be produced by the apparatus of Figure 2.
Detailed Description of the Preferred Embodiment In the invention, as shown in Figure 1, information about video programnning being carried in a video signal 24 is encoded and the encoded information is embedded in video signal 24 by a broadcaster 26.
An apparatus 20 retrieves and decodes the embedded information.
Apparatus 20 is in the signal path between the broadcaster 26 and a viewers television screen. If the decoded information matches stored user preferences stored in a memory means in, or otherwise accessible to, apparatus 20 then apparatus 20 blocks the video component of video signal 24 from being displayed on a video display means, such as the viewer's television monitor 22, and also preferably blocks any audio component of 2o video signal 24 from being played. This provides the viewer, or the viewer's parent or guardian, with some control over the television programming that the viewer can be exposed to. In t$e alternative, apparatus 20 may permit viewing of video signal 24 only if the decoded information matches certain stored user preferences.
Incoming video signal 24 may be delivered to apparatus 20 by satellite, by cable, by VHF or UHF broadcast or in any other suitable way.
Incoming video signal 24 may also be the output from a video playback device, for example, a video cassette recorder ("VCR") or a laser disk player. In the latter case, the "broadcaster' 26 is the party who provided the recorded signal which is played back to create incoming video signal 24.
Apparatus 20 is preferably built into a television set 22 but may also be provided as a stand-alone unit. Where apparatus 20 is provided as a stand-alone unit suitable locking means are provided to 1o prevent the operation of apparatus 20 from being frustrated by routing incoming video signal 24 so that it bypasses apparatus 20.
As shown in Figure 2, apparatus 20 has inputs 32 for one or more signals, such as composite audio and video signals, which comprise incoming video sisal 24. Inputs 32 may be connected, for example, to the audio and video outputs from a VCR, a television tuner, or a cable converter. Inputs 32 are preferably buffered to prevent unnecessary loading of the source of video signal 24. Apparatus 20 also has an output 34 which may be connected to the video input of a television set. Switching means 36 and 38 are connected between inputs 32 and output 34. Separate outputs (not shown) for composite video and composite audio and/or other signal formats) may also be provided in addition to or instead of a single output 34.
When apparatus 20 is not blocking a signal then switching means 36 and 38 are ON so that video from inputs 32 passes through switching means 36 and 38, through rf modulator 39 and out of output 34.
RF modulator 39 combines the audio and video signals from inputs 32 into a rf signal which can be received by a standard television set.
Switching means 36 and 38 are preferably electro-mechanical relays or electronic switches but may be any other switching means capable of preventing incoming video signal 24 at inputs 32 from being passed to output 34 in a form capable of being viewed on the screen of television 22.
Switching means 36 and 38 may even be switchable filters or other apparatus which degrades signal 24, or adds noise to signal 24, to the point that signal 24, is no longer capable of being viewed on the screen of television 22 when it exits apparatus 20.
When apparatus 20 detects one or more embedded codes in video signal 24 that represent information which indicates that video signal 24 should be blocked then apparatus 20 turns switching means 36 and 38 OFF, as described below, thereby preventing video signal 24 from reaching output 34. When video signal 24 is being blocked, video switching means 38 may connect to an alternative video signal, for example a signal containing a graphic which indicates that video signal 24 is being blocked. The graphic may optionally provide details about the program being blocked, such as its title etc. Preferably switching means 36 and 38 are OFF when apparatus 20 is not powered so that the operation of apparatus 20 cannot be defeated by disconnecting apparatus 20 from its power source.
Information about the program content of a received video signal is preferably embedded and encoded as digital data packets which are transmitted with the video signal. The data packets are inserted by broadcaster 26 or by a cable company who retransmits video signal 24.
In the preferred embodiment of the invention, the data packets are embedded in video signal24 by transmitting them during the video blanking interval of video signal 24. In North America, the video blanking interval comprises lines 10 through 21 of a video signal. Most preferably, the data packets each comprise data bytes transmitted in the Extended Data Services ("XDS") portion of a video signal. XDS data is transmitted i n line 21 of the video signal as defined by Electronic Industries Association specification No. EIA-608, as is well known. It is desirable to use line 21 because almost all new television sets sold in the North America are required to have a built-in decoder for XDS data transmitted on line 21.
Specification No. EIA-608 specifies protocols for embedding digitally encoded information packets containing information about a television program which is being currently broadcast. Each XDS data packet begins with a "start" character which also indicates the "class" of the information (i.e. generally what the information in the packet relates to). For example: the start character for data about a current program (the "Current" class) is Olh; the start character for data about the current channel (the "Channel Information" class) is 05h; and, the start character for "undefined" data (the "Undefined" class) is ODh. A data type character which indicates the specific nature of the information being transmitted follows the start character. Each information packet ends with an "end"
character, which is defined in EIA-608 to be OFh, and a checksum character.
EIA-608 defines codes for transmitting some information that is useful for practising the invention. Other information for practising the invention can be conveniently transmitted as XDS data using the undefined data type provided by EIA-608, as discussed below. Of course, this or similar information could also be encoded and transmitted in ways which do not conform with the EIA-608 specification. It will be readily apparent to those skilled in the art that the invention could be practised with other protocols and/or by encoding and embedding any necessary data in video signal 24 using other encoding and/or embedding techniques. What is important is that the incoming video signal 24 have somehow embedded in it codes which convey at least some of the information described below.
1o Table I lists some types of XDS data which are defined by EIA-608 and are useful in the invention.
TABLE
I -XDS
Data Types Start Size of Char. ~g Da a Char. (Bvt~es)r Olh 02h 2 Duration: Length of show (hours and minutes) 01h 02h 2 Time-in Show: Elapsed time in program (hours and minutes) Olh 03h 2-32 Title: Title of program (up to standard ASCII characters) 01h 04h 2-4 Type: A keyword describing the type of program e.g. "horror', "comedy", "talk show", "news' etc.
01h 05h 2 Rating: Motion Pictures Association of America ("MPAA") or Canadian Motion Picture Distributors Association ("CMPDA") (or equivalent) rating 1o Olh 10h to Advisory: Consists of key words or 1711 short key phrases that describe the subject matter and content of a television program.
05h 02h 4 Call Letters: Call letters of local broadcaster 07h 01h and 4-6 Time: Time of day 04h Information about a program may include category information, which identifies a level assigned to the program in each of one or more categories. An example of a category is the "Rating" information described in Table I. Each program may be assigned a rating which ranges kom, for example, "Exempt" to "X-Rated" through a series of intermediate levels. Information about a program may also be provided in the form of labels which may be used to indicate whether certain subject matter is present in the program. For example, labels may include things such as "Action", "Drug-use', "Adult", "Tallc-show" etc. An informational scheme may include several groups of labels. Different groups may describe different aspects of a program or may contain labels assigned by different rating organizations. The data types "Type' and "Advisory" which are specified by EIA-608 are examples of groups of labels that may be assigned to video programs. An informational scheme may provide one or more groups of labels not specified by EIA-608 in addition to or instead of the labels specified by EIA-608.
In addition to some or all of the predefined data types described above, the preferred embodiment of the invention provides embedded codes containing a category information which describes a level assigned to the currently broadcast program according to at least one additional category. For example, in a preferred embodiment of the invention, the current program is rated in each of three categories in respect of its levels of violence, sexuality and coarse language. Category information in respect of these three scales can conveniently be transmitted as XDS data in unused parts of the "Rating" data packet (start character 05h) of the Current class. In the alternative, this additional category information could be transmitted as data in the XDS "Undefined" class, or may be otherwise transmitted.
The inventor has found that it is generally desirable to provide category information on a graduated scale in which the lowest level of the scale describes unoffensive program content and the highest IeveI of the scale indicates program content that many viewers would find highly offensive. Between the highest and lowest levels on the scale are intermediate levels. Most preferably each scale contains between 3 and 7 levels. This provides sufficient flexibility and yet rn;n;m;~es the amount of effort required for broadcaster 26, or a rating organization, to assign a level or levels to the program in each category and is not overly complicated for a viewer to understand or set up.
As a 3-bit binary number can have 8 possible values, a data packet containing two 7-bit characters can store category information for a program in 4 independent categories each having up to 8 levels. For example, Table II illustrates a combination of four categories that could be applied to a television program. The meanings attributed to the levels in 2o each category are defined by the persons or body that sets standards for the category in question. For example, Table III explains possible meanings of the levels in the "Rating" category of Table II.
TABLE II
- EXAMPLE
CATEGORIES
DATA RATING VIOLENCE LANGUAGE SEXUALTTY
(c) (v) (1) (s) 0 Exempt none none none 1 General comedic suggestive mature themes 2 PG mild mild brief nudity 3 Adult brief coarse mild sexuality 4 Restrictedstrong strong full nudity 5 X-Rated graphic explicit sexual activity The category information of Table II may be encoded in two 7-bit characters, charl and chart. For example, this may be done as follows:
bit6 bits bit4 bit bit2 bitl bit0 charl 1 v2 v1 v0 c2 cl c0 chart 1 s2 sl s0 12 11 10 v2, vl and v0 are the values of the three bits which indicate the level in the violence category of violence in the program; s2, s1 and s0 are the values of the three bits which indicate the level in the sexuality category of 2o sexuality in the program;12,11 and 10 are the values of the three bits which indicate the level in the language category of coarse language in the program; and c2, cl and c0 are the values of the three bits which indicate the level in the rating category,of the rating for the program. Each of chart and chart has a value between 40h and 7Fh. For example, a "PG" program (c=2) with comedic violence (v=1) suggestive language (1=1) and brief nudity (s=2) would have bits allocated to charl and chart as follows:
bit6 bits bit4 bit bit2 bitl bit0 charl 1 0 0 1 0 1 0 chart 1 0 1 0 0 0 1 TABLE
III -CLASS
RATING
(c) 1o LEVEL RATING DESCRIPTION
(C) 0 E Exempt - news , sports , documentaries etc.
1 G General Audience - suitable for viewing by all ages 2 PG Parental Guidance advised below 13 years of age - Themes may not be suitable for children. May contain brief violence, coarse language and/or mature themes 3 A Adult - suitable for persons 16 years of age and older. Those under 16 should view with an adult. will likely contain violence, strong language and/or nudity.
4 R Restricted to 18 years of age and older-content not suitable for those under the age of 18. contains graphic violence, explicit language and/or sexual activity.
Information about the content of video signal 24 could also be encoded and embedded in video signal 24 as ASCII strings and transmitted in over one of the text channels (T1 or T2) which are also defined in EIA-608. -If embedded codes are to be transmitted on a text channel then, preferably, each embedded code consists of a pair of delimiter characters, which respectively identify the start and end of an embedded code, a data identifier, which identifies the meaning of data in the embedded code and some data. The characters in the embedded code are preferably selected from the ASCII symbols.
For example, an embedded code could contain the 4 ASCII
characters "<V4>". 'The delimiter characters "<" and ">" indicate the start and end of the embedded code respectively. The data identifier "V" could indicate that the accompanying data indicates the level in the violence category of violence in the program content of the received video signal 24.
The numeral "4" indicates that the violence level is 4 on a scale of, for example, 0 to 5. Where embedded codes are transmitted in a text channel then, for example, a film rated "Adult" with an advisory for brief violence, mild language and brief nudity could have embedded in it, among others, the codes <C3> <V3> <L2> <S2>.
If embedded codes are transmitted on a text channel in which other textual information is also being transmitted then each embedded code should consist of a sequence of characters that is very unlikely to occur in any other data in the channel being used to transmit the embedded codes.
Each different type of embedded code can be transmitted by broadcaster 26 at a different rate. XDS data transmitted according to EIA-608 has a maximum throughput of about 60 characters per second.
Consequently, where data packets are transmitted as XDS data on line 21 of video signal 24 the relevant program information should occupy no more than about 100 7-bit characters to ensure that all of the desired information can be broadcast in embedded codes which are repeated every 2-4 seconds.
1o The amount of data that must be transmitted to describe a program can be reduced by transmitting information, such as labels which are selected from a predefined list, by transmitting only an index which identifies the position of the Label in the list. For example; if in a list of labels "Action' is the tenth label, then the label "Action' can be transmitted by setting the tenth bit in a block of transmitted data or by otherwise transmitting data representing the index "10" (which can be encoded as one character or less) instead of the string "Action' (which occupies 6 characters). If the program information includes category information relating to one or more mufti-level categories of mufti-level information which can have one of several levels then it is only necessary to transmit an integer indicating the level for the current program, as described above. It is not necessary to transmit the descriptions for each different level in the category or even for the current level in the category.
~.
As data packets are received in apparatus 20 they are detected by data slicer 40 which may be, for example, a 86129 data slicer and on screen display chip available from Zilog Corporation. In the preferred embodiment of the invention data slicer 40 is a line 21 decoder. Data slicer 40 is connected to video input 22 and monitors received video signal 23.
The operation of apparatus 20 is coordinated by a microprocessor 42, which runs a software program 54 stored in a memory means accessible to microprocessor 42 such as ROM 43. Microprocessor 42 may, for example, be a Motorola 6805 microprocessor. The particular circuitry associated with microprocessor 42 and the circuitry for interfacing microprocessor 42 to other devices, such as ROM 43 and the other parts of apparatus 20 can have many variations and is well known to those skilled in the art and is therefore not described herein.
Each time data dicer 40 detects and decodes a character in the received video signal it transmits the character to microprocessor 42 over data bus 44 and triggers an interrupt in microprocessor 42. Triggering the interrupt causes microprocessor 42 to execute an interrupt handler routine which interprets the received character. The following pseudo code illustrates the operation of the interrupt handler routine. In pseudo-code in this application: get(operandl, operand2) is a function that fetches data from either the IR receiver 65 or data slicer 40. Operand 1 specifies the type of data that is expected. The retrieved data is stored in the variable identified by operand2; convert(time_of_day) converts a string of ~6 characters which represents the time of day and converts it into a number in the range of 1 to 1440 representing the minute in the day;
load user(operandl) retrieves the data which is identified by operandl from non-volatile memory; display(operand) uses on screen display generator 60 to display information pointed to by operand on a display means, such as the screen of television 22; update(operand) adds a station s call letters, a program title, or a range of viewing times to a list of restricted call letters, program titles, or viewing times; change(operandl,operand2) changes operandl by the amount specified in operand2; toggle(operand) 1o switches the value of the variable identified by operand between 2 values;
arid parse is used to parse incoming classification information and is described more fully below.
XDS Data Receive Algorithm ~5 XDS_begin;
get(Start, Type); ' Start is the character that identifies the XDS class 'Type is the character that identifies the meaning 'of the data within the class * Current Class ao if Start=01 ~
begin j,~ Type=02 ~g get(string, duration + time_in_show);
jf Type=03 ~ get(string, title);
'get index which identifies label jf Type=04 get(index, type(T_type));
'retrieve category information f Type=05 ~ for N=1 to number of categories begin get(n_level(N), classification); 'n_level(N) is an array parse(configuration, classification);
end;
end;
* Channel Information CIass j~ Start=05 f Type=02 ~ get(string, channel); 'retrieve call letters of station * Miscellaneous Qass ~ Start=07 ~g if Type=01 ~ get(string, time of day);
clock=convert(time_of_day); 'set internal clock * Undefined CIass if Start=OD ~
begin if Type=05 get(string, configuration);
XDS_end; -As data packets are received by data slicer 40 and transmitted 2o to microprocessor 42, the intemzpt routine parses the retrieved data and stores the received data in memory locations 52 in RAM 46 according to the data identifier in the encoded information. For example,: one memory location 52 stores the current value of the level in the violence category "V" for the current program; another memory location 52 stores the call letters of broadcaster 26, another memory location stores the current value of the level in the language category "L" for the current program, another memory location 52 stores a list of the labels which describe aspects of the program etc.
Each time an embedded code data packet is received, microprocessor 42 simply determines what type of information is stored in the received data packet and overwrites the memory locations) 52 corresponding to that type of information with the data in the received data packet. Microprocessor 42 may use configuration information stored in apparatus 20 which specifies how the encoded information is organized 1o in the received data packet to separate different types of information stored in the data packet before storing the information in memory locations 52.
For example, in a preferred embodiment of the invention category and label information is transmitted in a single XDS data packet.
Category information for a number of categories is transmitted first (with information about two categories transmitted in each 7-bit character as described above) followed by label information (with one character specifying a label). The characters used to specify label information are in the range 20h to 3Fh. The character 20h specifies the first label, the 2o character 21h specifies the second label, and so on. An XDS data packet can contain up to 32 characters so, if 4 characters are used to transmit category information, then 28 characters are available for transmitting label information.
Apparatus 20 has stored in it configuration information which identifies the number of mufti-level categories and the number of labels being used. If, for example, the configuration information indicates that there are 5 categories, then apparatus 20 treats the first 3 characters in the data packet as being category information (5 categories each having 8 levels or less can be encoded in 3 bytes as described above) and the rest of the characters in the data packet are treated as specifying labels.
If a broadcaster 26 transmits at least one of each type of embedded code about every 2 to 4 seconds then the data stored in memory locations 52 will not be more than about 4 seconds old. The content of embedded codes cauld change throughout a television program to permit 1o blocking of certain offensive scenes only.
Preferably, whenever microprocessor 42 receives an embedded code cantaining station identification information (e.g. the call letters of a broadcaster 26) then microprocessor 42 compares the newly received call letters to the previously stored call letters. If the newly received call letters are different from the call letters stored in RAM 46 then the viewer must have selected a different channel. Microprocessor 42 then erases the information stored in memory locations 52 in RAM 46. This eliminates the problem that could be caused if a viewer switched from, for example, watching a program on one channel with extreme violence V=6 to a new channel with no coding for violence. If there were no new data to overwrite the violence level stored in RAM 46 then the viewer could be blocked from viewing the new channel too.
Because embedded codes do not need to be transmitted at specific times, the embedded codes can be transmitted when space is available. If the embedded codes are being transmitted in line 21 of an incoming video signal 24 and other data is also being transmitted on line 21 (for example captions in a different language) then the embedded codes can be buffered. If line 21 of the video signal is full in one frame of the video signal then the embedded codes which were ready to be transmitted with that frame can be saved and transmitted in Line 21 one or more subsequent frames of the video signal. This guarantees that the embedded codes do not interfere with the transmission of other data in line 21 of the video signal.
1 o While a user is watching television 22 then microprocessor 42 runs a main portion of software program 54, as illustrated by the following pseudo-code:
Main Program 54 Main begin;
Initialize data_slicer;
Initialize OSD;
Configure interrupt sources (XDS, IR);
Load_configuration_data; 'load configuration information 'load previously stored user preferences 2o Load user(cat setting(N cat)); 'category preference information Load user(label_list(N cat+1)); 'label preference information 'label preference information (in the "type' group of labels) Load_user(type_list(N_type));
Load_user(channel_list(N channel)); 'list of channels to block (or permit) Load_user(title_list(N title)); 'list of program titles to block(or permit) Load_user(viewing_times); 'allowable viewing times Load user(allowance); 'daily viewing allowance While (T'V_On > 0) do _27_ begin Block = Off; 'default is that video signal 24 can pass 'block video signal 24 if any of the 'following conditions are met ~ i=1 to N_cat s~.g i~ (cat(i) > cat setting(i)) I~ Block = On;
~ i=1 to N cat+1 ~
fg~ j=1 to L_type ~
(label(j) E label list(i)) ~g Block = On;
~ i=1 to N_type ~
o~ j=1 to T type ~
if (type(j) a type list(i)) ~ Block = On;
~ i=1 to N channel ~g (channel a channel list(i)) 11~ Block = On;
~ i=1 to N title ~
j,f (title a title_Iist(i)) ~ Block = On;
,~ (clock a viewing_times) ~ Block = On;
i~ (TV_On > allowance) t~ Block=On;
'display alternative image when BIock=On (video signal 24 is blocked) 'by switching switching means 38 and generating blocking screen with 'on Screen display 60 j~ (Block = On) ~ display(Block Screen);
gl~g, display(normal);
end;
as Under the control of software program 54, microprocessor 42 compares the data stored in memory locations 52 with corresponding user preference information stored in, or loaded from, memory locations 56 in non-volatile memory means 58. Any suitable compatable non-volatile memory, for example, flash RAM ("FRAM"), electrically erasable programmable ROM ("EEPROM") or a magnetic storage medium, may be used for non-volatile memory means 58.
When program 54 detects that memory locations 52 contain data which is outside the bounds prescribed by the corresponding memory locations 56 then program 54 causes microprocessor 42 to turn switching means 36 and 38 OFF. When switching means 38 is fumed OFF it optionally connects an alternative video signal, such as a display created by an on screen display generator 60, to output 34. Figure 3 shows an example of such a display. The display of Figure 3 provides information about the program which is being blocked. This information is available from memory locations 52.
An on screen display generator 60 is commonly incorporated on a single chip with a data slicer 40. On screen display generator 60 can generate and display on the screen of television 22 displays which, for 2o example, provide information about a current program, indicate that a program is being blocked, indicate the current configuration of apparatus 20, and/ or guide a user in setting up and configuring apparatus 20.
Apparatus 20 includes input means, which can be any means which allows a user to send information to apparatus 20. In the currently preferred embodiment of the invention, the input means includes an infrared remote control transmitter 71 which transmits control signals to an infrared receiver 65 in apparatus 20. When infrared receiver 65 receives a control signal from infrared transmitter 71 it interrupts processor 42.
Software running in processor 42 can then retrieve and interpret the transmitted information.
Preferably a user can override the blocking function of apparatus 20 by entering a password, or identification number, ("PIN").
This permits those who know the PIN to watch an individual television program that apparatus 20 is configured to block without reprogramming apparatus 20. At the end of the program (or after a time period) apparatus resumes its normal function. Apparatus 20 can detect when a program is over by monitoring data packets containing the title or identification number for the current program.
Apparatus 20 must be able to recognize the various information that is encoded and embedded in video signal 24. If all programming were described everywhere according to a universal 20 informational scheme, which never changed, then apparatus 20 could be preprogrammed to recognize all of the types of information about video signal 24 in that universal scheme. It is highly unlikely that a universal rating scheme could be agreed upon. People in different countries, and even people in different parts of the same country have differing. views regarding what information is appropriate for selecting programming to view and what typed of subject matter might be considered to be offensive.
The present invention provides a video and blocking system capable of dealing with and blocking programs that may be coded according to two or more distinct information schemes. Preferably, the invention provides a method and apparatus to remotely configure apparatus 20 to accommodate new schemes for selecting and transmitting information about video signal 24 that may be introduced to augment or replace existing schemes. This makes it unnecessary to physically alter apparatus 20 if a new informational scheme is adopted.
In accordance with this preferred embodiment, broadcaster 26 transmits configuration information which describes the scheme of information about video signal 24 used by broadcaster 2 6 . The configuration information is preferably encoded and embedded in video signal 24 in the same manner as the codes which contain information about video signal 24 are encoded and embedded. When configuration information is received by apparatus 20 it is identified as such by, for example, its XDS data type. The configuration information identifies: the number of categories (0 or more) and the number of levels within each category in the informational scheme; the number of groups of labels (0 or more) and the number of labels in each group. This information is used by apparatus 20 to allocate locations in non-volatile memory means 58 to store user preference information corresponding to each category and each group of labels in the informational scheme. The information is also used when apparatus 20 is initialized to allocate memory locations 52 in RAM
46 to store the received category information and label information.
Preferably the configuration information provides descriptive names of the different categories of multi-level information in the informational scheme (e.g. violence, sexuality, language etc.); descriptive names for each level within each category (e.g., for the violence category:
none, comedic, mild, brief, strong, graphic etc.); and some or all of the descriptive labels used in the informational scheme. This information can be provided to a user to assist the user in providing user preference information for storage in apparatus 20. In general, it is easier for a user to select between blocking programming in which the level of violence is "strong" or "graphic" than it is to select between levels "4" and "5".
Configuration information is preferably transmitted in a separate channel so that it does not interfere with program related information. Most cable television networks have a "barker" channel which does not require much of its own information because it merely displays a schedule of television programs which are available for viewing on other channels of the cable network. In a cable television network, configuration information can be conveniently transmitted as XDS data in the barker channel. The configuration information may, for example, be transmitted as XDS data having a selected type (for example 05h) in the undefined class. The configuration information is preferably repeated over and over again, a typical amount of configuration information can be repeated approximately once every 10 seconds or so over an XDS channel.
In the remotely configurable embodiment, apparatus 20 can be configured by tuning to the channel containing configuration information and initiating the configuration process (by, for example, selecting a menu option or pushing a control button). An unskilled user can therefore easily initiate a process for reconfiguring apparatus 20 to accommodate changes to the informational scheme in the user's area or to accommodate a different informational scheme which is used in a new area to which the user moves.
The configuration information received by apparatus 20 may describe all of the categories and labels in the informational scheme being used. In the alternative, to minimize the amount of configuration information which is required, the configuration information may specify only additions to a basic informational scheme, such as the scheme specified by EIA-608.
The apparatus and methods described herein assume some knowledge about how any additional category information and/or label 1o information will be encoded. For example, if category information is encoded and embedded in an XDS data packet, as described above, then new categories may be added simply by adding new characters (up to the maximum number of characters allowed in a data packet which is currently 32 characters) to the XDS data packet. The configuration information could include information about how additional information will be encoded and/or embedded. For example, configuration information could include a data type character which is used to identify additional category and/or label information in data packets sent in the "Undefined"
class specified by EIA-608.
Confi,gu_ration Example In this example, category and label information is transmitted in a single XDS data packet. Category information for a number of categories is transmitted first (with information about two categories transmitted in each 7-bit character as described above) followed by label information (with one character specifying a label). The characters used to specify label information are in the range 20h to 3Fh. The character 20h specifies the first label, the character 21h specifies the second label, and so on. An XDS data packet can contain up to 32 characters so, if 4 characters are used to transmit category information, then 28 characters are available for transmitting label information.
Apparatus 20 receives configuration information which specifies, inter alia, the number of characters in the data packet that contain category information and the number of characters that contain label information.
Configuration information may be transmitted in the XDS
undefined class (start character ODh) in type 05h (type character 05h). The first character following the start character and the type character indicates whether the data which follows is the name of a category or the name of a group of labels. For example, the character 7Eh could indicate a category name and the character 7Fh could indicate the name for a group of labels.
In this example, the rating scheme includes: 4 categories of category information - rating, violence, sexuality and language - each having levels described as in Table II, and a group of eight labels or "keywords' for describing program content -Action, Sexuality, Mild Action, Language, Family, Mature Content, Graphic Violence, and Nudity.
In this example, the informational scheme includes both category information and label information. Configuration information about the categories in the scheme is sent first, followed by configuration information about the labels in the scheme. Apparatus 20 can locate the beginning of the configuration information by looking for the first 7Eh identifier to follow a 7Fh identifier. The configuration information may, for example, be transmitted as follows:
ODh 05h 7Eh R A T 1 N G OFh + Checksum ODh 05h E X E M P T OFh + Checksum ODh 05h G E N E R A L OFh + Checksum ODh 05h P G OFh + Checksum ODh 05h A D U L T OFh + Checksum ODh05hRESTRICTEDOFh+Checksum 1o ODh 05h 7Eh V I O L E N C E OFh + Checksum ODh 05h N 0 N E OFh + Checksum ODh 05h C O M E D I C OFh + Checksum ODh 05h M 1 L D 0Fh + Checksum ODh 05h B R I E F OFh + Checksum a5 ODh 05h S T R O N G 0Fh + Checksum ODh 05h G R A P H I C OFh + Checksum 0Dh 05h 7Eh L A N G U A G E OFh + Checksum ODh 05h N O N E OFh + Checksum zo ODh 05h E X P L I C I T OFh + Checksum ODh 05h 7Eh S E X U A L I T Y OFh + Checksum ODh 05h N O N E OFh + Checksum ODh 05h E X P L I C I T OFh + Checksum z5 ODh 05h 7Fh L A B E L S OFh + Checksum ODh 05h A C T I O N OFh + Checksum ODh 05h S E X U A L I T Y OFh + Checksum ODh 05h N U D I T Y OFh + Checksum As each category name is received, microprocessor 42 stores the category name in memory means 58. Microprocessor 42 then stores the names of the levels in that category in memory means 58. Microprocessor 42 counts the number of categories and the number of levels in each category and stores these numbers in memory means 58. When microprocessor 42 detects the identifier 7Fh then it stores the information in that packet as a label group name. If there are no labels in the informational scheme then the label group name can be set to a value such as NULL (OOh) to indicate that there are no labels. Microprocessor receives and stores the names for the labels. In this example, the first label name corresponds to character 20h, the second Label name corresponds to the character 21h, the third Label name corresponds to the character 22h, and so on.
In the example there are 4 categories and 8 labels. This means that the first 2 characters in a data packet containing this information specify category information. Up to eight more characters may specify label information.
When the configuration process is started and microprocessor 42 detects configuration information then microprocessor 42 stores the configuration information in non-volatile memory 58. This is illustrated by the following pseudo code:
Configuration Function parse(configuration, classification);
begin * Configuration format N cat=I; 'initialize N-cat, the number of categories to 1 get(char, configuration);
char=7E ~ 'category names are prefaced by, e.g. 7Eh begin get(cat name(N_cat), configuration); 'get name of first category 1o i=0 'get descriptive names for category levels get(level_name(N cat,i), configuration);
level_name(N cat,i) * null ,fig begin i=i+1;
get(level_name(N_cat,i), configuration);
end;
N_Ievel(N cat) = i; 'store number of Ievels in this category N_cat=N cat+1;
end;
2o j~ char=7F ~g 'descriptive labels are prefaced by e.g. 7Fh begin get(label_name, configuration);
i=0;
get(label(i), configuration);
label(i) * null ~
begin i=i+Z;
get(label(i), configuration);
end;
N level(N cat)=iy N cat=N cat-1; 'Store total number of categories end;
* Parse Classification Data ~ i=1 to N cat,~g get(cat(i), classification);
get(char, classification);
i=I;
3xhile char null ~
1o begin label(i)=get(char, classification);
i=i+1;
get(char, classification);
end;
The architecture of apparatus 20 which is described above permits an easy to use user interface. In the currently preferred embodiment of the invention the user interface includes an infrared 2o receiver 70 and an on screen display generator 60 both connected to microprocessor 42. The user can set the user preferences stored in apparatus 20 by malting selections with an infrared remote control transmitter 71 (Fig 4) and confirming the changes by viewing the display generated by on screen display generator 60 on the screen of television 22 (or some other display connected to microprocessor 42).
2 i X94.74 ~, Much of the data encoded and embedded in incoming video signal24 is of interest to viewers. For example, a viewer may be interested in knowing the title of the current television program, how long the current program has left to run etc. Preferably infrared remote control transmitter 71 includes a key 75 which, for a short period, for example, a few seconds, displays the title of the current program together with other information about the current program. This information is stored in RAM 46 in apparatus 20. It is therefore trivial to cause microprocessor 42 to send this information through on screen display driver 60 for display on the screen of television 22 as shown, for example, in Figure 6.
Preferably the system of menus in the user interface is no more than 3 levels deep and permits access to the most often used functions of apparatus 20 with a minimum number of key strokes. The techniques for setting user preferences by means of an infrared remote control are well known and are widely used, for example, in programming VCRs. These well know techniques are therefore not described here in detail.
In the currently preferred user interface a user can invoke a 2o main menu 80 by pressing a function key 72 on remote control transmitter 71. When the function key is pressed, microprocessor 42 switches switching means 38 OFF and causes on screen display 60 to display a request that the user enter an access code (or "PIN"). Microprocessor 42 verifies that a valid PIN has been entered. When a valid PIN has been entered then main menu 80, as shown in Figure 5A, is displayed on the screen of television 22. If a valid PII~ is not entered then microprocessor 42 does not permit access to main menu 80.
21194?4 Main menu 80 provides a user with several options [1]
through (6]. The user can select one of these options by pressing the correspondingly numbered one of buttons 88 on infrared remote control transmitter 71. Each selection either sets an operating parameter of apparatus 20 or opens a further menu which may have selections leading to other menus.
The "Blocking" option [1] on menu 80 allows a user to enable, temporarily disable for a selected period of time (or "put to sleep"), or 1o disable completely the blocking function of apparatus 20. The "Blocking"
option would be used, for example, by parents who wish to have ux~liniited access to all television programming without altering other settings of apparatus 20.
Option [1] could optionally open a menu 90 (Fig 5B) which allows the features of apparatus 20 to be individualy enabled or disabled.
Each of the features listed beside options [1] to [6] of menu 90 can be set to ON, SLEEP (for a specified time period) or OFF by pressing the correspondingly numbered one of buttons 88 on remote control transmitter 2o 71 until the desired setting is obtained. If ON is selected, the feature is enabled and will operate according to the manner in which it is configured.
If SLEEP is selected the feature will be disabled for a period of time designated by the "Sleep Time". If the user selects OFF the feature will be disabled and will not operate.
as The "Master" option [1] of menu 90 can be used to disable or temporarily disable the operation of all blocking features of apparatus 20.
In the alternative, a user may simply disable one or more individual features from the list of menu choices which includes: "Ratings Block", "Channel Block", "Program Block", "Viewing Times", and "Daily Allowance" features. In the example menu 90 of Figure 5B the operation of "Channel Block" has been suspended for one hour. Any channel may be viewed although the incoming video signal 24 may still be blocked by an enabled feature of apparatus 20. No restrictions are placed on specific programs or viewing times because those features are OFF.
1o The set up function, option [2] of menu 80 opens a menu 100 (Fig. 5C). Menu 100 lists various parameters that a user can set to affect the operation of apparatus 20. The values that the user selects for these parameters comprise preference information which is stored in memory locations 56 in non-volatile memory 58 and used, as described above, to determine whether or not a received video signal 24 will be blocked by apparatus 20. For example, when a user selects "Category Thresholds' from menu 100, the user is presented with another menu 110 (Fig 5D).
Menu 110 allows the user to set thresholds in the various categories in the informational scheme for which apparatus 20 is configured by, for 2o example, pressing a button on remote control transmitter 71 to cycle through the available levels. The categories correspond to embedded codes containing category information that might be present in incoming video signal 24.
The user is assisted in setting threshold levels because menu 110 displays the descriptive names for the categories, as indicated by 111, as well as the descriptive names 112 for each level in each category. These descriptive names are part of the configuration information according to which apparatus 20 is preferably configured. If apparatus 20 is reconfigured for use with a different rating scheme then menu 110 will display category names and category level descriptions according to the new rating scheme.
After a user has selected thresholds for each category, the currently set threshold level for each category is stored as preference information in non-volatile memory 58. This can be done, for example, when the user exits menu 110. Apparatus 20 will block incoming video signal 24 whenever incoming video signal 24 has an embedded code containing category information identifying a level in a category which equals or exceeds the value of the threshold level for that category (which is stored a memory location 56 for that category in non-volatile memory 58). It can be readily appreciated that apparatus 20 can simultaneously accommodate multiple categories and can be set to block an incoming signal 24 that meets or exceeds a threshold level set for any one category.
In accordance with the present invention, the ability to simultaneously handle multiple rating schemes, as broadcast in real time, is useful because of the many sources of television programming.
Television programming which originates in Canada from a Canadian broadcaster may be rated according to a first rating scheme. Television programming which originates in the United States from a United States broadcaster may be rated according to a second rating scheme. Both sets of television programming may be received by a person located anywhere in North America. It is therefore desirable that a video blocking system can seamlessly accommodate television programming which includes embedded codes containing information relevant to either or both rating schemes. Additional informational schemes set up by, For example, groups of concerned parents could also be handled by apparatus 20.
Options [2] and [3] of menu 100 allow a user to select labels which, if present in an incoming signal, will cause apparatus 20 to block the signal. Option [2] allows a user to specify labels in a group of labels specified by the rating scheme being used. Option [3] allows the user to specify labels from the list of types set out in EIA-608. When restricted 1 o labels (option [2]) is selected, a display of various labels that are provided by the informational scheme according to which apparatus 20 has been configured is displayed on television 22 (Fig. 5E). Apparatus 20 can be pre-configured with the various types specified by EIA-608 (Fig. 5F) because these types do not change.
The number of different labels that can be used as criteria to determine whether or not to block video signal 24 is limited in practice only by the amount of memory in apparatus 20. One program may simultaneously have several "labels" associated with it by broadcaster 26.
2o For example, a cartoon about a gruesome mass murderer might have the following labels which describe the type of program in video signal 24:
"ANIMATED", "HORROR", "CRIME", and "DRAMA". Other labels describing the program could optionally be embedded in video signal 24 and encoded in an ADVISORY group of labels. For example, a broadcaster could assign key phrases, such as "rape scene', "strong action violence', "strong sexuality", "gory violence", or "brief partial nudity', where appropriate, to a television program. The labels are descriptive and are therefore relatively easy for a user to understand when the user is deciding what labels should cause apparatus 20 to block a video signal 24. The text of the labels is downloaded to apparatus 20 and stored when apparatus 20 is configured as described above.
The "Viewing Times", option (4J of menu 100, permits a user to allow TV viewing only during certain hours of the day. When a user selects option j4~ of menu 100 then a menu 160 (Fig 5I) is displayed. By setting the options on this menu, a user can store viewing time information 1o which specifies time ranges during which television viewing is allowed. At all other times incoming signal 24 will be blocked by apparatus 20. Of course, the viewing time information could specify time ranges during which television viewing is not allowed. Preferably, appropriate viewing tune ranges can be set separately for morning, afternoon and evening.
Apparatus 20 preferably reads and decodes embedded codes containing "Time of Day" information (or "time data") which contain information about the time at which video signal 24 is being transmitted by broadcaster 26. Microprocessor 42 then compares the decoded time data 2o with the stored viewing time information. If the result of the comparison indicates that the time data corresponds to a time within an allowed viewing time range then microprocessor 42 operates switching means 36, 38 to allow video signal 24 to be displayed on the screen of television 22.
If the result of the comparison indicates that the time data corresponds to a time within a non-allowed viewing time range then microprocessor 42 operates switching means 36, 38 to prevent video signal 24 from being displayed on the screen of television 22.
Because time of day information is contained in incoming video signal 24 the operation of apparatus 20 does not depend on a local clock being accurately set. Further, the operation of apparatus 20 cannot be thwarted by resetting a clock in apparatus 20. Apparatus 20 may include a back-up real time clock for cases in which the incoming video signal does not contain time data.
A user can set the morning start time from 3:00 AM to 11:30 AM in 1/2 hour increments by displaying menu 160 and pressing the [1]
1o key on remote control 71. The duration for morning viewing is adjustable from 0.5 hours to 9.0 hours in 1/2 hour increments by pressing the [2] key.
The user can set the afternoon start time from 12:00 PM to 5:30 PM in 1/2 hour increments by pressing the [3] key. Similarly the duration for afternoon viewing is adjustable from 0.5 hours to 6.0 hours in 1/2 hour increments by pressing the [41 key. Finally, the user can set the evening start time from 6.00 PM to 2:30 AM in 1/2 hour increments by pressing the [5] key. Similarly the duration for evening viewing is adjustable from 0.5 hours to 9.0 hours in 1/2 hour increments by pressing the [6] key.
"Daily Allowance", option [5] of menu 100, lets a user set a ma~dmum amount of time that signals to television 22 are not blocked by apparatus 20, in increments of 0.5 hours. The Daily Allowance can be set by displaying menu 100 and repeatedly pressing the [5] key on remote control 71 until the desired daily allowance is displayed.
The Unrated Programs option [fi] of menu 100 determines whether programs which are not accompanied by embedded information will be blocked by apparatus 20.
"Display Blocked Stations", option [4] of menu 80, allows a user to view a list of stations (Fig. 5G) which will be blocked by apparatus 20. A user can add a station to the list of prohibited stations by tuning to the undesired station, pressing button 75 on remote control 71 to display information about the station (it may take a few seconds for the data packet containing the call letters to be received) and selecting [2] on the remote control. When this is done, the call letters of the station are added to a list of blocked stations stored in non-volatile memory means 58.
Stations on the list of Figure 5G may be deleted by pressing the correspondingly numbered key on remote control 71. If there are more than 8 channels in the list the user may press [8] to view and/or modify a list of additional channels. Apparatus 20 can store a large number of station call letters. The list length is limited in practise only by the available non-volatile memory 58 accessible to apparatus 20.
Apparatus 20 could be configured to allow a user to type in directly a list of stations or program titles to be blocked. However, reading the call letters of stations to be blocked and the titles of programs to be blocked directly from data packets in the incoming signals ensures that the blocking information in apparatus 20 will exactly match the information embedded in incoming video signal 24.
"Display Blocked Titles", option [4] of menu 80, allows a user to set up a list 150 of programs (Fig. 5H) which will be blocked by apparatus 20. A user can set up and maintain a list of prohibited programs in essentially the same manner as the user sets up a list of blocked stations.
The length of list 150 is limited in practice only by the available amount of non-volatile memory in apparatus 20 available for storing list 150.
The Captions option [5] of menu 80 allows a user to select one of 9 captioning modes. The user may choose to display the information being transmitted in one of the close caption channels CC1 to CC4, information transmitted in one of the text channels T1 through T4 or no caption information. Where data packets representing encoded information for use by apparatus 20 are transmitted in, for example, text channel T2, then apparatus 20 strips out the characters which comprise the data packets before displaying text channel T2.
The Change PIN option [6] of menu 80 allows a user to select a new PIN for access to apparatus 20.
2o The user interface may be implemented by causing microprocessor 42 to run software which operates generally according to the following pseudo code:
Istfra-red (IR) Data Receive and On-Screen Display Algorithm )I~-begin;
get(data,key) key = key 75 ~ .
begin display(Tnformation) get (data,selection) if selection=1 ~ update (title_list) j~ selection=2 th_lle update (station_list) end;
'require user to enter PIN before allowing user to set preferences j,~ key = key 73 ~ get(string, PIN);
if PIN=User_PIN
1o begin display(Main);
'allow user to pick item from main menu get(data, menu selection);
*BIocking jf menu_selection=1 change(ViewControl block, +1);
*SetUp menu_selection=2 begin display(ViewControl_SetLJp);
get(data,menu selection);
*Category Thresholds i# menu selection=1 lh~
begin display(cat name(N cat),label_name,Category_Thresholds):
get(data,menu selection);
jf menu selectionc5 ~ change(cat setting(menu_selection), +1);
i~ menu selection=M exit;
end;
*Restricted Labels if menu selection=2 ~
begin display(label(N_level(N cat)), Restricted_Labels);
get(data,menu_selection);
j~ menu selection<9 toggle(label(menu selection));
if menu_selection=M 111eu exit;
end;
*Restricted Types ,menu selection=3,~
begin display(Restricted_Types);
get(data, menu selection);
j~ menu_selection <9 toggle(type(menu_selection));
if menu selection=M exit;
end;
*Viewing Times if menu selection=4,~g~
begin display(Viewing_Times);
get(data, menu_selection);
if menu_selection=1 ~ change(Morning_Start, +30);
menu_selection=2.t~n change(Morning_Duration, +0.5);
~ menu_selection=3 the change(Aftemoon_Start, +30);
if menu selection=4 lh~ change(Aftemoon Duration, +0.5);
if menu selection=5 ,t~g~ change(Evening_Start, +30);
f menu selection=6 ~n change(Evening_Duration, +0.5);
j~ menu selection=7 ~ change(Time Zone, +60);
change(clock, Time_Zone);
if menu selection=M ~ exit;
update(viewing_times);
end;
*Daily Allowance iF menu_selection=5 ~g change(Allowance, +0.5);
*Unrated Programs i~' menu selection=6 Toggle(Unrated);
*Configure if menu selection=7 ~ Toggle(Configure Enable);
end;
*Display Blocked Titles i~ menu selection=3 ~
begin display(Program_Blocking_list);
get(data, menu selection);
if menu selection <8 ~, toggle(program(menu_selection));
j~ menu_selection=M ,~ exit:
end;
*Display Blocked Stations if menu selection=4 ~
begin display(Channel_Blocking_List);
get(data, menu selection);
jf menu selection <8 remove(channel(menu_selection));
y~ menu selection--M ,~ exit;
end;
*Captions j~ menu selection=5 toggle(Captions, +1);
*Change PIN
if menu selection=6 the begin display(Enter Old PIN);
get(string, PIN);
i~ PIN=User_PIN ~e begin 1 o display(Enter_New_PIN);
get(User PIN);
end;
end;
*Exit Menu jf menu selection=M ~ exit;
end;
1TZ_end;
It can be appreciated that the methods and apparatus of the invention provide parents with a great deal of flexibility in blocking programming which they consider to be undesirable. In addition to blocking programs which exceed set thresholds in categories in one or more rating schemes or which include Labels selected from one or more groups of labels, parents can:
~ block out specific channels (at specific times, if desired);
block out programs of a specific title, for example, parents can block their children from watching a program having the name "The X
Files' at any time, regardless of the ratings assigned to any specific episode of that program;
~ block programs which contain labels identifying them as being of particular types, for example, parents could set apparatus 20 to block programs of one or more of the following types: combat, crime, erotica, fantasy, horror, soap opera, suspense, tallc, etc.;
block access to all programming at certain times of day. Parents can also Iimit viewing time to a set amount of time per day.
1o All of the above functions are available to parents in a consistent way.
Those skilled in the art will realize that the foregoing description of a user interface can be varied in many ways without departing from the scope of the invention. 'The user interface need not use a remote control n but could use any known means for accepting input from a user. The user interface need not display information on the screen of television 22 but may use some alternative display means to advise a user about the status of apparatus 20. Apparatus 20 need not include all of the features described above and may include additional features. The menu structure described above may be departed from while staying within the scope of the invention.
As will be apparent to those skilled in the art in the light of the foregoing disclosure, many alterations and modifications are possible in the practice of this invention without departing from the spirit or scope thereof.
s
Claims (168)
1. A method of selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with a first informational scheme;
(b) configuring the apparatus in accordance with a second informational scheme, said second informational scheme being distinct from said first informational scheme;
(c) storing, in the apparatus, user preference information for selectively blocking programs described according to said first informational scheme;
(d) storing, in the apparatus, user preference information for selectively blocking programs described according to said second informational scheme;
(e) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(f) comparing said program content information to the user preference information for the informational scheme according to which said program content information is encoded to determine whether to block the presentation of said video signal, at least in part; and (g) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
(a) configuring an apparatus in accordance with a first informational scheme;
(b) configuring the apparatus in accordance with a second informational scheme, said second informational scheme being distinct from said first informational scheme;
(c) storing, in the apparatus, user preference information for selectively blocking programs described according to said first informational scheme;
(d) storing, in the apparatus, user preference information for selectively blocking programs described according to said second informational scheme;
(e) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(f) comparing said program content information to the user preference information for the informational scheme according to which said program content information is encoded to determine whether to block the presentation of said video signal, at least in part; and (g) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
2. A method according to claim 1 wherein the apparatus includes a memory and step (a) comprises the step of storing a first set of configuration information describing said first informational scheme in said memory, and step (b) comprises the step of storing a second set of configuration information describing said second informational scheme in said memory.
3. A method according to claim 2 wherein step (a) further comprises the step of receiving said first set of configuration information embedded in a first remotely transmitted configuration signal and step (b) further comprises the step of receiving said second set of configuration information embedded in a second remotely transmitted configuration signal.
4. A method according to claim 3 wherein said first configuration signal information is transmitted on a first television channel and said second configuration signal is transmitted on a second television channel.
5. A method according to claim 4 wherein said first television channel is the same as said second television channel.
6. A method according to claim 4 or 5 wherein said first set of configuration information is embedded in an Extended Data Services (XDS) portion of said first configuration signal, and said second set of configuration information is embedded in an Extended Data Services (XDS) portion of said second configuration signal.
7. A method according to any one of claims 1 to 6 wherein said first informational scheme comprises a first group of one or more multi-level categories of labels.
8. A method according to claim 7 wherein said second informational scheme comprises a second group of one or more multi-level categories of labels.
9. A method according to claim 8 wherein said first set of configuration information specifies, at least, a number of levels in each of the categories of said first group of one or more multi-level categories of labels, and wherein said second set of configuration information specifies, at least, a number of levels in each of the categories of said second group of one or more multi-level categories of labels.
10. A method according to claim 9 wherein said first set of configuration information includes descriptive text for each of the levels in each of the categories in said first group of multi-level categories and said second set of configuration information includes descriptive text for each of the levels in each of the categories in said second group of multi-level categories.
11. A method according to claim 10 wherein storing user preference information in step (c) comprises displaying on a display said descriptive text for labels in said first informational scheme and accepting from a user, and storing, a threshold level for each of said categories in said first informational scheme, and wherein storing user preference information in step (d) comprises displaying on a display said descriptive text for labels in said second informational scheme and accepting from a user, and storing, a threshold level for each of said categories in said second informational scheme.
12. A method according to claim 11 wherein the program content information comprises a program content level for each of the multi-level categories in the informational scheme according to which said program content information is encoded, and wherein the presentation of said video signal should be blocked, as determined in step (f), when the program content level exceeds the threshold level stored for any one of the categories in that informational scheme.
13. A method according to any one of claims 1 to 12 wherein said program content information is embedded in a vertical blanking interval of said video signal.
14. A method according to claim 13 wherein said program content information is further embedded in an Extended Data Services (XDS) portion of said video signal.
15. A method according to any one of claims 1 to 14 wherein blocking the presentation of said video signal in step (g) comprises blocking the display of a video component of said video signal.
16. A method according to any one of claims 1 to 14 wherein blocking the presentation of said video signal in step (g) comprises blocking the playing of an audio component of said video signal.
17. A method according to any one of claims 1 to 14 wherein blocking the presentation of said video signal in step (g) comprises blocking the display of a video component of said video signal and blocking the playing of an audio component of said video signal.
18. A method according to any one of claims 15, 16, or 17 wherein said video signal is received in step (e) via a satellite television system.
19. A method according to any one of claims 15, 16, or 17 wherein said video signal is received in step (e) via a cable television system.
20. A method according to any one of claims 15, 16, or 17 wherein said video signal is received in step (e) via a very high frequency (VHF) radio broadcast.
21. A method according to any one of claims 15, 16, or 17 wherein said video signal is received in step (e) via an ultra-high frequency (UHF) radio broadcast.
22. A method according to any one of claims 15, 16, or 17 wherein said video signal is received in step (e) via a video playback device.
23. A method according to any one of claims 1 to 22 wherein the program content information is indicative of one or more of following types of program content: violence, language, and sexuality.
24. A method of enabling a television viewer to selectively block television programming from different television sources, said method comprising the steps of:
(a) obtaining a first television program having first program content information embedded therein, said first program content information being encoded according to one of a plurality of informational schemes;
(b) obtaining a second television program having second program content information embedded therein, said second program content information being encoded according to another of said plurality of informational schemes;
(c) simultaneously transmitting, to said viewer, said first television program on a first television channel and said second television program on a second television channel;
(d) at said viewer, receiving either said first television program or said second television program and extracting the program content information corresponding to the received program;
and (e) at said viewer, automatically comparing the extracted program content information to user preference information corresponding to the extracted program content information to determine whether to block the presentation of said video signal, at least in part.
(a) obtaining a first television program having first program content information embedded therein, said first program content information being encoded according to one of a plurality of informational schemes;
(b) obtaining a second television program having second program content information embedded therein, said second program content information being encoded according to another of said plurality of informational schemes;
(c) simultaneously transmitting, to said viewer, said first television program on a first television channel and said second television program on a second television channel;
(d) at said viewer, receiving either said first television program or said second television program and extracting the program content information corresponding to the received program;
and (e) at said viewer, automatically comparing the extracted program content information to user preference information corresponding to the extracted program content information to determine whether to block the presentation of said video signal, at least in part.
25. A method according to claim 24 further including the steps of:
(a1) transmitting, to said viewer, a first set of configuration information describing said first informational scheme and storing said first set of configuration information in a memory at said viewer; and (b1) transmitting, to said viewer, a second set of configuration information describing said second informational scheme and storing said second set of configuration information in said memory.
(a1) transmitting, to said viewer, a first set of configuration information describing said first informational scheme and storing said first set of configuration information in a memory at said viewer; and (b1) transmitting, to said viewer, a second set of configuration information describing said second informational scheme and storing said second set of configuration information in said memory.
26. A method according to claim 25 wherein said first and second sets of configuration information are transmitted on a third television channel, said third television channel being distinct from said first and second television channels.
27. A method according to claim 26 wherein each of said first and second sets of configuration information is transmitted in one or more Extended Data Services (XDS) data packets.
28. A method according any one of claims 24 to 27 wherein said first informational scheme comprises a first group of one or more multi-level categories of labels.
29. A method according to claim 28 wherein said second informational scheme comprises a second group of one or more multi-level categories of labels.
30. A method according to claim 29 wherein said first set of configuration information specifies, at least, a number of levels in each of the categories of said first group of one or more multi-level categories of labels, and wherein said second set of configuration information specifies, at least, a number of levels in each of the categories of said second group of one or more multi-level categories of labels.
31. A method according to claim 30 wherein said first set of configuration information includes descriptive text for each of the levels in each of the categories in said first group of multi-level categories and said second set of configuration information includes descriptive text for each of the levels in each of the categories in said second group of multi-level categories.
32. A method according to claim 31 further including the steps of:
(a2) storing a first set of user preference information by accepting from the viewer a threshold level for each of said categories in said first informational scheme; and (b2) storing a second set of user preference information by accepting from the viewer a threshold level for each of said categories in said second informational scheme.
(a2) storing a first set of user preference information by accepting from the viewer a threshold level for each of said categories in said first informational scheme; and (b2) storing a second set of user preference information by accepting from the viewer a threshold level for each of said categories in said second informational scheme.
33. A method according to claim 32 wherein the first program content information comprises a program content level for each of the multi-level categories in said first informational scheme and the second program content information comprises a program content level for each of the multi-level categories in said second informational scheme.
34. A method according to claim 33 wherein the presentation of said video signal should be blocked, as determined in step (e), when the program content level in the extracted program content information exceeds the threshold level stored for any one of the categories in that informational scheme according to which said program content information is encoded.
35. A method according to any one of claims 24 to 34 wherein said first program content information is embedded in a vertical blanking interval of a first video signal comprising said first television program, and wherein said second program content information is embedded in a vertical blanking interval of a second video signal comprising said second television program
36. A method according to claim 35 wherein said first program content information is further embedded in an Extended Data Services (XDS) portion of said first video signal, and said second program content information is further embedded in an Extended Data Services (XDS) portion of said second video signal.
37. A method according to any one of claims 24 to 36 wherein said first and second television programs are transmitted via a satellite television system.
38. A method according to any one of claims 24 to 36 wherein said first and second television programs are transmitted via a cable television system.
39. A method according to any one of claims 24 to 36 wherein said first and second television programs are transmitted via a very high frequency (VHF) radio broadcast.
40. A method according to any one of claims 24 to 36 wherein said first and second television programs are transmitted via an ultra-high frequency (UHF) radio broadcast.
41. A method according to any one of claims 24 to 40 wherein said first and second program content information are each indicative of one or more of following types of television program content: violence, language, and sexuality.
42. A method of selectively blocking a video signal comprising the steps of:
(a) receiving, at an apparatus, a set of configuration information describing an informational scheme, said set of configuration information having been embedded in a remotely transmitted configuration signal;
(b) configuring said apparatus in accordance with the set of configuration information;
(c) inputting into the apparatus directly from a user, and storing in the apparatus, user preference information for selectively blocking programs described according to said informational scheme;
(d) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to said informational scheme;
(e) comparing said program content information to the user preference information to determine whether to block the presentation of said video signal, at least in part; and (f) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
(a) receiving, at an apparatus, a set of configuration information describing an informational scheme, said set of configuration information having been embedded in a remotely transmitted configuration signal;
(b) configuring said apparatus in accordance with the set of configuration information;
(c) inputting into the apparatus directly from a user, and storing in the apparatus, user preference information for selectively blocking programs described according to said informational scheme;
(d) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to said informational scheme;
(e) comparing said program content information to the user preference information to determine whether to block the presentation of said video signal, at least in part; and (f) if the presentation of said video signal should be blocked as determined in step (f), blocking the presentation of said video signal, at least in part.
43. A method according to claim 42 wherein said set of configuration information is embedded in an Extended Data Services (XDS) portion of said configuration signal.
44. A method according to claim 42 or 43 wherein said informational scheme comprises a group of one or more multi-level categories of labels.
45. A method according to claim 44 wherein said set of configuration information specifies, at least, a number of levels in each of the categories of said group of one or more multi-level categories of labels.
46. A method according to claim 45 wherein said set of configuration information includes descriptive text for each of the levels in each of the categories in said group of multi-level categories.
47. A method according to claim 46 wherein storing user preference information in step (c) comprises displaying on a display said descriptive text for labels in said informational scheme and accepting directly from a user, and storing, a threshold level for each of said categories in said informational scheme.
48. A method according to claim 47 wherein the program content information comprises a program content level for each of the multi-level categories in said informational scheme, and wherein the presentation of said video signal should be blocked, as determined in step (e), when the program content level exceeds the threshold level stored for any one of the categories in said informational scheme.
49. A method according to any one of claims 42 to 48 wherein said program content information is embedded in a vertical blanking interval of said video signal.
50. A method according to claim 49 wherein said program content information is further embedded in an Extended Data Services (XDS) portion of said video signal.
51. A method according to any one of claims 42 to 50 wherein blocking the presentation of said video signal in step (f) comprises blocking the display of a video component of said video signal.
52. A method according to any one of claims 42 to 50 wherein blocking the presentation of said video signal in step (f) comprises blocking the playing of an audio component of said video signal.
53. A method according to any one of claims 42 to 50 wherein blocking the presentation of said video signal in step (f) comprises blocking the display of a video component of said video signal and blocking the playing of an audio component of said video signal.
54. A method according to any one of claims 51, 52, or 53 wherein said video signal is received in step (d) via a satellite television system.
55. A method according to any one of claims 51, 52, or 53 wherein said video signal is received in step (d) via a cable television system.
56. A method according to any one of claims 51, 52, or 53 wherein said video signal is received in step (d) via a very high frequency (VHF) radio broadcast.
57. A method according to any one of claims 51, 52, or 53 wherein said video signal is received in step (d) via an ultra-high frequency (UHF) radio broadcast.
58. A method according to any one of claims 54 to 57 wherein said video signal is transmitted on a first television channel and said configuration signal is transmitted on a second television channel.
59. A method according to claim 58 wherein said first television channel is different than said second television channel.
60. A method according to any one of claims 51, 52, or 53 wherein said video signal is received in step (d) via a video playback device.
61. A method according to any one of claims 42 to 60 wherein the program content information is indicative of one or more of following types of program content: violence, language, and sexuality.
62. An apparatus for selectively blocking a video signal comprising:
(a) a memory for storing (i) a first set of configuration information describing a first informational scheme, (ii) a second set of configuration information describing a second informational scheme, said second informational scheme being distinct from said first informational scheme, (iii) a first set of user preference information for selectively blocking programs described according to said first informational scheme, and (iv) a second set of user preference information for selectively blocking programs described according to said second informational scheme;
(b) an input for receiving a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(c) an output for providing an audio and video presentation of said video signal;
(d) a decoder coupled to said input for extracting said program content information;
(e) a processor coupled to said decoder and to said memory for comparing said extracted program content information to the user preference information for the informational scheme according to which said program content information is encoded; and (f) blocking means operatively coupled between said processor and said output for selectively blocking the presentation of said video signal at said output, at least in part, in response to the comparison performed by said processor.
(a) a memory for storing (i) a first set of configuration information describing a first informational scheme, (ii) a second set of configuration information describing a second informational scheme, said second informational scheme being distinct from said first informational scheme, (iii) a first set of user preference information for selectively blocking programs described according to said first informational scheme, and (iv) a second set of user preference information for selectively blocking programs described according to said second informational scheme;
(b) an input for receiving a video signal having program content information embedded therein, said program content information being encoded according to either said first informational scheme or said second informational scheme;
(c) an output for providing an audio and video presentation of said video signal;
(d) a decoder coupled to said input for extracting said program content information;
(e) a processor coupled to said decoder and to said memory for comparing said extracted program content information to the user preference information for the informational scheme according to which said program content information is encoded; and (f) blocking means operatively coupled between said processor and said output for selectively blocking the presentation of said video signal at said output, at least in part, in response to the comparison performed by said processor.
63. An apparatus according to claim 62 wherein said input is additionally for receiving said first set of configuration information embedded in a first remotely transmitted configuration signal and said second set of configuration information embedded in a second remotely transmitted configuration signal, wherein said decoder is additionally for extracting said first set of configuration information and said second set of configuration information, and wherein said processor is additionally for storing said first set of configuration information and said second set of configuration information in said memory.
64. An apparatus according to claim 62 or 63 wherein said apparatus further comprises a user interface including preference input means for allowing a user to enter said first set of user preference information and said second set of user preference information.
65. An apparatus according to claim 64 wherein said preference input means includes a display and a wireless remote control unit.
66. An apparatus according to any one of claims 62 to 65 wherein said video signal has an Extended Data Services (XDS) portion in which said program content signal is embedded.
67. An apparatus according to any one of claims 63 to 66 wherein said first configuration signal has an Extended Data Services (XDS) portion in which said first set of configuration information is embedded, and said second configuration signal has an Extended Data Services (XDS) portion in which said second set of configuration information is embedded.
68. An apparatus according to any one of claims 62 to 67 wherein said first informational scheme comprises a first group of one or more multi-level categories of labels.
69. An apparatus according to claim 68 wherein said second informational scheme comprises a second group of one or more multi-level categories of labels.
70. An apparatus according to claim 69 wherein said first set of configuration information specifies, at least, a number of levels in each of the categories of said first group of one or more multi-level categories of labels, and wherein said second set of configuration information specifies, at least, a number of levels in each of the categories of said second group of one or more multi-level categories of labels.
71. An apparatus according to claim 70 wherein said first set of configuration information includes descriptive text for each of the levels in each of the categories in said first group of multi-level categories and said second set of configuration information includes descriptive text for each of the levels in each of the categories in said second group of multi-level categories.
72. An apparatus according to claim 70 or 71 wherein said first set of user preference information comprises a threshold level for each of said categories in said first informational scheme, and said second set of user preference information comprises a threshold level for each of said categories in said second informational scheme.
73. An apparatus according to claim 72 wherein the program content information comprises a program content level for each of the multi-level categories in the informational scheme according to which said program content information is encoded, and wherein said blocking means is operative to block the presentation of said video signal at said output, at least in part, when the processor determines that the program content level exceeds the threshold level stored for any one of the categories in that informational scheme.
74. An apparatus according to any one of claims 62 to 73 wherein said blocking means is operative to selectively block the provision of a video component of said video signal at said output.
75. An apparatus according to any one of claims 62 to 73 wherein said blocking means is operative to selectively block the provision of an audio component of said video signal at said output.
76. An apparatus according to any one of claims 62 to 73 wherein said blocking means is operative to selectively block the provision of both a video component of said video signal and an audio component of said video signal at said output.
77. An apparatus according to any one of claims 62 to 76 wherein said input is connected to a satellite television receiver.
78. An apparatus according to any one of claims 62 to 76 wherein said input is connected to a cable television receiver.
79. An apparatus according to any one of claims 62 to 76 wherein said input is connected to a very high frequency (VHF) radio receiver.
80. An apparatus according to any one of claims 62 to 76 wherein said input is connected to an ultra-high frequency (UHF) radio receiver.
81. An apparatus according to any one of claims 62 to 76 wherein said input is connected to a video playback device.
82. An apparatus according to any one of claims 62 to 81 wherein the program content information is indicative of one or more of following types of program content: violence, language, and sexuality.
83. An apparatus according to any one of claims 62 to 82 wherein said output is coupled to a television set.
84. An apparatus according to any one of claims 62 to 82 wherein said apparatus is integrated within a television set.
85. An apparatus according to any one of claims 62 to 84 wherein said memory is a non-volatile memory.
86. A method for selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with two or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes; and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
(a) configuring an apparatus in accordance with two or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes; and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
87. A method according to claim 86 wherein said program content information is encoded according to at least two of said two or more informational schemes.
88. A method according to claim 86 or 87, further comprising the step of:
(d) storing, in the apparatus, user preference information for at least one of said two or more informational schemes.
(d) storing, in the apparatus, user preference information for at least one of said two or more informational schemes.
89. A method according to claim 88, further comprising the step of:
(e) comparing said program content information with said stored user preference information.
(e) comparing said program content information with said stored user preference information.
90. A method according to claim 86 or 87, further comprising the step of:
(d) storing, in the apparatus, user preference information for at least two of said two or more informational schemes.
(d) storing, in the apparatus, user preference information for at least two of said two or more informational schemes.
91. A method according to claim 90, further comprising the step of:
(e) comparing said program content information with said stored user preference information.
(e) comparing said program content information with said stored user preference information.
92. A method according to any one of claims 86 to 91 wherein the step (a) of configuring includes downloading said two or more informational schemes into a memory in the apparatus.
93. A method according to any one of claims 86 to 91 wherein the step (a) of configuring includes downloading said two or more informational schemes into a memory in the apparatus prior to supplying the apparatus to a user.
94. A method according to any one of claims 86 to 91 wherein the step (a) of configuring includes receiving said two or more informational schemes embedded in a remotely transmitted signal.
95. A method according to claim 94 wherein each of said two or more informational schemes is embedded in an Extended Data Services (XDS) portion of the remotely transmitted signal.
96. A method according to any one of claims 86 to 95 wherein each of said two or more informational schemes comprises a group of one or more mufti-level categories of labels.
97. A method according to claim 96 wherein each of said two or more informational schemes specifies, at least, a number of levels in each of the mufti-level categories.
98. A method according to claim 97 wherein each of said two or more informational schemes includes descriptive text for each of the levels in each of the multi-level categories.
99. A method according to claim 98 wherein user preference information is provided by displaying on a display said descriptive text for labels in each of said two or more informational schemes and accepting from a user a threshold level for each of said mufti-level categories.
100. A method according to claim 99 wherein the program content information comprises a program content level for each of the mufti-level categories in at least one informational schemes to which said program content information is encoded, and wherein the presentation of said video signal is blocked when the program content level exceeds the threshold level stored for any one of those mufti-level categories.
101. A method according to any one of claims 86 to 100 wherein said program content information is embedded in a vertical blanking interval of said video signal.
102. A method according to claim 101 wherein said program content information is further embedded in an Extended Data Services (XDS) portion of said video signal.
103. A method according to any one of claims 86 to 102 wherein blocking the presentation of said video signal comprises blocking the display of a video component of said video signal.
104. A method according to any one of claims 86 to 102 wherein blocking the presentation of said video signal comprises blocking the playing of an audio component of said video signal.
105. A method according to any one of claims 86 to 102 wherein blocking the presentation of said video signal comprises blocking the display of a video component of said video signal and blocking the playing of an audio component of said video signal.
106. A method according to any one of claims 103, 104, or 105 wherein said video signal is received via a satellite television system.
107. A method according to any one of claims 103, 104, or 105 wherein said video signal is received via a cable television system.
108. A method according to any one of claims 103, 104, or 105 wherein said video signal is received via a very high frequency (VHF) radio broadcast.
109. A method according to any one of claims 103, 104, or 105 wherein said video signal is received via an ultra-high frequency (UHF) radio broadcast.
110. A method according to any one of claims 103, 104, or 105 wherein said video signal is received via a video playback device.
111. A method according to any one of claims 86 to 110 wherein the program content information is indicative of one or more of following types of program content: violence, language, and sexuality.
112. A method for selectively blocking a video signal comprising the steps of:
(a) configuring an apparatus in accordance with one or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least two or more informational schemes including the one or more informational schemes in step (a); and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
(a) configuring an apparatus in accordance with one or more informational schemes;
(b) receiving, at the apparatus, a video signal having program content information embedded therein, said program content information being encoded according to at least two or more informational schemes including the one or more informational schemes in step (a); and (c) blocking presentation of at least part of the video signal or displaying the video signal based on said program content information relative to user preference information.
113. A method according to claim 112, further comprising the step of:
(d) storing, in the apparatus, user preference information for at least one of said one or more informational schemes.
(d) storing, in the apparatus, user preference information for at least one of said one or more informational schemes.
114. A method according to claim 113, further comprising the step of:
(e) comparing said program content information with said stored user preference information.
(e) comparing said program content information with said stored user preference information.
115. A method according to claim 112, further comprising the step of:
(d) storing, in the apparatus, user preference information for at least two of said two or more informational schemes.
(d) storing, in the apparatus, user preference information for at least two of said two or more informational schemes.
116. A method according to claim 115, further comprising the step of:
(e) comparing said program content information with said stored user preference information.
(e) comparing said program content information with said stored user preference information.
117. A method according to any one of claims 112 to 116 wherein the step (a) of configuring includes downloading said one or more informational schemes into a memory in the apparatus.
118. A method according to any one of claims 112 to 116 wherein the step (a) of configuring includes downloading said one or more informational schemes into a memory in the apparatus prior to supplying the apparatus to a user.
119. A method according to any one of claims 112 to 116 wherein the step (a) of configuring includes receiving said one or more informational schemes embedded in a remotely transmitted signal.
120. A method according to claim 119 wherein each of said two or more informational schemes is embedded in an Extended Data Services (XDS) portion of the remotely transmitted signal.
121. A method according to any one of claims 112 to 120 wherein each of said two or more informational schemes comprises a group of one or more multi-level categories of labels.
122. A method according to claim 121 wherein each of said two or more informational schemes specifies, at least, a number of levels in each of the multi-level categories.
123. A method according to claim 122 wherein each of said two or more informational schemes includes descriptive text for each of the levels in each of the multi-level categories.
124. A method according to claim 123 wherein user preference information is provided by displaying on a display said descriptive text for labels in each of said two or more informational schemes and accepting from a user a threshold level for each of said multi-level categories.
125. A method according to claim 124 wherein the program content information comprises a program content level for each of the multi-level categories in at least one informational schemes to which said program content information is encoded, and wherein the presentation of said video signal is blocked when the program content level exceeds the threshold level stored for any one of those multi-level categories..
126. A method according to any one of claims 112 to 125 wherein said program content information is embedded in a vertical blanking interval of said video signal.
127. A method according to claim 126 wherein said program content information is further embedded in an Extended Data Services (XDS) portion of said video signal.
128. A method according to any one of claims 112 to 127 wherein blocking the presentation of said video signal comprises blocking the display of a video component of said video signal.
129. A method according to any one of claims 112 to 127 wherein blocking the presentation of said video signal comprises blocking the playing of an audio component of said video signal.
130. A method according to any one of claims 112 to 127 wherein blocking the presentation of said video signal comprises blocking the display of a video component of said video signal and blocking the playing of an audio component of said video signal.
131. A method according to any one of claims 128, 129, or 130 wherein said video signal is received via a satellite television system.
132. A method according to any one of claims 128, 129, or 130 wherein said video signal is received via a cable television system.
133. A method according to any one of claims 128, 129, or 130 wherein said video signal is received via a very high frequency (VHF) radio broadcast.
134. A method according to any one of claims 128, 129, or 130 wherein said video signal is received via an ultra-high frequency (UHF) radio broadcast.
135. A method according to any one of claims 128, 129, or 130 wherein said video signal is received via a video playback device.
136. A method according to any one of claims 112 to 135 wherein the program content information is indicative of one or more of following types of program content: violence, language, and sexuality.
137. An apparatus for selectively blocking a video signal comprising:
(a) a memory storing data representing two or more informational schemes;
(b) a switch for coupling to a display unit, said switch receiving a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes;
(c) the data stored in said memory including user preference information associated with at least one of said two or more informational schemes; and (d) a processor coupled to the memory and the switch, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
(a) a memory storing data representing two or more informational schemes;
(b) a switch for coupling to a display unit, said switch receiving a video signal having program content information embedded therein, said program content information being encoded according to at least one of said two or more informational schemes;
(c) the data stored in said memory including user preference information associated with at least one of said two or more informational schemes; and (d) a processor coupled to the memory and the switch, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
138. An apparatus according to claim 137 wherein said blocking signal is provided to said switch and said switch blocks or outputs at least part of the video signal in accordance with said blocking signal.
139. An apparatus according to any one of claims 138 wherein said switch is operative to selectively block or output a video component of said video signal and/or an audio component of said video signal.
140. An apparatus according to any one of claims 137 to 139, wherein said processor decodes the program content information embedded in the video signal.
141. An apparatus according to any one of claims 137 to 139, wherein said processor detects the program content information embedded in the video signal and decodes the program content information.
142. An apparatus according to any one of claims 137 to 141, wherein said processor receives the video signal from said switch.
143. An apparatus according to claim 142, wherein said switch includes a detector detecting the program content information embedded in the video signal.
144. An apparatus according to claim 142 or 143, wherein said switch provides the program content information to the processor.
145. An apparatus according to any one of claims 137 to 144, wherein the memory stores user preference information for each of said two or more informational schemes.
146. An apparatus according to any one of claims 137 to 144 wherein said apparatus further comprises a user interface including preference input means for allowing a user to enter said user preference information.
147. An apparatus according to claim 146 wherein said preference input means includes a display and a wireless remote control unit.
148. An apparatus according to any one of claims 137 to 147 wherein said apparatus is coupled to a television set.
149. An apparatus according to any one of claims 137 to 147 wherein said apparatus is integrated within a television set.
150. An apparatus according to any one of claims 137 to 149 wherein said memory is a non-volatile memory.
151. An apparatus for selectively blocking a video signal comprising:
(a) a memory storing data representing two or more informational schemes;
(b) the data stored in said memory including user preference information for at least one of said two or more informational schemes;
(c) a detector detecting encoded data embedded in a video signal and outputting the encoded data, said encoded data representing program content information embedded in the video signal, said program content information being encoded according to at least one of said two or more informational schemes; and (d) a processor coupled to the memory and the detector, said processor decoding said encoded data to determine said program content information, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
(a) a memory storing data representing two or more informational schemes;
(b) the data stored in said memory including user preference information for at least one of said two or more informational schemes;
(c) a detector detecting encoded data embedded in a video signal and outputting the encoded data, said encoded data representing program content information embedded in the video signal, said program content information being encoded according to at least one of said two or more informational schemes; and (d) a processor coupled to the memory and the detector, said processor decoding said encoded data to determine said program content information, said processor comparing said program content information to said stored data and outputting a blocking signal in accordance with said comparison.
152. An apparatus according to claim 151 wherein said detector includes a data slicer for extracting said encoded data.
153. An apparatus according to claim 151 or 152 further comprising a switch for coupling to a display unit, said switch receiving the video signal, wherein said processor outputs said blocking signal to said switch which blocks at least part of the video signal or transmits the video signal to the display unit in accordance with the blocking signal.
154. An apparatus according to claim 153 wherein said processor receives the video signal from said switch.
155. The apparatus according to claim 153 or 154 wherein said switch provides the program content information to the processor.
156. An apparatus according to any one of claims 151 to 155, wherein the memory stores user preference information associated with each of said two or more informational schemes.
157. An apparatus according to any one of claims 151 to 156 wherein said apparatus further comprises a user interface including preference input means for allowing a user to enter said user preference information.
158. An apparatus according to claim 157 wherein said preference input means includes a display and a wireless remote control unit.
159. An apparatus according to any one of claims 151 to 158 wherein said apparatus is coupled to a television set.
160. An apparatus according to any one of claims 151 to 158 wherein said apparatus is integrated within a television set.
161. An apparatus according to any one of claims 151 to 158 wherein said memory is a non-volatile memory.
162. An apparatus for selectively blocking a video signal comprising:
(a) a memory storing data representing two or more informational schemes;
(b) the data stored in said memory including user preference information for at least one of said two or more informational schemes; and (c) a processor coupled to the memory, said processor detecting encoded data embedded in a video signal representing program content information encoded according to at least one of said two or more informational schemes, decoding said encoded data to determine said program content information, comparing said program content information to said stored data and blocking display of the video signal in accordance with said comparison.
(a) a memory storing data representing two or more informational schemes;
(b) the data stored in said memory including user preference information for at least one of said two or more informational schemes; and (c) a processor coupled to the memory, said processor detecting encoded data embedded in a video signal representing program content information encoded according to at least one of said two or more informational schemes, decoding said encoded data to determine said program content information, comparing said program content information to said stored data and blocking display of the video signal in accordance with said comparison.
163. An apparatus according to claim 162, wherein the memory stores user preference information associated with each of said two or more informational schemes.
164. An apparatus according to claim 162 or 163 wherein said apparatus further comprises a user interface including preference input means for allowing a user to enter said user preference information.
165. An apparatus according to claim 164 wherein said preference input means includes a display and a wireless remote control unit.
166. An apparatus according to any one of claims 162 to 165 wherein said apparatus is coupled to a television set.
167. An apparatus according to any one of claims 162 to 165 wherein said apparatus is integrated within a television set.
168. An apparatus according to any one of claims 162 to 167 wherein said memory is a non-volatile memory.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002179474A CA2179474C (en) | 1996-06-19 | 1996-06-19 | Method and apparatus for selectively blocking video signals |
US08/761,091 US5828402A (en) | 1996-06-19 | 1996-12-05 | Method and apparatus for selectively blocking audio and video signals |
AU30854/97A AU3085497A (en) | 1996-06-19 | 1997-06-18 | Method and apparatus for selectively blocking audio and video signals |
PCT/CA1997/000421 WO1997049245A1 (en) | 1996-06-19 | 1997-06-18 | Method and apparatus for selectively blocking audio and video signals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002179474A CA2179474C (en) | 1996-06-19 | 1996-06-19 | Method and apparatus for selectively blocking video signals |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2179474A1 CA2179474A1 (en) | 1997-12-20 |
CA2179474C true CA2179474C (en) | 2001-01-16 |
Family
ID=4158444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002179474A Expired - Lifetime CA2179474C (en) | 1996-06-19 | 1996-06-19 | Method and apparatus for selectively blocking video signals |
Country Status (1)
Country | Link |
---|---|
CA (1) | CA2179474C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635642B2 (en) | 1996-04-01 | 2014-01-21 | Gemstar Development Corporation | Apparatus and method for parental control using V-Chip plus+ and master password |
-
1996
- 1996-06-19 CA CA002179474A patent/CA2179474C/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8635642B2 (en) | 1996-04-01 | 2014-01-21 | Gemstar Development Corporation | Apparatus and method for parental control using V-Chip plus+ and master password |
Also Published As
Publication number | Publication date |
---|---|
CA2179474A1 (en) | 1997-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5828402A (en) | Method and apparatus for selectively blocking audio and video signals | |
US8635642B2 (en) | Apparatus and method for parental control using V-Chip plus+ and master password | |
US6125259A (en) | Intelligent and user friendly channel up/down control | |
US5751335A (en) | Viewing restricting method and viewing restricting apparatus | |
US6115057A (en) | Apparatus and method for allowing rating level control of the viewing of a program | |
KR100284885B1 (en) | VCR Control Unit of Cable Converter Unit | |
CN1312914C (en) | Automatic on-scveen display of auxiliary information | |
CA2321914A1 (en) | Apparatus and method for parental control using v-chip plus+ and master password | |
EP0801865A1 (en) | Apparatus and methods for channel scanning by theme | |
US20020180894A1 (en) | Remote control apparatus | |
KR100553598B1 (en) | Method for controlling a signal processing system and apparatus for suggesting a program for viewing | |
KR100697898B1 (en) | Television | |
KR20040017305A (en) | Viewing limit apparatus, viewing limit system, and viewing limit program | |
KR100223714B1 (en) | Vcr control apparatus of cable converter unit | |
CA2179474C (en) | Method and apparatus for selectively blocking video signals | |
JP3564698B2 (en) | Parental control method and parental control device | |
CA2355793C (en) | Television apparatus having a rating limit setting feature | |
CA2346300C (en) | Apparatus and method for preventing unauthorized circumvention of television program blocking function | |
KR20000064923A (en) | Television receiver | |
KR20000003827A (en) | Apparatus for restricting viewing using caption data in television receiver | |
JP3988145B2 (en) | Viewing restriction method and viewing restriction apparatus | |
JP4411552B2 (en) | Viewing restriction device and viewing restriction method | |
KR20000028270A (en) | Method for recording and reproducing broadcasting program classified by grade in satellite broadcasting receiver | |
KR20000003822A (en) | Method for recording un-viewable channel using unblocking signal in television receiver with viewing restriction function | |
KR20000028188A (en) | Method for locking channels for adults on television |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20160620 |
|
MKEX | Expiry |
Effective date: 20160620 |