System and method for multiplexed video stream decoding in web browser

US10855741B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10855741-B2
Application numberUS-201615229874-A
CountryUS
Kind codeB2
Filing dateAug 5, 2016
Priority dateAug 6, 2015
Publication dateDec 1, 2020
Grant dateDec 1, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method for real time streaming and decoding of multiple simultaneous streams within a web browser is disclosed. In a preferred embodiment, a stream manager of the web browser stores decoder context data for each of the streams. The stream manager then provides the frames in conjunction with the decoder context data for consumption by a decoder of the web browser, which decodes the frames, presents the frames for display, and updates the decoder context data with the frame data of the decoded frames. In another embodiment, the stream manager is integrated within the decoder.

First claim

Opening claim text (preview).

What is claimed is: 1. A video streaming system, comprising: one or more user devices, wherein each of the one or more user devices executes a web browser; and a streaming server that provides multiple simultaneous streams of video frame data to the one or more user devices, wherein: a stream manager executing in the web browser of each of the one or more user devices that creates and stores a separate instance of decoder context data for each of the multiple simultaneous streams, buffers the frame data into completed frames, each of which is associated with one of the multiple simultaneous streams, and presents the completed frames and the decoder context data for decoding and display; and a decoder executing in the web browser of each of the one or more user devices decodes each of the completed frames of the multiple simultaneous streams using the instance of the decoder context data corresponding to the stream with which the completed frame being decoded is associated, and the decoder updates the instance of the decoder context data used to decode the completed frame using the decoded frame; wherein the decoder and the stream manager are implemented in javascript. 2. A video streaming system as claimed in claim 1 , wherein the streaming server is a network video recorder. 3. A video streaming system as claimed in claim 1 , wherein the stream manager is integrated within the decoder. 4. A video streaming system as claimed in claim 1 , wherein the stream manager presents the frames of the streams and the decoder context data for the streams to the decoder. 5. A video streaming system as claimed in claim 1 , wherein the decoder consumes the frames of the streams provided by the stream manager and multiplexes decoding of the frames of the streams using the decoder context data. 6. A video streaming system as claimed in claim 1 , wherein the web browsers include client applications, wherein the client applications receive the decoded frames of the streams from the decoder and display the decoded frames of the streams. 7. The video streaming system of claim 1 , wherein the stream manager includes a stream context repository pool and a frame buffer memory. 8. The video streaming system of claim 7 , wherein the stream context repository pool comprises a plurality of slots, each slot being associated with one of the multiple simultaneous streams and storing the instance of the decoder context data corresponding to the stream with which the slot is associated. 9. The video streaming system of claim 8 , wherein the frame buffer memory comprises frame buffers, each of which is associated with one of the multiple simultaneous streams and stores frame data received for the stream with which the frame buffer is associated. 10. The video streaming system of claim 9 , wherein, in response to receiving a data packet containing stream identification information indicating one of the multiple simultaneous streams and frame data for the stream indicated by the stream identification information and having an EOF flag set indicating that the data packet is a last data packet of a completed frame, the stream manager updates contents of the frame buffer associated with the stream indicated by the stream identification information and flushes the contents of the frame buffer into a completed frame for the stream indicated by the stream identification information. 11. The video streaming system of claim 10 , wherein the stream manager creates a separate frame entry for each completed frame, each frame entry including the completed frame, the stream identification information indicating the stream of the completed frame, and slot identification information indicating the slot of the stream context repository pool associated with the stream of the completed frame. 12. The video streaming system of claim 11 , wherein the decoder consumes each of the frame entries and, for each consumed frame entry, decodes the completed frame included in the frame entry using the instance of the decoder context data stored by the slot indicated by the slot identification information included in the frame entry. 13. The video streaming system of claim 12 , wherein, for each frame entry consumed by the decoder, upon decoding the completed frame included in the frame entry, the decoder updates the instance of the decoder context data stored by the slot indicated by the slot identification information included in the frame entry by generating new decoder context data from frame data of the decoded frame and saves the new decoder context data to the slot indicated by the slot identification information included in the frame entry. 14. The video streaming system of claim 1 , wherein the stream manager supports simultaneous decoding and display of at least four to nine streams. 15. The video streaming system of claim 1 , wherein, for each of the one or more user devices, a client application of the web browser executing on the user device presents a display area divided into multiple panes, each of the multiple panes being associated with a different one of the multiple simultaneous streams, the decoder provides the decoded frames from the multiple simultaneous streams to the client application, and the client application renders each of the decoded frames in the pane associated with the stream of the decoded frame. 16. The video streaming system of claim 1 , wherein the decoder is an h.264 decoder implemented in javascript. 17. The video streaming system of claim 1 , wherein each instance of the decoder context data includes a reference frame for decoding subsequent frames of the stream, and wherein, upon decoding a current frame of the stream, the decoder includes identified changes with respect to the reference frame in the current frame and declares the current frame as a new reference frame. 18. A method for decoding one or more streams of video frame data within a web browser executing on a user device, the method comprising; a streaming server providing multiple simultaneous streams of video frame data to the user device; a stream manager executing in the web browser and implemented in javascript creating and storing a separate instance of decoder context data for each of the multiple simultaneous streams and buffering the frame data into completed frames, each of which is associated with one of the multiple simultaneous streams; the stream manager presenting the completed frames and the decoder context data for decoding and display; and a decoder executing in the web browser and implemented in javascript decoding each of the completed frames of the multiple simultaneous streams using the instance of the decoder context data corresponding to the stream with which the completed frame being decoded is associated and updating the instance of the decoder context data used to decode the completed frame using the decoded frame. 19. The method of claim 18 , further comprising the web browser displaying the decoded frames of the one or more multiple simultaneous streams. 20. The method of claim 18 , wherein the stream manager presenting the completed frames and the decoder context data for the multiple simultaneous streams for decoding and display comprises: placing each of the completed frames of the multiple simultaneous streams in a queue; and for each completed frame, providing identification information indicating the separate instance of the decoder context data corresponding to the stream with which the completed frame is associated. 21. Th

Assignees

Inventors

Classifications

  • Media network packetisation · CPC title

  • for unicast · CPC title

  • in wire-line communication networks, e.g. low power modes or reduced link rate · CPC title

  • Multichannel or multilink protocols · CPC title

  • H04L67/02Primary

    based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10855741B2 cover?
A system and method for real time streaming and decoding of multiple simultaneous streams within a web browser is disclosed. In a preferred embodiment, a stream manager of the web browser stores decoder context data for each of the streams. The stream manager then provides the frames in conjunction with the decoder context data for consumption by a decoder of the web browser, which decodes the …
Who is the assignee on this patent?
Sensormatic Electronics Llc
What technology area does this patent fall under?
Primary CPC classification H04L67/02. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 01 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).