The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Feb. 08, 2011
Filed:
Dec. 22, 2004
Gary S. Greenbaum, Seattle, WA (US);
Jeffrey M. Ayars, Federal Way, WA (US);
Gregory J. Conklin, Seattle, WA (US);
Alan F. Lippman, Seattle, WA (US);
Bradley D. Hefta-gaub, Seattle, WA (US);
Dale R. Stammen, Seattle, WA (US);
Gary S. Greenbaum, Seattle, WA (US);
Jeffrey M. Ayars, Federal Way, WA (US);
Gregory J. Conklin, Seattle, WA (US);
Alan F. Lippman, Seattle, WA (US);
Bradley D. Hefta-Gaub, Seattle, WA (US);
Dale R. Stammen, Seattle, WA (US);
RealNetworks, Inc., Seattle, WA (US);
Abstract
The present invention provides a system and methods for producing multiple encoded representations of a video input sequence. The multiple representations produced each contain identified synchronization frames that allow a server and a client to switch between streamed representations in real time without interruption. Synchronization frames are frames of encoded video that can be independently decoded. A representation can thus be decoded starting at a synchronization frame. Each synchronization frame in one representation has a corresponding synchronization frame at a substantially similar temporal location in any other generated representation of the same video input sequence. The temporal co-location of synchronization frames in all representations facilitates the dynamic switching between representations during the streaming process. The present invention also provides a video encoder application that shares data during the encoding of multiple representations of a video input sequence by reusing data calculated in the encoding of one representation to encode other representations. The application can also generate the multiple encoded representations simultaneously.