The application relates generally to data processing, and, more particularly, to control capabilities for broadcast media.
The demand for parental control capabilities for different types of broadcast media is soundly established in today's market. However, these control capabilities are typically limited for subscribers of digital broadband (such as cable or satellite). Such limited capabilities include password-enabled restrictions based on ratings (such as R, PG-13, etc.), “V-chip” content flags (such as “V” for violence, “L” for language, etc.), channel numbers and the time of day.
Embodiments of the invention may be best understood by referring to the following description and accompanying drawings which illustrate such embodiments. The numbering scheme for the Figures included herein are such that the leading number for a given reference number in a Figure is associated with the number of the Figure. For example, a system 100 can be located in
Methods, apparatus and systems for dynamic content filtering of broadcast media are described. In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. The term “media” as used herein refers to the type of content which may be broadcast to others such as mass “media” distribution of television pictures, audio, music, still pictures, etc., by any means.
The broadcast service 102 may broadcast different types of media (e.g., video, audio or a combination thereof). For example, the broadcast service 102 may be a cable television service, a satellite television service, etc. The filter service provider 104 and the subscriber system 116 may subscribe to receive the broadcast media from the broadcast service 102. The filtered content determination logic 107 and the broadcast filter logic 112 are coupled to receive the broadcast media. The media center 116 is coupled to receive the broadcast media. The filter service provider 104 may communicate with the subscriber system 106. In some embodiments, the communications between the filter service provider 104 and the subscriber system 106 is through an Internet connection (such as a broadband cable connection, a broadband Digital Subscribe Line (DSL) connection, etc.). In some embodiments, such communications may be different types of wireless communications (e.g., satellite communications, etc.). In some embodiments, such communications may be embedded within the original content signal.
The filtered content determination logic 107 may also receive a different stream of media 105. For example, in some embodiments, the different stream of media 105 may be media that was previously broadcasted. The different stream of media 105 may also be commercials from different advertisers. For example, the different stream of media 105 may be commercials provided by the different advertisers prior to such media being aired by the broadcast service 102.
An output of the filtered content determination logic 107 is coupled to an input of the filtered content identification logic 108 and an input of the broadcast filter logic 112. An output of the filtered content identification logic 108 is coupled to an input of the filtered content storage 110. An output of the filtered content storage 110 is coupled to an input of the broadcast filter logic 112. Additionally, an output of the broadcast filter logic 112 is coupled to an input of the filtered content storage 110. An output of the broadcast filter logic 112 is coupled to an input of the subscriber management logic 114. An output of the subscriber management logic 114 is coupled to an input of the media center 116. An output of the media center 116 is coupled to an input of the media device 118. In some embodiments, the filtered content storage 110 may be volatile and/or non-volatile media (e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.). The operations of the filter service provider 104, in accordance with some embodiments, are described in more detail below in conjunction with a flow diagram 300 in
While
The media center 116 includes a buffer logic 202, a filter communications logic 204, a media storage 206 and a substitute media logic 208, which are coupled together. The buffer logic 202 is coupled to receive the broadcast media from the broadcast service 102. The filter communications logic 204 is coupled to communicate with the subscriber management logic 114. The subscriber management logic 114 may communicate to the filter communications logic 204 filter flags, broadcast attributes and filter categories for content that is to be filtered within the broadcast media received by the media center 116. Such filter flags may be indicators that a part of the broadcast media includes content that is to be filtered (filtered content).
The subscriber management logic 114 may also communicate alternative media to the filter communications logic 204. As further described below, this alternative media may be substituted for the part of the broadcast media that is considered to be filtered content. In some embodiments, multiple streams of alternative media may be sent from the subscriber management logic 114 to the media center 116 to be stored locally for substitute display when needed without concerns regarding the receiving the alternative media because of high traffic/bandwidth limitations between the subscriber management logic 114 and the media center 116. For example, a cached queue of a number of 30 second alternative commercials may be pre-stored on the media center 116. Additionally, the subscriber management logic 114 may communicate a time delay to the filter communications logic 204. This time delay is used to determine the amount of buffering to be performed within the media center 116 in order for the filtered content to be filtered. This time delay may depend on the computational power of the filter service provider 104.
In particular, as further described below, logic within the filter service provider 104 is to determine and identify filtered content within the broadcast media being received by the broadcast service 102. Additionally, logic within the filter service provider 104 is to perform a comparison between the identified filtered content and the broadcast media received from the broadcast service 102 to determine if the broadcast media includes identified filtered content. If the broadcast media includes identified filtered content, a filter flag for such content is transmitted to the media center 116 to allow such content to be filtered from the broadcast media received from the broadcast service 102. Accordingly, such processing may require that the buffer logic 202 buffer the broadcast media in the media storage 206 so that the filtered content may be replaced prior to being received and subsequently displayed and/or recorded by the media device 118. In some embodiments, the media storage 206 may be volatile and/or non-volatile media (e.g., random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.). For example, the media storage 206 may be any of a number of different types of volatile writeable memories, such as Random Access Memory (RAM) (e.g., Synchronous Dynamic RAM (SDRAM), DRAM, DDR-SDRAM, etc.), etc.
The filter communications logic 204 may communicate the viewing habits with regard to the media device 118 to the subscriber management logic 114. For example, the filter communications logic 204 may communicate the channels as well as the times of the media being received by the media device 118. As further described below, the broadcast filter logic 112 may use these viewing habits to accelerate the matching operations with regard to the filtered content. Additionally, the broadcast filter logic 112 may use these viewing habits to determine whether to filter content for given channels at given times. The operations of the subscriber system 106, in accordance with some embodiments, are described in more detail below in conjunction with a flow diagram 400 in
In block 302 of the flow diagram 300, a part of the broadcast media is received. With reference to the embodiment of
In block 304, a determination is made of whether the part of the broadcast media is defined as filtered content. With reference to the embodiment of
In some embodiments, the filtered content determination logic 107 may make this determination based on input from one or more operators (persons). For example, these persons may review the broadcast media as it is being broadcasted by the broadcast service 102. In some embodiments, such persons may review all of the broadcast media being broadcast by the broadcast service. In some embodiments, such persons may review less than all of such broadcast media. For example, the operators may review channels that typically broadcast a first time airing (such as a live broadcast) of a media, while not always reviewing other types of channels. To further illustrate, the operators may review certain times of days for given channels (prime time), while not reviewing other times of day (early morning). As further described below, the subscriber management logic 114 receives feedback regarding the viewing habits of the owners of the media device 118. Accordingly, the operators may selectively review certain channels and times of day based on such feedback.
Additionally, one or more operators may review the different stream of media 105 to make this determination. For example, the one or more operators may review the broadcast media (such as the commercials) for certain content that is to be filtered. Such operators may review for one or more filter categories (such as violence, language, adult content, etc.). In some embodiments, the operators may make this determination based on customer feedback. For example, if a number of customers complain about a given commercial, the operators may review the broadcast media from the different stream of media 105 to locate this commercial. In alternative embodiments, the filtered content determination logic 107 may make this determination based on matching operations (such as image and/or audio matching). For example, the pre-determined filtering criteria may be based on image matching within the video frames. For example, the image matching may relate to certain sexual or violent images. The pre-determined filtering criteria may also be based on the audio and/or closed captioning content within the broadcast media. In particular, the filtering criteria may include certain words or language, etc.
This determination may be performed on a frame-by-frame basis. In some embodiments, if at least one frame in the part of the broadcast media is defined as filtered content, all of the frames in the part of the broadcast media are defined as filtered content. In some embodiments, if a pre-determined number of frames or a percentage of frames in the part of the broadcast media are defined as filtered content, all of the frames of the part of the broadcast media are defined as filtered content. Upon determining that the part of the broadcast media is not defined as filtered content, control continues at block 302, where another part of the broadcast media is received.
In block 306, upon determining that the part of the broadcast media is defined as filtered content, a digital signature of the part of the broadcast media is generated. With reference to the embodiment of
In some embodiments, one part of the broadcast media may be very similar to a second part of the broadcast media. For example, an advertiser may create two different commercials with a number of similarities. Accordingly, in some embodiments, the filtered content identification logic 108 may have to redefine a digital signature that is currently stored in the filtered content storage 110 if this digital signature is the same or approximately the same as another digital signature. Therefore, in some embodiments, the filtered content identification logic 108 may compare a digital signature that was generated to those digital signatures stored in the filtered content storage 110. If the generated digital signature is the same or approximately the same as another digital signature stored in the filtered content storage 110, the filtered content identification logic 108 may redefine (based on a finer granularity (e.g., more key frames)) one and/or both the digital signatures that are the same or approximately the same. Control continues at block 308.
In block 308, the digital signature, the filter category and the broadcast attributes of the filtered content are stored. With reference to the embodiment of
In block 310, a determination is made of whether the part of the broadcast media matches the filtered content. With reference to the embodiment of
As part of the determination, the broadcast filter logic 112 may compare at least a part of the digital signatures of the filtered content stored in the filtered content storage 110 to the part of the broadcast media. For example, the broadcast filter logic 112 may compare the key frames of the digital signatures of the filtered content to the same frames in the part of the broadcast media. In some embodiments, the broadcast filter logic 112 may attempt to match the closed captioning content first prior to attempting to match the video and/or audio frames. Upon determining that the part of the broadcast media does not match the filtered content, control continues at block 302, where another part of the broadcast media is received.
In block 312, upon determining that the part of the broadcast media does match the filtered content, a filter flag, a filter category and broadcast attributes (for this part of the broadcast media) are transmitted to a media center of a subscriber that is to filter the filtered content. With reference to the embodiment of
Additionally, the broadcast filter logic 112 may store in the entry of the filtered content (which was matched) in the filtered content storage 110 the time and/or channel on which the matching part of the broadcast media was being received from the broadcast service 102. This storage of the time and/or channel may allow subsequent matching operations to be performed faster. For example, the broadcast filter logic 112 may first search the filtered content most recently matched in the filtered content storage 110 during the matching operation in block 310. Moreover, the filtered content storage 110 may be periodically updated based on such entries. For example, if a digital signature stored therein does not have a match for a given time period (e.g., one year), such signature is deleted from the filtered content storage 110. Such cleanup operations provides may allow for faster match operations as the broadcast filter logic 112 has less digital signatures to compare against. Control continues at block 302, where another part of the broadcast media is received.
In block 402 of the flow diagram 400, broadcast media is received. With reference to the embodiments of
In block 404, the broadcast media is buffered based on the time delay needed because of the computational power of the filter service provider. With reference to the embodiments of
In block 406, a determination is made of whether the broadcast media tuned to be received by the media device is to be filtered. With reference to the embodiments of
The substitute media logic 208 may query the tuner(s) to determine the channel of the broadcast media that is set. The substitute media logic 208 may determine whether the time and channel of the broadcast media to be transmitted to the media device 118 matches one or more of the filter flags (for the filtered content) based on the broadcast attributes. Accordingly, the substitute media logic 208 may make this determination based on the filter flag and broadcast attributes of the broadcast media (based on time and channel). Upon determining that the broadcast media tuned to be received by the media device is not be to be filtered, control continues at block 412, which is described in more detail below.
In block 408, upon determining that the broadcast media, which is tuned to be received by the media device, is to be filtered, alternative media is substituted for this broadcast media. With reference to the embodiments of
The costs of services provided by the filter service provider 104 to a subscriber may be dependent on the type of alternative media that is to be substituted. For example, the costs may be less if the alternative media is a commercial provided by the filter service provider 104 in comparison to if the alternative media are a slide show of images stored in the media center 116. Furthermore, the substitute media logic 108 may substitute for less than all of the part of the broadcast media. For example, if only the audio is within a filter category, only the audio is substituted. Control continues at block 410.
In block 410, the alternative media is transmitted to the media device. With reference to the embodiments of
In block 412, the broadcast media, which is tuned to be received by the media device, is transmitted to the media device. With reference to the embodiments of
This section provides an overview of hardware and the operating environment in which some embodiments of the invention can be practiced.
In one embodiment, the computer system 500 includes a machine-readable medium that stores a set of instructions (e.g., software) embodying any one, or all, of the methodologies for dynamic content filtering of broadcast media. For example, the filtered content determination logic 107, the filtered content identification logic 108, the broadcast filter logic 112, the subscriber management logic 114, the buffer logic 202, the filter communications logic 204 and/or the substitute media logic 208 may be software.
The memory unit 530 stores data and/or instructions, and may comprise any suitable memory, such as a dynamic random access memory (DRAM), for example. The computer system 500 also may include IDE drive(s) 508 and/or other suitable storage devices. Although not shown, the memory unit 530, the processor(s) 502 and/or the IDE drive(s) 508 may include at least a part of the filtered content determination logic 107, the filtered content identification logic 108, the broadcast filter logic 112, the subscriber management logic 114, the buffer logic 202, the filter communications logic 204 and/or the substitute media logic 208. Additionally, the memory unit 530, the processor(s) 502 and/or the IDE drive(s) 508 may include the filtered content storage 110 and/or the media storage 206. A graphics controller 504 controls the display of information on a display device 506, according to some embodiments of the invention.
The input/output controller hub (ICH) 524 provides an interface to I/O devices or peripheral components for the computer system 500. The ICH 524 may comprise any suitable interface controller to provide for any suitable communication link to the processor(s) 502, the memory unit 530 and/or to any suitable device or component in communication with the ICH 524. For one embodiment, the ICH 524 provides suitable arbitration and buffering for each interface.
For some embodiments, the ICH 524 provides an interface to one or more suitable integrated drive electronics (IDE) drives 508, such as a hard disk drive (HDD) or compact disc read only memory (CD ROM) drive, or to suitable universal serial bus (USB) devices through one or more USB ports 510. For some embodiments, the ICH 524 also provides an interface to a keyboard 512, a mouse 514, a CD-ROM drive 518, one or more suitable devices through one or more firewire ports 516. For one embodiment, the ICH 524 also provides a network interface 1320 though which the computer system 500 can communicate with other computers and/or devices.
In the description, numerous specific details such as logic implementations, opcodes, means to specify operands, resource partitioning/sharing/duplication implementations, types and interrelationships of system components, and logic partitioning/integration choices are set forth in order to provide a more thorough understanding of the present invention. It will be appreciated, however, by one skilled in the art that embodiments of the invention may be practiced without such specific details. In other instances, control structures, gate level circuits and full software instruction sequences have not been shown in detail in order not to obscure the embodiments of the invention. Those of ordinary skill in the art, with the included descriptions will be able to implement appropriate functionality without undue experimentation.
References in the specification to “one embodiment”, “an embodiment”, “an example embodiment”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Embodiments of the invention include features, methods or processes that may be embodied within machine-executable instructions provided by a machine-readable medium. A machine-readable medium includes any mechanism which provides (i.e., stores and/or transmits) information in a form accessible by a machine (e.g., a computer, a network device, a personal digital assistant, manufacturing tool, any device with a set of one or more processors, etc.). In an exemplary embodiment, a machine-readable medium includes volatile and/or non-volatile media (e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, etc.), as well as electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.)).
Such instructions are utilized to cause a general or special purpose processor, programmed with the instructions, to perform methods or processes of the embodiments of the invention. Alternatively, the features or operations of embodiments of the invention are performed by specific hardware components that contain hard-wired logic for performing the operations, or by any combination of programmed data processing components and specific hardware components. Embodiments of the invention include software, data processing hardware, data processing system-implemented methods, and various processing operations, further described herein.
A number of figures show block diagrams of systems and apparatus for dynamic content filtering of broadcast media, in accordance with embodiments of the invention. A number of figures show flow diagrams illustrating dynamic content filtering of broadcast media, in accordance with embodiments of the invention. The operations of the flow diagrams will be described with references to the systems/apparatus shown in the block diagrams. However, it should be understood that the operations of the flow diagrams could be performed by embodiments of systems and apparatus other than those discussed with reference to the block diagrams, and embodiments discussed with reference to the systems/apparatus could perform operations different than those discussed with reference to the flow diagrams.
In view of the wide variety of permutations to the embodiments described herein, this detailed description is intended to be illustrative only, and should not be taken as limiting the scope of the invention. For example, while the system 100 is illustrated such that the media center 116 is separate from the media device 118, in some embodiments, the media center 116 may be incorporated into the media device 118. Additionally, while the system 100 is illustrated such that the components of the filter service provider 104 are separate from the subscriber system 106, in some embodiments, at least a part of the filter service provider 104 is incorporated into the subscriber system 106. For example, the operations of the broadcast filter logic 112 and the operations of the subscriber management logic 114 may be incorporated into the media center 116. Furthermore, while described such that an alternative media may be substituted for a part of the broadcast media, embodiments of the invention are not so limited. In some embodiments, the part of the broadcast media may be removed. Further, embodiments of the invention may include different types of media, including both standard definition and high definition video signals. What is claimed as the invention, therefore, is all such modifications as may come within the scope and spirit of the following claims and equivalents thereto. Therefore, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.