Patentable/Patents/US-11303849
US-11303849

Signaling of the RTCP viewport feedback for immersive teleconferencing and telepresence for remote terminals

PublishedApril 12, 2022
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

There is included a method and apparatus comprising computer code configured to cause a processor or processors to perform controlling a delivery of a video conference call to a viewport, setting a timer and an event-based threshold with respect to the video conference call, determining whether any of the timer and the event-based threshold have been triggered based on any of an elapsed time and an event, and further controlling the delivery of the video conference call to the viewport based on determining whether any of the timer and the event-based threshold have been triggered.

Patent Claims
20 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method for video signaling, the method performed by at least one processor and comprising: controlling a delivery of a video conference call to a viewport; setting a timer and an event-based threshold with respect to the video conference call; determining whether any of the timer and the event-based threshold have been triggered based on any of an elapsed time and an event; and further controlling the delivery of the video conference call to the viewport based on determining whether any of the timer and the event-based threshold have been triggered.

Plain English Translation

This invention relates to video conferencing systems and addresses the challenge of dynamically adjusting video delivery to optimize bandwidth and processing resources during a video conference call. The method involves controlling the delivery of a video conference call to a viewport, which may be a display or window where the call is presented. A timer and an event-based threshold are set to monitor the call. The timer tracks elapsed time, while the event-based threshold responds to specific events, such as user interactions or changes in call conditions. The system continuously checks whether either the timer or the event-based threshold has been triggered. If triggered, the delivery of the video conference call is further adjusted. This adjustment may include modifying video quality, resolution, or other parameters to improve efficiency or user experience. The method ensures that video delivery adapts in real-time to changing conditions, balancing performance and resource usage. The invention enhances video conferencing by dynamically optimizing video delivery based on time and event-based triggers, improving scalability and user experience.

Claim 2

Original Legal Text

2. The method for video signaling according to claim 1 , wherein the event-based threshold comprises at least a degree of change in a spatial orientation of the viewport.

Plain English Translation

This invention relates to video signaling systems that optimize data transmission by detecting and responding to changes in a user's viewport orientation. The problem addressed is inefficient bandwidth usage in video streaming, where traditional systems transmit full-resolution video regardless of user interaction, leading to unnecessary data consumption. The solution involves an event-based threshold mechanism that triggers signaling actions based on changes in the viewport's spatial orientation. When a user rotates or tilts their viewport beyond a predefined threshold, the system adjusts video transmission parameters, such as resolution or bitrate, to match the new viewing conditions. This dynamic adaptation ensures that video quality aligns with the user's current perspective, reducing bandwidth waste while maintaining an optimal viewing experience. The threshold can be set based on factors like angular displacement or motion speed, allowing for fine-tuned responsiveness. By integrating this orientation-aware signaling, the system efficiently allocates resources, particularly in immersive environments like virtual reality or augmented reality, where viewport changes are frequent. The method enhances streaming efficiency without compromising user experience, making it suitable for applications requiring real-time video adaptation.

Claim 3

Original Legal Text

3. The method for video signaling according to claim 2 , wherein determining whether any of the timer and the event-based threshold have been triggered comprises determining whether the spatial orientation of the viewport has been changed by more than the degree of change of the event-based threshold before the timer has been triggered by the elapsed time.

Plain English Translation

This invention relates to video signaling in virtual reality (VR) or augmented reality (AR) systems, addressing the challenge of efficiently transmitting video data based on user viewport movements. The method involves monitoring the spatial orientation of a user's viewport to determine when to trigger video data transmission. A timer and an event-based threshold are used to control this process. The timer measures elapsed time, while the event-based threshold detects significant changes in viewport orientation. The method checks whether the viewport's spatial orientation has changed by more than the event-based threshold before the timer expires. If so, video data transmission is triggered based on this event. This approach optimizes bandwidth usage by reducing unnecessary data transmission when the viewport remains stable, while ensuring timely updates when the user's view changes significantly. The system dynamically adjusts video streaming to balance quality and efficiency, improving user experience in immersive environments.

Claim 4

Original Legal Text

4. The method for video signaling according to claim 3 , wherein further controlling the delivery of the video conference call to the viewport comprises delivering at least an additional margin of the video conference call to the viewport in a case in which it is determined that the spatial orientation of the viewport has been changed by more than the degree of change of the event-based threshold before the timer has been triggered by the elapsed time.

Plain English Translation

This invention relates to video signaling in video conferencing systems, specifically optimizing the delivery of video content to a viewport based on spatial orientation changes. The problem addressed is inefficient bandwidth usage and latency in video conferencing when viewport orientation changes, leading to delays in displaying relevant video content. The method involves monitoring the spatial orientation of a viewport during a video conference call. If the orientation changes by more than a predefined event-based threshold before a timer expires, the system delivers an additional margin of the video conference call to the viewport. This ensures that the viewport receives a broader view of the video content, accommodating the orientation change without waiting for the timer to trigger. The additional margin compensates for the spatial shift, improving user experience by reducing delays in displaying the relevant portion of the video. The method builds on a prior step of controlling video delivery based on viewport orientation changes, where the system initially adjusts the video stream to match the viewport's orientation. The additional margin delivery further enhances this by proactively providing extra content when significant orientation changes occur, preventing disruptions in the viewing experience. This approach optimizes bandwidth by dynamically adjusting the video stream in response to real-time viewport movements.

Claim 5

Original Legal Text

5. The method for video signaling according to 1 , wherein further controlling the delivery of the video conference call to the viewport comprises processing different length packets depending on whether the timer has been triggered or whether the event-based threshold has been triggered.

Plain English Translation

This method for video signaling controls the delivery of a video conference call to a viewport, such as a display in a headset or mobile device. The system sets a timer and an event-based threshold for the video call. It then determines if either the timer has elapsed or if an event has triggered the event-based threshold. Based on this determination, the system further controls the video delivery. Specifically, this control involves processing video data into different length packets. The particular packet length used depends on whether the timer was triggered (e.g., due to elapsed time) or if the event-based threshold was triggered by an event.

Claim 6

Original Legal Text

6. The method for video signaling according to claim 5 , wherein of the different length packets, a first packet that the timer has been triggered is longer than a second packet that the event-based threshold has been triggered.

Plain English Translation

This invention relates to video signaling methods, specifically optimizing packet transmission in video communication systems. The problem addressed is inefficient bandwidth usage and latency in video streaming, where fixed-length packets either waste bandwidth when data is sparse or cause delays when data is dense. The solution involves dynamically adjusting packet lengths based on different triggering conditions. A timer-based mechanism generates longer packets when data accumulation is steady, ensuring efficient bandwidth utilization. An event-based threshold triggers shorter packets when data bursts occur, reducing latency. The method ensures that packets generated by the timer are longer than those triggered by the event-based threshold, balancing throughput and responsiveness. This approach improves real-time video streaming by adapting packet sizes to varying data conditions, enhancing both efficiency and performance. The system may include a packet generator that selects between timer-triggered and event-triggered modes, with a controller managing the switching logic. The invention is applicable to video conferencing, live broadcasting, and other real-time video applications where adaptive packet handling is critical.

Claim 7

Original Legal Text

7. The method for video signaling according to claim 1 , further comprising: determining whether a frequency at which the event triggers the event-based threshold exceeds a frequency threshold.

Plain English Translation

This invention relates to video signaling systems, specifically methods for detecting and responding to events in video data. The problem addressed is the need to efficiently and accurately identify significant events in video streams while minimizing false positives or unnecessary processing. The method involves monitoring video data for events that meet predefined criteria, such as motion detection or object recognition, and triggering a response when these events occur. The response may include generating an alert, storing the video segment, or transmitting the data to a remote system. To improve efficiency, the method further includes determining whether the frequency at which these events trigger a predefined event-based threshold exceeds a frequency threshold. If the event frequency is too high, the system may adjust its sensitivity or ignore subsequent events to prevent overloading the system. This frequency-based filtering helps distinguish between genuine events and noise, ensuring that only relevant data is processed. The method may also include analyzing the video data to extract features, comparing these features to stored templates, and determining whether they match within a tolerance level. If a match is found, the event is confirmed, and the appropriate response is triggered. The system may also adapt its thresholds dynamically based on historical data or user feedback to improve accuracy over time. This approach enhances the reliability of event detection in video surveillance, automated monitoring, and other applications where real-time analysis is critical.

Claim 8

Original Legal Text

8. The method for video signaling according to claim 7 , further comprising: updating the elapsed time to a second elapsed time in response to determining that the frequency at which the event triggers the event-based threshold exceeds the frequency threshold, wherein the second elapsed time is longer than the elapsed time.

Plain English Translation

This invention relates to video signaling systems, specifically methods for managing event-based signaling in video processing. The problem addressed is the inefficient handling of frequent event triggers in video streams, which can lead to excessive signaling overhead and processing delays. The invention provides a solution by dynamically adjusting the timing of event-based signaling to optimize system performance. The method involves monitoring the frequency at which an event triggers an event-based threshold in a video stream. If the frequency exceeds a predefined threshold, the system updates the elapsed time before the next event-based signaling occurs. The updated elapsed time is longer than the previous elapsed time, reducing the frequency of signaling and mitigating the impact of excessive event triggers. This adjustment helps balance signaling efficiency and system responsiveness, particularly in applications where event-based signaling is critical, such as video compression, object detection, or real-time video analysis. The method may also include determining whether the frequency of event triggers falls below a second threshold, in which case the elapsed time may be reset to a shorter duration. This ensures that the system remains responsive to changes in event frequency while preventing unnecessary signaling when events are infrequent. The dynamic adjustment of elapsed time allows the system to adapt to varying conditions in the video stream, improving overall efficiency and performance.

Claim 9

Original Legal Text

9. The method for video signaling according to claim 1 , wherein the viewport is a display of at least one of a headset and a handheld mobile device (HMD).

Plain English Translation

This invention relates to video signaling techniques for head-mounted displays (HMDs) and handheld mobile devices, addressing the challenge of efficiently transmitting and rendering video content for immersive viewing experiences. The method involves dynamically adjusting video transmission based on a user's viewport, which is the active display area of the HMD or handheld device. By analyzing the viewport's position and orientation, the system optimizes video encoding and streaming to prioritize regions of interest, reducing bandwidth and processing demands while maintaining high-quality visuals in the user's field of view. The technique may include predictive tracking of viewport movement to pre-fetch or pre-render content, ensuring smooth playback. Additionally, the system may adapt resolution, frame rate, or compression levels based on viewport dynamics, further enhancing efficiency. The method is particularly useful for virtual reality (VR), augmented reality (AR), and 360-degree video applications, where minimizing latency and maximizing visual fidelity are critical. By dynamically aligning video delivery with the user's viewport, the invention improves performance and reduces resource consumption in immersive media systems.

Claim 10

Original Legal Text

10. The method for video signaling according to claim 1 , wherein the video conference call comprises a 360° video data of an omnidirectional camera.

Plain English Translation

This invention relates to video signaling in video conference calls, specifically for handling 360° video data from omnidirectional cameras. The technology addresses the challenge of efficiently transmitting and processing high-resolution, panoramic video streams in real-time communication systems. Traditional video conferencing systems struggle with the bandwidth and computational demands of 360° video, leading to latency, quality degradation, or excessive resource consumption. The method involves capturing omnidirectional video data from a 360° camera, which provides a full spherical view of the environment. The system processes this data to optimize transmission and display, ensuring smooth playback and minimal latency. Key aspects include adaptive encoding, dynamic region-of-interest prioritization, and efficient data compression tailored for panoramic video. The system may also support real-time stitching of multiple camera feeds to create a seamless 360° view. Additionally, the method may include user interface features that allow participants to navigate or interact with the panoramic video, such as selecting specific viewpoints or adjusting the field of view dynamically. By optimizing the handling of 360° video data, the invention enables immersive video conferencing experiences without compromising performance or quality. The solution is particularly useful in applications requiring wide-angle or panoramic views, such as virtual reality meetings, remote inspections, or collaborative environments where a comprehensive visual perspective is essential.

Claim 11

Original Legal Text

11. An apparatus for video signaling, the apparatus comprising: at least one memory configured to store computer program code; at least one processor configured to access the computer program code and operate as instructed by the computer program code, the computer program code including: controlling code configured to cause the at least one processor to control a delivery of a video conference call to a viewport; setting code configured to cause the at least one processor to set a timer and an event-based threshold with respect to the video conference call; determining cone configured to cause the at least one processor to determine whether any of the timer and the event-based threshold have been triggered based on any of an elapsed time and an event; and further controlling code configured to cause the at least one processor to further control the delivery of the video conference call to the viewport based on determining whether any of the timer and the event-based threshold have been triggered.

Plain English Translation

This invention relates to video signaling systems, specifically for managing the delivery of video conference calls to a viewport. The problem addressed is the need for dynamic control over video delivery during a conference call, ensuring efficient resource usage and improved user experience. The apparatus includes a memory storing computer program code and a processor executing the code to perform several functions. First, it controls the delivery of a video conference call to a viewport, which may involve adjusting video quality, resolution, or other parameters. The system sets a timer and an event-based threshold to monitor the call. The timer tracks elapsed time, while the event-based threshold responds to specific events, such as user interactions or network conditions. The processor determines whether either the timer or the event-based threshold has been triggered. If triggered, the system further adjusts the video delivery to the viewport, such as by modifying video settings or switching between different video streams. This dynamic adjustment ensures optimal performance based on real-time conditions, improving efficiency and user experience during video conferences.

Claim 12

Original Legal Text

12. The apparatus for video signaling according to claim 11 , wherein the event-based threshold comprises at least a degree of change in a spatial orientation of the viewport.

Plain English Translation

This invention relates to video signaling systems, specifically for optimizing data transmission in virtual reality (VR) or augmented reality (AR) environments. The problem addressed is the inefficient use of bandwidth when transmitting video data, particularly in scenarios where a user's viewport (the visible portion of a virtual environment) changes dynamically. Traditional systems often transmit full video frames regardless of viewport changes, leading to unnecessary data transfer and latency. The apparatus includes a viewport tracking module that monitors the user's spatial orientation, such as head movements in VR, to detect changes in the viewport. An event-based threshold is applied to determine when significant changes occur, triggering the transmission of updated video data only when necessary. This threshold is based on a predefined degree of change in spatial orientation, ensuring that data transmission is adaptive and efficient. The system may also include a prediction module that anticipates viewport changes to further optimize data delivery, reducing latency and improving user experience. By dynamically adjusting video transmission based on viewport changes, the invention minimizes bandwidth usage while maintaining high-quality visual output. This is particularly useful in low-latency applications like VR gaming, remote collaboration, or real-time 3D simulations. The apparatus may integrate with existing video encoding and decoding systems to enhance performance without requiring complete system overhauls.

Claim 13

Original Legal Text

13. The apparatus for video signaling according to claim 12 , wherein determining whether any of the timer and the event-based threshold have been triggered comprises determining whether the spatial orientation of the viewport has been changed by more than the degree of change of the event-based threshold before the timer has been triggered by the elapsed time.

Plain English Translation

This invention relates to video signaling systems, specifically for optimizing video streaming based on viewport orientation changes. The problem addressed is inefficient bandwidth usage in virtual reality (VR) or 360-degree video applications, where the entire video is often streamed at high resolution regardless of the user's actual viewport orientation. The apparatus monitors the spatial orientation of a user's viewport in real-time and dynamically adjusts video streaming parameters based on detected changes. The system includes a timer and an event-based threshold to determine when to trigger a video quality adjustment. The timer measures elapsed time since the last adjustment, while the event-based threshold defines a minimum degree of viewport orientation change that warrants an adjustment. The apparatus compares the current viewport orientation against the event-based threshold before the timer expires. If the orientation change exceeds the threshold before the timer triggers, the system adjusts the video stream to prioritize regions of interest within the new viewport orientation, reducing unnecessary data transmission. This ensures efficient bandwidth usage while maintaining high-quality video in the user's active viewing area. The invention improves streaming performance in immersive environments by dynamically responding to user interactions.

Claim 14

Original Legal Text

14. The apparatus for video signaling according to claim 13 , wherein further controlling the delivery of the video conference call to the viewport comprises delivering at least an additional margin of the video conference call to the viewport in a case in which it is determined that the spatial orientation of the viewport has been changed by more than the degree of change of the event-based threshold before the timer has been triggered by the elapsed time.

Plain English Translation

This invention relates to video signaling systems for video conference calls, specifically addressing the challenge of efficiently delivering video content to a viewport based on spatial orientation changes. The apparatus dynamically adjusts the video delivery to a viewport by monitoring the spatial orientation of the viewport and comparing it to an event-based threshold. If the spatial orientation changes by more than the threshold before a timer expires, the system delivers an additional margin of the video conference call to the viewport. This ensures that the viewport receives a broader view of the video content when significant orientation changes occur, improving user experience by preventing abrupt or incomplete visual transitions. The system avoids unnecessary data transmission when orientation changes are minor or within the threshold, optimizing bandwidth usage. The apparatus includes a viewport orientation tracker, a threshold comparator, and a video delivery controller that adjusts the video stream based on the comparison results. The invention enhances real-time video conferencing by dynamically adapting to user movements while maintaining efficient resource utilization.

Claim 15

Original Legal Text

15. The apparatus for video signaling according to 11 , wherein further controlling the delivery of the video conference call to the viewport comprises processing different length packets depending on whether the timer has been triggered or whether the event-based threshold has been triggered.

Plain English Translation

This invention relates to video signaling systems for optimizing video conference call delivery to a viewport. The problem addressed is inefficient bandwidth usage and latency in video conferencing, particularly when adapting to dynamic network conditions or viewport changes. The apparatus processes video packets differently based on whether a timer-based or event-based threshold has been triggered. When the timer is triggered, packets of a first length are delivered, while when the event-based threshold is triggered, packets of a second length are delivered. The event-based threshold may be based on factors such as viewport changes, network conditions, or user interactions. The apparatus dynamically adjusts packet sizes to balance latency and bandwidth efficiency, ensuring smooth playback and reducing unnecessary data transmission. This approach improves real-time video conferencing performance by adapting to both time-based and event-driven conditions without requiring manual adjustments. The system may also include features for prioritizing packets based on importance or viewport relevance, further optimizing resource usage. The invention is particularly useful in scenarios where network conditions fluctuate or where viewport dimensions change frequently, such as in collaborative or multi-device video conferencing environments.

Claim 16

Original Legal Text

16. The apparatus for video signaling according to claim 15 , wherein of the different length packets, a first packet that the timer has been triggered is longer than a second packet that the event-based threshold has been triggered.

Plain English Translation

This invention relates to video signaling systems, specifically addressing the challenge of efficiently transmitting video data packets under varying network conditions. The apparatus dynamically adjusts packet lengths based on different triggering mechanisms to optimize bandwidth usage and reduce latency. It includes a timer and an event-based threshold detector that independently trigger packet transmission. When the timer is triggered, a longer packet is sent, allowing for more data to be transmitted in a single burst, which is beneficial for maintaining smooth playback during stable network conditions. Conversely, when the event-based threshold is triggered, a shorter packet is transmitted, enabling quicker responses to network changes or critical events, such as scene changes or user interactions. The system ensures that video data is transmitted in a way that balances efficiency and responsiveness, adapting to real-time network dynamics. This approach helps prevent buffer underflows or overflows, improving overall video streaming quality. The apparatus may also include additional components, such as a packetizer for formatting data into packets and a transmitter for sending them over a network. The dynamic packet length adjustment is particularly useful in adaptive streaming scenarios where network conditions fluctuate frequently.

Claim 17

Original Legal Text

17. The apparatus for video signaling according to claim 11 , further comprising: further determining code configured to cause the at least one processor to determine whether a frequency at which the event triggers the event-based threshold exceeds a frequency threshold.

Plain English Translation

This invention relates to video signaling systems, specifically apparatuses that monitor and process video data to detect and respond to events. The system includes a video capture device that generates video data and a processor that analyzes the video data to detect events. When an event is detected, the system triggers an event-based threshold, which initiates a predefined action. The apparatus further includes a frequency determination module that evaluates whether the frequency at which events trigger the event-based threshold exceeds a predefined frequency threshold. If the frequency threshold is exceeded, the system may adjust its operation, such as modifying the sensitivity of event detection or triggering additional actions. The system may also include a communication interface to transmit alerts or notifications based on the detected events. The invention aims to improve the reliability and efficiency of event-based video monitoring by dynamically adjusting system behavior in response to event frequency.

Claim 18

Original Legal Text

18. The apparatus for video signaling according to claim 17 , further comprising: updating code configured to cause the at least one processor to update the elapsed time to a second elapsed time in response to determining that the frequency at which the event triggers the event-based threshold exceeds the frequency threshold, wherein the second elapsed time is longer than the elapsed time.

Plain English Translation

The apparatus is designed for video signaling systems, specifically addressing the challenge of managing event-triggered signaling in video processing. The system monitors the frequency at which an event triggers an event-based threshold and compares it to a predefined frequency threshold. If the event frequency exceeds the threshold, the apparatus adjusts the elapsed time used for signaling purposes. The adjustment involves extending the elapsed time to a second, longer elapsed time to reduce the frequency of event-triggered actions. This mechanism helps prevent excessive signaling events that could degrade system performance or cause unnecessary processing overhead. The apparatus includes at least one processor and memory storing code that, when executed, performs these functions. The system may also include a video encoder configured to encode video data and a signaling module that generates signaling information based on the elapsed time. The apparatus ensures efficient video signaling by dynamically adapting to event frequency, maintaining system stability and performance.

Claim 19

Original Legal Text

19. The apparatus for video signaling according to claim 11 , wherein the viewport is a display of at least one of a headset and a handheld mobile device (HMD).

Plain English Translation

This invention relates to video signaling systems, specifically for optimizing video transmission to a viewport, such as a display on a headset or handheld mobile device (HMD). The problem addressed is the inefficient use of bandwidth when transmitting video content to devices with limited display areas, where only a portion of the full video frame is visible at any given time. Traditional methods transmit the entire video frame, wasting resources on data that may not be displayed. The apparatus includes a video encoder that generates a video stream with a viewport region, which corresponds to the visible portion of the display. The encoder prioritizes encoding the viewport region with higher quality or resolution compared to the surrounding non-viewport regions. This selective encoding reduces bandwidth usage while maintaining visual quality in the area where the user is actively viewing. The system may also include a viewport tracker that dynamically adjusts the viewport region based on user movement or interaction, ensuring continuous optimization. The apparatus may further include a decoder that reconstructs the video stream, reconstructing the viewport region with higher fidelity than the non-viewport regions. This approach is particularly useful in virtual reality (VR), augmented reality (AR), or mobile applications where display space is constrained, and bandwidth efficiency is critical. The invention improves video streaming performance by focusing encoding resources on the visible area, reducing latency and data consumption.

Claim 20

Original Legal Text

20. A non-transitory computer readable medium storing a program causing a computer to execute a process, the process comprising: controlling a delivery of a video conference call to a viewport; setting a timer and an event-based threshold with respect to the video conference call; determining whether any of the timer and the event-based threshold have been triggered based on any of an elapsed time and an event; and further controlling the delivery of the video conference call to the viewport based on determining whether any of the timer and the event-based threshold have been triggered.

Plain English Translation

This invention relates to video conferencing systems and addresses the challenge of dynamically adjusting video delivery during a conference call to optimize performance, bandwidth, or user experience. The system monitors a video conference call displayed in a viewport and uses a timer and an event-based threshold to trigger adjustments. The timer tracks elapsed time, while the event-based threshold responds to specific events, such as user interactions or network conditions. When either the timer or the event-based threshold is triggered, the system modifies the delivery of the video conference call to the viewport. Adjustments may include changing resolution, frame rate, or other parameters to improve efficiency or quality. The system ensures that video delivery remains adaptive, balancing resource usage and user experience based on predefined conditions. This approach helps maintain stable and efficient video conferencing in varying environments.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

November 11, 2020

Publication Date

April 12, 2022

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Signaling of the RTCP viewport feedback for immersive teleconferencing and telepresence for remote terminals” (US-11303849). https://patentable.app/patents/US-11303849

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-11303849. See llms.txt for full attribution policy.