# US 12,010,389 B2 · System and method for intelligent web based video playing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,010,389 B2
- Document ID: US12010389B2
- Status: Granted
- Kind: B2
- Application number: 18/463,853
- Filed: 2023-09-08
- Published: 2024-05-02
- Granted: 2024-06-11
- Earliest claimed: 2022-10-14
- Assignees: Qognify Ltd.
- Applicants: Qognify, Ltd.
- Inventors: Eran Nevo; Marina Beiser Klotsman; Gina Fahimipoor; Yaniv Toplian
- Web page: https://patentgrep.com/patent/US12010389B2

## CPC

- H04N 21/47217: {for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks (specific graphical features in visual interfaces H04N21/4312)}
- G11B 27/005: {Reproducing at a different information rate from the information rate of recording (for television signals H04N5/783)}
- G11B 27/105: {of operating discs}
- H04L 65/612: for unicast
- H04L 65/80: Responding to QoS
- H04N 5/783: Adaptations for reproducing at a rate different from the recording rate
- H04N 21/234381: {by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping}
- H04N 21/44004: {involving video buffer management, e.g. video decoder buffer or video display buffer}
- H04N 21/440281: {by altering the temporal resolution, e.g. by frame skipping (television signal recording using magnetic recording on tape for reproducing at a rate different from the recording rate H04N5/783)}
- H04N 21/6587: Control parameters, e.g. trick play commands, viewpoint selection
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computerized system and method may provide a dynamic, adaptable, and robust framework for intelligent web-based video playing. A computerized system including a memory and a computer processor may arrange a plurality of video frames based on one or more data items associated with groups of pictures (GOPs) and/or video playing commands and/or settings, and render and/or play the arranged frames on an output display. Functionalities enabled by different embodiments of the invention include, for example: automatically adjusting a video playing speed according to a number of accumulated frames within a memory buffer; appending a memory buffer with frames included in another (e.g., separate) memory buffer based on a requested video playing direction; omitting frames from a video sequence (thus sparing the need to process omitted frames) based on quantifying their information content and/or distance from reference frames; and synchronizing video playing on different (e.g., remote) computer systems.

## Claims

### Claim 1

A method for intelligent video playing, the method comprising:
in a computerized system comprising a memory and a computer processor:
arranging, by the processor, a plurality of video frames based on one or more data items, the data items associated with one or more groups of pictures (GOPs) and one or more video playing settings, wherein one or more of the frames are included in a first memory buffer, and wherein the arranging comprises appending, by the processor, a second memory buffer with one or more of the frames included in the first memory buffer, the appending based on a requested video playing direction; and
rendering and playing, by the processor, the arranged video frames on an output display.

### Claim 2 (depends on 1)

The method of claim 1, comprising automatically adjusting, by the processor, a playing speed based on a video acceleration database, the database associating a plurality of playing rates to numbers of accumulated frames within one or more memory buffers; and
wherein the playing of the arranged video frames is performed based on the adjusted playing speed.

### Claim 3 (depends on 1)

The method of claim 1, wherein the arranging comprises omitting, by the processor, one or more of the frames; and
wherein the rendering and playing do not include the omitted frames.

### Claim 4 (depends on 3)

The method of claim 3, comprising calculating, by the processor, a frame drop factor, the factor determining, for a given playing speed, a number of frames to be omitted; and
wherein the omitting of one or more of the frames is performed based on the frame drop factor.

### Claim 5 (depends on 3)

The method of claim 3, comprising:
for one or more of the frames, calculating, by the processor, an information score, the information score quantifying an amount information lost if a given frame is omitted from a set of frames; and
wherein the omitting of one or more of the frames is performed based on the information scores.

### Claim 6 (depends on 5)

The method of claim 5, wherein the information score comprises a frame size, and wherein the method comprises normalizing, by the processor, each of the information scores.

### Claim 7 (depends on 5)

The method of claim 5, comprising:
calculating, by the processor, a dispersion score for one or more of the frames, the dispersion score measuring a distribution of one or more of the frames within a time interval;
wherein the omitting of one or more of the frames is performed based on the information scores and based on the dispersion scores.

### Claim 8 (depends on 7)

The method of claim 7, wherein the dispersion score includes a distance between one or more of the frames and a reference frame; and
wherein the omitting of one or more of the frames is performed for a first time interval, and wherein the reference frame is in a second time interval.

### Claim 9 (depends on 2)

The method of claim 2, wherein the adjusting of a playing speed is performed based on a reference video playing of a remote computer.

### Claim 10

A computerized system for intelligent video playing, the system comprising:
a memory,
and a computer processor configured to:
arrange a plurality of video frames based on one or more data items, the data items associated with one or more groups of pictures (GOPs) and one or more video playing settings, wherein one or more of the frames are included in a first memory buffer, and wherein the arranging comprises appending a second memory buffer with one or more of the frames included in the first memory buffer, the appending based on a requested video playing direction; and
render and play the arranged video frames on an output display.

### Claim 11 (depends on 10)

The computerized system of claim 10, wherein the processor is to:
adjust a playing speed based on a video acceleration database, the database associating a plurality of playing rates to numbers of accumulated frames within one or more memory buffers; and
wherein the playing of the arranged video frames is performed based on the adjusted playing speed.

### Claim 12 (depends on 10)

The computerized system of claim 10, wherein the arranging comprises omitting one or more of the frames; and
wherein the rendering and playing do not include the omitted frames.

### Claim 13 (depends on 12)

The computerized system of claim 12, wherein the processor is to:
calculate a frame drop factor, the factor determining, for a given playing speed, a number of frames to be omitted; and
wherein the omitting of one or more of the frames is performed based on the frame drop factor.

### Claim 14 (depends on 12)

The computerized system of claim 12, wherein the processor is to:
for one or more of the frames, calculate an information score, the information score quantifying an amount information lost if a given frame is omitted from a set of frames; and
wherein the omitting of one or more of the frames is performed based on the information scores.

### Claim 15 (depends on 14)

The computerized system of claim 14, wherein the information score comprises a frame size, and wherein the method comprises normalizing, by the processor, each of the information scores.

### Claim 16 (depends on 14)

The computerized system of claim 14, wherein the processor is to:
calculate a dispersion score for one or more of the frames, the dispersion score measuring a distribution of one or more of the frames within a time interval; and
wherein the omitting of one or more of the frames is performed based on the information scores and based on the dispersion scores.

### Claim 17 (depends on 16)

The computerized system of claim 16, wherein the dispersion score includes a distance between one or more of the frames and a reference frame; and
wherein the omitting of one or more of the frames is performed for a first time interval, and wherein the reference frame is in a second time interval.

### Claim 18 (depends on 11)

The computerized system of claim 11, wherein the adjusting of a playing speed is performed based on a reference video playing of a remote computer.
