NFL Pushes for Patent on Video Replay Systems

NFL already offers Xbox One owners an app that offers access to "supercharged replays."

The National Football League is asking the U.S. Patent & Trademark Office to grant it a patent for an invention that could give viewers the ability to run instant replays and watch recorded programs in “slow and fast modes.”

Some of the technology detialed in the patent application appear to be features that the NFL has already started to offer viewers that use an app on Microsoft Corp.’s Xbox One to access interactive TV content while watching football games.

Cave
John Cave

NFL VP of Application Development John Cave and software engineer Arvin Chan are named as inventors on the patent application, titled, “Video replay systems and methods.” NFL Enterprises filed the application, which was published last month, in July 2014.

Abstract: A video replay system which allows for the payback of video files from a buffer in random access memory and from disk to minimize the delay between capturing and replaying a desired video portion. In one embodiment, a portion of RAM is allocated to provide a buffer for holding video files in memory before the riles are written to a hard drive or other nonvolatile storage. An index of key frames is also stored in the buffer. The computer system executes software that is responsive to an operator’s commands to read the video fifes and index and playback desired video portions in a variety of modes and speeds, including slow motion, reverse, fast-forward, and slow or fast reverse.

Patent Application

Claims:

1. A system for providing a video playback of an event, comprising: a computer having a processor operable to receive a plurality of video data inputs each of an event and connected to a non-volatile storage and a memory buffer, wherein at least a portion of the memory buffer has been allocated for storing video data and information related to the video data, and wherein at least a portion of the memory butter is restricted so that the portion cannot be the subject of both a read operation and a write operation at the same time; software operable on the computer to receive the video data inputs and generate a key frame index and store at least a portion of the video data and at least a portion of the index in data blocks in memory; software operable on the computer to store at least a portion of the video data and at least a portion of the index in non-volatile storage; a controller connected to said computer; a display connected to said computer; software operable on the computer and responsive to a command from said controller to generate a playback of at least a portion of the video data for an event; software operable on the computer to check the key frame index and determine whether the portion of the video data responsive to the operator command is stored in non-volatile storage or memory and to read the video data from either the non-volatile store or from memory in response to the check of the key frame index; and software operable to generate a display of the playback of the portion of the video data in a reverse mode in response to a command therefore from said controller.

2. The system according to claim 1 further comprising: a plurality of controllers and a plurality of corresponding video displays.

3. The system according to claim 1 further comprising software operable to generate a display of the playback of the portion of the video data in a slow motion mode.

4. The system according to claim 3 further comprising software operable to generate a display of the playback of the portion of the video data in a last mode.

5. The system according to claim 3 further comprising software operable to generate a display of the playback, of the portion of the video data in a forward mode.

6. The system according to claim 3 wherein the portion of the memory buffer allocated for storing video data comprises at least between 5 megabytes and 75 megabytes of random access memory.

7. The system according to claim 5 wherein the portion of the memory buffer allocated for storing video data comprises at least between 30 megabytes and 50 megabytes of random access memory.

8. A method of providing a video replay of an event comprising the steps of: recording an event in a video file; storing the video file in volatile memory; generating an index of at least a plurality of key frames of the video file; storing the index of key frames in volatile memory; upon an operator command, reading at least a portion of the index and the video file from volatile memory; and displaying at least a portion of the video file.

9. The method according to claim S wherein the volatile memory is a buffer.

10. The method according to claim 9 wherein the buffer comprises, a portion of random access memory m a computer system.

11. The method according to claim 8 further comprising the step of allocating a portion of volatile memory for storage of the index of key frames and the video file.

12. The method according to claim 11 further comprising the step of restricting access to at least a portion of the portion of volatile memory allocated for storage of the index of key frames and the video file.

13. The method according to claim 8 further comprising the step of storing the index of key frames and the video file in non-volatile memory.

14. The method according to claim 8 further comprising the step of providing a controller operable to select a mode of displaying the video file and to control the mode.

15. The method according to claim 14 wherein the controller is operable to allow an operator to display the video file in a reverse mode.

16. The method according to claim 15 wherein the controller is operable to allow an operator to display the video file in a fast-forward mode.

17. The method according to claim 16 wherein the controller is operable to allow an operator to display the video file in a slow-motion mode.

18. The method according to claim 8 further comprising die steps of: storing a portion of tire video file in non-volatile memory; responsive to an operator command, if a portion of the video file to be read in response to the command is stored in non-volatile memory, reading the portion of the video file stored in non-volatile memory; and displaying the portion of die video tile stored in non-volatile memory.

19. A computer system for providing a video playback of an event, comprising: a computer having a processor operable to receive a plurality of video data inputs and connected to a non-volatile storage and a memory, wherein at least a portion of the memory has been allocated for storing video-data; software operable on the computer to receive the video data inputs and generate a key frame index and store the video data and the index in data blocks in memory; software operable on the computer to store the video data and the index in non-volatile storage; and software operable on the computer and responsive to a command from an operator to generate a playback of at least a portion of the video data for an event; and software operable to generate a display of the playback of the portion of the video data in a manner responsive to a mode selected by an operator using a controller.

20. The system according to claim 19 wherein the volatile memory comprises a buffer.

21. The system according to claim 20 wherein the buffer comprises a portion of random access memory in a computer system.

22. The system according to claim 19 wherein the video data comprises an index of key frames and a corresponding video file.

23. The system according to claim 22 wherein at least a portion of the portion of volatile memory allocated for storage of the index of key frames and the video file is restricted so that the portion cannot be die subject of both a read operation and a write operation at the same time.

24. The system according to claim 19 further comprising a plurality of video displays and a corresponding plurality of controllers, wherein each of the controllers is operable to control the mode of a video display shown on the corresponding video display.

25. The system according to claim 19 further comprising: software operable on the computer to check the key frame index and determine whether the portion of the video data responsive to the operator command is stored in non-volatile storage or memory and to read the video data from either the non-volatile store or from memory in response to the check of the key frame index.

26. A computer-readable storage medium having stored thereon one or more computer software programs with instructions which, when executed by a computer system, will perform the steps of: recording an event in a video file; storing the video file in volatile memory; generating an index of a plurality of key frames of the video file; storing the index of key frames in volatile memory; upon an operator command, reading at least a portion of the index and the video file from volatile memory; and displaying at least a portion of the video file.