A method includes encoding video at a first bitrate to produce first encoded sections, and at a second bitrate that is less than the first bitrate to produce second encoded sections. The method further includes measuring levels of objective quality, indicative of perceptual quality, of the first and second encoded sections. The method includes determining, based on the measured objective quality levels, replaceable sections among the first encoded sections, and replacement sections among the second encoded sections, each of the replacement sections to replace a corresponding one of the replaceable sections. The method includes streaming the first encoded sections except for the replaceable sections, and the replacement sections instead of their corresponding replaceable sections.
|
0. 23. A method of encoding video, the method performed by an encoding system, comprising:
encoding a portion of video at a first bitrate to produce a first encoded section using an encoding system;
encoding the same portion of video at a second bitrate that is less than the first bitrate to produce a second encoded section using the encoding system;
measuring objective quality levels using the encoding system with respect to each of the first and second encoded sections;
selecting one of the first and second encoded sections based on the measured objective quality levels of the first and second encoded sections using the encoding system;
constructing a file containing the selected one of the first and second encoded sections, wherein the file contains at least one encoded section encoded at the first bitrate and at least one encoded section encoded at the second bitrate using the encoding system;
storing a video stream comprising the file containing the selected one of the first and second encoded sections using the encoding system; and
streaming, using the encoding system, the stored video stream in response to a request from a playback device.
0. 33. A method of encoding video, the method performed by an encoding system, comprising:
encoding a portion of video at a first bitrate to produce a first encoded section using an encoding system, where the first encoded section is a self-contained unit of media capable of being decoded without reference to any other encoded section;
encoding the same portion of video at a second bitrate that is less than the first bitrate to produce a second encoded section using the encoding system, where the second encoded section is a self-contained unit of media capable of being decoded without reference to any other encoded section;
measuring objective quality levels with respect to each of the first and second encoded sections using the encoding system;
determining when the second encoded section has a respective measured objective quality level that meets a predetermined criterion for objective quality using the encoding system;
selecting one of the first and second encoded sections based on the measured objective quality levels of the first and second encoded sections using the encoding system, where the second encoded section is selected when the measured objective quality level of the second encoded section meets the predetermined criterion for objective quality;
constructing a file containing the selected one of the first and second encoded sections using the encoding system, wherein the file contains at least one encoded section encoded at the first bitrate and at least one encoded section encoded at the second bitrate;
storing a video stream comprising the file containing the selected one of the first and second encoded sections using the encoding system; and
streaming the stored video stream in response to a request from a playback device using the encoding system.
0. 1. A method of encoding video, the method performed by an encoding system, comprising:
encoding video at a first bitrate to produce first encoded sections using an encoding system;
encoding the video at a second bitrate that is less than the first bitrate to produce second encoded sections using the encoding system, each having encoded therein the video of a corresponding one of the first encoded sections;
measuring levels of objective quality using the encoding system, indicative of perceptual quality, of the first and second encoded sections;
determining, based on the measured objective quality levels, replaceable sections among the first encoded sections, and replacement sections among the second encoded sections using the encoding system, each to replace a corresponding one of the replaceable sections;
generating identifying information that identifies the replaceable sections and their corresponding replacement sections in the first and second container files, respectively, using the encoding system;
streaming the identifying information using the encoding system; and
in response to requests from a streaming client device that are dependent on the streamed identifying information, streaming the first encoded sections except for the replaceable sections using the encoding device, and streaming the replacement sections instead of their corresponding replaceable sections at a same time as the corresponding replaceable section would have been streamed had the corresponding replaceable section not been replaced.
0. 2. The method of
determining, using the encoding device, if corresponding first and second encoded sections have respective measured objective quality levels that each meet a predetermined criterion of objective quality; and
declaring, using the encoding device, the corresponding first and second encoded sections as corresponding replaceable and replacement sections, respectively, if the respective measured objective quality levels each meet the predetermined criterion.
0. 3. The method of
0. 4. The method of
a threshold level of objective quality that must be exceeded by each of the respective measured objective quality levels; and
a maximum difference between the respective measured objective quality levels that must not be exceeded.
0. 5. The method of
the measuring includes measuring a signal-to-noise ratio (SNR) as the objective quality level; and
the determining includes determining whether the measured objective quality levels meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level.
0. 6. The method of
constructing a first file containing the first encoded sections, including the replaceable sections;
constructing a second file containing the second encoded sections, including the replacement sections; and
wherein the streaming includes:
streaming the first encoded sections, except for the replaceable sections, from the first container file; and
streaming the replacement sections from the second container file.
0. 7. The method of
0. 8. A non-transitory computer readable medium encoded with a computer program, including instructions to cause a processor to:
encode video at a first bitrate to produce first encoded sections;
encode the video at a second bitrate that is less than the first bitrate to produce second encoded sections, each having encoded therein the video of a corresponding one of the first encoded sections;
measure objective quality levels, indicative of perceptual quality levels, of the first and second encoded sections;
determine, based on the measured objective quality levels, replaceable sections among the first encoded sections, and replacement sections among the second encoded sections, each to replace a corresponding one of the replaceable sections;
generate identifying information that identifies the replaceable sections and their corresponding replacement sections in the first and second container files, respectively, using the encoding system;
stream the identifying information; and
in response to requests from a playback device that are dependent on the streamed identifying information, stream the first encoded sections except for the replaceable sections, and stream the replacement sections instead of their corresponding replaceable sections at a same time as the corresponding replaceable section would have been streamed had the corresponding replaceable section not been replaced.
0. 9. The computer readable medium of
determine if corresponding first and second encoded sections have respective measured objective quality levels that each meet a predetermined criterion of objective quality; and
declare the corresponding first and second encoded sections as corresponding replaceable and replacement sections, respectively, if the respective measured objective quality levels each meet the predetermined criterion.
0. 10. The computer readable medium of
0. 11. The computer readable medium of
a threshold level of objective quality that must be exceeded by each of the respective measured objective quality levels; and
a maximum difference between the respective measured objective quality levels that must not be exceeded.
0. 12. The computer readable medium of
the instructions to cause the processor to measure include instructions to cause the processor to measure a signal-to-noise ratio (SNR) as the objective quality level; and
the instructions to cause the processor to determine include instructions to cause the processor to determine whether the measured objective quality levels meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level.
0. 13. The computer readable medium of
construct a first file containing the first encoded sections, including the replaceable sections;
construct a second file containing the second encoded sections, including the replacement sections; and
wherein the instructions to cause the processor to stream include instructions to cause the processor to:
stream the first encoded sections, except for the replaceable sections, from the first container file; and
stream the replacement sections from the second container file.
0. 14. The computer readable medium of
0. 15. An apparatus, comprising:
a processor and memory configured to:
encode video at a first bitrate to produce first encoded sections, and
encode the video at a second bitrate that is less than the first bitrate to produce second encoded sections, each having encoded therein the video of a corresponding one of the first encoded sections;
measure objective quality levels, indicative of perceptual quality levels, of the first and second encoded sections;
determine, based on the measured objective quality levels, replaceable sections among the first encoded sections, and replacement sections among the second encoded sections, each to replace a corresponding one of the replaceable sections; and
generate identifying information that identifies the replaceable sections and their corresponding replacement sections in the first and second container files, respectively, using the encoding system;
stream the identifying information; and
in response to requests from a playback device that are dependent on the streamed identifying information stream the first encoded sections except for the replaceable sections, and the replacement sections instead of their corresponding replaceable sections at a same time as the corresponding replaceable section would have been streamed had the corresponding replaceable section not been replaced.
0. 16. The apparatus of
determine if corresponding first and second encoded sections have respective measured objective quality levels that each meet a predetermined criterion of objective quality; and
declare the corresponding first and second encoded sections as corresponding replaceable and replacement sections, respectively, if the respective measured objective quality levels each meet the predetermined criterion.
0. 17. The apparatus of
0. 18. The apparatus of
a threshold level of objective quality that must be exceeded by each of the respective measured objective quality levels; and
a maximum difference between the respective measured objective quality levels that must not be exceeded.
0. 19. The apparatus of
the processor and memory, configured to measure, are further configured to measure a signal-to-noise ratio (SNR) as the objective quality level; and
the processor and memory, configured to determine, are further configured to determine whether the measured objective quality levels meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level.
0. 20. The apparatus of
the processor and memory are further configured to
construct a first file containing the first encoded sections, including the replaceable sections, and
construct a second file containing the second encoded sections, including the replacement sections; and
the processor and memory, configured to stream, are further configured to
stream the first encoded sections, except for the replaceable sections, from the first container file, and
stream the replacement sections from the second container file.
0. 21. The apparatus of
the processor and memory are further configured to construct a file containing the first encoded sections, except for the replaceable sections which are replaced by their corresponding replacement sections; and
the processor and memory, configured to stream, are further configured to stream from the file the first encoded sections, except for the replaceable sections, and the replacement sections.
0. 22. The apparatus of
a communication system to communicate with a network; and
a housing to house the processor and memory, and the communication system.
0. 24. The method of claim 23, wherein the first and second sections encode video at a same resolution.
0. 25. The method of claim 23, wherein the first and second encoded sections are each a self-contained unit of media capable of being decoded without reference to any other encoded section.
0. 26. The method of claim 25, wherein the video stream comprises a plurality of encoded sections including the selected one of the first and second encoded sections and each of the plurality of encoded sections encodes a fixed duration of media.
0. 27. The method of claim 26, wherein the video stream comprises a plurality of encoded sections including the selected one of the first and second encoded sections and at least some of the plurality of encoded sections encode different durations of media.
0. 28. The method of claim 23, wherein each of the first and second encoded sections comprises a number of successive frames of video.
0. 29. The method of claim 23, wherein a measured objective quality of a section of video is at least one measure selected from the group consisting of: a signal-to-noise ratio (SNR) of the section, a peak SNR (PSNR) of the section, and a structural similarity index (SSIM) that measures a similarity between sections.
0. 30. The method of claim 23, further comprising:
determining when the second encoded section has a respective measured objective quality level that meets a predetermined criterion for objective quality; and
selecting the corresponding second encoded section when the measured objective quality level meets the predetermined criterion.
0. 31. The method of claim 30, wherein the predetermined criterion of objective quality is indicative of an acceptable difference in the perceptual quality levels of the corresponding first and second sections when decoded and presented.
0. 32. The method of claim 30, wherein the measuring includes measuring a signal-to-noise ratio (SNR) as the objective quality level; and the determining includes determining whether the measured objective quality level meet a predetermined criterion that is based on one of an absolute objective quality level and a relative objective quality level.
|
This application is a continuation reissue of application Ser. No. 15/950,950, which is an application for reissue of U.S. Pat. No. 9,313,510.
Distribution of multimedia (also referred to herein as “media” and/or “program(s)”), such as movies and the like, from network services to a client device may be achieved through adaptive bitrate streaming of the media. Typically, the media may be encoded at different bitrates and resolutions into multiple bitrate streams that are stored in the network services. Conventional adaptive bitrate streaming of media includes determining streaming conditions, e.g., an available streaming bandwidth at the client device, and then streaming a selected one of the different bitrate streams from the network services to the client device based on the determined conditions.
From the perspective of the network service, streaming media includes transmitting the media in response to requests from the client device. From the perspective of the client device, streaming media includes continuously requesting and receiving the media from the network services, and storing the received media in a buffer for subsequent presentation or playback, essentially, in near real-time. The buffered media may be presented, i.e., played back, in audio-visual form, for example.
The human visual system perceives a perceptual or subjective quality of streamed, presented media, and is able to detect small changes in the perceptual quality. The perceptual quality generally increases and decreases as the encoded bitrate of the streamed program (i.e., “streaming bitrate”) increases and decreases. Therefore, more or less available streaming bandwidth may translate to more or less perceptual quality, respectively.
Given the ever pressing need to conserve bandwidth at the client device, conventional streaming techniques tend to select a streaming bitrate deemed to be sufficiently high to meet an acceptable level of perceptual quality, based on the streaming bandwidth conditions determined at the client device, as mentioned above. This bandwidth-centric determination and selection at the client device does not take into consideration changes or variations in the content contained in the media itself over time as the media is streamed and, therefore, often results in unnecessarily high, and therefore, bandwidth-wasteful, streaming bitrates.
In the drawings, the leftmost digit(s) of a reference number identifies the drawing in which the reference number first appears.
Embodiments described herein are directed to adaptive streaming of a video program from network services to a client device that utilize encoded video section swapping to reduce streaming bandwidth, while minimally impacting a perceptual/presentation quality of the streamed program at the client device. The adaptive streaming with section swapping embodiments reduce streaming bandwidth at client the device based on characteristics or properties of content in the video program, i.e., measures of objective quality indicative of perceptual quality, that change over time while the program is being streamed. More specifically, the embodiments determine swappable, corresponding/co-located sections of video encoded at different bitrates based on the measured objective quality levels of the co-located sections and the predetermined criterion of objective quality. The swappable, co-located sections include a section encoded at a first bitrate and a section encoded at a second bitrate that is less than the first bitrate. During streaming of the video program, the section encoded at the first bitrate is replaced with the co-located section encoded at the lesser second bitrate, thereby conserving streaming bandwidth by a substantial amount approximately equally to a difference between the first and second bitrates.
Network Environment
Client device 104 may be capable of wireless and/or wired communication with networks 106. Client device 104 includes processing, storage, communication, and user interface capabilities sufficient to provide all of the client device functionality described herein. Such functionality may be provided, at least in part, by one or more applications, such as computer programs, that execute on client device 104. Applications executed on client device 104 may include a client-side application, which presents Graphical User Interfaces (GUIs) through which a user of the client device may interact with and request services from corresponding server-side applications hosted in services 102. Accordingly, under user control, client device 104 may request/select programs from services 102, stream the selected programs from the services, and then present the streamed programs, in other words, playback the streamed programs.
Network services 102 include, but are not limited to, one or more media provider(s) 112 to originate source programs, and one or more media distributor(s) 114 to encode, store, and distribute the programs to client device 104. Each of the services 102 may be implemented as one or more computer servers that execute one or more associated server-side computer program applications suited to the given service. Media providers 112, such as Netflix®, HBO®, cable networks, and so on, utilize network services 102 to manage and deliver their revenue bearing programs to client device 104. Media providers 112 download their source programs to distributor 114, which encodes, stores, and then streams the encoded programs to client device 104 when requested to do so.
Distributor 114 includes an encoder 122 and a stream manager 126. Encoder 122 may encode each program into a number of alternative streams to support adaptive bitrate streaming of the program. The alternative streams encode the same program in different ways, such as at one or more of different bitrates, one or more different resolutions, and/or one of more different frame rates. As will be described more fully below in connection with
Distributor 114 may also store auxiliary streams which contain information associated with the program streams mentioned above. The auxiliary streams are encoded at low bitrates, e.g., at bitrates of 200 kbps or much less. The auxiliary streams may include metadata synchronized in time with and descriptive of the content in associated main program streams. The metadata may include cues indicating or bracketing, e.g., commercial segments, or other non-program segments/content, such as level-drop information for encoded section swapping as will be described below, interspersed throughout the program streams. Typically, such auxiliary streams would be streamed simultaneously with their associated program streams and handled appropriately at the client device. However, the auxiliary streams may be streamed before the program streams.
As discussed above, client-side GUIs provide a user with access to services and program offerings. Such client-side GUIs typically include easily navigable program guides, and may present programs and channel selection options, program descriptions, advertisements, programming/user control options, and other typical programming features, as would be appreciated by those of ordinary skill in the relevant arts. The client-side GUIs accept user selections/requests, such as a request to view a program. In response to such GUI selections/requests, the client-side application sends appropriate requests to a counterpart server-side application residing in distributor 114, to initiate the appropriate actions among services 102 that will satisfy the client selections/requests, e.g., enable a client device to stream the selected program from the distributor for presentation to the user.
Container Files—Streaming Sources
As described above, distributor 114 encodes source programs from providers 112. To support adaptive bitrate streaming, distributor 122 may encode the source programs at multiple bitrates to produce multiple streams for each source program, as will be described more fully below in connection with
Program stream index 204 includes pointers 210(1)-(4), e.g., Uniform Resource Locators (URLs), to corresponding container files 208(1)-(4), and lists encoding parameters used to encode each of the streams 1-4, including, but not limited to, encoded bitrates Rate 1-Rate 4, encoding resolutions Res 1-Res 4, frame rates, and encoding techniques/standards. Exemplary, non-limiting, bitrates may range from below 125 kilo-bits-per-second (kbps) up to 15,000 kbps, or even higher, depending on the type of encoded media.
Each of container files 208 comprises sequential clusters 212 of a larger media sector (not shown in
Each cluster/block 212/214 in a given one of container files 208 encodes the same content (e.g., video content) as corresponding clusters in the other ones of the container files. For example, the cluster/block indicated at A in container file 208(1) has encoded therein the same video as that encoded in the clusters/blocks indicated at B, C, and D of container files 208(2), 208(3), and 208(4), respectively. Corresponding clusters/blocks are also referred to herein as “co-located” clusters/blocks because they encode the same video and share the same time code TC, i.e., they are aligned or coincide in time.
Container files may encode a single stream, such as a video stream (as depicted in
In addition, a container file may encode only a metadata stream at a relatively low bitrate.
The encoded container files depicted in
In embodiments: the container files may be Matroska containers based on Extensible Binary Meta Language (EBML), which is a derivative of Extensible Binary Meta Language (XML), or files encoded in accordance with the Moving Picture Experts Group (MPEG) standard; the program index may be provided in a Synchronized Multimedia Integration Language (SMIL) format; and client device 104 may implement adaptive streaming from distributor 114 over networks 106 using the HTTP protocol.
The container files described above may support adaptive streaming of encoded video programs across an available spectrum bandwidth that is divided into multiple, i.e., n, levels. Video having a predetermined video resolution for each level may be encoded at a bitrate corresponding to the bandwidth associated with the given level. For example, in DivX® Plus Streaming, by Rovi Corporation, the starting bandwidth is 125 kbps and the ending bandwidth is 8400 kbps, and the number n of bandwidth levels is eleven (11). Each bandwidth level encodes a corresponding video stream, where the maximum encoded bitrate of the video stream (according to a hypothetical reference decoder model of the video coding standard H.264) is set equal to the bandwidth/bitrate of the given level. In DivX® Plus Streaming, the 11 levels are encoded according to 4 different video resolution levels, in the following way: mobile (2 levels), standard definition (4 levels), 720p (2 levels), and 1080p (3 levels).
Section Swapping: Objective Quality vs. Perceptual Quality
Adaptive streaming embodiments described herein take into consideration certain characteristics in the content in video programs (also referred to herein simply as “video”) to be streamed, to reduce streaming bitrates, as will now be described. The human visual system is able to detect small changes in the perceptual or presentation quality of presented video. However, perceptual quality and changes in perceptual quality are difficult to measure directly. Instead, certain characteristics or properties of encoded video, that are indicative of perceptual quality video as actually presented (i.e., once the encoded video is decoded and presented), may be determined, e.g., measured directly, in a straight forward manner. Such measured properties represent an objective quality of the video. As the content of encoded video varies across successive sections of the encoded video, and between co-located sections of encoded video in different video streams, the objective quality correspondingly varies, and may be measured to determine a level of objective quality corresponding to each of the aforementioned sections. The term “section” as used herein refers to a number of successive frames of video, including, but not limited to, multimedia audio-visual content, which may be collected into successive blocks and clusters in container files for streaming, as described above.
The difference in objective quality levels between co-located sections of encoded video (e.g., between co-located clusters from two container files that encode the same video but at different bitrates) may be used to determine a corresponding difference in the perceptual quality of the two video sections. Specifically, the difference in objective quality levels may be used to determine whether that difference is sufficiently large as to cause a visually noticeable difference in the perceptual quality of the two sections (once decoded and presented). With this in mind, there exists a criterion of objective quality (referred to as a predetermined “swap criterion” of objective quality), for the two objective quality levels, that translates to a virtually imperceptible difference in perceptual quality. Two co-located sections having objective quality levels that meet this criterion are considered interchangeable or swappable with each other for purposes of streaming to a client device because of their imperceptible or nearly imperceptible difference in perceptual quality. “Co-located” sections are also referred to herein as “corresponding” sections.
Swappable, co-located, encoded sections may be swapped to reduce streaming bandwidth in cases where co-located sections include a first section encoded at a relatively high bitrate and a (co-located) second section encoded at a relatively low bitrate. Specifically, streaming the (lower bitrate) second section instead of (i.e., in place of) its co-located (higher bitrate) first section reduces streaming bandwidth, while maintaining perceptual quality. The first section is referred to herein as a “replaceable section” and the second section that is streamed instead of the first section is referred to herein as the “replacement section.” The more often high bitrate sections are replaced with their co-located low bitrate sections while streaming, i.e., the more often bitrate swapping occurs, the more streaming bandwidth is conserved.
Measures of objective quality of a section of encoded video (e.g., of a cluster/block of encoded video) include, but are not limited to, a signal-to-noise ratio (SNR) of the section, a peak SNR (PSNR) of the section, a structural similarity index (SSIM) that measures a similarity between sections, and so on.
PSNR is a commonly used measure for assessing a quality of reconstructed video after compression (encoding). PSNR is measured on a logarithmic scale and depends on the Mean Squared Error (MSE) between an original source image and an impaired image or video frame. A higher PSNR generally indicates better quality, while a lower PSNR generally indicates poorer quality. Formulas for PSNR are given below:
Where: m & n are dimensions of an image; I & K are components of an image (Y, U, V); and MAXi is a maximum possible pixel value.
Each section of encoded video may be assigned one or more scores based on the different possible objective quality measures. Multiple successive encoded sections may have their objective quality levels combined into and, therefore, associated with, a single measurement of objective quality, which may include, e.g., a mean or variance of the SNR (or PSNR) of each of the multiple sections.
A criterion of objective quality that indicates co-located sections may be swapped with little or no impact on perceptual quality—if the co-located section have levels of objective quality that each meet that criterion—may be based on one of:
For relative criterion (b), a variable scale may be defined using as a base PSNR a highest level PSNR among encoded sections under consideration; e.g., for encoded section PSNR levels in a range of 29 dB and 31 dB, an acceptable difference value may be 1.5 dB, and for encoded section PSNR levels in a range of 27 dB and 29 dB, an acceptable PSNR difference level may be only 1 dB. The variable scale may be extended to cover all encoded section PSNR levels that are expected as part of an encoding process, and may also extend to cover other objective quality metrics such as a mean, a variance, a difference between highest and lowest PSNR levels in a cluster, or a formula combining some or all of these or other metrics. Such assignments may be altered based on the type of objective quality that is used.
Embodiments directed to adaptive streaming using section swapping described below include (i) a “swapping-while-streaming” embodiment in which swappable co-located sections from different files are swapped while streaming, and (ii) a “pre-swapped streaming” embodiment in which a single file containing pre-swapped sections is constructed from multiple encoded files before streaming is initiated, and then all of the sections in the single file, including the pre-swapped sections, are streamed from that file. Examples of these embodiments are described below.
Swapping-While-Streaming
In swapping-while-streaming, swappable co-located sections are swapped while streaming from multiple different container files in real-time, such as from multiple container files 208 in
Traversing left-to-right in
Pre-Swapped Streaming
In pre-swapped streaming, a single file containing swappable sections, i.e., level-drops, is constructed from multiple files before streaming. Then, the sections in the single file, including the pre-swapped sections, are streamed from that file.
Level-Drop Information
Distributor 114 may embed level-drop information 800 as in container files as metadata. Alternatively, or additionally, level-drop information may be stored as an auxiliary/metadata, level-drop file that is stored and indexed separately from the container files. Therefore, in the swapping-while-streaming embodiment, level-drop information 800 may be streamed from distributor 114, to client device 104, with streamed clusters. Alternatively, level-drop information may be streamed from the auxiliary file separately from the clusters.
In the pre-swapped embodiment, distributor 114 uses level-drop information 800 to construct a single pre-swapped file and need not be streamed to client device 104. However, client device 104 does not need the level-drop information.
Server-Client Sequence Diagram
During initialization/set-up phase 904, distributor 114 encodes video programs and stores the encoded video programs in container files for subsequent streaming to client device 104. Distributor 114 determines swappable co-located sections among the container files associated with each program based on determined objective quality measures and a predetermined swap criterion for the objective quality measures of co-located clusters in different files, as discussed above. Distributor 114 embeds drop-level information, such as information 900, in the container files, or stores the information in a separate drop-level file. In the pre-swapped embodiment, distributor 114 constructs a single file for streaming using the drop-level information and the multiple container files.
During a user interaction phase 920, client device 104 presents client-side GUIs to a user. At 924, the user selects a program from the GUIs, and, in response, client device 104 sends a request for the program to distributor 114.
During a pre-streaming phase 930, in response to the client device request (at 924), at 932, the distributor 114 sends an index of URLs associated with the requested program to client device 104. In the swapping-while-streaming embodiment, distributor 114 may also sends drop-level information if such information is provided in a separate file. Alternatively, distributor 114 may stream the drop-level information to client 104 in subsequent pre-streaming and streaming phases 930, 940, described below. The URLs may include a first URL directed to a program index (e.g., index 204 in
During streaming phase 940, streaming of the requested program from distributor 114 to client device 104 commences. Client device 104 determines a streaming bandwidth available at the client device and selects a stream from among the multi-bitrate streams, as indicated in the program index, that best matches the determined bandwidth. Client device 104 continually requests encoded stream sections from container files in distributor 114 based on the index information and the level-drop information (in the swapping-while-streaming embodiment), and receives the requested blocks from the distributor. In the swapping-while-streaming embodiment, the level-drop information may have been received during pre-streaming phase 930, may be streamed from a separate level-drop file, and/or may be embedded as records in the encoded video sections streamed during stage 940. Client device 104 buffers the received sections, decodes the buffered sections, and then presents the decoded sections. As streaming conditions change, client device 104 may switch to a new stream, i.e., request sections from another stream having a bitrate better suited to the changed conditions.
In yet another embodiment, level-drop information may be calculated dynamically at client device 104 instead of distributor 114 based on objective quality levels embedded in streamed sections. In this embodiment, distributor 114 embeds measured objective quality levels in corresponding encoded video sections, and streams the sections to the client device 104. Client device 104 calculates level-drop information based on the received objective quality levels, and performs swapping-while-streaming based on the dynamically calculated objective quality levels.
In both the swapping-while-streaming and pre-swapped embodiments, client device 104 intermittently requests replacement blocks having a lower encoded bitrate than the co-located replaceable block, which advantageously conserves streaming bandwidth at the client device. Each replacement block is streamed at the same its corresponding or co-located replaceable block would have been streamed had it not been replaced.
Client-Side Method
Server/Network-Side Method
Methods and systems disclosed herein may be implemented with respect to one or more of a variety of systems including one or more consumer systems, such as described below with reference to
In a prototype example, a full length feature movie (video program) (2 hours and 25 minutes) was encoded at three bitrates: 8400 kbps, 5300 kbps, and 3500 kbps utilizing a 2-pass encoding process at a resolution of 1920×816 pixels and 24 frames per second. The PSNR for each frame was determined against the original source video, and the frames were grouped into clusters of 48 frames, corresponding to 2 seconds of video frames. From here, the lowest PSNR of the frames in a cluster was determined for each cluster, and a minimum PSNR of 40 dB was chosen as the least acceptable objective quality metric for a cluster. If the minimum PSNR for a cluster at a lower level was available, that cluster was swapped for the higher level cluster. This approach was used for 8400 kbps (using 8400 kbps, 5300 kbps, and 3500 kbps), and for 5300 kbps (using 5300 kbps and 3500 kbps). The results were an accumulative bandwidth savings of 36% for an 8400 kbps stream and 18% for a 5300 kbps stream, with minimal impact on perceptual quality.
System and Computer Block Diagrams
System 1500 or portions thereof may be implemented within one or more integrated circuit dies, and may be implemented as a system-on-a-chip (SoC).
System 1500 may include one or more processors 1504 to execute client-side application programs stored in memory 1505.
System 1500 may include a communication system 1506 to interface between processors 1504 and communication networks, such as networks 106. Communication system 1506 may include a wired and/or wireless communication system.
System 1500 may include a stream processor 1507 to process program streams, received over channel 1508 and through communication system 1506, for presentation at system 1500. Stream processor 1507 includes a buffer 1507a to buffer portions of received, streamed programs, and a decoder 1507b to decode and decrypt the buffered programs in accordance with encoding and encryption standards, and using decryption keys. In an alternative embodiment, decoder 1507b may be integrated with a display and graphics platform of system 1500. Stream processor 1507 together with processors 1504 and memory 1505 represent a controller of system 1500. This controller includes modules to perform the functions of one or more examples described herein, such as a streaming module to stream programs through communication system 1506.
System 1500 may include a user interface system 1510.
User interface system 1510 may include a monitor or display 1532 to display information from processor 1504, such as client-side storefront GUIs.
User interface system 1510 may include a human interface device (HID) 1534 to provide user input to processor 1504. HID 1534 may include, for example and without limitation, one or more of a key board, a cursor device, a touch-sensitive device, and or a motion and/or image sensor. HID 1534 may include a physical device and/or a virtual device, such as a monitor-displayed or virtual keyboard.
User interface system 1510 may include an audio system 1536 to receive and/or output audible sound.
System 1500 may correspond to, for example, a computer system, a personal communication device, and/or a television set-top box.
System 1500 may include a housing, and one or more of communication system 1506, processors 1504, memory 1505, user interface system 1510, or portions thereof may be positioned within the housing. The housing may include, without limitation, a rack-mountable housing, a desk-top housing, a lap-top housing, a notebook housing, a net-book housing, a set-top box housing, a portable housing, and/or other conventional electronic housing and/or future-developed housing. For example, communication system 1502 may be implemented to receive a digital television broadcast signal, and system 1500 may include a set-top box housing or a portable housing, such as a mobile telephone housing.
Accordingly, system 1500 may include, but is not limited to, stand-alone equipment, such as personal computers, laptops, ultrabooks, and tablets, and mobile phones and smartphones/Personal Digital Assistants (PDAs). System 150 may also represent and include a suite of interconnected devices, such a set-top box/video game console device, a remote to operate such a device, and an audio-visual display and/or computer. System 1500 may also represent and include (digital video disk) DVD and Blu-ray players, and televisions.
Computer system 1600 includes one or more computer instruction processing units and/or processor cores, illustrated here as processor 1602, to execute computer readable instructions, also referred to herein as computer program logic.
Computer system 1600 may include memory, cache, registers, and/or storage, illustrated here as memory 1604, which may include a non-transitory computer readable medium encoded with computer programs, illustrated here as computer program 1606.
Memory 1604 may include data 1608 to be used by processor 1602 in executing computer program 1606, and/or generated by processor 1602 during execution of computer program 1606. Data 1608 includes a database 1608a of container files and generated drop-level information for use in the methods described herein.
Computer program 1606 may include the following server-side instructions:
Methods and systems disclosed herein may be implemented in hardware, software, firmware, and combinations thereof, including discrete and integrated circuit logic, application specific integrated circuit (ASIC) logic, and microcontrollers, and may be implemented as part of a domain-specific integrated circuit package, and/or a combination of integrated circuit packages. Software may include a computer readable medium encoded with a computer program including instructions to cause a processor to perform one or more functions in response thereto. The computer readable medium may include a transitory and/or non-transitory medium. The processor may include a general purpose instruction processor, a controller, a microcontroller, and/or other instruction-based processor.
Methods and systems are disclosed herein with the aid of functional building blocks illustrating functions, features, and relationships thereof. At least some of the boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries may be defined so long as the specified functions and relationships thereof are appropriately performed.
A method embodiment which may be performed at a client-side or a network/server-side comprises:
identifying
streaming the first sections of video except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections.
The method may further comprise:
decoding the streamed first sections and the replacement sections to recover the video encoded therein; and
presenting the recovered video.
In the method, the predetermined criterion of objective quality, if met, may translate to an acceptable difference in perceptual quality levels of the video when decoded from the corresponding replaceable and replacement sections, and then presented.
In the method, the replacement sections may include:
first replacement sections encoded at a second bit rate that is less than the first bitrate; and
second replacement sections encoded at a third bitrate that is less than the second bitrate.
In the method, the streaming may include:
streaming the first sections except for the replaceable sections from a first file containing the first sections and the replaceable sections; and
streaming the replacement sections instead of the replaceable sections from a second file containing the replacement sections.
The method may further comprise:
requesting to stream the video;
receiving an index to multiple files containing the video encoded at different bitrates, including at least the first bitrate and the bitrate that is less than the first bit rate;
determining an available streaming bandwidth;
selecting the file encoded at the first bitrate based on the determined streaming bandwidth,
wherein
the identifying may include receiving level-drop information identifying the replaceable and replacement sections, and
the streaming may include streaming the first sections except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections, based on the identifying information.
The streaming may include receiving requests for the sections of video and transmitting the requested sections of video.
The identifying may include streaming information identifying the replaceable and replacement sections in streaming sources.
In the method, each of the measured levels of objective quality may be based on a signal to noise ratio (SNR) and the predetermined criterion may be based on a one of an absolute SNR level and a relative SNR between the measured levels of objective quality.
A computer program product embodiment corresponding to the above-recited method embodiment comprises a non-transitory computer readable medium encoded with a computer program, including instructions to cause a processor to:
identify
stream the first sections of video except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections.
The predetermined criterion of objective quality, if met, may translate to an acceptable difference in perceptual quality levels of the video decoded from the corresponding replaceable and replacement sections, and then presented.
The replacement sections may include:
first replacement sections encoded at a second bit rate that is less than the first bitrate; and
second replacement sections encoded at a third bitrate that is less than the second bitrate.
The instruction to cause the processor to stream may include instructions to cause the processor to:
stream the first sections except for the replaceable sections from a first file containing the first sections and the replaceable sections; and
stream the replacement sections instead of the replaceable sections from a second file containing the replacement sections.
The instructions may further include instructions to cause the processor to:
request to stream the video;
receive an index to multiple files containing the video encoded at different bitrates, including at least the first bitrate and the bitrate that is less than the first bit rate;
determine an available streaming bandwidth;
select the file encoded at the first bitrate based on the determined streaming bandwidth; and
receive the information identifying the replaceable and replacement sections,
wherein
the instructions to cause the processor to identify may include instructions to cause the processor to receive level-drop information that identifies the replaceable and replacement sections, and
the instructions to cause the processor to stream may include instructions to cause the processor to stream the first sections except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections, based on the identifying information.
The instructions to cause the processor to stream may include instructions to cause the processor to receive requests for the sections of video and transmit the requested sections of video.
The instructions to cause the processor to identify may include instructions to cause the processor to stream information identifying the replaceable and replacement sections in streaming sources.
Each of the measured levels of objective quality may be based on a signal to noise ratio (SNR) and the predetermined criterion is based on a one of an absolute SNR level and a relative SNR between the measured levels of objective quality.
An apparatus embodiment corresponding to the above method and computer program product embodiments comprises:
a processor and memory configured to:
identify
stream the first sections of video except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections.
The predetermined criterion of objective quality, if met, may translate to an acceptable difference in perceptual quality levels of the video decoded from the corresponding replaceable and replacement sections, and then presented.
The replacement sections may include:
first replacement sections encoded at a second bit rate that is less than the first bitrate; and
second replacement sections encoded at a third bitrate that is less than the second bitrate.
The processor and memory, configured to stream, may be configured to:
stream the first sections except for the replaceable sections from a first file containing the first sections and the replaceable sections; and
stream the replacement sections instead of the replaceable sections from a second file containing the replacement sections.
The processor and memory may be further configured to:
request to stream the video;
receive an index to multiple files containing the video encoded at different bitrates, including at least the first bitrate and the bitrate that is less than the first bit rate;
determine an available streaming bandwidth;
select the file encoded at the first bitrate based on the determined streaming bandwidth,
wherein
the processor and memory, configured to identify, may be further configured to receive level-drop information identifying the replaceable and replacement sections, and
the processor and memory, configured to stream, may be further configured to stream the first sections except for the replaceable sections, and the replacement sections instead of the corresponding replaceable sections, based on the identifying information.
The processor and memory, configured to stream, may be further configured to receive requests for the sections of video and transmit the requested sections of video.
The processor and memory, configured to identify, may be further configured to identify the replaceable and replacement sections from streamed information.
The apparatus may further comprise:
a user interface system;
a communication system to communicate with a network; and
a housing to house the processor and memory, the communication system, and the user interface system.
The communication system may include a wireless communication system; and
the housing includes a mobile hand-held housing to receive the processor and memory, the user interface system, the communication system, and a battery.
While various embodiments are disclosed herein, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail may be made therein without departing from the spirit and scope of the methods and systems disclosed herein. Thus, the breadth and scope of the claims should not be limited by any of the examples disclosed herein.
Shivadas, Abhishek, Amidei, William David
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
10169094, | Apr 27 2011 | Hewlett Packard Enterprise Development LP | Dynamic transaction-persistent server load balancing |
10171873, | Apr 18 2005 | Multimedia system for mobile client platforms | |
10212486, | Dec 04 2009 | DivX CF Holdings LLC; DIVX, LLC | Elementary bitstream cryptographic material transport systems and methods |
10225299, | Dec 31 2012 | DivX CF Holdings LLC; DIVX, LLC | Systems, methods, and media for controlling delivery of content |
10225588, | Sep 01 2011 | DIVX, LLC | Playback devices and methods for playing back alternative streams of content protected using a common set of cryptographic keys |
10244272, | Sep 01 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
10264255, | Mar 15 2013 | DIVX, LLC | Systems, methods, and media for transcoding video data |
10321168, | Apr 05 2014 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
10341698, | Sep 01 2011 | DIVX, LLC | Systems and methods for distributing content using a common set of encryption keys |
10368096, | Jan 05 2011 | DIVX, LLC | Adaptive streaming systems and methods for performing trick play |
10382785, | Jan 05 2011 | DIVX, LLC | Systems and methods of encoding trick play streams for use in adaptive streaming |
10437896, | Jan 07 2009 | DivX CF Holdings LLC; DIVX, LLC | Singular, collective, and automated creation of a media guide for online content |
10462537, | May 30 2013 | DivX CF Holdings LLC; DIVX, LLC | Network video streaming with trick play based on separate trick play files |
10715806, | Mar 15 2013 | DIVX, LLC | Systems, methods, and media for transcoding video data |
10805368, | Dec 31 2012 | DIVX, LLC | Systems, methods, and media for controlling delivery of content |
10856020, | Sep 01 2011 | DIVX, LLC | Systems and methods for distributing content using a common set of encryption keys |
10893305, | Apr 05 2014 | DIVX, LLC | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
10992955, | Jan 05 2011 | DIVX, LLC | Systems and methods for performing adaptive bitrate streaming |
11638033, | Jan 05 2011 | DIVX, LLC | Systems and methods for performing adaptive bitrate streaming |
3609227, | |||
4009331, | Dec 24 1974 | Goldmark Communications Corporation | Still picture program video recording composing and playback method and system |
4694357, | Apr 24 1985 | Thomson-CSF Broadcast, Inc. | Apparatus and method for video signal processing |
4802170, | Apr 29 1987 | MATROX ELECTRONICS SYSTEMS LIMITED, 1055 ST REGIS BLVD , DORVAL, QUEBEC, H9P 2T4, CANADA | Error disbursing format for digital information and method for organizing same |
4964069, | May 12 1987 | International Business Machines Corporation | Self adjusting video interface |
5119474, | Jun 16 1989 | LENOVO SINGAPORE PTE LTD | Computer-based, audio/visual creation and presentation system and method |
5132992, | Jan 07 1991 | Greenwich Information Technologies, LLC | Audio and video transmission and receiving system |
5274758, | Jun 16 1989 | LENOVO SINGAPORE PTE LTD | Computer-based, audio/visual creation and presentation system and method |
5341474, | May 15 1992 | TTI Inventions A LLC | Communications architecture and buffer for distributing information services |
5361332, | Oct 09 1990 | CANON KABUSHIKI KAISHA, A CORPORATION OF JAPAN | Method of commonly using font information for outputting information in a system having a plurality of information processing devices |
5396497, | Feb 26 1993 | Sony Corporation | Synchronization of audio/video information |
5400401, | Oct 30 1992 | TECH 5 SAS | System and method for transmitting a plurality of digital services |
5404436, | Nov 27 1991 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Computer method and apparatus for converting compressed characters for display in full size |
5420801, | Nov 13 1992 | International Business Machines Corporation | System and method for synchronization of multimedia streams |
5420974, | Oct 15 1992 | International Business Machines Corporation | Multimedia complex form creation, display and editing method apparatus |
5471576, | Nov 16 1992 | International Business Machines Corp | Audio/video synchronization for application programs |
5477263, | May 26 1994 | Verizon Patent and Licensing Inc | Method and apparatus for video on demand with fast forward, reverse and channel pause |
5479303, | Oct 21 1992 | Nippon Telegraph and Telephone Corporation | Method and apparatus for visual search control of digital video files |
5487167, | Dec 31 1991 | LENOVO SINGAPORE PTE LTD | Personal computer with generalized data streaming apparatus for multimedia devices |
5502766, | Apr 17 1992 | McAfee, Inc | Data enclave and trusted path system |
5509070, | Dec 15 1992 | SL Patent Holdings LLC | Method for encouraging purchase of executable and non-executable software |
5533021, | Feb 03 1995 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of multimedia data |
5537408, | Feb 03 1995 | International Business Machines Corporation | apparatus and method for segmentation and time synchronization of the transmission of multimedia data |
5539908, | Nov 24 1992 | International Business Machines Corporation | Dynamically linked and shared compression/decompression |
5541662, | Sep 30 1994 | Intel Corporation | Content programmer control of video and data display using associated data |
5544318, | Apr 16 1993 | TOMAS RECORDINGS LLC | Asynchronous media server request processing system for servicing reprioritizing request from a client determines whether or not to delay executing said reprioritizing request |
5550863, | Jan 07 1991 | Greenwich Information Technologies, LLC | Audio and video transmission and receiving system |
5574785, | May 31 1994 | Fujitsu Limited | Enciphered communication system |
5583652, | Apr 28 1994 | IBM Corporation | Synchronized, variable-speed playback of digitally recorded audio and video |
5589993, | Feb 23 1993 | Panasonic Corporation of North America | Digital high definition television video recorder with trick-play features |
5600721, | Jul 30 1993 | Sony Corporation | Apparatus for scrambling a digital video signal |
5614940, | Oct 21 1994 | Intel Corporation | Method and apparatus for providing broadcast information with indexing |
5621794, | Dec 06 1994 | Fujitsu Limited | Moving-picture encipherment method and system, and enciphered moving-picture decipherment method and system |
5627936, | Dec 21 1995 | Intel Corporation | Apparatus and method for temporal indexing of multiple audio, video and data streams |
5630005, | Mar 22 1996 | Cirrus Logic, INC | Method for seeking to a requested location within variable data rate recorded information |
5633472, | Jun 21 1994 | Microsoft Technology Licensing, LLC | Method and system using pathnames to specify and access audio data at fidelity levels other than the level at which the data is stored |
5642171, | Jun 08 1994 | Dell USA, L.P. | Method and apparatus for synchronizing audio and video data streams in a multimedia system |
5642338, | Oct 08 1993 | Matsushita Electric Industrial Co., Ltd. | Information recording medium and apparatus and method for recording and reproducing information |
5655117, | Nov 18 1994 | Alcatel Lucent | Method and apparatus for indexing multimedia information streams |
5664044, | Apr 28 1994 | International Business Machines Corporation | Synchronized, variable-speed playback of digitally recorded audio and video |
5675382, | Apr 08 1996 | LOGITECH EUROPE, S A | Spatial compression and decompression for video |
5675511, | Dec 21 1995 | Intel Corporation | Apparatus and method for event tagging for multiple audio, video, and data streams |
5684542, | Dec 21 1993 | Sony Corporation | Video subtitle processing system |
5715403, | Nov 23 1994 | CONTENTGUARD HOLDINGS, INC | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
5717816, | Apr 18 1994 | Hitachi America Ltd.; Hitachi America, Ltd | Method and apparatus for the selection of data for use in VTR trick playback operation in a system using intra-coded video frames |
5719786, | Feb 03 1993 | JPMORGAN CHASE BANK, N A , AS SUCCESSOR AGENT | Digital media data stream network management system |
5745643, | Apr 06 1995 | Kabushiki Kaisha Toshiba | System for and method of reproducing playback data appropriately by the use of attribute information on the playback data |
5751280, | Dec 11 1995 | RPX Corporation | System and method for media stream synchronization with a base atom index file and an auxiliary atom index file |
5751358, | Sep 29 1994 | Sony Corporation | Video encoder with quantization controlled by inter-picture correlation |
5754648, | May 12 1995 | Macrovision Corporation | Video media security and tracking system |
5757968, | Sep 29 1994 | Sony Corporation | Method and apparatus for video data compression |
5761417, | Sep 08 1994 | GOOGLE LLC | Video data streamer having scheduler for scheduling read request for individual data buffers associated with output ports of communication node to one storage node |
5763800, | Aug 14 1995 | CREATIVE TECHNOLOGY LTD | Method and apparatus for formatting digital audio data |
5765164, | Dec 21 1995 | Intel Corporation | Apparatus and method for management of discontinuous segments of multiple audio, video, and data streams |
5794018, | Nov 24 1993 | Intel Corporation | System and method for synchronizing data streams |
5805700, | Oct 15 1996 | Intel Corporation | Policy based selective encryption of compressed video data |
5813010, | Apr 14 1995 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
5819160, | Sep 18 1996 | AT&T Corp | Programmable radio subscription system for receiving selectively defined information |
5822524, | Jul 21 1995 | Infovalue Computing, Inc. | System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size |
5828370, | Jul 01 1996 | OPEN TV, INC ; OPENTV, INC | Video delivery system and method for displaying indexing slider bar on the subscriber video screen |
5838791, | Aug 10 1994 | Fujitsu Limited | Encoder and decoder |
5841432, | Feb 09 1996 | B S D CROWN LTD | Method and system of building and transmitting a data file for real time play of multimedia, particularly animation, and a data file for real time play of multimedia applications |
5844575, | Jun 27 1996 | Intel Corporation | Video compression interface |
5848217, | Aug 02 1995 | Sony Corporation | Subtitle encoding/decoding method and apparatus |
5852664, | Jul 10 1995 | HEATHWAY HOLDINGS, LLC | Decode access control for encoded multimedia signals |
5854873, | Sep 29 1995 | MATSUSHITA ELECTRIC INDUSTRIAL CO ,L TD | Method and an apparatus for encoding a bitstream with plural possible searching reproduction paths information |
5867625, | Oct 20 1994 | Thomson Consumer Electronics, Inc. | Digital VCR with trick play steam derivation |
5874986, | Jun 26 1996 | AT&T Corp | Method for communicating audiovisual programs over a communications network |
5878135, | Nov 27 1996 | UQE LLC | Decoding system for processing encrypted broadcast, cable or satellite video data |
5887110, | Mar 28 1995 | Nippon Telegraph & Telephone Corp. | Video data playback system using effective scheme for producing coded video data for fast playback mode |
5892900, | Aug 30 1996 | INTERTRUST TECHNOLOGIES CORP | Systems and methods for secure transaction management and electronic rights protection |
5892915, | Apr 25 1997 | EMC IP HOLDING COMPANY LLC | System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list |
5903261, | Jun 20 1996 | DATA TRANSLATION II, INC ; DATA TRANSLATION, INC , A DELAWARE CORPORATION | Computer based video system |
5907597, | Aug 05 1994 | SMART TONE, INC , A DELWARE CORPORATION | Method and system for the secure communication of data |
5907658, | Aug 21 1995 | Matsushita Electric Industrial Co., Ltd. | Multimedia optical disk, reproduction apparatus and method for achieving variable scene development based on interactive control |
5923869, | Sep 29 1995 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween |
5946446, | Jun 23 1994 | Sony Corporation | Recording and reproduction of variable-speed playback data using a specific area on each track of a recording medium |
5956729, | Sep 06 1996 | Google Technology Holdings LLC | Multimedia file, supporting multiple instances of media types, and method for forming same |
5959690, | Feb 20 1996 | Research Triangle Institute | Method and apparatus for transitions and other special effects in digital motion video |
5970147, | Sep 30 1997 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | System and method for configuring and registering a cryptographic device |
5973679, | Dec 11 1995 | ESPIAL, INC | System and method for media stream indexing |
5999812, | Jul 01 1997 | Apple Inc | Method for self registration and authentication for wireless telephony devices |
6002834, | Feb 24 1995 | HITACHI CONSUMER ELECTRONICS CO , LTD | Optical disk having table relating sector address and time and optical disk reproducing apparatus |
6009237, | Feb 24 1995 | Hitachi Ltd. | Optical disk and optical disk reproduction apparatus |
6016381, | Apr 14 1995 | Kabushiki Kaisha Toshiba | Apparatus for reproducing information |
6018611, | Jul 14 1994 | Sharp Kabushiki Kaisha | Recording apparatus which adaptively records amounts of low resolution video inversely to amounts of high resolution video which has the same program content |
6031622, | May 16 1996 | MONOTYPE IMAGING INC | Method and apparatus for font compression and decompression |
6038257, | Mar 12 1997 | TELEFONAKTIEBOLAGET L M ERIOCSSON | Motion and still video picture transmission and display |
6038316, | Aug 21 1995 | International Business Machines Corporation | Method and system for protection of digital information |
6044469, | Aug 29 1997 | SAFENET DATA SECURITY ISRAEL LTD | Software publisher or distributor configurable software security mechanism |
6046778, | Oct 29 1997 | Matsushita Electric Industrial Co., Ltd. | Apparatus for generating sub-picture units for subtitles and storage medium storing sub-picture unit generation program |
6047100, | Oct 20 1994 | THOMSON LICENSING S A | Trick play stream derivation for pre-recorded digital video recording |
6057832, | Dec 02 1997 | L-3 Communications Corporation | Method and apparatus for video-on-demand with fast play capability |
6058240, | Oct 20 1994 | THOMSON LICENSING S A | HDTV trick play stream derivation for VCR |
6064794, | Mar 30 1995 | THOMSON LICENSING S A | Trick-play control for pre-encoded video |
6065050, | Jun 05 1996 | Oracle America, Inc | System and method for indexing between trick play and normal play video streams in a video delivery system |
6079566, | Apr 07 1997 | TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK, THE | System and method for processing object-based audiovisual information |
6097877, | May 20 1994 | Sharp Kabushiki Kaisha | Digital recording and reproducing apparatus which multiplexes and records HDTV, SDTV and trick play data together on a magnetic tape |
6108422, | Sep 09 1994 | NOVA SCOTIA, BANK OF, THE AS ADMINISTRATIVE AGENT | Conditional access system, downloading of cryptographic information |
6141754, | Nov 28 1997 | UNILOC 2017 LLC | Integrated method and system for controlling information access and distribution |
6151634, | Nov 30 1994 | Intel Corporation | Audio-on-demand communication system |
6155840, | Sep 18 1998 | AT HOME BONDHOLDERS LIQUIDATING TRUST | System and method for distributed learning |
6169242, | Feb 02 1999 | Microsoft Technology Licensing, LLC | Track-based music performance architecture |
6175921, | Apr 28 1994 | Citibank, N.A. | Tamper-proof devices for unique identification |
6192075, | Aug 21 1997 | Integrated Device Technology, inc | Single-pass variable bit-rate control for digital video coding |
6195388, | Nov 27 1997 | UNILOC 2017 LLC | Apparatus and method for encoding multiple video programs |
6199107, | Jul 22 1998 | Microsoft Technology Licensing, LLC | Partial file caching and read range resume system and method |
6204883, | Dec 21 1993 | Sony Corporation | Video subtitle processing system |
6222981, | Feb 03 1997 | U.S. Philips Corporation | Recording of trick play signals on a record carrier |
6266483, | Oct 12 1998 | Panasonic Corporation | Information recording medium, apparatus and method for recording or reproducing data thereof |
6282320, | Mar 19 1997 | Sony Corporation | Video data decoding apparatus and method and video signal reproduction apparatus and method |
6282653, | May 15 1998 | Alibaba Group Holding Limited | Royalty collection method and system for use of copyrighted digital materials on the internet |
6289450, | May 28 1999 | EMC Corporation | Information security architecture for encrypting documents for remote access while maintaining access control |
6292621, | Feb 05 1996 | Canon Kabushiki Kaisha | Recording apparatus for newly recording a second encoded data train on a recording medium on which an encoded data train is recorded |
6308005, | May 15 1998 | Kabushiki Kaisha Toshiba | Information recording method and information reproducing method |
6320905, | Jul 08 1998 | Integrated Device Technology, inc | Postprocessing system for removing blocking artifacts in block-based codecs |
6330286, | Jun 09 1999 | HBC SOLUTIONS, INC | Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus |
6347145, | Jun 28 1996 | Kabushiki Kaisha Toshiba | Method and apparatus of enciphering and deciphering data using keys enciphered and deciphered with other keys |
6351538, | Oct 06 1998 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Conditional access and copy protection scheme for MPEG encoded video data |
6373803, | Feb 07 2000 | Kabushiki Kaisha Toshiba | Stream data generation method and partial erase processing method |
6374144, | Dec 22 1998 | Varian Semiconductor Equipment Associates, Inc | Method and apparatus for controlling a system using hierarchical state machines |
6389218, | Nov 30 1998 | COX COMMUNICATIONS, INC | Method and apparatus for simultaneously producing compressed play and trick play bitstreams from a video frame sequence |
6389473, | Mar 24 1998 | B S D CROWN LTD | Network media streaming |
6395969, | Jul 28 2000 | MXWORKS, INC | System and method for artistically integrating music and visual effects |
6397230, | Feb 09 1996 | B S D CROWN LTD | Real-time multimedia transmission |
6415031, | Mar 12 1999 | Comcast IP Holdings I, LLC | Selective and renewable encryption for secure distribution of video on-demand |
6418270, | Dec 02 1998 | Koninklijke Philips Electronics N V | Apparatus and method for recording a digital information signal in slant tracks on a record carrier |
6441754, | Aug 17 1999 | Google Technology Holdings LLC | Apparatus and methods for transcoder-based adaptive quantization |
6445877, | Nov 19 1998 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Information recording medium, apparatus and method for recording or reproducing data thereof |
6449719, | Nov 09 1999 | GOOGLE LLC | Process and streaming server for encrypting a data stream |
6453115, | Aug 31 2000 | KEEN PERSONAL MEDIA, INC ; KEEN PERSONAL TECHNOLOGIES, INC | Digital video recording system which generates an index data structure for displaying a video stream in trickplay mode |
6453116, | Feb 18 1999 | Kabushiki Kaisha Toshiba | Recording medium of stream data, and recording method and playback method of the same |
6466671, | Mar 21 1997 | Nagra France SAS | Smartcard for use with a receiver of encrypted broadcast signals, and receiver |
6466733, | Apr 30 1997 | Samsung Electronics Co., Ltd. | Digital recording/playback apparatus with improved error correction capability of outer error correction coding and method therefor |
6504873, | Jun 13 1997 | Nokia Technologies Oy | Filtering based on activities inside the video blocks and at their boundary |
6510513, | Jan 13 1999 | Microsoft Technology Licensing, LLC | Security services and policy enforcement for electronic data |
6510554, | Apr 27 1998 | SEDNA PATENT SERVICES, LLC DELAWARE LLC | Method for generating information sub-streams for FF/REW applications |
6512883, | Jun 28 1997 | Samsung Electronics Co., Ltd. | Control apparatus and method for reproducing data from a digital video disk at high speed |
6516064, | Jul 25 1995 | Sony Corporation | Signal recording apparatus, signal record medium and signal reproducing apparatus |
6532262, | Jul 22 1998 | Sovereign Peak Ventures, LLC | Coding method and apparatus and recorder |
6535920, | Apr 06 1999 | Microsoft Technology Licensing, LLC | Analyzing, indexing and seeking of streaming information |
6578200, | Oct 31 1996 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Data transmission/reception apparatus for use in a two-way digital broadcasting system |
6587506, | Nov 02 1999 | Sovereign Peak Ventures, LLC | Video editing apparatus, video editing method, and data storage medium for a video editing program |
6594699, | Oct 10 1997 | ESPIAL, INC | System for capability based multimedia streaming over a network |
6621979, | Jun 11 1998 | Koninklijke Philips Electronics N V | Trick play signal generation for a digital video recorder using retrieved intra-encoded pictures and generated inter-encoded pictures |
6625320, | Nov 27 1997 | British Telecommunications public limited company | Transcoding |
6628713, | Apr 30 1998 | Sony Corporation | Method and device for data encoding and method for data transmission |
6642967, | Nov 16 1999 | Sony United Kingdom Limited | Video data formatting and storage employing data allocation to control transcoding to intermediate video signal |
6654933, | Sep 21 1999 | ESPIAL, INC | System and method for media stream indexing |
6658056, | Mar 30 1999 | Sony Corporation; Sony Electronics INC | Digital video decoding, buffering and frame-rate converting method and apparatus |
6665835, | Dec 23 1997 | VERIZON LABORATORIES, INC | Real time media journaler with a timing event coordinator |
6671408, | Jan 27 1999 | XACTI CORPORATION | Motion image reproducing apparatus |
6690838, | Nov 30 1998 | Equator Technologies, Inc. | Image processing circuit and method for reducing a difference between pixel values across an image boundary |
6697568, | Feb 08 1999 | XACTI CORPORATION | Motion image recording apparatus and digital camera |
6714909, | Aug 13 1998 | Nuance Communications, Inc | System and method for automated multimedia content indexing and retrieval |
6721794, | Apr 01 1999 | Comcast IP Holdings I, LLC | Method of data management for efficiently storing and retrieving data to respond to user access requests |
6724944, | Mar 13 1997 | Qualcomm Incorporated | Adaptive filter |
6725281, | Jun 11 1999 | Rovi Technologies Corporation | Synchronization of controlled device state using state table and eventing in data-driven remote device control model |
6742082, | Jun 12 2001 | Network Appliance | Pre-computing streaming media payload method and apparatus |
6751623, | Jan 26 1998 | AT&T Corp | Flexible interchange of coded multimedia facilitating access and streaming |
6771703, | Jun 30 2000 | EMC IP HOLDING COMPANY LLC | Efficient scaling of nonscalable MPEG-2 Video |
6807306, | May 28 1999 | FUJI XEROX CO , LTD ; Xerox Corporation | Time-constrained keyframe selection method |
6810031, | Feb 29 2000 | CELOX NETWORKS, INC | Method and device for distributing bandwidth |
6810131, | Jan 05 2000 | Canon Kabushiki Kaisha | Information processing method and apparatus |
6810389, | Nov 08 2000 | Synopsys, Inc | System and method for flexible packaging of software application licenses |
6813437, | Jan 14 1999 | Kabushiki Kaisha Toshiba | Digital video recording system and its recording medium |
6819394, | Sep 08 1998 | Sharp Kabushiki Kaisha | Time-varying image editing method and time-varying image editing device |
6850252, | Oct 05 1999 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Intelligent electronic appliance system and method |
6856997, | Oct 27 2000 | LG Electronics Inc. | Apparatus and method for providing file structure for multimedia streaming service |
6859496, | May 29 1998 | International Business Machines Corporation | Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel |
6868525, | May 26 2000 | RELATIVITY DISPLAY LLC | Computer graphic display visualization system and method |
6871006, | Jun 30 2000 | EMC IP HOLDING COMPANY LLC | Processing of MPEG encoded video for trick mode operation |
6912253, | Sep 10 1999 | NTT DoCoMo, Inc | Method and apparatus for transcoding coded video image data |
6912513, | Oct 29 1999 | Sony Corporation; Sony Electronics Inc. | Copy-protecting management using a user scrambling key |
6917652, | Jan 12 2000 | LG Electronics, Inc. | Device and method for decoding video signal |
6931531, | Sep 02 1998 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Image object recording, compression, and encryption method and system |
6931543, | Nov 28 2000 | XILINX, Inc.; Xilinx, Inc | Programmable logic device with decryption algorithm and decryption key |
6944621, | Apr 21 1999 | Rovi Technologies Corporation | System, method and article of manufacture for updating content stored on a portable storage medium |
6944629, | Sep 08 1998 | Sharp Kabushiki Kaisha | Method and device for managing multimedia file |
6956901, | May 29 1998 | International Business Machines Corporation | Control strategy for dynamically encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel |
6957350, | Jan 30 1996 | DOLBY LABORATORIES, INC ; Dolby Laboratories Licensing Corporation | Encrypted and watermarked temporal and resolution layering in advanced television |
6965646, | Jun 28 2000 | Cisco Technology, Inc | MPEG file format optimization for streaming |
6965724, | Mar 30 1995 | THOMSON LICENSING S A | Trick-play modes for pre-encoded video |
6965993, | Nov 09 1999 | GOOGLE LLC | Process and streaming server for encrypting a data stream |
6970564, | Jul 13 1998 | Sony Corporation | Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device |
6983079, | Sep 20 2001 | Seiko Epson Corporation | Reducing blocking and ringing artifacts in low-bit-rate coding |
6985588, | Oct 30 2000 | LONGBEAM TECHNOLOGIES LLC | System and method for using location identity to control access to digital information |
6988144, | Nov 18 1999 | International Business Machines Corporation | Packet scheduling system and method for multimedia data |
7006757, | Mar 17 1999 | Kabushiki Kaisha Toshiba | Recording method of stream data and data structure thereof |
7007170, | Mar 18 2003 | GOOGLE LLC | System, method, and apparatus for securely providing content viewable on a secure device |
7020287, | Sep 30 2002 | Sony Corporation; Sony Electronics, Inc. | Method and system for key insertion for stored encrypted content |
7023924, | Dec 28 2000 | EMC IP HOLDING COMPANY LLC | Method of pausing an MPEG coded video stream |
7023992, | Jun 11 1997 | Sony Corporation | Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device |
7043021, | Aug 29 1999 | Intel Corporation | Digital video content transmission ciphering and deciphering method and apparatus |
7043473, | Nov 22 2000 | GOOGLE LLC | Media tracking system and method |
7051110, | Dec 20 1999 | MATSUSHITA ELECTRIC INDUSTRIAL CO , LTD | Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions |
7054968, | Sep 16 2003 | Cadence Design Systems, INC | Method and apparatus for multi-port memory controller |
7058177, | Nov 28 2000 | XILINX, Inc.; Xilinx, Inc | Partially encrypted bitstream method |
7073191, | Apr 08 2000 | Oracle America, Inc | Streaming a single media track to multiple clients |
7103906, | Sep 29 2000 | Rovi Technologies Corporation | User controlled multi-device media-on-demand system |
7110542, | Dec 30 1999 | Intel Corporation | Protecting audio/video content during storage and playback on a processor-based system |
7120250, | Sep 09 2002 | Sony Corporation; Sony Electronics INC | Content distribution for multiple digital rights management |
7124303, | Jun 06 2001 | Sony Corporation, a Japanese corporation; SONY ELECTRONICS INC A DELAWARE CORPORATION | Elementary stream partial encryption |
7127155, | Jul 07 1998 | Kabushiki Kaisha Toshiba | Information storage system capable of recording and playing back a plurality of still pictures |
7139868, | Apr 06 1999 | Microsoft Technology Licensing, LLC | Streaming information appliance with buffer read and write synchronization |
7143289, | Oct 30 2000 | LONGBEAM TECHNOLOGIES LLC | System and method for delivering encrypted information in a communication network using location identity and key tables |
7150045, | Dec 14 2000 | GOOGLE LLC | Method and apparatus for protection of electronic media |
7151832, | Nov 18 1999 | International Business Machines Corporation | Dynamic encryption and decryption of a stream of data |
7151833, | Sep 09 2002 | Sony Corporation; Sony Electronics | Selective encryption to enable trick play |
7165175, | Sep 06 2000 | GOOGLE LLC | Apparatus, system and method for selectively encrypting different portions of data sent over a network |
7167560, | Aug 08 2002 | SAMSUNG ELECTRONICS CO , LTD | Partial encryption of stream-formatted media |
7181438, | May 30 2000 | RELATIVITY DISPLAY LLC | Database access system |
7185363, | Oct 04 2002 | Rovi Technologies Corporation | Using a first device to engage in a digital rights management transaction on behalf of a second device |
7188183, | Aug 04 2000 | Oracle International Corporation | Maintaining state information in mobile applications |
7191335, | Feb 04 1999 | Nagra France SAS | Method and apparatus for encrypted transmission |
7197234, | May 24 2002 | ARRIS ENTERPRISES LLC | System and method for processing subpicture data |
7203313, | Jun 27 2001 | Microsoft Technology Licensing, LLC | Protecting decrypted compressed content and decrypted decompressed content at a digital rights management client |
7206940, | Jun 24 2002 | Microsoft Technology Licensing, LLC | Methods and systems providing per pixel security and functionality |
7209892, | Dec 24 1998 | Universal Music Group | Electronic music/media distribution system |
7212726, | Sep 15 2000 | HULU, LLC | System and method of processing MPEG streams for file index insertion |
7231132, | Oct 16 2000 | SEACHANGE INTERNATIONAL, INC | Trick-mode processing for digital video |
7231516, | Apr 11 2002 | Google Technology Holdings LLC | Networked digital video recording system with copy protection and random access playback |
7233669, | Jan 02 2002 | Sony Corporation, a Japanese corporation; SONY ELECTRONICS INC A DELAWARE CORPORATION | Selective encryption to enable multiple decryption keys |
7233948, | Mar 16 1998 | Intertrust Technologies Corporation | Methods and apparatus for persistent control and protection of content |
7237061, | Apr 17 2003 | Intel Corporation | Systems and methods for the efficient reading of data in a server system |
7242772, | Sep 07 2000 | Monument Peak Ventures, LLC | Encryption apparatus and method for synchronizing multiple encryption keys with a data stream |
7243346, | May 21 2001 | Microsoft Technology Licensing, LLC | Customized library management system |
7274861, | Apr 10 2003 | Panasonic Corporation | Information recording medium, and apparatus and method for recording information to information recording medium |
7295673, | Oct 23 2002 | DivX CF Holdings LLC; DIVX, LLC | Method and system for securing compressed digital video |
7302490, | May 03 2000 | Microsoft Technology Licensing, LLC | Media file format to support switching between multiple timeline-altered media streams |
7315829, | Nov 09 1998 | RAKUTEN, INC | Data conversion apparatus and method in copyright protecting system |
7328345, | Jan 29 2002 | GOOGLE LLC | Method and system for end to end securing of content for video on demand |
7330875, | Jun 15 1999 | Microsoft Technology Licensing, LLC | System and method for recording a presentation for on-demand viewing over a computer network |
7340528, | Mar 21 2001 | ADAPTFLOW TECHNOLOGIES LLC | Data referencing system |
7346163, | Oct 31 2003 | Sony Corporation; Sony Electronics INC | Dynamic composition of pre-encrypted video on demand content |
7349886, | Mar 25 2005 | GOOGLE LLC | Securely relaying content using key chains |
7349976, | Nov 30 1994 | Intel Corporation | Audio-on-demand communication system |
7352956, | Mar 19 1999 | Thomson Licensing | Method for implementing trickplay modes in a data stream recorder |
7356143, | Mar 18 2003 | GOOGLE LLC | System, method, and apparatus for securely providing content viewable on a secure device |
7356245, | Jun 29 2001 | Meta Platforms, Inc | Methods to facilitate efficient transmission and playback of digital information |
7363647, | May 07 2002 | Unisys Corporation | Mapping process for use in sending trick-mode video streams with a high performance |
7366788, | Jan 15 1998 | Apple Inc | Method and apparatus for media data transmission |
7376233, | Jan 02 2002 | Sony Corporation; Sony Electronics Inc. | Video slice and active region based multiple partial encryption |
7376831, | Sep 06 2000 | GOOGLE LLC | Selectively encrypting different portions of data sent over a network |
7382879, | Jul 23 2003 | T-MOBILE INNOVATIONS LLC | Digital rights management negotiation for streaming media over a network |
7397853, | Apr 29 2004 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
7400679, | Apr 29 2004 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
7406174, | Oct 21 2003 | GOOGLE LLC | System and method for n-dimensional encryption |
7406176, | Apr 01 2003 | Microsoft Technology Licensing, LLC | Fully scalable encryption for scalable multimedia |
7418132, | Jul 01 2003 | Nikon Corporation | Signal processing apparatus, signal processing program and electronic camera |
7421411, | Jul 06 2001 | Nokia Technologies Oy | Digital rights management in a mobile communications environment |
7443449, | Mar 31 2003 | Kabushiki Kaisha Toshiba | Information display apparatus, information display method and program therefor |
7454780, | May 20 2002 | Sony Corporation | Service providing system and method |
7457359, | Sep 26 2001 | INTERACT DEVICES, INC | Systems, devices and methods for securely distributing highly-compressed multimedia content |
7457415, | Aug 20 1998 | Akikaze Technologies, LLC | Secure information distribution system utilizing information segment scrambling |
7460668, | Jul 21 2004 | DivX CF Holdings LLC; DIVX, LLC | Optimized secure media playback control |
7472280, | Dec 27 2000 | Proxense, LLC | Digital rights management |
7478325, | Apr 22 2005 | Microsoft Technology Licensing, LLC | Methods for providing an accurate visual rendition of a text element formatted with an unavailable font |
7484103, | Jan 12 2002 | Method and system for the information protection of digital content | |
7493018, | May 19 1999 | Method for creating caption-based search information of moving picture data, searching and repeating playback of moving picture data based on said search information, and reproduction apparatus using said method | |
7499930, | Jan 28 2004 | Canon Kabushiki Kaisha | Data processing apparatus, data processing method, and data processing program |
7499938, | Apr 21 1999 | Rovi Technologies Corporation | Controlling playback of content stored on a portable storage medium |
7515710, | Mar 14 2006 | DivX CF Holdings LLC; DIVX, LLC | Federated digital rights management scheme including trusted systems |
7526450, | Apr 19 2000 | Sony Corporation; Sony Music Entertainment Inc. | Interface for presenting downloadable digital data content format options |
7539213, | Jul 17 2002 | Thomson Licensing | Method and device for video data transmission for implementing special modes |
7546641, | Feb 13 2004 | Microsoft Technology Licensing, LLC | Conditional access to digital rights management conversion |
7577980, | Jan 19 2006 | International Business Machines Corporation | Bit-rate constrained trick play through stream switching and adaptive streaming |
7594271, | Sep 20 2002 | GOOGLE LLC | Method and system for real-time tamper evidence gathering for software |
7610365, | Feb 14 2001 | CLOUD SOFTWARE GROUP SWITZERLAND GMBH | Automatic relevance-based preloading of relevant information in portable devices |
7623759, | Sep 09 2005 | MAXELL, LTD | Reproduction apparatus and reproduction method |
7624337, | Jul 24 2000 | SCENERA, INC | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
7627750, | Apr 07 1994 | Online News Link LLC | Information distribution and processing system |
7627888, | Mar 09 2005 | NBCUniversal Media LLC | Method and system for keeping a library of titles updated |
7639921, | Nov 20 2002 | LG Electronics Inc. | Recording medium having data structure for managing reproduction of still images recorded thereon and recording and reproducing methods and apparatuses |
7640358, | Nov 09 2006 | Sharp Kabushiki Kaisha | Methods and systems for HTTP streaming using an intelligent HTTP client |
7640435, | Mar 18 2003 | GOOGLE LLC | System, method, and apparatus for securely providing content viewable on a secure device |
7644172, | Jun 24 2002 | Microsoft Technology Licensing, LLC | Communicating via a connection between a streaming server and a client without breaking the connection |
7653686, | May 19 2005 | Sony Corporation | Content reproducing device and content reproducing method |
7664262, | Oct 10 2007 | Kabushiki Kaisha Toshiba | Playback apparatus and playback control method |
7664872, | Jan 05 2005 | DivX CF Holdings LLC; DIVX, LLC | Media transfer protocol |
7676555, | Jul 24 2001 | BrightPlanet Corporation | System and method for efficient control and capture of dynamic database content |
7689510, | Sep 07 2000 | Rovi Technologies Corporation | Methods and system for use in network management of content |
7697686, | Nov 24 2004 | Nagravision S.A. | Unit for managing audio/video data and access control method for said data |
7702925, | Jan 13 2003 | OPTIMUM CONTENT PROTECTION LLC | Method and apparatus for content protection in a personal digital network environment |
7711052, | May 15 2000 | Nokia Technologies Oy | Video coding |
7711647, | Jun 10 2004 | AKAMAI TECHNOLOGIES, INC | Digital rights management in a distributed network |
7720352, | Jun 29 2001 | Meta Platforms, Inc | Systems and computer program products to facilitate efficient transmission and playback of digital information |
7734806, | Nov 22 2005 | Samsung Electronics Co., Ltd | Compatible progressive download method and system |
7747853, | Jun 06 2001 | Sony Corporation; Sony Electronics Inc.; Sony Electronics INC | IP delivery of secure digital content |
7756270, | May 10 2002 | Sony Corporation | Encryption device and decryption device |
7756271, | Jun 15 2004 | Microsoft Technology Licensing, LLC | Scalable layered access control for multimedia |
7761892, | Jul 14 1998 | UV CORP ; TV GUIDE, INC ; Rovi Guides, Inc | Client server based interactive television program guide system with remote server recording |
7779097, | Sep 07 2000 | Rovi Technologies Corporation | Methods and systems for use in network management of content |
7787622, | Nov 13 2002 | Google Technology Holdings LLC | Efficient distribution of encrypted content for multiple content access systems |
7788271, | Jun 08 2004 | Sony Corporation | Content distribution server, content distribution method, and program |
7797720, | Oct 22 2004 | Microsoft Technology Licensing, LLC | Advanced trick mode |
7817608, | Sep 23 2005 | GOOGLE LLC | Transitioning to secure IP communications for encoding, encapsulating, and encrypting data |
7840693, | Jan 06 2006 | GOOGLE LLC | Serving media articles with altered playback speed |
7853980, | Oct 31 2003 | Sony Corporation; Sony Electronics Inc. | Bi-directional indices for trick mode video-on-demand |
7864186, | Aug 07 2000 | DIGIMEDIA TECH, LLC | Device-specific content versioning |
7869691, | Sep 26 2002 | KONNINKLIJKE PHILIPS ELECTRONICS, N V | Apparatus for recording a main file and auxiliary files in a track on a record carrier |
7873740, | Apr 10 2002 | Akamai Technologies, Inc. | Method and system for enhancing live stream delivery quality using prebursting |
7877002, | Jun 18 2004 | Panasonic Corporation | Reproduction device, program, and reproduction method |
7881478, | Jun 12 2001 | Nagra France SAS | Method for controlling access to an encrypted programme |
7882034, | Nov 21 2003 | Intel Corporation | Digital rights management for content rendering on playback devices |
7885405, | Jun 04 2004 | GLOBALFOUNDRIES Inc | Multi-gigabit per second concurrent encryption in block cipher modes |
7895311, | Nov 17 2006 | Arthur W., Juenger | Content distribution systems |
7907833, | Jan 14 2004 | INTERDIGITAL CE PATENT HOLDINGS | Apparatus and method for communicating stop and pause commands in a video recording and playback system |
7913277, | Mar 30 2006 | RPX CLEARINGHOUSE LLC | Metadata extraction and re-insertion and improved transcoding in digital media systems |
7945143, | Jul 23 2001 | Panasonic Corporation | Information recording medium, and apparatus and method for recording information on information recording medium |
7949703, | Jan 10 2003 | Panasonic Corporation | Group admission system and server and client therefor |
7962942, | Feb 28 2006 | Rovi Guides, Inc | Systems and methods for enhanced trick-play functions |
7970835, | Apr 04 2006 | Xerox Corporation | Peer-to-peer file sharing system and method using downloadable data segments |
7974714, | Oct 05 1999 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Intelligent electronic appliance system and method |
7984513, | Feb 09 2005 | LIQUID MACHINES, INC | Method and system for using a rules engine for enforcing access and usage policies in rights-aware applications |
7991156, | Jul 23 2003 | T-MOBILE INNOVATIONS LLC | Digital rights management negotiation for streaming media over a network |
8001471, | Feb 28 2006 | Verizon Patent and Licensing Inc | Systems and methods for providing a similar offline viewing experience of online web-site content |
8015491, | Feb 28 2006 | Verizon Patent and Licensing Inc | Systems and methods for a single development tool of unified online and offline content providing a similar viewing experience |
8023562, | Sep 07 2007 | BEAMR IMAGING LTD | Real-time video coding/decoding |
8046453, | Sep 20 2007 | QURIO Holdings, Inc. | Illustration supported P2P media content streaming |
8054880, | Dec 10 2004 | BISON PATENT LICENSING, LLC | Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window |
8065708, | Mar 31 1999 | COX COMMUNICATIONS, INC | Method for reducing latency in an interactive information distribution system |
8069260, | Jan 12 2007 | Microsoft Technology Licensing, LLC | Dynamic buffer settings for media playback |
8073900, | May 02 1997 | CDN INNOVATIONS, LLC | Method and system for providing on-line interactivity over a server-client network |
8074083, | Jan 09 2007 | GOOGLE LLC | Controlling download and playback of media content |
8078644, | May 04 2007 | Nokia Technologies Oy | Media stream recording into a reception hint track of a multimedia container file |
8082442, | Aug 10 2006 | Microsoft Technology Licensing, LLC | Securely sharing applications installed by unprivileged users |
8131875, | Nov 26 2007 | Adobe Inc | Device profile assignment based on device capabilities |
8135041, | Dec 06 2004 | INTERDIGITAL CE PATENT HOLDINGS; INTERDIGITAL CE PATENT HOLDINGS, SAS | Multiple closed captioning flows and customer access in digital networks |
8160157, | Dec 22 2004 | Thales | Video H.264 encryption preserving synchronization and compatibility of syntax |
8169916, | Nov 23 2007 | Media Melon, Inc. | Multi-platform video delivery configuration |
8170210, | Dec 23 2005 | Koninklijke Philips Electronics N V | Device for and a method of processing data stream |
8195714, | Dec 11 2002 | MCKIBBEN, MICHAEL T | Context instantiated application protocol |
8201264, | Mar 14 2006 | DivX CF Holdings LLC; DIVX, LLC | Federated digital rights management scheme including trusted systems |
8213607, | Oct 18 2006 | Qualcomm Incorporated | Method for securely extending key stream to encrypt high-entropy data |
8213768, | Mar 07 2006 | Panasonic Corporation | Packet transmitting apparatus |
8218439, | Nov 24 2004 | Sharp Kabushiki Kaisha | Method and apparatus for adaptive buffering |
8225061, | Jul 02 2009 | Apple Inc.; Apple Inc | Method and apparatus for protected content data processing |
8233768, | Nov 16 2007 | DivX CF Holdings LLC; DIVX, LLC | Hierarchical and reduced index structures for multimedia files |
8243924, | Jun 29 2007 | GOOGLE LLC | Progressive download or streaming of digital media securely through a localized container and communication protocol proxy |
8245124, | Mar 20 2008 | Adobe Inc | Content modification and metadata |
8249168, | Nov 06 2008 | Advanced Micro Devices, Inc.; Advanced Micro Devices, INC | Multi-instance video encoder |
8261356, | Apr 08 2005 | Electronics and Telecommunications Research Institute | Tool pack structure and contents execution device |
8265168, | Feb 01 2008 | NXP USA, INC | Providing trick mode for video stream transmitted over network |
8270473, | Jun 12 2009 | Microsoft Technology Licensing, LLC | Motion based dynamic resolution multiple bit rate video encoding |
8270819, | Oct 31 2006 | TIVO SOLUTIONS INC | Performing trick play functions in a digital video recorder with efficient use of resources |
8275871, | Aug 22 2006 | Citrix Systems, Inc. | Systems and methods for providing dynamic spillover of virtual servers based on bandwidth |
8286213, | May 13 2003 | LG Electronics Inc. | HTTP based video streaming apparatus and method in mobile communication system |
8286621, | Jan 19 2007 | KORE OUTDOOR US , INC | Pneumatically powered projectile launching device |
8289338, | Jun 06 2008 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for font file optimization for multimedia files |
8290157, | Feb 20 2007 | Sony Corporation; Sony Electronics Inc. | Identification of a compromised content player |
8291460, | Feb 12 2010 | Adobe Inc | Rate adaptation based on dynamic performance monitoring |
8296434, | May 28 2009 | Amazon Technologies, Inc. | Providing dynamically scaling computing load balancing |
8311094, | Dec 22 2004 | British Telecommunications public limited company | Buffer underflow prevention |
8311111, | Sep 11 2008 | GOOGLE LLC | System and method for decoding using parallel processing |
8311115, | Jan 29 2009 | Microsoft Technology Licensing, LLC | Video encoding using previously calculated motion information |
8312079, | Sep 22 2009 | THWAPR, INC | Adaptive rendering for mobile media sharing |
8321556, | Jul 09 2007 | CITIBANK, N A | Method and system for collecting data on a wireless device |
8325800, | May 07 2008 | Microsoft Technology Licensing, LLC | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
8327009, | Jan 05 2010 | DISNEY ENTERPRISES, INC | Method and system for providing real-time streaming media content |
8341715, | Feb 29 2008 | Malikie Innovations Limited | System and method for shared resource owner based access control |
8346753, | Nov 14 2006 | Hudson Bay Wireless LLC | System and method for searching for internet-accessible content |
8365235, | Dec 18 2007 | Netflix, Inc | Trick play of streaming media |
8369421, | Nov 29 2001 | Godo Kaisha IP Bridge 1 | Coding distortion removal method by selectively filtering based on a pixel difference |
8380041, | Jul 30 1998 | TIVO SOLUTIONS INC | Transportable digital video recorder system |
8386621, | Mar 12 2010 | NETFLIX, INC. | Parallel streaming |
8396114, | Jan 29 2009 | Microsoft Technology Licensing, LLC | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming |
8397265, | Dec 22 2003 | Canon Kabushiki Kaisha | Method and device for the continuous transmission of a video in a communication network |
8401188, | Oct 30 2009 | Adobe Inc | System and method for partial encryption of frame-based electronic content |
8401900, | Feb 14 2008 | ATT KNOWLEDGE VENTURES, L P | System and method for presenting advertising data based on end user trick-play trend data |
8407753, | Jun 10 2010 | Sony Corporation | Content list tailoring for capability of IPTV device |
8412841, | Aug 17 2009 | Adobe Inc | Media content streaming using stream message fragments |
8423889, | Jun 05 2008 | Amazon Technologies, Inc. | Device specific presentation control for electronic book reader devices |
8452110, | Oct 05 2009 | BEAMR IMAGING LTD | Classifying an image's compression level |
8456380, | May 15 2008 | LENOVO INTERNATIONAL LIMITED | Processing computer graphics generated by a remote computer for streaming to a client computer |
8464066, | Jun 30 2006 | Amazon Technologies, Inc | Method and system for sharing segments of multimedia data |
8472792, | Dec 08 2003 | DivX CF Holdings LLC; DIVX, LLC | Multimedia distribution system |
8473630, | Jan 18 2012 | GOOGLE LLC | Adaptive video streaming using time-to-offset mapping |
8484368, | Oct 02 2009 | Disney Enterprises, Inc.; DISNEY ENTERPRISES, INC | Method and system for optimizing download and instantaneous viewing of media files |
8510303, | Jan 07 2009 | DivX CF Holdings LLC; DIVX, LLC | Singular, collective and automated creation of a media guide for online content |
8510404, | Apr 03 2006 | KINGLITE HOLDINGS INC | Peer to peer Synchronization system and method |
8514926, | Nov 17 2005 | KOREA ADVANCED INSTITUTE OF SCIENCE AND TECHNOLOGY KAIST | Method and system for encryption/decryption of scalable video bitstream for conditional access control based on multidimensional scalability in scalable video coding |
8515265, | Nov 13 2009 | SAMSUNG ELECTRONICS CO , LTD | Method and apparatus for providing trick play service |
8516529, | Oct 30 2009 | Time Warner Cable Enterprises LLC | Methods and apparatus for packetized content delivery over a content delivery network |
8526610, | Mar 16 1998 | Intertrust Technologies Corporation | Methods and apparatus for persistent control and protection of content |
8527645, | Oct 15 2012 | Limelight Networks, Inc. | Distributing transcoding tasks across a dynamic set of resources using a queue responsive to restriction-inclusive queries |
8543842, | Feb 13 1995 | Intertrust Technologies Corporation | System and methods for secure transaction management and electronics rights protection |
8555329, | Oct 17 2003 | Telefonaktiebolaget LM Ericsson (publ) | Container format for multimedia presentations |
8571993, | Jan 16 2004 | IRDETO USA, INC | Reprogrammable security for controlling piracy and enabling interactive content |
8595378, | Mar 30 2009 | Amazon Technologies, Inc | Managing communications having multiple alternative destinations |
8606069, | Sep 08 2004 | Panasonic Corporation | Playback device, playback method, and computer-readable recording medium for ensuring stable application execution in synchronism with video data playback |
8630419, | Aug 13 2008 | GRASS VALLEY CANADA | Apparatus and method for encrypting image data, and decrypting the encrypted image data, and image data distribution system |
8631247, | Nov 24 2008 | Malikie Innovations Limited | System and method for hardware based security |
8640166, | May 06 2005 | Rovi Guides, Inc | Systems and methods for content surfing |
8649669, | Jan 05 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for performing smooth visual search of media encoded for adaptive bitrate streaming via hypertext transfer protocol using trick play streams |
8650599, | Mar 29 2004 | Panasonic Corporation | Accumulation display device, interlocked display method and system |
8656183, | Mar 14 2006 | DivX CF Holdings LLC; DIVX, LLC | Federated digital rights management scheme including trusted systems |
8677428, | Aug 20 2010 | Disney Enterprises, Inc. | System and method for rule based dynamic server side streaming manifest files |
8681866, | Apr 28 2011 | GOOGLE LLC | Method and apparatus for encoding video by downsampling frame resolution |
8683066, | Aug 06 2007 | ECHOSTAR TECHNOLOGIES L L C | Apparatus, system, and method for multi-bitrate content streaming |
8689267, | Dec 06 2010 | NETFLIX, INC. | Variable bit video streams for adaptive streaming |
8726264, | Nov 02 2011 | Amazon Technologies, Inc. | Architecture for incremental deployment |
8731193, | Jun 22 2009 | SYNAMEDIA LIMITED | Partial encryption using variable block sizes |
8731369, | Dec 08 2003 | DivX CF Holdings LLC; DIVX, LLC | Multimedia distribution system for multimedia files having subtitle information |
8767825, | Nov 30 2009 | GOOGLE LLC | Content-based adaptive video transcoding framework |
8774609, | May 18 2009 | Disney Enterprises, Inc. | System and method for providing time-adapted video content |
8781122, | Dec 04 2009 | DivX CF Holdings LLC; DIVX, LLC | Elementary bitstream cryptographic material transport systems and methods |
8782268, | Jul 20 2010 | Microsoft Technology Licensing, LLC | Dynamic composition of media |
8804956, | Aug 13 2007 | NINTENDO EUROPEAN RESEARCH AND DEVELOPMENT | Method and device for the partial encryption of a digital content |
8805109, | Apr 29 2010 | BEAMR IMAGING LTD | Apparatus and methods for re-compression having a monotonic relationship between extent of compression and quality of compressed image |
8806188, | Aug 31 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files |
8818896, | Sep 09 2002 | Sony Corporation; Sony Electronics Inc. | Selective encryption with coverage encryption |
8819116, | Mar 08 2010 | Amazon Technologies, Inc | Providing services using a device capabilities service |
8832434, | Feb 13 2004 | Hewlett-Packard Development Company, L.P.; HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Methods for generating data for describing scalable media |
8843586, | Jun 03 2011 | Apple Inc | Playlists for real-time or near real-time streaming |
8849950, | Apr 07 2011 | Qualcomm Incorporated | Network streaming of video data using byte range requests |
8850205, | Feb 22 2008 | Sungyunkwan University Foundation for Corporate Collaboration | Key distribution method and authentication server |
8850498, | May 16 2008 | Collideo LLC | Media adaptive distribution system and method |
8856218, | Dec 13 2011 | GOOGLE LLC | Modified media download with index adjustment |
8908984, | Oct 05 2009 | BEAMR IMAGING LTD | Apparatus and methods for recompression of digital images |
8909922, | Sep 01 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
8914534, | Jan 05 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
8914836, | Sep 28 2012 | DivX CF Holdings LLC; DIVX, LLC | Systems, methods, and computer program products for load adaptive streaming |
8918533, | Jul 13 2010 | Qualcomm Incorporated | Video switching for streaming video data |
8918535, | May 04 2010 | TELEFONAKTIEBOLAGET LM ERICSSON PUBL ; Ericsson AB | Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction |
8918636, | Sep 01 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for protecting alternative streams in adaptive bitrate streaming systems |
8918908, | Jan 06 2012 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
8948249, | Aug 19 2011 | Google Technology Holdings LLC | Encoder-aided segmentation for adaptive streaming |
8964977, | Sep 01 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
8997161, | Jan 02 2008 | DivX CF Holdings LLC; DIVX, LLC | Application enhancement tracks |
8997254, | Sep 28 2012 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for fast startup streaming of encrypted multimedia content |
9014471, | Sep 17 2010 | BEAMR IMAGING LTD | Method of classifying a chroma downsampling error |
9015782, | Jun 30 2006 | RPX Corporation | Signal distribution system with interrupt processing and trick play functionality |
9025659, | Jan 05 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for encoding media including subtitles for adaptive bitrate streaming |
9038116, | Dec 28 2009 | AKAMAI TECHNOLOGIES, INC | Method and system for recording streams |
9038121, | Jan 19 2006 | International Business Machines Corporation | Bit-rate constrained trick play through stream switching and adaptive streaming |
9042670, | Sep 17 2010 | BEAMR IMAGING LTD | Downsizing an encoded image |
9049497, | Jun 29 2010 | Qualcomm Incorporated | Signaling random access points for streaming video data |
9060207, | Aug 20 2012 | GOOGLE LLC | Adaptive video streaming over a content delivery network |
9094737, | May 30 2013 | DivX CF Holdings LLC; DIVX, LLC | Network video streaming with trick play based on separate trick play files |
9098335, | Dec 23 2009 | Citrix Systems, Inc | Systems and methods for managing spillover limits in a multi-core system |
9111098, | Jul 10 2009 | Malikie Innovations Limited | System and method for managing electronic assets |
9124773, | Dec 04 2009 | DivX CF Holdings LLC; DIVX, LLC | Elementary bitstream cryptographic material transport systems and methods |
9125073, | Aug 03 2012 | Apple Inc | Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file |
9184920, | Mar 14 2006 | DivX CF Holdings LLC; DIVX, LLC | Federated digital rights management scheme including trusted systems |
9191151, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
9191457, | Dec 31 2012 | DivX CF Holdings LLC; DIVX, LLC | Systems, methods, and media for controlling delivery of content |
9197685, | Jun 28 2012 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for fast video startup using trick play streams |
9201922, | Jan 07 2009 | DivX CF Holdings LLC; DIVX, LLC | Singular, collective and automated creation of a media guide for online content |
9203816, | Sep 04 2009 | DISH TECHNOLOGIES L L C | Controlling access to copies of media content by a client device |
9210481, | Jan 05 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for performing smooth visual search of media encoded for adaptive bitrate streaming via hypertext transfer protocol using trick play streams |
9215466, | Jan 31 2011 | Apple Inc | Joint frame rate and resolution adaptation |
9247311, | Sep 01 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
9247312, | Jan 05 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
9247317, | May 30 2013 | DivX CF Holdings LLC; DIVX, LLC | Content streaming with client device trick play index |
9253178, | Jan 17 2011 | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | Method and apparatus for authenticating a communication device |
9264475, | Dec 31 2012 | DivX CF Holdings LLC; DIVX, LLC | Use of objective quality measures of streamed content to reduce streaming bandwidth |
9294531, | Jul 12 2012 | FUTUREWEI TECHNOLOGIES, INC | Signaling and processing content with variable bitrates for adaptive streaming |
9313510, | Dec 31 2012 | DivX CF Holdings LLC; DIVX, LLC | Use of objective quality measures of streamed content to reduce streaming bandwidth |
9343112, | Oct 31 2013 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for supplementing content from a server |
9344517, | Mar 28 2013 | DivX CF Holdings LLC; DIVX, LLC | Downloading and adaptive streaming of multimedia content to a device with cache assist |
9344721, | Jun 23 2011 | Saab AB | Best quality given a maximum bit rate |
9380096, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
9386064, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
9479805, | Feb 15 2013 | COX COMMUNICATIONS, INC. | Entitlement validation and quality control of content in a cloud-enabled network-based digital video recorder |
9485469, | May 15 2006 | DIRECTV, LLC | Methods and apparatus to provide content on demand in content broadcast systems |
9485546, | Jun 29 2010 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
9571827, | Jun 08 2012 | Apple Inc | Techniques for adaptive video streaming |
9584557, | Mar 15 2013 | ARRIS ENTERPRISES LLC; ARRIS | Proxy for facilitating streaming of media from server to client |
9584847, | Feb 12 2013 | TELEFONAKTIEBOLAGET LM ERICSSON PUBL ; Ericsson AB | Rendering content for personal over-the-top network video recorder |
9615061, | Jul 11 2003 | Comcast Cable Communications Management, LLC | System and method for creating and presenting composite video-on-demand content |
9621522, | Sep 01 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
9628536, | Sep 22 2009 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
9667684, | Sep 01 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
9672286, | Jan 07 2009 | DivX CF Holdings LLC; DIVX, LLC | Singular, collective and automated creation of a media guide for online content |
9674254, | Dec 22 2003 | Verizon Patent and Licensing Inc | System and method for using a streaming protocol |
9686332, | Dec 19 2014 | Amazon Technologies, Inc | Live stream manifests for on demand content |
9706259, | Dec 04 2009 | DivX CF Holdings LLC; DIVX, LLC | Elementary bitstream cryptographic material transport systems and methods |
9712890, | May 30 2013 | DivX CF Holdings LLC; DIVX, LLC | Network video streaming with trick play based on separate trick play files |
9761274, | Sep 12 2003 | OPENTV, INC. | Method and system for suspending playing of media content while interacting with an associated interactive application |
9798863, | Mar 14 2006 | DivX CF Holdings LLC; DIVX, LLC | Federated digital rights management scheme including trusted systems |
9813740, | Aug 24 2012 | Google Technology Holdings LLC | Method and apparatus for streaming multimedia data with access point positioning information |
9866878, | Apr 05 2014 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
9883204, | Jan 05 2011 | DivX CF Holdings LLC; DIVX, LLC | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
9906785, | Mar 15 2013 | DivX CF Holdings LLC; DIVX, LLC | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
9967189, | Feb 08 1999 | Intel Corporation | System and method for determining network conditions |
9967305, | Jun 28 2013 | DivX CF Holdings LLC; DIVX, LLC | Systems, methods, and media for streaming media content |
9967521, | May 15 2006 | DIRECTV, LLC | Methods and apparatus to provide content on demand in content broadcast systems |
20010021276, | |||
20010030710, | |||
20010036355, | |||
20010046299, | |||
20010052077, | |||
20010052127, | |||
20010053222, | |||
20010055337, | |||
20020026560, | |||
20020034252, | |||
20020048450, | |||
20020051494, | |||
20020057739, | |||
20020057898, | |||
20020062313, | |||
20020067432, | |||
20020075572, | |||
20020076112, | |||
20020087569, | |||
20020091665, | |||
20020093571, | |||
20020107802, | |||
20020110193, | |||
20020114330, | |||
20020116481, | |||
20020118953, | |||
20020120934, | |||
20020135607, | |||
20020136298, | |||
20020141503, | |||
20020143413, | |||
20020143547, | |||
20020147980, | |||
20020154779, | |||
20020159528, | |||
20020159598, | |||
20020161462, | |||
20020161797, | |||
20020164024, | |||
20020169926, | |||
20020169971, | |||
20020180929, | |||
20020184159, | |||
20020184515, | |||
20020191112, | |||
20020191959, | |||
20020191960, | |||
20030001964, | |||
20030002577, | |||
20030002578, | |||
20030005442, | |||
20030021296, | |||
20030031178, | |||
20030035488, | |||
20030035545, | |||
20030035546, | |||
20030041257, | |||
20030043847, | |||
20030044080, | |||
20030051237, | |||
20030053541, | |||
20030061305, | |||
20030061369, | |||
20030063675, | |||
20030065777, | |||
20030077071, | |||
20030078891, | |||
20030078930, | |||
20030079222, | |||
20030081776, | |||
20030093799, | |||
20030123855, | |||
20030128296, | |||
20030133506, | |||
20030135633, | |||
20030135742, | |||
20030142594, | |||
20030152224, | |||
20030152370, | |||
20030163824, | |||
20030165328, | |||
20030174844, | |||
20030185302, | |||
20030185542, | |||
20030206558, | |||
20030206717, | |||
20030210821, | |||
20030216922, | |||
20030229900, | |||
20030231863, | |||
20030231867, | |||
20030233464, | |||
20030236836, | |||
20030236907, | |||
20040001594, | |||
20040003008, | |||
20040006701, | |||
20040021684, | |||
20040022391, | |||
20040024688, | |||
20040025180, | |||
20040028227, | |||
20040031058, | |||
20040037421, | |||
20040039916, | |||
20040047592, | |||
20040047607, | |||
20040047614, | |||
20040049690, | |||
20040049694, | |||
20040052501, | |||
20040071453, | |||
20040073917, | |||
20040076237, | |||
20040081333, | |||
20040081434, | |||
20040084035, | |||
20040088557, | |||
20040093494, | |||
20040093618, | |||
20040101059, | |||
20040101142, | |||
20040105549, | |||
20040107356, | |||
20040114687, | |||
20040117347, | |||
20040136698, | |||
20040139335, | |||
20040143760, | |||
20040146276, | |||
20040158878, | |||
20040184534, | |||
20040184616, | |||
20040202320, | |||
20040213094, | |||
20040217971, | |||
20040243488, | |||
20040243714, | |||
20040255115, | |||
20040255236, | |||
20040267952, | |||
20050004875, | |||
20050005025, | |||
20050005143, | |||
20050013494, | |||
20050015509, | |||
20050015797, | |||
20050038826, | |||
20050055399, | |||
20050063541, | |||
20050066063, | |||
20050071280, | |||
20050076232, | |||
20050102371, | |||
20050108320, | |||
20050114534, | |||
20050114896, | |||
20050120132, | |||
20050132208, | |||
20050138655, | |||
20050144468, | |||
20050149450, | |||
20050177741, | |||
20050180641, | |||
20050183120, | |||
20050190911, | |||
20050192904, | |||
20050193070, | |||
20050193322, | |||
20050196147, | |||
20050198364, | |||
20050204289, | |||
20050207442, | |||
20050207578, | |||
20050216752, | |||
20050227773, | |||
20050243912, | |||
20050254508, | |||
20050262257, | |||
20050265555, | |||
20050273695, | |||
20050275656, | |||
20060013568, | |||
20060015580, | |||
20060020825, | |||
20060026294, | |||
20060026302, | |||
20060026654, | |||
20060036549, | |||
20060037057, | |||
20060052095, | |||
20060053080, | |||
20060059223, | |||
20060064605, | |||
20060078301, | |||
20060093318, | |||
20060093320, | |||
20060095472, | |||
20060109856, | |||
20060120378, | |||
20060129909, | |||
20060165163, | |||
20060165233, | |||
20060168298, | |||
20060168639, | |||
20060173887, | |||
20060179239, | |||
20060181965, | |||
20060210245, | |||
20060212370, | |||
20060218251, | |||
20060235880, | |||
20060235883, | |||
20060245727, | |||
20060259588, | |||
20060263056, | |||
20060267986, | |||
20060274835, | |||
20060294164, | |||
20070005333, | |||
20070031110, | |||
20070033419, | |||
20070044010, | |||
20070047645, | |||
20070047901, | |||
20070053513, | |||
20070055982, | |||
20070058928, | |||
20070067472, | |||
20070067622, | |||
20070083467, | |||
20070083617, | |||
20070086528, | |||
20070100757, | |||
20070101271, | |||
20070101387, | |||
20070106863, | |||
20070133603, | |||
20070136817, | |||
20070140647, | |||
20070154165, | |||
20070156770, | |||
20070157267, | |||
20070162568, | |||
20070162981, | |||
20070166000, | |||
20070168541, | |||
20070168542, | |||
20070178933, | |||
20070180051, | |||
20070180125, | |||
20070185982, | |||
20070192810, | |||
20070201502, | |||
20070201695, | |||
20070204003, | |||
20070204011, | |||
20070204115, | |||
20070217339, | |||
20070217759, | |||
20070220118, | |||
20070234391, | |||
20070239839, | |||
20070250536, | |||
20070255940, | |||
20070256141, | |||
20070271317, | |||
20070271385, | |||
20070274679, | |||
20070277219, | |||
20070277234, | |||
20070280298, | |||
20070288745, | |||
20070292107, | |||
20070297422, | |||
20080005175, | |||
20080008319, | |||
20080008455, | |||
20080022005, | |||
20080043832, | |||
20080046718, | |||
20080046925, | |||
20080066099, | |||
20080066181, | |||
20080077592, | |||
20080086456, | |||
20080086570, | |||
20080086747, | |||
20080101466, | |||
20080101718, | |||
20080104633, | |||
20080120330, | |||
20080120342, | |||
20080120389, | |||
20080120637, | |||
20080126248, | |||
20080131078, | |||
20080134043, | |||
20080137541, | |||
20080137736, | |||
20080137847, | |||
20080151817, | |||
20080155615, | |||
20080160911, | |||
20080162949, | |||
20080168516, | |||
20080172441, | |||
20080177793, | |||
20080184119, | |||
20080187283, | |||
20080192818, | |||
20080195664, | |||
20080195744, | |||
20080201705, | |||
20080205860, | |||
20080209534, | |||
20080219449, | |||
20080229025, | |||
20080240144, | |||
20080256105, | |||
20080263354, | |||
20080271102, | |||
20080279535, | |||
20080294453, | |||
20080298358, | |||
20080310454, | |||
20080310496, | |||
20080313541, | |||
20080320100, | |||
20080320160, | |||
20090010429, | |||
20090010622, | |||
20090013195, | |||
20090031220, | |||
20090037959, | |||
20090048852, | |||
20090055546, | |||
20090060452, | |||
20090064341, | |||
20090066839, | |||
20090067367, | |||
20090077143, | |||
20090097644, | |||
20090106082, | |||
20090132599, | |||
20090132721, | |||
20090132824, | |||
20090136216, | |||
20090138570, | |||
20090150406, | |||
20090150557, | |||
20090165148, | |||
20090168795, | |||
20090169001, | |||
20090169181, | |||
20090172201, | |||
20090178090, | |||
20090196139, | |||
20090201988, | |||
20090217317, | |||
20090226148, | |||
20090228395, | |||
20090249081, | |||
20090265737, | |||
20090268905, | |||
20090276636, | |||
20090282162, | |||
20090290706, | |||
20090290708, | |||
20090293116, | |||
20090303241, | |||
20090307258, | |||
20090307267, | |||
20090310819, | |||
20090310933, | |||
20090313544, | |||
20090313564, | |||
20090316783, | |||
20090328124, | |||
20090328228, | |||
20100005393, | |||
20100040351, | |||
20100057928, | |||
20100058405, | |||
20100074324, | |||
20100074333, | |||
20100083322, | |||
20100094969, | |||
20100095121, | |||
20100106968, | |||
20100107260, | |||
20100111192, | |||
20100138903, | |||
20100142915, | |||
20100142917, | |||
20100158109, | |||
20100161825, | |||
20100166060, | |||
20100185854, | |||
20100186092, | |||
20100189183, | |||
20100198943, | |||
20100218208, | |||
20100228795, | |||
20100235472, | |||
20100235528, | |||
20100250532, | |||
20100290761, | |||
20100299522, | |||
20100306249, | |||
20100313225, | |||
20100313226, | |||
20100316126, | |||
20100319014, | |||
20100319017, | |||
20100332595, | |||
20110002381, | |||
20110010466, | |||
20110016225, | |||
20110035517, | |||
20110047209, | |||
20110055585, | |||
20110058675, | |||
20110060808, | |||
20110066673, | |||
20110067057, | |||
20110069757, | |||
20110078440, | |||
20110080940, | |||
20110082914, | |||
20110082924, | |||
20110083009, | |||
20110096828, | |||
20110103374, | |||
20110107379, | |||
20110116772, | |||
20110126191, | |||
20110129011, | |||
20110135090, | |||
20110138018, | |||
20110142415, | |||
20110145726, | |||
20110145858, | |||
20110149753, | |||
20110150100, | |||
20110153785, | |||
20110153835, | |||
20110158470, | |||
20110170687, | |||
20110173345, | |||
20110179185, | |||
20110184738, | |||
20110191439, | |||
20110191803, | |||
20110197237, | |||
20110197261, | |||
20110197267, | |||
20110213827, | |||
20110222786, | |||
20110225302, | |||
20110225315, | |||
20110225417, | |||
20110238789, | |||
20110239078, | |||
20110246657, | |||
20110246659, | |||
20110246661, | |||
20110252118, | |||
20110264530, | |||
20110268178, | |||
20110276555, | |||
20110276695, | |||
20110283012, | |||
20110291723, | |||
20110296048, | |||
20110302319, | |||
20110305273, | |||
20110314130, | |||
20110314176, | |||
20110314500, | |||
20120005312, | |||
20120005368, | |||
20120017282, | |||
20120023251, | |||
20120036365, | |||
20120036544, | |||
20120042090, | |||
20120047542, | |||
20120066360, | |||
20120093214, | |||
20120110120, | |||
20120114302, | |||
20120124191, | |||
20120134496, | |||
20120137336, | |||
20120144117, | |||
20120144445, | |||
20120147958, | |||
20120166633, | |||
20120167132, | |||
20120170642, | |||
20120170643, | |||
20120170906, | |||
20120170915, | |||
20120173751, | |||
20120177101, | |||
20120179834, | |||
20120188069, | |||
20120189069, | |||
20120201475, | |||
20120201476, | |||
20120233345, | |||
20120240176, | |||
20120254455, | |||
20120257678, | |||
20120260277, | |||
20120263434, | |||
20120265562, | |||
20120278496, | |||
20120288015, | |||
20120289147, | |||
20120294355, | |||
20120297039, | |||
20120307883, | |||
20120311094, | |||
20120311174, | |||
20120314778, | |||
20120317235, | |||
20120331167, | |||
20130007223, | |||
20130013730, | |||
20130013803, | |||
20130019107, | |||
20130019273, | |||
20130041808, | |||
20130044821, | |||
20130046849, | |||
20130046902, | |||
20130051554, | |||
20130054958, | |||
20130055084, | |||
20130058480, | |||
20130061040, | |||
20130061045, | |||
20130064466, | |||
20130066838, | |||
20130080267, | |||
20130094565, | |||
20130097309, | |||
20130114944, | |||
20130124859, | |||
20130128962, | |||
20130152767, | |||
20130159633, | |||
20130166580, | |||
20130166765, | |||
20130166906, | |||
20130170561, | |||
20130170764, | |||
20130173513, | |||
20130179199, | |||
20130179589, | |||
20130179992, | |||
20130182952, | |||
20130196292, | |||
20130212228, | |||
20130223812, | |||
20130226578, | |||
20130226635, | |||
20130227081, | |||
20130227111, | |||
20130227122, | |||
20130297602, | |||
20130301424, | |||
20130311670, | |||
20130329781, | |||
20140003516, | |||
20140019592, | |||
20140019593, | |||
20140037620, | |||
20140052823, | |||
20140059156, | |||
20140096171, | |||
20140096269, | |||
20140101722, | |||
20140114951, | |||
20140115650, | |||
20140119432, | |||
20140140253, | |||
20140140396, | |||
20140140417, | |||
20140143301, | |||
20140143431, | |||
20140143440, | |||
20140149557, | |||
20140177734, | |||
20140189065, | |||
20140201382, | |||
20140211840, | |||
20140211859, | |||
20140241420, | |||
20140241421, | |||
20140247869, | |||
20140250473, | |||
20140258714, | |||
20140269927, | |||
20140269936, | |||
20140280763, | |||
20140297804, | |||
20140297881, | |||
20140355668, | |||
20140359678, | |||
20140359679, | |||
20140359680, | |||
20140376720, | |||
20150006662, | |||
20150019550, | |||
20150026677, | |||
20150043554, | |||
20150049957, | |||
20150063693, | |||
20150067715, | |||
20150104153, | |||
20150117836, | |||
20150117837, | |||
20150139419, | |||
20150188758, | |||
20150188842, | |||
20150188921, | |||
20150189017, | |||
20150189373, | |||
20150281310, | |||
20150288530, | |||
20150288996, | |||
20150334435, | |||
20150373421, | |||
20160048593, | |||
20160070890, | |||
20160112382, | |||
20160149981, | |||
20160219303, | |||
20160323342, | |||
20170011055, | |||
20170083474, | |||
20170214947, | |||
20170223389, | |||
20170238030, | |||
20170280203, | |||
20180007451, | |||
20180046949, | |||
20180060543, | |||
20180081548, | |||
20180131980, | |||
20180220153, | |||
20180255366, | |||
20180262757, | |||
20180285261, | |||
20180332094, | |||
20190020907, | |||
20190020928, | |||
20190045219, | |||
20190045220, | |||
20190045234, | |||
20190158553, | |||
20190268596, | |||
20190297364, | |||
20190342587, | |||
20190356928, | |||
20200059706, | |||
20200396454, | |||
20210076082, | |||
20210099504, | |||
20210136429, | |||
20210250608, | |||
AU2010203605, | |||
CA2237293, | |||
CA2749170, | |||
CA2823829, | |||
CN101252401, | |||
CN102549557, | |||
CN105072454, | |||
CN1169229, | |||
CN1221284, | |||
CN1235473, | |||
CN1629939, | |||
CN1723696, | |||
EP818111, | |||
EP936812, | |||
EP1056273, | |||
EP1158799, | |||
EP1187483, | |||
EP1283640, | |||
EP1420580, | |||
EP1453319, | |||
EP1536646, | |||
EP1553779, | |||
EP1657835, | |||
EP1718074, | |||
EP2180664, | |||
EP2360923, | |||
EP2384475, | |||
EP2486517, | |||
EP2486727, | |||
EP2507995, | |||
EP2564354, | |||
EP2616991, | |||
EP2617192, | |||
EP2661696, | |||
EP2661875, | |||
EP2661895, | |||
EP2716048, | |||
EP2721826, | |||
EP2751990, | |||
EP2807821, | |||
EP3697096, | |||
EP3700219, | |||
EP3742740, | |||
EP3975574, | |||
EP757484, | |||
EP813167, | |||
FR2360923, | |||
GB2398210, | |||
HK1125765, | |||
JP11164307, | |||
JP11275576, | |||
JP11328929, | |||
JP1175178, | |||
JP2000201343, | |||
JP2001043668, | |||
JP2001209726, | |||
JP2001346165, | |||
JP2002164880, | |||
JP2002170363, | |||
JP2002218384, | |||
JP2002518898, | |||
JP2003179597, | |||
JP2003250113, | |||
JP2004013823, | |||
JP2004172830, | |||
JP2004187161, | |||
JP2004234128, | |||
JP2004304767, | |||
JP2004328218, | |||
JP2004515941, | |||
JP2005027153, | |||
JP2005080204, | |||
JP2005173241, | |||
JP2005284041, | |||
JP2005286881, | |||
JP2005504480, | |||
JP2006155500, | |||
JP2006521035, | |||
JP2006524007, | |||
JP2007036666, | |||
JP2007174375, | |||
JP2007235690, | |||
JP2007535881, | |||
JP2008235999, | |||
JP2009522887, | |||
JP2009530917, | |||
JP2012514951, | |||
JP2013513298, | |||
JP2014506430, | |||
JP2015167357, | |||
JP2017063453, | |||
JP2018160923, | |||
JP202080551, | |||
JP2021158694, | |||
JP4516082, | |||
JP5200204, | |||
JP5681641, | |||
JP5723888, | |||
JP6038805, | |||
JP6078574, | |||
JP6453291, | |||
JP6657313, | |||
JP7000475, | |||
JP8046902, | |||
JP8111842, | |||
JP8163488, | |||
JP8287613, | |||
JP9037225, | |||
KR100221423, | |||
KR100669616, | |||
KR101635876, | |||
KR101874907, | |||
KR101917763, | |||
KR101988877, | |||
KR1020020064888, | |||
KR1020130133830, | |||
KR102072839, | |||
KR102122189, | |||
KR102191317, | |||
KR102195414, | |||
KR102274290, | |||
KR102352043, | |||
KR102408120, | |||
KR102445689, | |||
KR2002013664, | |||
KR20040039852, | |||
KR20060030164, | |||
KR20060106250, | |||
KR20060116967, | |||
KR20070005699, | |||
KR20070020727, | |||
KR20090016282, | |||
KR20100106418, | |||
KR20110133024, | |||
MX2011007344, | |||
MX316584, | |||
RE45052, | Dec 08 2003 | DivX CF Holdings LLC; DIVX, LLC | File format for multiple track digital data |
RE48761, | Dec 31 2012 | DIVX, LLC | Use of objective quality measures of streamed content to reduce streaming bandwidth |
RU2328040, | |||
SG146026, | |||
WO104892, | |||
WO1995015660, | |||
WO1996013121, | |||
WO1997031445, | |||
WO199800973, | |||
WO1998047290, | |||
WO199834405, | |||
WO1999010836, | |||
WO1999065239, | |||
WO2000049762, | |||
WO2000049763, | |||
WO2001031497, | |||
WO2001050732, | |||
WO2001065762, | |||
WO2002001880, | |||
WO2002008948, | |||
WO2002035832, | |||
WO2002037210, | |||
WO2002054196, | |||
WO2002054776, | |||
WO2002073437, | |||
WO2002087241, | |||
WO200223315, | |||
WO2003028293, | |||
WO2003030000, | |||
WO2003046750, | |||
WO2003047262, | |||
WO2003061173, | |||
WO2003096136, | |||
WO2004012378, | |||
WO2004054247, | |||
WO2004097811, | |||
WO2004100158, | |||
WO2004102571, | |||
WO2005008385, | |||
WO2005015935, | |||
WO2005050373, | |||
WO2005057906, | |||
WO2005109224, | |||
WO2005125214, | |||
WO20060012398, | |||
WO2006018843, | |||
WO2007044590, | |||
WO2007072257, | |||
WO2007073347, | |||
WO2007093923, | |||
WO2007101182, | |||
WO2007113836, | |||
WO2008010275, | |||
WO2008032908, | |||
WO2008042242, | |||
WO2008086313, | |||
WO2008090859, | |||
WO2008135932, | |||
WO2009006302, | |||
WO2009065137, | |||
WO2009070770, | |||
WO2009109976, | |||
WO2010005673, | |||
WO2010060106, | |||
WO2010080911, | |||
WO2010089962, | |||
WO2010108053, | |||
WO2010111261, | |||
WO2010122447, | |||
WO2010147878, | |||
WO2011042898, | |||
WO2011042900, | |||
WO2011068668, | |||
WO2011086190, | |||
WO2011087449, | |||
WO2011101371, | |||
WO2011103364, | |||
WO2011132184, | |||
WO2011135558, | |||
WO20120094181, | |||
WO20120094189, | |||
WO2012035533, | |||
WO2012035534, | |||
WO2012094171, | |||
WO2012094181, | |||
WO2012094189, | |||
WO2012162806, | |||
WO2012171113, | |||
WO2013030833, | |||
WO2013032518, | |||
WO2013103986, | |||
WO2013111126, | |||
WO2013144942, | |||
WO2014145901, | |||
WO2014193996, | |||
WO2015031982, | |||
WO9731445, | |||
WO9910836, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 02 2013 | SHIVADAS, ABHISHEK | DIVX, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 058271 | /0579 | |
Mar 06 2014 | AMIDEI, WILLIAM | DIVX, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 058271 | /0579 | |
Mar 31 2014 | DIVX, LLC | SONIC IP, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 058271 | /0590 | |
Feb 12 2018 | DivX CF Holdings LLC | DIVX, LLC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 058271 | /0602 | |
Feb 12 2018 | SONIC IP, INC | DivX CF Holdings LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 058271 | /0606 | |
Sep 24 2021 | DIVX, LLC | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 24 2021 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Apr 14 2022 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Apr 14 2022 | SMAL: Entity status set to Small. |
Date | Maintenance Schedule |
May 28 2027 | 4 years fee payment window open |
Nov 28 2027 | 6 months grace period start (w surcharge) |
May 28 2028 | patent expiry (for year 4) |
May 28 2030 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 28 2031 | 8 years fee payment window open |
Nov 28 2031 | 6 months grace period start (w surcharge) |
May 28 2032 | patent expiry (for year 8) |
May 28 2034 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 28 2035 | 12 years fee payment window open |
Nov 28 2035 | 6 months grace period start (w surcharge) |
May 28 2036 | patent expiry (for year 12) |
May 28 2038 | 2 years to revive unintentionally abandoned end. (for year 12) |