Patent Publication Number: US-2023156291-A1

Title: Systems and methods for real time fact checking during streaming viewing

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     The present application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 17/198,059 filed Mar. 10, 2021, now U.S. Pat. No. 11,553,255, the disclosure of which is hereby incorporated by reference. 
    
    
     BACKGROUND 
     1. Field of Disclosure 
     The present disclosure generally relates to systems and method for incorporating overlays with crowd-source fact checking and supporting evidence in to streaming media. In particular, the disclosed systems and methods allow viewers to selectively display fact-checking data and supporting evidence over the media stream. 
     2. Description of the Related Art 
     Live streaming media, opinion-based programs, and political debates often disseminate large volumes of information. Unfortunately, this information is provided to persuade viewer opinions and is typically provided out of context. As such, there is a desire among viewers to include real-time fact checking and supporting evidence. 
     SUMMARY OF THE CLAIMED DISCLOSURE 
     According to one aspect, the present disclosure relates to a method for providing and displaying real-time fact checking to a viewer of streaming media. The method includes storing data regarding the streaming media, displaying the streaming media to the viewer, and receiving and processing a portion of the streaming media. The method also includes polling one or more data source regarding the portion of the streaming media, displaying a fact-checked annotation, and storing the fact-checked annotation. 
     In one aspect, receiving and processing a portion of the streaming media further includes converting audio data to text and generating one or more search terms based on the text. In another aspect, receiving and processing a portion of the streaming media further includes recognizing text displayed in the streaming media and generating one or more search terms based on the recognized text. 
     In various aspects, polling one or more data sources further includes searching a content of the data source using one or more search term selected based on the portion of the streaming media and assigning at least one of a confidence score or a veracity score to the fact-checked annotation. In one aspect, the fact-check annotations are displayed in a peripheral portion of the streaming media. In another aspect, displaying the fact-checked annotation further includes generating an overlay that is displayed along with the streaming media. In yet another aspect, the fact-checked overlay further includes data regarding at least one of a veracity score or a confidence score for the fact-checked annotation. 
     In various aspects, the present disclosure also relates to a system for providing and displaying real-time fact checking to a viewer of streaming media. The system includes a database that stores information regarding the streaming media and stores fact-checked annotations and overlays. The systems also includes a content provider server that provides the streaming media and a host server. The host server stores data regarding the streaming media, displays the streaming media to the viewer, and receives and processes a portion of the streaming media. The host server also polls one or more data source regarding the portion of the streaming media, displays a fact-checked annotation, and stores the fact-checked annotation. 
     In one aspect, the host server converts audio data to text and generates one or more search terms based on the text. In another aspect, the host server recognizes text displayed in the streaming media, and generates one or more search terms based on the recognized text. 
     In another aspect, the host server searches a content of the data source using one or more search term selected based on the portion of the streaming media, and assigns at least one of a confidence score or a veracity score to the fact-checked annotation. 
     In one aspect, the fact-check annotations are displayed in a peripheral portion of the streaming media. In another aspect, displaying the fact-checked annotation further includes generating an overlay that is displayed along with the streaming media. In yet another aspect, the fact-checked overlay further includes data regarding at least one of a veracity score or a confidence score for the fact-checked annotation. 
     According to various aspects, the aforementioned methods may be embodied as a program or instructions in a non-transitory computer readable medium executable by processor in computing network. The embodied program or portions thereof may be executed on multiple computing devices across a network. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    illustrates an exemplary network environment in which a system for viewing and incorporating real time fact checking into streaming media may be implemented. 
         FIG.  2    is an exemplary viewer device that may be used in context of the system of  FIG.  1   . 
         FIG.  3    is a block diagram of an exemplary host server that may be used in context of the system of  FIG.  1   . 
         FIG.  4 A  is an exemplary fact-checking and evidence overlay created during the use of the system of  FIG.  1   . 
         FIG.  4 B  is another exemplary fact-checking and evidence overlay created during the use of the system of  FIG.  1   . 
         FIG.  5    is a flowchart illustrating a method of generating a fact-checking overlay using the system of  FIG.  1   . 
     
    
    
     DETAILED DESCRIPTION 
     The present disclosure describes methods and systems for providing real-time fact checking during the display of streaming media. In particular, a fact-check overlay that is generated to provide fact checking analysis and supporting evidence in response to statements made during a live stream. In one aspect, the live stream may include a political debate or political speech. In various aspects, the systems and methods retrieve data from reputable internet sources or other relevant entities to provide supporting or opposing data and facts and display this data to the viewer. In one aspect, the retrieved data may be obtained through various mechanisms of crowdsourcing. 
       FIG.  1    illustrates a network environment  100  in which a system for the viewing of a live or otherwise contemporary media stream and incorporating fact-checking capabilities with supporting evidence, if available, into the display of the media stream may be implemented. The network environment  100  may include a content provider server  110  that provides streaming content (e.g., video), stored in a database  120 , for distribution (e.g., via video on-demand (VOD) services) using one or more content provider server application program interfaces (APIs)  130 . The network environment  100  may also include a content delivery host server  140 , a public network  150 , one or more client devices  160 , and one or more data source server  190 . 
     Content provider servers  110  may maintain and provide media content available for streaming. Such media content may include not only pre-recorded content (e.g., DVR content), but also streams of live broadcasts (e.g., live news events, live e-sporting events, live political rallies or debates). The content provider servers  110  may be associated with any content provider, such as but not limited to Netflix®, Hulu®, or Amazon Prime, among others that make its content available to be streamed. In various aspects, streaming as used herein may also include the viewing or consumption of media that is downloaded to one or more client devices. 
     The streaming content from content provider server  110  may be provided through a content provider server API  130 , which allows various types of content sources server  110  to communicate over the public network  150 . The content provider server API  130  may be specific to the particular language, operating system, protocols, etc. of the content provider server  110  providing the streaming content. In a network environment  100  that includes multiple different types of content provider servers  110 , there may likewise be a corresponding number of content provider server APIs  130 . 
     The content provider server API  130  therefore facilitates direct or indirect access for each of the client devices  160  to the content hosted by the content provider servers  110 . Additional information, such as metadata, about the accessed content can also be provided by the content provider server API  130  to the client device  160 . As described below, the additional information (i.e. metadata) can be usable to provide details about the content being streamed to the client device  160 . Finally, additional services associated with the accessed content such as chat services, ratings and profiles can be provided from the content provider servers  110  to the client device  160  via the content provider server API  130 . 
     The content provider server API  130  can be accessed by a content delivery host server  140 . The content delivery host server  140  may include a server that provides resources and files related to the media stream, including promotional images and service configurations with client devices  160 . The content delivery host server  140  can also be called upon by the client devices  160  that request to stream or subscribe to specific content. 
     The content provider server API  130  may be accessed by a host server API  170  in order to obtain information about available streaming content for the client device  160 . As described below, the additional information about the content may include metadata describing the available content (e.g., by author, title, genre). The information may also include a location where the content is stored (e.g., URL) so that the viewer device can proceed with retrieving the content from the content provider server  110 . Furthermore, the host server API  170  may include instructions or graphic viewer interfaces for implementing functionalities (e.g., chat) that would allow viewers at different client devices  160  to interact with each other. Such instructions may be used by the host server API  170  to provide certain functionalities to the client device  160 . 
     The host server API  170  may be responsible for communicating with the different content provider servers  110  in order to provide that content to the client device  160 . The host server API  170  may carry out instructions, for example, for identifying the format of the media content and formatting the media content to be playable on the client device  160 . Such formatting may include identifying the metadata associated with each of the content then using various different types of conversion techniques so that data stored in one format at the content provider servers  110  may be rendered and displayed on the client devices  160 , which may require a different format. As such, media content of different formats may be provided to and made compatible with client device  160  via the host server API  170 . 
     The host server  140  further stores and retrieves data from a host database  180 . The host database  180  may stores any fact-checked annotations and/or comments retrieved and displayed during or after consumption of the live streaming media at the client device  160 . The database  180  also stores the metadata associated with the media stream being provided to the client devices  160 . The host server  140  can generate metadata to relevant to the viewers&#39; interactions with the host server  140 . In one example, the metadata can be used to link the fact-checked annotations and commentary to the streaming media. 
     The public network  150  facilitates communication of the steaming media from the content provider server  110  and the host server  140  with the plurality of client devices  160 . The public network  150  can also include one or more private networks, such as, a local area network (LAN), a wide area network (WAN), or a network of public/private networks, such as the Internet. The Internet is a broad network of interconnected computers and servers allowing for the transmission and exchange of Internet Protocol (IP) data between viewer devices connected through a network service provider. Examples of network service providers include the public switched telephone network, a cable service provider, a provider of digital subscriber line (DSL) services, or a satellite service provider. 
     The client device  160  may be one or more of a plurality of different types of computing devices. For example, the client device  160  may be any number of different gaming consoles, mobile devices, laptops, and desktops. Such client devices  160  may also be configured to access data from other storage media, such as, but not limited to memory cards or disk drives as may be appropriate in the case of downloaded services. Such client devices  160  may include standard hardware computing components such as, but not limited to network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions that may be stored in memory. These client devices  160  may also run using a variety of different operating systems (e.g., iOS, Android), applications or computing languages (e.g., C++, JavaScript). An exemplary client device  160  is described in detail herein with respect to  FIG.  2   . 
       FIG.  2    is an exemplary computing device  200  that may be used in context of the system of  FIG.  1    to view streaming media, among other functionalities. The client device  200  may correspond to client device  160  and/or the data source server  190  of  FIG.  1    and may be inclusive of desktop, laptop, tablet, mobile device, console gaming system, etc. The client device  200  is a device that the viewer can utilize to facilitate carrying out features of the present disclosure pertaining to the watching of streaming media and the incorporation of fact-checked commentary. In particular, the client device  200  allows the viewer to view the streamed media at any location and time remotely. 
     The client device  200  may include various elements as illustrated in  FIG.  2   . It should be noted that the elements are exemplary and that other aspects may incorporate more or less than the elements illustrated. With reference to  FIG.  2   , the client device  200  includes a main memory  202 , a central processing unit (CPU)  204 , at least one vector unit  206 , a graphics processing unit  208 , an input/output (I/O) processor  210 , an I/O processor memory  212 , a controller interface  214 , a memory card  216 , a Universal Serial Bus (USB) interface  218 , and an IEEE interface  220 , an auxiliary (AUX) interface  222  for connecting a tracking device  224 , although other bus standards and interfaces may be utilized. The client device  200  further includes an operating system read-only memory (OS ROM)  226 , a sound processing unit  228 , an optical disc control unit  230 , and a hard disc drive  232 , which are connected via a bus  234  to the I/O processor  210 . The client device  200  further includes at least one tracking device  224 . 
     The tracking device  224  may be a camera, which includes eye-tracking capabilities. The camera may be integrated into or attached as a peripheral device to client device  200 . According to various aspects, typical eye-tracking devices may use infrared non-collimated light reflected from the eye and sensed by a camera or optical sensor. The information is then analyzed to extract eye rotation from changes in reflections. Camera-based trackers focus on one or both eyes and record their movement as the viewer looks at some type of stimulus. Camera-based eye trackers use the center of the pupil and light to create corneal reflections (CRs). The vector between the pupil center and the CR can be used to compute the point of regard on surface or the gaze direction. A simple calibration procedure of the viewer may be needed before using the eye tracker. 
     In other aspects, trackers that are more sensitive may use reflections from the front of the cornea and that back of the lens of the eye as features to track over time. In yet other aspects, even more sensitive trackers image features from inside the eye, including retinal blood vessels, and follow these features as the eye rotates. Most eye-tracking devices may use a sampling rate of at least 30 Hz, although 50/60 Hz is most common. Some tracking devises may run as high as 240 Hz, which is needed to capture detail of very rapid eye movement. The foregoing describes example eye-tracking technology that may be used in accordance with the present disclosure. In various aspects, any known eye gaze tracking technology that one skilled in the art would be capable of applying could be used. 
     A range camera may instead be used with the present disclosure to capture gestures made by the viewer and is capable of facial recognition. A range camera is typically used to capture and interpret specific gestures, which allows a hands-free control of an entertainment system. This technology may use an infrared projector, a camera, a depth sensor, and a microchip to track the movement of objects and individuals in three dimensions. This viewer device may also employ a variant of image-based three-dimensional reconstruction. 
     The tracking device  224  may include a microphone integrated into or attached as a peripheral device to client device  200  that captures voice data. The microphone may conduct acoustic source localization and/or ambient noise suppression. The microphones may be usable to receive verbal instructions from the viewer to schedule, retrieve, and display content on the client device  200 . 
     Alternatively, tracking device  224  may be the controller of the viewer device  200 . The controller may use a combination of built-in accelerometers and infrared detection to sense its position in 3D space when pointed at the LEDs in a sensor nearby, attached to, or integrated into the console of the entertainment system. This design allows viewers to control functionalities of the client device  200  with physical gestures as well as button-presses. The controller connects to the client device  200  using wireless technology that allows data exchange over short distances (e.g., 30 feet). The controller may additionally include a “rumble” feature (i.e., a shaking of the controller during certain points in the game) and/or an internal speaker. 
     The controller may additionally or alternatively be designed to capture biometric readings using sensors in the remote to record data including, for example, skin moisture, heart rhythm, and muscle movement. Further still, in various aspects, any technology suitable for measuring and/or capturing motion, facial expressions and/or any other physical or physiological state of a viewer may be used. 
     As noted above, the client device  200  may be an electronic gaming console. Alternatively, the client device  200  may be implemented as a general-purpose computer, a set-top box, or a hand-held gaming device. Further, similar viewer devices may contain more or less operating components. 
     The CPU  204 , the vector unit  206 , the graphics-processing unit  208 , and the I/O processor  210  communicate via a system bus  236 . Further, the CPU  204  communicates with the main memory  202  via a dedicated bus  238 , while the vector unit  206  and the graphics-processing unit  208  may communicate through a dedicated bus  240 . The CPU  204  executes programs stored in the OS ROM  226  and the main memory  202 . The main memory  202  may contain pre-stored programs and programs transferred through the I/O Processor  210  from a CD-ROM, DVD-ROM, or other optical disc (not shown) using the optical disc control unit  230 . The I/O processor  210  primarily controls data exchanges between the various devices of the viewer device  200  including the CPU  204 , the vector unit  206 , the graphics processing unit  208 , and the controller interface  214 . 
     The graphics-processing unit  208  executes graphics instructions received from the CPU  204  and the vector unit  206  to produce images for display on a display device (not shown). For example, the vector unit  206  may transform objects from three-dimensional coordinates to two-dimensional coordinates, and send the two-dimensional coordinates to the graphics-processing unit  208 . Furthermore, the sound processing unit  230  executes instructions to produce sound signals that are outputted to an audio device such as speakers (not shown). 
     A viewer of the client device  200  provides instructions via the controller interface  214  to the CPU  204 . For example, the viewer may instruct the CPU  204  to store certain information on the memory card  216  or instruct the viewer device  200  to perform some specified action. Example controllers associated with the controller interface  214  may include a touch-screen, keyboards, and game controllers. 
     Other devices may be connected to the client device  200  via the USB interface  218 , the IEEE interface  220 , and the AUX interface  222 . Specifically, a tracking device  224 , including a camera or a sensor may be connected to the client device  200  via the AUX interface  222 , while a controller may be connected via the USB interface  218 . In some aspects, a VR headset or related hardware equipment may be communicatively coupled to computing device  200  via one or more computing interfaces. Hardware and related software for implementing an augmented reality (AR) experience may similarly be coupled to computing device  200  via one or more computing interfaces. 
       FIG.  3    is a block diagram of an exemplary host server  140  that may be used in context of the system of  FIG.  1   . The host server  140  may include a plurality of different features that further facilitates the display of streaming media and the incorporation of fact-checked commentary and annotations in to the display of the streaming media. As illustrated in  FIG.  3   , the host server  140  may include memory  300 , one or more processor  305 , the host server application program interface (API)  140 , a streaming media storage and buffer  310 , a viewer profile module  315 , a viewer reaction module  320 , a social engagement module  325 , a fact-checking module  330 , a metadata module  335 , a machine learning module  340 , and a communication interfaces  345 . 
     According to one aspect, the host application program interface (API)  170  allows a host to manage how data, including but not limited to the media stream, is distributed to remote viewers. Using the API  170 , an administrator (e.g., developer, gaming platform provider, streaming media aggregator) can customize and modify how the host server operates with respect to what data is retrieved from the content provider server  110 , how the media stream is presented to the client devices, and how fact-checked annotations and/or commentary are obtained and compiled during viewing of the media stream. 
     The media storage and buffer  310  may be used to store the streaming media temporarily until it can be processed and distributed to viewers. In another aspect, the media storage and buffer may be used to store the fact-checked comments and annotations temporarily. 
     The viewer profile module  315  is used to store information about each viewer. In one aspect, viewers may need to create their own profile and sign in to their respective profiles before being allowed to access/view the media content (“streamed media”). The stored viewer profiles would be used by the host server  140  to identify the types of modifications to the media stream or fact-checked comments and annotations that can be carried out to better engage the viewer in the viewing experience. 
     The viewer profile module  315  may also store viewer preferences about the distribution of the media viewed on their respective client devices  160 . For example, the viewer profile module  315  can customize preferred views, preferred additional information to be displayed, preferred audio, and even preferred advertisements. The viewer profile module  315  also stores privacy settings and preferences for the viewers, as well as viewer preferences for the display of the fact-checked annotations and commentary. 
     The viewer profile module  315  can also store information about the client devices. This information may identify, for example, the format the media stream would need to be transmitted in order to be compatible with the client device. With all the information about the viewer stored in the viewer profile, the host server  140  would be able to identify the appropriate version of the media stream to be distributed. 
     The viewer reaction module  320  receives and processes viewer-generated content related to a viewer&#39;s reaction to the presented streaming media. The reactions may also include physical movements or facial expressions captured by the tracking device  224 . During viewing of the media stream, the viewer reaction module  320  captures data from the viewer&#39;s respective client devices  160 . In one aspect, the viewer reaction module  320  may identify a type of reaction made by the viewer and classify the same as a piqued curiosity, disagreement, or outrage, among others. In this aspect, the viewer reaction module may identify a viewer&#39;s reaction to the streaming media, such as a raised eyebrow, a confused expression, or interacting with another mobile device, as a reaction indicating further interest in the streamed media. In response, fact-checked commentary or annotations may be displayed to the viewer along with the streaming media. 
     The social engagement module  325  facilitates and encourages further engagement with the media stream and social interactions among the viewers at the client devices  160 . In various aspects, the social engagement module  325  may facilitate social interactions between groups of viewers. For example, the social engagement module  325  may generate a video chat among viewers of the media stream. In another aspect, the social engagement module  325  may facilitate communication between viewers using chat, email, video chat, or any other suitable communication modalities. 
     In one aspect, the fact-checking annotation module  330  performs a fact checking process in response to a user input at the viewer computing device  200  or in response to a viewer reaction. In on example, the fact-checking module may convert an audio track of the streaming media into text or may process close-captioned data into keywords or search terms for verifying statements made the streaming media. 
     The fact-checking annotation module  330  identifies and processes statements or assertions with in the streaming media and provides fact-checking and veracity confirmation or refutation of the statements and assertions. In conjunction with the machine learning module  340 , the fact-checking module  330  may verify or refute assertions in the live streaming media by searching and retrieving crowd-sourced data, machine learning (e.g. artificial intelligence (“AI”)) or referencing a third-party fact checking service or website that may be hosted at a data source server  190 . In one aspect, the fact-checking module  330  may retrieve data from multiple data sources or third-party fact checking sites and compile a consensus answer regarding a point of contention or an assertion in the streaming media. 
     In another aspect, the fact-checked comments and annotations are then stored in a database and presented in a fact-checking annotation overlay  402  accompanying the streaming media. The viewers may select when the fact-checking overlay  402  is displayed during the streaming of the media title. For example, the viewers may select to display the overlay throughout the entire presentation of the streaming media, or the viewer may toggle the fact-checking overlay one or off. In other aspects, the host server  140  may automatically display the fact-checked commentary and annotations in response to data about the viewer stored in the viewers profile or in response to viewer reactions during the display of the streaming media. The fact-checking module  330  may also incorporate additional evidence in the form of images, video, text, URLs, or other inputs received from the crowd-sourced research or retrieved data from various data source servers  190 , including but not limited to a third-party fact-checking site, that is in to the annotation overlay  402 . 
     In various aspects, these annotations  404  may be incorporated into an annotation overlay  402 , various examples of the annotation overlay  402  are shown in  FIGS.  4 A and  4 B . One example of the annotation overlay  402 , as shown in  FIG.  4 A , illustrates that the fact-checked annotations and/or evidence may be presented in the portion of the display  400  normally associated with the display of subtitles. Further, when the viewer desires to view the subtitles, the fact-checked annotations and/or evidence may be displayed in another peripheral portion of the display  400 . 
     Another example of the annotation overlay  402  is shown in  FIG.  4 B . In this example, the fact-checking annotation module  330  in combination with the machine learning module  340  may identify portions of the streaming media display  400  that are in the background and display the fact-checked annotation and evidence in these areas. Other formats and arrangements for the display of the fact-checked annotations and comments may be used. 
     In various other aspects, the overlay  402  may be formatted for display over the streamed media without obstructing the streamed media. In another aspect, the overlay  402  may be displayed alongside the streamed media; while in other aspects, the overlay  402  is not displayed to viewer&#39;s during the viewing yet may be presented during a pause in the streamed media or after the conclusion of the streamed media. The example annotation overlay  402  is illustrated in  FIGS.  4 A and  4 B  as a single frame for simplicity. The overlay  402  as stored by the host server  140  may be a composition or, even a distinct streaming media file composed of one or more annotations relevant to the streaming media that are displayed at the corresponding timestamps. In yet another aspect, the overlay  402  and annotations  404  are only displayed at the associated time point or they may be displayed in advance of the timestamp as preferred or pre-determined by the viewer. For example, each viewer may indicate in their profile how much advance warning they would prefer to receive for each annotation. 
     The social engagement module  325  facilitates and encourages further engagement with the media stream and social interactions among the viewers at the client devices  160 . In various aspects, the social engagement module  325  may facilitate social interactions between the groups of viewers. For example, the social engagement module  325  may generate a video chat among viewers of the media stream. In one aspect, the members of the video chat may be limited to viewers invited to the video chat. In another aspect, the social engagement module  325  may facilitate communication between viewers using chat, email, video chat, or any other suitable communication modalities. 
     The metadata module  335  generates metadata for the media stream, the fact-checked annotations, and the overlay  402  created during the viewing. Additionally, the generated metadata may be used to synchronize the annotations, evidence, and overlay with the media stream further. The metadata may also be used to recall previous instances of the fact-checked annotations and overlay, and portions thereof. 
     The machine learning module  340  may be an internal or external artificial intelligence (AI) or other machine learning system trained using any suitable machine learning model, system, or dataset to predict or identify likely viewer preferences and likely actions while viewing the media stream, among others. The machine learning module  340  may also be used to predict viewer reactions and may adjust the tracking device  224  automatically. For example, the machine learning module  340  may determine when a viewer displays interest or skepticism in a particular portion of the streaming media. Based on this determination, the machine learning module  340  may instruct a tracking device  224  of the viewer&#39;s client device  160  to zoom-out to capture a predicted whole body reaction. Alternatively, the machine learning module  335  may provide instructions to the tracking device  224  to zoom-in on a viewer&#39;s face. The machine learning module  335  may determine the best tracking device  224  settings to capture a likely reaction based upon previous viewer actions, historic viewer reactions from all viewers of the media stream or combinations thereof. As such, the machine leaning module  335  may predict when the viewer desires to view the annotation overlay  402 , if not already selected for display. 
     The communication interface  345  facilitates communication between the various features of the system of  FIG.  1   . For example, this would facilitate transmission of information from the content provider server  110  to the host server  140  and from the host server to the client devices  160 . 
       FIG.  5    is a flowchart illustrating an exemplary method  500  for real-time fact checking and generating a fact-checking overlay  402  and displaying the overlay during display of a media stream or streaming media. The method  500  may be embodied as executable instructions in a non-transitory computer readable storage medium including but not limited to a CD, DVD, or non-volatile memory such as a hard drive. The instructions of the storage medium may be executed by a processor (or processors) to cause various hardware components of a computing device hosting or otherwise accessing the storage medium to perform or aid in performing the method. The steps identified in  FIG.  5    (and the order thereof) are exemplary and may include various alternatives, equivalents, or derivations thereof including but not limited to the order of execution of the same. 
     In method  500 , information may be stored in memory regarding the media content that may be streamed to the client devices  160 . Viewer input or viewer reactions may be received to initiate a fact-checking process during the display of the streamed media content. The fact-checked annotations and evidence may be composited into an annotation overlay  402  that may be displayed with the streaming media. Additionally, one or more timestamps may be associated with the fact-checked annotations and the streaming media, such that the annotation content and streaming media may be synchronized for later streaming and display. In this aspect, the streaming media and annotation overlay  402  may be viewed again by the viewers. 
     In step  510 , information may be stored in memory regarding a content provider and a media stream. A host may establish a channel or interface for distributing the media stream from the content provider. The host may require authentication information from viewers (e.g., viewer name, password) that allows an account to be established in association with the content distribution interface. In addition, various other devices in the network may subscribe to receive content distributed through the interface. Information regarding the host, the content provider, data regarding the streamed media, and the viewers of the streaming media may be maintained in memory. Where certain content providers require a specific subscription (e.g., “premium” cable content), the subscriber device may be required to have a subscription associated with the content provider in order to access content through the channel. 
     In step  520 , the media content (e.g., a specified episode of a television program) may be streamed to the client devices  160 . As discussed herein, the media content may include any type of pre-recorded or live media content available to be streamed over a communication network. Such media content may originate from a content provider server  110 , formatted by content provider server API  130  and they are then provided to the client devices through an interface generate by the host server API  170 . In another aspect, the streaming media may be provided to the client device directly from the content provider server or another source, while the host server API  170  communicates with the content provider server or other source at the backend to gather data regarding the streaming media and synchronize pre-existing fact-checking content. 
     In step  530 , one or more portions of the streaming media are processed at the fact-checking module  330  to identify one or more assertion or statement presented in the streaming media. In one aspect, the assertion or statement may include an oral statement or data visually presented as text. Using any suitable means of voice-to-text recognition or text recognition such as but not limited to optical character recognition (“OCR”) 
     At step  540 , the fact-checking module  330  polls one or more data sources XXX to confirm or refute the portion of the streaming media processed by the fact-checking module. In various aspects, the fact-checking module  330  may further quantify a level of confidence, and veracity for the assertion at issue. As such, the fact-checked annotation may be stored with a confidence score and or a veracity score and metadata related to the confidence of the fact-checked annotation and the truthfulness or lack thereof for the assertion or statement. In one aspect, the confidence score is based upon confidence in the data source that was surveyed. For example, a greater confidence score may be given to a university or government entity, while a lower confidence score may be assigned to a social media posting. Similarly, a greater veracity score may be assigned to an assertion that is fully verified; while a lower score may be assigned to an assertion that is an outright fabrication. 
     In one aspect, the fact-checking module  330  is continuously processing the streaming media and polling or surveying the one or more data sources in real time. As such, according to one aspect, the host server XXX may provide continuous real-time fact checking. In another aspect, while the fact-checking module  330  processes portions of the streaming media and polls external or internal data sources, the display if the fact-checked overlay  402  may be toggled on or off in response to input at the viewer&#39;s client device  160  or in response to one or more viewer reaction. 
     In step  550 , the fact-checked overlays with annotations generated and displayed to the viewers in real time and/or are incorporated into an annotation overlay  402  for display to the viewers. In one aspect, the fact-checking annotations  404  or overlay  402  may be displayed automatically throughout the display of the streaming media. In another aspect, while the fact-checking module  330  processes portions of the streaming media and polls external or internal data sources, the display if the fact-checked overlay  402  may be toggled on or off in response to input at the viewer&#39;s client device  160  or in response to one or more viewer reaction. 
     Lastly, in step  560 , the compiled fact-checked annotations and/or the overlay  402  may be stored and associated with the streaming media for future displays. In additional displays of the streaming media, one or more additional fact-checking annotations may be incorporated into an existing overlay  402 , such that additional information may be provided or previous annotations may be corrected. 
     The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described aspects were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various aspects and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claim.