Not applicable.
The present disclosure relates generally to utilizing redundancy in a digitally encoded video stream.
Digitally encoded video streams can be delivered to devices such as set-top boxes and televisions over a transmission channel of some type. A frame subjected to a transmission impediment may include one or more errors. In some types of frame encoding, such as Motion Picture Experts Group 2 (MPEG-2) video, frames are divided into blocks or macroblocks and compression is typically performed on a block-by-block basis in raster scan order. In such cases, when the decoder receives a video stream that has encountered an error that corrupts one macroblock, or even a few macroblocks, the decoder can recover at the start of the next slice, so the remainder of the frame can still be decoded. Other types of video encoding specifications, such as ITU H.264/MPEG AVC/MPEG-4 Part 10, often encode the frame as a single slice for better compression performance, so that any incurred error or loss to the coded frame can prevent the entire frame from being decoded. Furthermore, certain types of frames serve as reference pictures to other frames so any impaired portion of such frames may affect the decoding of these other frames.
Impairments are even more significant if the entire frame is unrecoverable or when an error in the frame affects a distant frame, either directly or via its propagation through other frames . . . Thus, a need arises for these and other problems to be addressed.
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure.
In one embodiment, a method comprises identifying a plurality of frames of interest from a primary stream of encoded frames. The method further comprises selecting at least one of the frames of interest for inclusion in a separate redundant stream. The method further comprises producing another encoded instance of the at least one selected encoded frame. The method further comprises associating the another encoded instance of the at least one selected frame in the separate redundant stream with the corresponding selected encoded frame in the primary stream. The method further comprises providing the primary stream, the separate redundant stream, and a common clock reference to a decoder.
In the example embodiment of
Encoder 110 receives an input video signal 105 and encodes video signal 105 in accordance with a video coding specification, such as MPEG-2 or ITU-T Recommendation H.264 (also known as ISO/IEC 14496-10 (2005), MPEG4-AVC, or MPEG-4 Part 10). Encoder 110 produces a digital media stream 115 in accordance with the syntax and semantics of the video coding specification. Media stream 115 comprises a series of encoded frames, which in a video context are also referred as encoded pictures. Media stream 115 will be referred to in this disclosure as primary media stream 115 or primary stream 115. The frames of primary stream 115 are provided to RSG 120 and to multiplexer 130. A subset of frames in primary media stream 115 are identified and selected by RSG 120 (as will be described further on connection with
Transport stream 135 may provide a plurality of programs, each program including a set of streams. Multiplexer 130 combines primary stream 115 (from encoder 110) and redundant stream 125 (from RSG 120), and possibly other streams of the corresponding program (not shown), into transport stream 135 in accordance with a transport stream specification. As a non-limiting example, some networks may provide digital media services to DHCT 180 by employing the transport stream specified by the MPEG-2 system standard. Other networks may use a transport stream specification suitable for delivering services directly over protocols based on the Internet Protocol (i.e., IP protocols), or based on the Real-time Transport Protocol.
Transport stream 135 is communicated to DHCT 180. Errors may occur during transmission to DHCT 180, and some types of errors may corrupt the encoded frames carried within transport stream 135. Frames in redundant stream 125 serve as a form of reserve, or backup information for their respective corresponding frames in primary stream 115. In the event that a frame within primary stream 115 is impaired, for example because it was corrupted during transmission, decoder 160 (in DHCT 180) can utilize information from a corresponding decoded frame received in redundant stream 125 to reconstruct the decoded version of the impaired frame.
Redundant stream processor (RSP) 150 in DHCT 180 receives both primary 115 and redundant 125 streams contained within transport stream 135, and provides them to decoder 160 in a timely manner, consistent with compressed-frames-buffer management policies that are in effect for processing primary stream 115 and redundant stream 125. RSP 150 may further include capability to determine the start and end of encoded frames and whether an encoded frame in primary stream 115 is impaired.
Decoder 160 determines, or is informed by RSP 150, whether a frame in primary stream 115 contains errors. Decoder 160 decodes both primary stream 115 and redundant stream 125 in parallel and in real-time. If decoder 160 finds that an encoded frame in primary stream 115 is impaired, decoder 160 uses information from a decoded frame in redundant stream 125 to reconstruct the decoded version of the impaired frame. (The reconstruction process will be described in more detail below.) Although not shown in
Transport stream 135 may include a decoding time stamp (DTS) and a presentation time stamp (PTS) for encoded frames in accordance with a media transport specification. The values of time stamps are in relation to the clock reference provided by the transport stream which is used as common clock reference for all the streams of the program. The DTS and PTS of an encoded frame may be provided, as specified by the MPEG-2 system standard, in the packetized elementary stream (PES) layer. System 100 may produce and assign a first value for the DTS of the encoded frame in the primary stream 115 and a second value for the DTS of the corresponding redundant frame in redundant stream 125. However, an equal value may be assigned and provided in transport stream 135 for both presentation time stamps of the encoded frame in primary stream 115 and the corresponding encoded frame in redundant stream 125. The equivalent value of presentation time stamps allows decoder 160 to determine a redundant frame's corresponding frame in primary stream 115.
In an alternative embodiment, where MPEG transport packets are carried in RTP packets, RTP sequence numbers can be used by decoder 160 to identify missing data in primary stream 115. Once missing data is detected, decoder 160 then determines the corresponding missing timestamps from the MPEG transport layer, then locates the corresponding timestamps in redundant stream 125.
Each stream in transport stream 135 is associated with an identification value and a stream type. System 100 provides different identification values for primary stream 115 and redundant stream 125. DHCT 180 receives, within transport stream 135, information conveying a pair of identifier and stream type that corresponds to each respective stream associated with a program. For instance, such information can be conveyed in one or more portions of transport stream 135 in accordance with the MPEG-2 Systems standard.
DHCT 180 includes capabilities to filter transport packets in transport stream 135 by their identification values. DHCT 180 ingests a desired program, or program of interest, by determining the identification values and stream types for the respective corresponding streams associated with the desired program. Desired streams are “filtered in” or ingested while all other streams are rejected and processed no further. Transport packet filtering capabilities (not shown) in DHCT 180 may be located prior to demulxiplexer 140, allowing for rejection of non-desired streams prior to the input of transport stream 135. The desired streams of the desired program are input to transport stream 135, which splits them into their separate respective buffers in a memory of DHCT 180 (not shown), including a buffer assigned for primary stream 115 and another buffer assigned for redundant stream 125.
DHCT 180 may also decide to receive a first subset of the streams associated with the desired program and reject ingestion of the complementary subset of the desired program's streams. For instance, DHCT 180 may decide to reject a particular stream of the desired program based on its stream type.
Particular streams in transport stream 135 may provide data describing the association between each program in transport stream 135 and its corresponding streams. In one embodiment, DHCT 180 is able to identify that a program includes primary stream 115 and redundant stream 125 by the stream types of the streams associated with the program. DHCT 180 is further able to receive primary stream 115 and redundant stream 125 by their respective identification values. In one embodiment, redundant stream 125 is provided with a stream type value that corresponds to a type of data stream and that is different from a pre-assigned stream type value that corresponds to the video coding specification used to produce primary stream 115. In an alternate embodiment, redundant stream 125 is provided with a stream type value that corresponds to the video stream but that is different from the stream type value used for primary stream 115. In yet another embodiment, stream type value used for redundant stream 125 signifies a type of redundant media stream.
Processing continues at block 240, where the frames added to redundant stream 125 are associated with corresponding selected frames in primary stream. In some embodiments, this association is implemented by adding information to the selected frame(s) in redundant stream 125, where this additional information identifies the redundant frame's correspondence to its counterpart in primary stream. The association between the corresponding frame is used by RSP 150 and/or decoder 160 in DHCT 180, so that when an impaired frame in primary stream is found, its counterpart in redundant stream 125 can be identified and used by decoder 160 instead of the impaired frame.
Next, at block 250, a clock reference is specified that is common to redundant stream 125 and primary stream. Finally, at block 260, primary stream, redundant stream 125, and the common clock reference are output, for example, to a decoder. A person of ordinary skill in the art should understand that process 200 repeats to produce redundant stream 125 from primary stream.
Blocks 210, 220 and 230 will now be discussed in further detail. Block 210 examines frames in primary stream to identify frames for further processing. Frame identification may be based on information in a header or of primary stream 115. For instance, a picture or slice type in a header or parameter set that is part of the primary stream 115 may identify whether a frame is a reference frame or a non-discardable frame, thus permitting RSG 120 to select a reference frame based on the identifying information. In one embodiment, RSG 120 performs identification and selection of frames. In an alternate embodiment, RSG 120 performs selection of frames.
Various embodiments of selection block 220 will now be described. One embodiment of RSG 120 generates redundant stream 125 at a pace that is substantially as fast as the encoded frames produced by encoder 110. However, RSG 120 may have limited computing and/or processing capabilities and it may have to skip over some of the frames produced by encoder 110. That is, RSG 120 may be able to identify the frames in primary stream 115 but only select a subset of the frames according to its limited computing or processing capabilities.
If computing and/or processing resources are limited, some real-time embodiments of selection block 220 may employ strategies for selecting particular frames in primary stream that minimize or reduce the level of processing required to generate redundant stream 125. Selection block 220, for instance, may entail selecting a subset of the frames in each corresponding non-overlapping sequential segment of encoded frames in the primary stream 115, thus producing redundant stream 125 as a version of a media program that has a lower frame rate than the version provided by primary stream 115. Each segment of a non-overlapping sequential segment in the primary stream 115 may have a predetermined number of pictures. In an alternate embodiment, each segment must have more than a predetermined number of pictures specified by a threshold.
Some embodiment of RSG 120 include sufficient parsing and media decoding capabilities to identify encoded frames in primary stream 115, select a subset of the identified frames, and encode the corresponding redundant frame for each respective selected frame. Limited decoding capabilities in RSG 120 may influence the method of selecting frames from primary stream 115. RSG 120 may possess decoding capabilities to decode only at a lower frame rate than the frame rate of primary stream 115. In such cases, the limited decoding capabilities in RSG 120 influences selection of frames by selection block 220.
In one embodiment, RSG 120 possesses sufficient parsing capabilities to identify frames in primary stream 115, and to then select a subset of the identified frames according to a predetermined encoding strategy tailored for producing redundant stream 125. Each selected frame is then decoded, and each decoded frame is then encoded to produce a different encoded version of the selected frame. Criteria used by selection block 220 may be, for example: selecting a predetermined number of frames from each segment of consecutive encoded frames in primary stream 115; the particular frame type of the encoded frame (e.g., an I, P, or B encoded picture); the number of bits of the encoded frame; the relative importance of an encoded frame in relation to other encoded frames in primary stream 115; or any combination of these.
RSG 120 may also identify other relevant information in primary stream, or information that corresponds to an identified frame, to perform the frame selection criteria. For example, one strategy for primary streams (e.g., those encoded with H.264) is to include only sequence parameter sets (SPSes) and picture parameter sets (PPSes). It is common for an encoder to employ a designed coding strategy with common SPSes and PPSes. Therefore, these frames can be transmitted in redundant stream 125 in a periodic cyclical manner. Another set of redundant frame selection strategies decide based on frame type, and/or on whether the frame acts as a reference for other frames.
Various embodiments of re-encode block 230 will now be described. In some embodiments, re-encode block 230 within RSG 120 employs a video coding specification that is different from the video coding specification used by encoder 110. In other embodiments, re-encode block 230 produces an encoded frame instance for each selected frame in primary stream 115 in accordance with the same video coding specification used by encoder 110 to produce primary stream 115. But because encoder 110 and RSG 120 may operate under different encoding requirements, the resulting encoded version of the same frame produced by RSG 120 differs from the version produced by encoder 110. For example, the two respective encoded versions of the same frame may differ in number of bits (i.e., amount of compression) and picture quality.
In other embodiments, re-encode block 230 generates each individual encoded frame in accordance with a video coding specification, but redundant stream 125 as a whole may not be in accordance with that video coding specification. For instance, the overall redundant stream 125 may not comply with the compressed-frames-buffer management policies of the video coding specification.
In still other embodiments, for some selected frames corresponding to a particular frame type, RSG 120 may employ an auxiliary data coding method that is not compliant with a video coding specification. The auxiliary data coding method generates a sequence of data-restoration elements that provides backup or reserve data for the corresponding frame in the primary stream. However, this objective extends beyond reducing the impact of errors on the decoded version of the corresponding frame in primary stream 115. The auxiliary data coding method also aims to reduce the propagation of errors to other decoded frames in primary stream 115 that depend on the impaired frame.
In an alternate embodiment, the auxiliary data coding method only includes data-restoration elements in a redundant frame that aim to restore the values of high-priority syntax elements in the corresponding encoded frame of primary stream 115. One objective is to provide restoration capabilities only for a predetermined set of high-priority syntax elements to maintain a low bitrate for redundant stream 125. For example, the high-priority syntax elements may correspond to the motion vectors of each respective non-intra macroblock in the selected frame, and to the identification of the reference frame associated with each motion vector. The values of high-priority syntax elements may be determined by RSG 120 upon parsing and decoding the corresponding selected frame in primary stream 115.
To alleviate the processing burden or resource limitations, each selected frame from primary stream 115 may be decoded and downscaled in picture resolution prior to encoding it as a redundant frame in RSG 120. The number of bits corresponding to a frame encoded in the downscaled picture resolution is less than the version of the encoded frame in primary stream 115. As another example of re-encoding behavior, selected frame(s) may be put through a stronger low-pass filter, quantized using a higher quantization level, and/or downscaled to a lower resolution. In another example of re-encoding, residual information is quantized at higher levels, but the parameters used to create motion vectors remain the same.
In one embodiment, the redundant frame is identified using a number, N, that identifies the corresponding frame in the transmission order of the redundant stream 125. N may be relative to a particular predetermined point in the primary stream, such as the Nth frame after a random access point or relative to the location of a sequence parameter set (SPS). As described above, another mechanism which can be used instead of (or in addition to) the SPS-relative frame number, is to provide a value for the presentation time stamp (PTS) of the redundant frame equal to the PTS of the corresponding primary frame.
Although a person of ordinary skill in the art should be familiar with the different frame types described by video compression standards (e.g., MPEG-2, MPEG-4 and H.264), frame types and redundant frame selection strategies will now be described in connection with
An I-frame (305, 310) is dependent on (or references) no other frames. An instantaneous decoding refresh frame (315, 320) or IDR-frame is an I-frame that forces all previously decoded frames, that are still in use as reference frames, to no longer be used as reference frames upon decoding of the IDR frame. One embodiment of redundant stream generator (RSG) 120 selects only IDR-frames for inclusion in redundant stream 125. Another embodiment selects only IDR-frames and I-frames. Yet another embodiment selects only those frames that are IDRs, but does not select all IDRs. Yet another embodiment selects only frames that are IDRs or I-frames, but does not select all the IDRs or I-frames.
Yet another embodiment selects IDR frames, I-frames, Sequence Parameter Sets (SPS), and Picture Parameter Sets (PPS). As should be known to a person of ordinary skill in the art, an SPS specifies decoding parameters for a particular sequence of frames, while a PPS specifies decoding parameters for a portion of a particular picture.
An I-frame that serves as a reference frame for other types of frames is referred to in this disclosure as a non-discardable frame (330), where an I-frame that does not serve as a reference frame for any other frame is a discardable frame (325). In
A B-frame (335, 340, 345, 350) inter-predicts some of the frame's portions from at least two previously decoded reference frames. In other words, a B-frame is dependent on at most two reference frames, which can be past reference frames or future reference frames. A past reference frame is a previously decoded reference frame that has a presentation time stamp (PTS) prior to the frame referencing it. Likewise, a future reference frame is a previously decoded reference frame that has PTS after the frame referencing it. An H.264 B-frame may then serve as a reference frame for P-frames or other B-frames. Note that this behavior is different than an MPEG-2 B-frame.
A P-frame (355, 360) allows some of the frame's portions to be inter-predicted from a previously decoded reference frame. For instance, a first portion of a P-frame can depend on one previously decoded reference frame and another portion of the same P-frame can depend on a different reference frame. Furthermore, the previously decoded frame referenced by a first portion of a P-frame may be a past reference frame, and a second portion may depend on a future reference frame. As another example of the complex frame-interdependencies supported by H.264hhhh, a first P-frame could depend on four future reference frames and a second P-frame could depend on three past reference frames.
A person of ordinary skill in the art should appreciate that some frames will serve as reference frames for many frames. Said another way, many different frames may depend on the same reference frame. For example, any particular I-frame typically serves as a reference frames for many B-frames and P-frames. In H.264, any particular B-frames may serve as a reference frame for multiple P-frames, and for other B-frames. Another embodiment of redundant stream generator 120 includes in redundant stream 125 all frames that serve as a reference frame for N or more frames. The value of N may be related to the robustness of the channel or medium over which transport stream 135 travels, where N increases as the probability of error for transport stream 135 increases.
A frame that depends only on one or more past reference frames (but not on any future reference frames) is referred to in this disclosure to as a forward predicted frame or FPF (365). Thus, a P-frame can be an FPF, but not all P-frames are FPFs (since some P-frames depend on future reference frames). Similarly, a B-frame can be an FPF, but not all B-frames are FPFs. Another embodiment of redundant stream generator 120 selects IDR frames, I-frames, and FPFs for inclusion in redundant stream 125. Yet another embodiment of RSG 120 selects IDR frames, I-frames, and FPFs that are P-frames.
In this disclosure, an anchor frame (370) is an I-frame, IDR-frame, or a special type of FPF that depends only on a single reference frame that is the most-recently decoded anchor frame. Yet another embodiment of RSG 120 selects anchor frames for inclusion in redundant stream 125.
A person of ordinary skill in the art should appreciate that H.264 allows direct dependence on reference frames as well as indirect dependence. In this disclosure, the term “depend” or “dependence” in the context of reference pictures refers to a direct dependence. An example of indirect dependence follows. Suppose frame F1 serves as a reference for frame F2, and that F2 serves as a reference for frame F3. Frame F3 then indirectly depends on F1. (A person of ordinary skill in the art should also recognize that F3 directly depends on F2, and F2 directly depends on F1.)
Frames can be categorized as having a particular dependency “level”, and some embodiments of redundant stream generator 120 include only frames at or below a particular level for inclusion in redundant stream 125. The frame's level may be understood as a measure of its importance in decoding other frames—some reference pictures are more important than other reference pictures because their decoded and reconstructed information propagates through more than one level of referencing.
One embodiment uses an intuitive definition of levels: I-frames are first-level (an I-frame depends on no other level); frames with only direct dependencies are second-level; and frames with any indirect dependencies are third-level and above.
Some embodiments may define levels in different ways. In another embodiment, an IDR frame is considered a first-level reference frame, an I-frame is considered a second-level reference frame, and an anchor frame that is an FPF is considered a third-level reference frame.
In other embodiments, an anchor frame is considered to be a first-level reference frame. In other embodiments, an anchor frame is considered a first-level reference frame only if the video encoder uses relative lower quantization values (resulting in more bits in the compressed frame) that results in higher number of bits relative to reference frames with higher levels.
In some embodiments, a second-level reference frame is a reference frame that is not an anchor frame, and that references only one or more anchor frames. One example of this is a bi-directional predicted frame in between two anchor frames. Another example is a frame which is backward-predicted from an anchor frame. Yet another example is a frame that is forward-predicted from two anchor frames. In some embodiments in which an anchor frame that is a FPF is a third-level reference frame, a fourth-level reference frame is a reference frame referencing only anchor frames.
The following list of selection criteria for redundant stream 125 includes some of those discussed above, as well as others. The methods and systems in this disclosure may use one or more, in any combination, of the following as criteria, or any other criteria involving the relative importance of frames.
An example of transmitting redundant stream 125 at a lower bitrate is shown in
Introducing the time skew described above is one mechanism for reducing the probability that an error that affects primary media stream 115 will also affect redundant stream 125. Another such mechanism uses a different physical path, or route, for the two streams. Yet another mechanism transmits redundant stream 125 with a time skew relative to primary stream 115, and to a different address than used for primary media stream 115. For example, redundant media stream 125 could be in one multicast group, and primary stream 115 could be in a different multicast group. In one such embodiment, the decoder joins the redundant stream multicast group upon detecting a drop or error on primary stream 115.
The SPTS includes a video stream (530), an audio stream (540), a closed-caption data stream (550), and redundant stream (125), each of which has a different PID. In this scenario, primary media stream 115 is a logical construct which includes video stream 530, audio stream 540, and closed caption stream 550 (PIDs 5, 6, and 7, respectively). Also included in SPTS 520 is a Program Map Table (not shown) which lists the programs carried within SPTS 520, and identifies each program by PID and stream type.
SPTS 520 is conveyed over transmission channel 510 to decoder 160. Transmission channel 510 can take the form of an IP address, an IP multicast address, or an IP multicast flow (address-port combination). A person of ordinary skill in the art should recognize that the principles illustrated in
In this example, the PID assigned to redundant stream 125 is the special “private PID” value specified by the relevant video compression standard (which for MPEG-2 is 0xFF or 255), and decoders that do not support the redundant stream feature will typically discard transport packets having the private PID. However, the embodiment of
In
In
In this embodiment redundant stream 125 is tied to STPS 580 of primary stream 115 so both streams 115 and 125 use the same PMT (e.g., same set of PIDs) and the same clock reference. The PMT may list the redundant data as private data (PID 0xFF, similar to
If the frame does have an error, then at block 640, RSP 150 determines which frame in redundant stream frame buffer 720 corresponds to the errored primary stream frame. (Various methods for mapping this correspondence were discussed earlier in connection with the primary stream generation process of
If the frame has errors, then at block 820 RSP 150 attempts to correct the errored frame using FEC. Block 825 determines whether FEC correction is available and provides adequate picture quality. If so, then at block 830 the FEC information is used to build a repaired version of the errored frame, and RSP 150 provides the decoder with the repaired frame. Processing is then complete.
If no FEC information is available for the errored frame, or if FEC repair does not provide adequate picture quality, then at block 835 the redundant stream extractor attempts selective retransmission for the errored frame. Block 840 determines whether retransmission was successful and provides adequate picture quality. If so, at block 845 RSP 150 provides decoder 160 with the retransmitted frame, and processing of the frame is complete.
If retransmission is not successful or cannot provide adequate picture quality, block 850 attempts correction using a redundant frame. Block 855 determines whether the attempt is successful (e.g., corresponding redundant frame is available and provides adequate picture quality). If successful, at block 860 RSP 150 provides decoder 160 with the corresponding redundant frame, and processing of the frame is complete. Otherwise, then at block 865 RSP 150 provides decoder 160 with the current frame in primary stream frame buffer 710. In either case, processing of the current frame is complete.
A person of ordinary skill in the art should appreciate that different priorities can be assigned to using FEC repair frames, requesting retransmission, and using redundant frames, and therefore the order of determinations made by process 800 can vary. For example, in one embodiment of process 800, using a redundant frame is preferred over requesting retransmission. Such a person of ordinary skill in the art should also appreciate that each of the paths in process 800 is optional, such that various embodiments may include these paths in different combinations. For example, one embodiment use FEC correction but not retransmission, another uses retransmission but not FEC correction, etc.
Referring back to digital content manager 170 in system 100 of
Auxiliary information 910 may further include guidance to RSG 120 for encoding the corresponding redundant frame. Auxiliary information 910 may include: a type of encoding to be performed on the selected frame, a frame type of the selected frame, a particular level of compression to perform on the selected frame, whether to perform downscaling of frame resolution prior to encoding the selected frame, or values of high-priority syntax elements in the encoded version of the selected frame.
Video signal 105 is also input to RSG 120. Encoding component 1010 may provide additional auxiliary information that guides RSG 120 in encoding the frame that is carried in video signal 105 and identified by encoding component 1010 for redundant encoding. The auxiliary information may include: type of encoding to be performed on the identified frame, frame type, or a particular level of compression to perform on the identified frame. Encoding component 1010 may further communicate whether to perform downscaling of frame resolution prior to encoding the identified frame.
In one embodiment, encoding component 1010 provides RSG 120 the values of the high-priority syntax elements in an encoded frame of primary stream 115. An auxiliary data coding method in RSG 120 processes the provided values of the high-priority syntax elements and generates a redundant frame that includes data-restoration elements for the provided values of the high-priority syntax elements.
In another embodiment (not shown), encoding component 1010 communicates with RSG 120 via control channel 1020 and RSG 120 sources frames from encoding component 1010 from memory accessible to or shared by both encoding component 1010 and RSG 120. For instance, in the process of encoding primary stream 115, encoding component 1010 stores decoded frames in a local memory (not shown) of encoding component 1010. This is because encoding component 1010 is required to emulate certain portions of decoder 160. That is, an encoder reconstructs frames that are used by decoder 160 into reference frames, to decode other encoded frames. Hence, encoding component 1010 informs RSG 120 to encode a decoded frame that resides in local memory of encoder 110.
Various embodiments of RSG 120 can produce redundant frames at a real-time rate, near real-time rate, or non-real-time rate. One near-real-time embodiment of RSG 120 works with a look-ahead media encoder to produce a redundant stream 125 having a finite target delay. In such a case, encoder 110 may perform two iterations of encoding on each consecutive non-overlapping segment consisting of a number of consecutive frames of video signal 105. RSG 120 may thus have two frame times to encode each encoded frame of redundant stream 125. However, encoder 110 may possess twice the amount of processing speed required to the frame rate of video signal 105 while RSG 120 may not. Nevertheless, RSG 120 may leverage from the delay of look-ahead encoding to properly adjust spending more encoding time in some types of frames than in others.
In yet another embodiment, redundant stream 125 may be generated only for transmitting primary stream 115 to DHCT 180 and not for a different type of DHCT 180′. As shown in
In this embodiment, DHCT 180 and DHCT 180′ are coupled to digital content manager 170 via different “last portions” of a transmission medium 1310 such as twisted pair (copper loop), or coaxial cable. As shown in
Therefore, it is not necessary for DHCT 180′ to receive the redundant stream 125, nor to possess capabilities to process redundant stream 125. The same program can be simulcast to both DHCT 180 and DHCT 180′, where the program's simulcast includes primary stream 115 and redundant stream 125. As explained above, DHCT 180 and DHCT 180′ possess capabilities to identify the streams of a desired program. DHCT 180 receives primary stream 115 and redundant stream 125 of the desired program and uses the functionality described above to reconstruct errored frames in primary stream 115 from redundant stream 125. However, DHCT 180′, whose viewer or subscriber desired the same program, receives the primary stream 115 of the desired program but not the corresponding redundant stream 125. Dedicated transmission of a program to DHCT 180′, such as a program of a VOD service, is transmitted without redundant stream 125, whereas a dedicated transmission of any program to DHCT 180 will include both redundant stream 125 and redundant stream 125.
Memory 1460 contains instructions that are executed by processor 1450 to control operations of DHCT 180. Peripheral I/O interface 1420 provides input and output signals, for example, user inputs from a remote control or front panel buttons or a keyboard, and outputs such as LEDs or LCD on the front panel. Network interface 1410 receives primary stream 115 and redundant stream 125. Decoder 160 decodes the incoming video stream into a stream of decoded video frames. In some embodiments, decoder 160 also performs demultiplexing of multiple streams (e.g., audio and video). In some embodiments, decoder 160 also decrypts the encoded stream. Display system 1430 converts the decoded video frames into a video signal for display by a computer monitor or a television.
As described above, DHCT 180 receives digital video streams via network interface 1410. In some embodiments, this interface is for a local area network (LAN) or a wide area network (WAN) such as the Internet. In other embodiments, this interface is for a radio frequency (RF) network, and so may include a tuner/demodulator (not shown) which processes the digital signals received over the RF network.
Omitted from
Any process descriptions or blocks in flowcharts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. As would be understood by those of ordinary skill in the art of the software development, alternate implementations are also included within the scope of the disclosure. In these alternate implementations, functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved.
The systems and methods disclosed herein can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device. Such instruction execution systems include any computer-based system, processor-containing system, or other system that can fetch and execute the instructions from the instruction execution system. In the context of this disclosure, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by, or in connection with, the instruction execution system. The computer readable medium can be, for example but not limited to, a system or propagation medium that is based on electronic, magnetic, optical, electromagnetic, infrared, or semiconductor technology.
Specific examples of a computer-readable medium using electronic technology would include (but are not limited to) the following: an electrical connection (electronic) having one or more wires; a random access memory (RAM); a read-only memory (ROM); an erasable programmable read-only memory (EPROM or Flash memory). A specific example using magnetic technology includes (but is not limited to) a portable computer diskette. Specific examples using optical technology include (but are not limited to) an optical fiber and a portable compact disk read-only memory (CD-ROM).
The foregoing description has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Obvious modifications or variations are possible in light of the above teachings. The implementations discussed, however, were chosen and described to illustrate the principles of the disclosure and its practical application to thereby enable a person of ordinary skill in the art to utilize the disclosure in various implementations and with various modifications as are suited to the particular use contemplated. All such modifications and variation are within the scope of the disclosure as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly and legally entitled.
Number | Name | Date | Kind |
---|---|---|---|
4764805 | Rabbani et al. | Aug 1988 | A |
5440345 | Shimoda | Aug 1995 | A |
5606359 | Youden et al. | Feb 1997 | A |
5734443 | O'Grady | Mar 1998 | A |
5734783 | Shimoda et al. | Mar 1998 | A |
5828370 | Moeller et al. | Oct 1998 | A |
5854873 | Mori et al. | Dec 1998 | A |
5917830 | Chen et al. | Jun 1999 | A |
5917988 | Eto | Jun 1999 | A |
5943447 | Tkhor et al. | Aug 1999 | A |
5949948 | Krause et al. | Sep 1999 | A |
5963260 | Bakhmutsky | Oct 1999 | A |
5970028 | Shimabukuro | Oct 1999 | A |
6144375 | Jain et al. | Nov 2000 | A |
6160889 | Yagasaki | Dec 2000 | A |
6188436 | Williams et al. | Feb 2001 | B1 |
6201927 | Commer | Mar 2001 | B1 |
6222979 | Willis et al. | Apr 2001 | B1 |
6263022 | Chen et al. | Jul 2001 | B1 |
6304714 | Krause et al. | Oct 2001 | B1 |
6310915 | Wells et al. | Oct 2001 | B1 |
6393057 | Thoreau et al. | May 2002 | B1 |
6411725 | Rhoads | Jun 2002 | B1 |
6421387 | Rhee | Jul 2002 | B1 |
6453115 | Boyle | Sep 2002 | B1 |
6512552 | Subramanian | Jan 2003 | B1 |
6587506 | Noridomi et al. | Jul 2003 | B1 |
6594798 | Chou et al. | Jul 2003 | B1 |
6643327 | Wang | Nov 2003 | B1 |
6658199 | Hallberg | Dec 2003 | B1 |
6754373 | de Cuetos et al. | Jun 2004 | B1 |
6785289 | Ward et al. | Aug 2004 | B1 |
6806909 | Radha et al. | Oct 2004 | B1 |
6906743 | Maurer | Jun 2005 | B1 |
6907075 | Felts et al. | Jun 2005 | B2 |
6909743 | Ward et al. | Jun 2005 | B1 |
6912251 | Ward et al. | Jun 2005 | B1 |
6980594 | Wang et al. | Dec 2005 | B2 |
7027713 | Hallberg | Apr 2006 | B1 |
7050603 | Rhoads et al. | May 2006 | B2 |
7053874 | Koyama | May 2006 | B2 |
7085322 | Ngai et al. | Aug 2006 | B2 |
7085381 | Kubota et al. | Aug 2006 | B2 |
7085424 | Kajiki et al. | Aug 2006 | B2 |
7095783 | Sotheran et al. | Aug 2006 | B1 |
7096481 | Forecast et al. | Aug 2006 | B1 |
7113523 | Kubota et al. | Sep 2006 | B1 |
7129962 | Cote et al. | Oct 2006 | B1 |
7185018 | Archbold | Feb 2007 | B2 |
7224730 | Kim et al. | May 2007 | B2 |
7912219 | Toma et al. | May 2007 | B1 |
7236520 | Kim et al. | Jun 2007 | B2 |
7239801 | Himeno et al. | Jul 2007 | B2 |
7243193 | Walmsley | Jul 2007 | B2 |
7317839 | Holcomb | Jan 2008 | B2 |
7376335 | De Haan | May 2008 | B2 |
7397858 | Garrido et al. | Jul 2008 | B2 |
7467297 | Ji et al. | Dec 2008 | B2 |
7480335 | Payson | Jan 2009 | B2 |
7577198 | Holcomb | Aug 2009 | B2 |
7584495 | Hannuksela et al. | Sep 2009 | B2 |
7586924 | Wiegand | Sep 2009 | B2 |
7590180 | Kang | Sep 2009 | B2 |
7599435 | Marpe et al. | Oct 2009 | B2 |
7599438 | Holcomb | Oct 2009 | B2 |
7606308 | Holcomb | Oct 2009 | B2 |
7616692 | Holcomb | Nov 2009 | B2 |
7620106 | Holcomb | Nov 2009 | B2 |
7623574 | Holcomb | Nov 2009 | B2 |
7649937 | Rabenold et al. | Jan 2010 | B2 |
7656410 | Chiu | Feb 2010 | B2 |
7720145 | Muthukrishnan et al. | May 2010 | B2 |
7733910 | Mace et al. | Jun 2010 | B2 |
7733956 | Kalra et al. | Jun 2010 | B1 |
7751324 | Vadakital et al. | Jul 2010 | B2 |
7809059 | Yin et al. | Oct 2010 | B2 |
7809060 | Toma et al. | Oct 2010 | B2 |
7889788 | Toma et al. | Feb 2011 | B2 |
7903743 | Ho | Mar 2011 | B2 |
8102406 | Peleg et al. | Jan 2012 | B2 |
8136140 | Hodge | Mar 2012 | B2 |
8155207 | Rodriguez et al. | Apr 2012 | B2 |
8254446 | Toma et al. | Aug 2012 | B2 |
8259814 | Rodriguez et al. | Sep 2012 | B2 |
8259817 | Rodriguez et al. | Sep 2012 | B2 |
8265154 | Gardner | Sep 2012 | B2 |
8279926 | Rodriguez et al. | Oct 2012 | B2 |
8320465 | Rodriguez et al. | Nov 2012 | B2 |
8326131 | Rodriguez | Dec 2012 | B2 |
8416858 | Rodriguez et al. | Apr 2013 | B2 |
8416859 | Rodriguez | Apr 2013 | B2 |
8681876 | Rodriguez et al. | Mar 2014 | B2 |
8718388 | Rodriguez et al. | May 2014 | B2 |
8761266 | Rodriguez et al. | Jun 2014 | B2 |
20020071485 | Caglar et al. | Jun 2002 | A1 |
20020075402 | Robson et al. | Jun 2002 | A1 |
20020092017 | Klosterman et al. | Jul 2002 | A1 |
20020133819 | Jackson | Sep 2002 | A1 |
20020149591 | Van Der Vleuten et al. | Oct 2002 | A1 |
20020162111 | Shimizu et al. | Oct 2002 | A1 |
20020176025 | Kim | Nov 2002 | A1 |
20020178444 | Trajkovic et al. | Nov 2002 | A1 |
20030012554 | Zeidler et al. | Jan 2003 | A1 |
20030016876 | Chai et al. | Jan 2003 | A1 |
20030043847 | Haddad | Mar 2003 | A1 |
20030067479 | Jung et al. | Apr 2003 | A1 |
20030072555 | Yap et al. | Apr 2003 | A1 |
20030081934 | Kirmuss | May 2003 | A1 |
20030093418 | Archbold | May 2003 | A1 |
20030093800 | Demas et al. | May 2003 | A1 |
20030113098 | Willis | Jun 2003 | A1 |
20030123849 | Nallur | Jul 2003 | A1 |
20030161407 | Murdock et al. | Aug 2003 | A1 |
20030189982 | MacInnis | Oct 2003 | A1 |
20030195977 | Liu et al. | Oct 2003 | A1 |
20040010807 | Urdang et al. | Jan 2004 | A1 |
20040012510 | Chen | Jan 2004 | A1 |
20040028227 | Yu | Feb 2004 | A1 |
20040040035 | Carlucci et al. | Feb 2004 | A1 |
20040078186 | Nair | Apr 2004 | A1 |
20040128578 | Jonnalagadda | Jul 2004 | A1 |
20040133908 | Smith et al. | Jul 2004 | A1 |
20040139462 | Hannuksela et al. | Jul 2004 | A1 |
20040177369 | Akins | Sep 2004 | A1 |
20040179619 | Tian et al. | Sep 2004 | A1 |
20040210925 | Miyazawa et al. | Oct 2004 | A1 |
20040218816 | Hannuksela | Nov 2004 | A1 |
20040230994 | Urdang et al. | Nov 2004 | A1 |
20040257472 | Mpr et al. | Dec 2004 | A1 |
20050002574 | Fukuhara et al. | Jan 2005 | A1 |
20050013249 | Kong et al. | Jan 2005 | A1 |
20050022245 | Nallur et al. | Jan 2005 | A1 |
20050053134 | Holcomb | Mar 2005 | A1 |
20050053140 | Holcomb | Mar 2005 | A1 |
20050053141 | Holcomb | Mar 2005 | A1 |
20050053142 | Holcomb | Mar 2005 | A1 |
20050053143 | Holcomb | Mar 2005 | A1 |
20050053144 | Holcomb | Mar 2005 | A1 |
20050053155 | Holcomb | Mar 2005 | A1 |
20050053295 | Holcomb | Mar 2005 | A1 |
20050058201 | Fernandes | Mar 2005 | A1 |
20050069212 | Bottreau et al. | Mar 2005 | A1 |
20050084166 | Boneh et al. | Apr 2005 | A1 |
20050123056 | Wang | Jun 2005 | A1 |
20050175098 | Narasimhan et al. | Aug 2005 | A1 |
20050190774 | Wiegand | Sep 2005 | A1 |
20050207733 | Gargi | Sep 2005 | A1 |
20050226323 | Secker | Oct 2005 | A1 |
20050226325 | Dei et al. | Oct 2005 | A1 |
20050226327 | Kim | Oct 2005 | A1 |
20050229225 | Klausberger et al. | Oct 2005 | A1 |
20050254498 | Itoh | Nov 2005 | A1 |
20050281329 | Chin | Dec 2005 | A1 |
20060013305 | Sun | Jan 2006 | A1 |
20060036551 | Oliveira et al. | Feb 2006 | A1 |
20060072597 | Hannuksela | Apr 2006 | A1 |
20060083298 | Wang | Apr 2006 | A1 |
20060083311 | Winger | Apr 2006 | A1 |
20060093045 | Anderson et al. | May 2006 | A1 |
20060093315 | Kelly et al. | May 2006 | A1 |
20060109856 | Deshpande | May 2006 | A1 |
20060117357 | Surline | Jun 2006 | A1 |
20060120463 | Wang | Jun 2006 | A1 |
20060126728 | Yu et al. | Jun 2006 | A1 |
20060129914 | Ellis | Jun 2006 | A1 |
20060132822 | Walmsley | Jun 2006 | A1 |
20060133645 | Rhoads et al. | Jun 2006 | A1 |
20060147121 | Maeda et al. | Jul 2006 | A1 |
20060170571 | Martinian et al. | Aug 2006 | A1 |
20060188169 | Tener et al. | Aug 2006 | A1 |
20060222319 | Russ | Oct 2006 | A1 |
20060224763 | Altunbasak et al. | Oct 2006 | A1 |
20060227873 | Toebes et al. | Oct 2006 | A1 |
20060262861 | Kobayashi | Nov 2006 | A1 |
20060277566 | Vince et al. | Dec 2006 | A1 |
20060282319 | Maggio | Dec 2006 | A1 |
20060294171 | Bossen | Dec 2006 | A1 |
20070011447 | Murray et al. | Jan 2007 | A1 |
20070019724 | Tourapis | Jan 2007 | A1 |
20070025688 | Pejhan | Feb 2007 | A1 |
20070030186 | Archbold | Feb 2007 | A1 |
20070030356 | Yea | Feb 2007 | A1 |
20070030818 | Bahnck et al. | Feb 2007 | A1 |
20070031110 | Rijckaert | Feb 2007 | A1 |
20070038921 | Pekonen et al. | Feb 2007 | A1 |
20070053665 | Kato | Mar 2007 | A1 |
20070081586 | Raveendran et al. | Apr 2007 | A1 |
20070091997 | Fogg et al. | Apr 2007 | A1 |
20070106760 | Houh et al. | May 2007 | A1 |
20070109409 | Yea | May 2007 | A1 |
20070112721 | Archbold | May 2007 | A1 |
20070116277 | Ro et al. | May 2007 | A1 |
20070116426 | Toma et al. | May 2007 | A1 |
20070121721 | Kim et al. | May 2007 | A1 |
20070133674 | Garnier et al. | Jun 2007 | A1 |
20070140358 | Schwartz et al. | Jun 2007 | A1 |
20070147686 | Joshi | Jun 2007 | A1 |
20070153679 | Jost et al. | Jul 2007 | A1 |
20070153916 | Demircin et al. | Jul 2007 | A1 |
20070172133 | Kim | Jul 2007 | A1 |
20070183494 | Hannuksela | Aug 2007 | A1 |
20070186240 | Ward et al. | Aug 2007 | A1 |
20070194975 | Jang et al. | Aug 2007 | A1 |
20070223595 | Hannuksela et al. | Sep 2007 | A1 |
20070230460 | Jeong et al. | Oct 2007 | A1 |
20070230496 | Guo et al. | Oct 2007 | A1 |
20070245382 | Doi et al. | Oct 2007 | A1 |
20070253490 | Makino | Nov 2007 | A1 |
20070280350 | Mathew et al. | Dec 2007 | A1 |
20070292107 | Yahata et al. | Dec 2007 | A1 |
20070297460 | Muneishi et al. | Dec 2007 | A1 |
20080022340 | Hannuksela et al. | Jan 2008 | A1 |
20080025399 | Le Leannec et al. | Jan 2008 | A1 |
20080037656 | Hanniksela | Feb 2008 | A1 |
20080037658 | Price et al. | Feb 2008 | A1 |
20080037957 | Nallur et al. | Feb 2008 | A1 |
20080055463 | Lerner | Mar 2008 | A1 |
20080056383 | Ueki et al. | Mar 2008 | A1 |
20080063074 | Gallant et al. | Mar 2008 | A1 |
20080089422 | Karczewicz | Apr 2008 | A1 |
20080115175 | Rodriguez | May 2008 | A1 |
20080115176 | Rodriguez | May 2008 | A1 |
20080117985 | Chen | May 2008 | A1 |
20080127255 | Ress et al. | May 2008 | A1 |
20080131079 | Toma | Jun 2008 | A1 |
20080137728 | Van Der Stok et al. | Jun 2008 | A1 |
20080137742 | Chen | Jun 2008 | A1 |
20080141091 | Kalluri | Jun 2008 | A1 |
20080151101 | Tian et al. | Jun 2008 | A1 |
20080152005 | Oguz et al. | Jun 2008 | A1 |
20080152006 | Chen et al. | Jun 2008 | A1 |
20080163308 | Kim | Jul 2008 | A1 |
20080192817 | Llach et al. | Aug 2008 | A1 |
20080219393 | Toma et al. | Sep 2008 | A1 |
20080225951 | Young | Sep 2008 | A1 |
20080244658 | Chen | Oct 2008 | A1 |
20080247463 | Buttimer | Oct 2008 | A1 |
20080256409 | Oran et al. | Oct 2008 | A1 |
20080260045 | Rodriguez et al. | Oct 2008 | A1 |
20080273596 | Oguz et al. | Nov 2008 | A1 |
20080311869 | Koga et al. | Dec 2008 | A1 |
20080320558 | Imanishi et al. | Dec 2008 | A1 |
20090002379 | Baeza | Jan 2009 | A1 |
20090003439 | Wang et al. | Jan 2009 | A1 |
20090003446 | Wu | Jan 2009 | A1 |
20090003447 | Christoffersen | Jan 2009 | A1 |
20090016203 | Yahata et al. | Jan 2009 | A1 |
20090028247 | Shuh | Jan 2009 | A1 |
20090028447 | Yatabe et al. | Jan 2009 | A1 |
20090034633 | Rodirguez et al. | Feb 2009 | A1 |
20090041130 | Yoon et al. | Feb 2009 | A1 |
20090073928 | Power | Mar 2009 | A1 |
20090086816 | Leontaris et al. | Apr 2009 | A1 |
20090097568 | Karczewicz et al. | Apr 2009 | A1 |
20090100482 | Rodriguez et al. | Apr 2009 | A1 |
20090103635 | Pahalawatta | Apr 2009 | A1 |
20090109342 | Heng et al. | Apr 2009 | A1 |
20090116558 | Chen | May 2009 | A1 |
20090138668 | Blankenship | May 2009 | A1 |
20090141168 | Chen et al. | Jun 2009 | A1 |
20090147859 | McGowan et al. | Jun 2009 | A1 |
20090148056 | Rodriguez et al. | Jun 2009 | A1 |
20090148132 | Rodriguez et al. | Jun 2009 | A1 |
20090154560 | Hong | Jun 2009 | A1 |
20090154563 | Hong | Jun 2009 | A1 |
20090161770 | Dong | Jun 2009 | A1 |
20090180546 | Rodriguez et al. | Jul 2009 | A1 |
20090180547 | Rodriguez et al. | Jul 2009 | A1 |
20090190655 | Shimada | Jul 2009 | A1 |
20090190849 | Huang | Jul 2009 | A1 |
20090196571 | Rodriguez et al. | Aug 2009 | A1 |
20090199231 | Tsuria et al. | Aug 2009 | A1 |
20090201988 | Gazier et al. | Aug 2009 | A1 |
20090207904 | Pandit et al. | Aug 2009 | A1 |
20090210412 | Oliver | Aug 2009 | A1 |
20090214178 | Takahashi | Aug 2009 | A1 |
20090220012 | Rodriguez et al. | Sep 2009 | A1 |
20090226105 | Huang | Sep 2009 | A1 |
20090262804 | Pandit | Oct 2009 | A1 |
20090279608 | Jeon | Nov 2009 | A1 |
20090296811 | Jeon | Dec 2009 | A1 |
20090310934 | Rodriguez | Dec 2009 | A1 |
20090313662 | Rodriguez | Dec 2009 | A1 |
20090313668 | Shepherd | Dec 2009 | A1 |
20090323822 | Rodriguez | Dec 2009 | A1 |
20100003015 | Rodriguez | Jan 2010 | A1 |
20100020870 | Jeon | Jan 2010 | A1 |
20100026882 | Jeon | Feb 2010 | A1 |
20100026883 | Jeon | Feb 2010 | A1 |
20100026884 | Jeon | Feb 2010 | A1 |
20100027417 | Franceschini et al. | Feb 2010 | A1 |
20100027653 | Jeon | Feb 2010 | A1 |
20100027654 | Jeon | Feb 2010 | A1 |
20100027659 | Jeon | Feb 2010 | A1 |
20100027660 | Jeon | Feb 2010 | A1 |
20100027667 | Samuelsson et al. | Feb 2010 | A1 |
20100027682 | Jeon | Feb 2010 | A1 |
20100074340 | Luo et al. | Mar 2010 | A1 |
20100088717 | Candelore et al. | Apr 2010 | A1 |
20100118973 | Rodriguez et al. | May 2010 | A1 |
20100118974 | Rodriguez et al. | May 2010 | A1 |
20100118978 | Rodriguez et al. | May 2010 | A1 |
20100118979 | Rodriguez et al. | May 2010 | A1 |
20100122311 | Rodriguez et al. | May 2010 | A1 |
20100150232 | Nguyen et al. | Jun 2010 | A1 |
20100150234 | Koo et al. | Jun 2010 | A1 |
20100150527 | Sandoval | Jun 2010 | A1 |
20100195721 | Wu et al. | Aug 2010 | A1 |
20100215338 | Rodriguez | Aug 2010 | A1 |
20100218232 | Rodriguez | Aug 2010 | A1 |
20100241753 | Garbajs et al. | Sep 2010 | A1 |
20100292820 | Yahata et al. | Nov 2010 | A1 |
20100293571 | Rodriguez | Nov 2010 | A1 |
20100322302 | Rodriguez | Dec 2010 | A1 |
20110222837 | Walton et al. | Sep 2011 | A1 |
20120263228 | Rodriguez et al. | Oct 2012 | A1 |
20130028314 | Rodriguez et al. | Jan 2013 | A1 |
Number | Date | Country |
---|---|---|
0 812 112 | Dec 1997 | EP |
1 292 138 | Mar 2003 | EP |
1 328 119 | Jul 2003 | EP |
1 480 460 | Nov 2004 | EP |
05-236465 | Sep 1993 | JP |
10-2004-0054708 | Jun 2004 | KR |
WO 0000981 | Jan 2000 | WO |
WO 0062552 | Oct 2000 | WO |
WO 0101702 | Jan 2001 | WO |
0143440 | Jun 2001 | WO |
0163774 | Aug 2001 | WO |
WO 2004102571 | Nov 2004 | WO |
WO 2005106875 | Nov 2005 | WO |
WO 2006083824 | Aug 2006 | WO |
2006101979 | Sep 2006 | WO |
WO 2006114761 | Nov 2006 | WO |
WO 2008063881 | May 2008 | WO |
WO 2009018360 | Feb 2009 | WO |
WO 2009052262 | Apr 2009 | WO |
Entry |
---|
Stuhlmuller, Klaus, et al., “Analysis of Video Transmission over Lossy Channels”; IEEE Journal on Selected Areas in Communication, vol. 18, No. 6, Jun. 2000, pp. 1012-1032. |
PCT Search Report cited in International Appln No. PCT/US2009/064180 mailed Jan. 8, 2010. |
PCT Written Opinion cited in International Appln No. PCT/US2009/064180 mailed Jan. 8, 2010. |
PCT Search Report cited in International Appln No. PCT/US2009/047521 mailed Dec. 22, 2009. |
PCT Written Opinion cited in International Appln No. PCT/US2009/047521 mailed Dec. 22, 2009. |
European Examination dated Sep. 16, 2010 in Application No. 08 796 875.6. |
U.S. Non-Final Office Action in U.S. Appl. No. 11/627,452, dated Nov. 10, 2010. |
U.S. Non-Final Office Action in U.S. Appl. No. 11/831,916 dated Aug. 4, 2010. |
Canadian Office Action dated Dec. 11, 2009 in Application No. 2,533,169. |
U.S. Final Office Action in U.S. Appl. No. 11/627,452, dated Mar. 4, 2011. |
U.S. Non-Final Office Action in U.S. Appl. No. 11/831,916 dated Mar. 31, 2011. |
U.S. Non-Final Office Action in U.S. Appl. No. 12/417,869 dated Apr. 4, 2011. |
U.S. Appl. No. 12/709,851, filed Feb. 22, 2010 entitled “Signalling of Decodable Sub-Sequences”, Inventor: Arturo A. Rodriguez. |
U.S. Appl. No. 12/713,153, filed Feb. 25, 2010 entitled “Signalling of Auxiliary Information that Assists Processing of Video According to Various Formats”, Inventors: Rodriguez et al. |
U.S. Appl. No. 12/722,117, filed Mar. 11, 2010 entitled “Management of Picture Referencing in Video Streams for Plural Playback Modes”, Inventors: Walton et al. |
Hurst et al., “MPEG Splicing Tutorial and Proposed SMPTE Standard”, Proceedings of the SMPTE Technical Conference, Nov. 1997, pp. 105-117. |
International Preliminary Report on Patentability and Written Opinion dated Feb. 2, 2010 cited in International Application No. PCT/US2008/071111. |
U.S. Non-Final Office Action dated Feb. 1, 2010 in U.S. Appl. No. 11/831,916. |
International Search Report and Written Opinion issued in International Application No. PCT/US2007/083867 mailed May 23, 2008. |
MacInnis, A. et al., “NAL for AVC Video with MPEG-2 Systems,” Video Standards and Drafts, pp. 1-11 (Mar. 2002). |
U.S. Appl. No. 12/779,035 filed May 12, 2010 entitled “Signalling Buffer Characteristics for Splicing Operations of Video Streams”, Inventors: Rodriguez et al. |
U.S. Appl. No. 12/417,864, filed Apr. 3, 2009, entitled “System and Method for Authorization of Segment Boundary Notifications.”. |
U.S. Appl. No. 12/492,117, filed Jun. 25, 2009, entitled “Support for Blocking Trick Mode Operations.”. |
U.S. Appl. No. 12/483,925, filed Jun. 12, 2009, entitled “Picture Interdependencies Signals in Context of MMCO to Assist Stream Manipulation.”. |
U.S. Appl. No. 12/417,868, filed Apr. 3, 2009, entitled “Segment Boundary Notification to a Digital Media Receiver.”. |
U.S. Appl. No. 12/417,869 filed Apr. 3, 2009 entitled “System and Method for Processing Segment Boundary Notifications.”. |
ITU-T Telecommunication Standardization Sector of ITU, Infrastructure of Audiovisual Services—Coding of Moving Video, “Advanced Video Coding for Generic Audiovisual Services”, International Telecommunication Union, H.264, May 2003, XP008095420, 282 pages. |
Tian et al., “Sub-Sequence Video Coding for Improved Temporal Scalability”, 4 pages. |
Gruneberg et al., International Organisation for Standardisation Organisation Internationale de Normalisation ISO/IEC JTC1/SC29/WG11 Coding of Moving Pictures and Audio, “Proposal for MPEG-2 Transport Stream Extensions for Scalable Video Coding”, XP030043296, Jul. 2007, 6 pages. |
Amon et al., “File Format for Scalable Video Coding”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 17 No. 9, Sep. 2007, pp. 1174-1185. |
ITU: “Series H: Audiovisual and Multimedia Systems: Infrastructure of Audiovisual Services—Transmission Multiplexing and Synchronization”, Systems ITU-T Recommendation H.222.0, May 2006, http://mirror.itu.int/dms/pay/itu-t/rec/h/T-REC-H.222.0-200605-I PDF E.pdf, XP007905991, pp. 1-76. |
“Splice Points for MPEG-2 Transport Streams”, SMPTE Journal, SMPTE Inc., vol. 107 No. Oct. 1998, XP-000793004, pp. 916-925. |
Rodriguez et al., “SEI message to convey suitable splice points in the bitstream”, JVT Meeting, Document JVT-Z040, Filename JVT-Z040.doc, XP-30007329, Jan. 2008, pp. 1-8. |
Luo et al., “On HRD conformance for splice bitstreams”, JVT Meeting, Document JVT-V055r1, Filename JVT-V055r1.doc, XP-30006863, Jan. 2007, pp. 1-11. |
International Search Report dated Sep. 4, 2009 cited in International Application No. PCT/US2009/047237. |
Written Opinion dated Sep. 4, 2009 cited in International Application No. PCT/US2009/047237. |
International Search Report dated Sep. 4, 2009 cited in International Application No. PCT/US2009/044370. |
Written Opinion dated Sep. 4, 2009 cited in International Application No. PCT/US2009/044370. |
International Search Report and Written Opinion dated Oct. 30, 1998 cited in International Application No. PCT/US2008/071621. |
International Search Report and Written Opinion dated Oct. 18, 2004 cited in International Application No. PCT/US2004/023279. |
International Search Report and Written Opinion dated Apr. 15, 2009 cited in International Application No. PCT/US2008/080128. |
U.S. Non-Final Office Action dated Dec. 28, 2007 in U.S. Appl. No. 10/623,683. |
U.S. Final Office Action dated Jul. 25, 2008 in U.S. Appl. No. 10/623,683. |
U.S. Appl. No. 11/831,912, filed on Jul. 21, 2007, entitled “Simultaneous Processing of Media Streams for Mitigating Impairments”, inventor, Arturo A. Rodriguez. |
U.S. Appl. No. 11/627,452, filed on Jan. 26, 2007, entitled “System and Method for Signaling Characteristics of Pictures' Interdependencies”, inventor, Arturo A. Rodriguez. |
International Search Report and Written Opinion dated Apr. 15, 2010 cited in International Application No. PCT/US2010/024927. |
European Examination dated May 4, 2010 in Application No. 07 844 937.8. |
European Communication dated Aug. 9, 2011 in Application No. 08 838 787.3. |
European Communication dated Dec. 14, 2011 in Application No. 09 751 294.1. |
U.S. Non-Final Office Action in U.S. Appl. No. 12/417,864 dated Apr. 18, 2011. |
U.S. Final Office Action mailed Jul. 5, 2011 in U.S. Appl. No. 12/417,864. |
U.S. Final Office Action mailed Aug. 5, 2011 in U.S. Appl. No. 12/417,869. |
U.S. Non-Final Office Action mailed Sep. 14, 2011 in U.S. Appl. No. 12/124,779. |
U.S. Non-Final Office Action mailed Sep. 22, 2011 in U.S. Appl. No. 11/831,912. |
U.S. Final Office Action mailed Sep. 28, 2011 in U.S. Appl. No. 11/831,916. |
U.S. Non-Final Office Action mailed Nov. 10, 2011 in U.S. Appl. No. 12/483,925. |
U.S. Non-Final Office Action mailed Nov. 23, 2011 in U.S. Appl. No. 12/141,015. |
U.S. Non-Final Office Action mailed Nov. 29, 2011 in U.S. Appl. No. 12/492,117. |
U.S. Non-Final Office Action mailed Nov. 23, 2011 in U.S. Appl. No. 12/141,017. |
U.S. Non-Final Office Action mailed Dec. 21, 2012 in U.S. Appl. No. 12/333,296. |
U.S. Non-Final Office Action mailed Dec. 22, 2011 in U.S. Appl. No. 12/617,043. |
U.S. Non-Final Office Action mailed Dec. 27, 2011 in U.S. Appl. No. 12/417,869. |
U.S. Non-Final Office Action mailed Dec. 27, 2011 in U.S. Appl. No. 12/252,632. |
U.S. Non-Final Office Action mailed Jan. 4, 2012 in U.S. Appl. No. 12/617,062. |
U.S. Non-Final Office Action mailed Jan. 10, 2012 in U.S. Appl. No. 12/333,301. |
European Communication dated Sep. 22, 2011 in Application No. 08796584.4, 9 pages. |
Chinese First Office Action mailed Dec. 31, 2011 in Application No. 200880121233.X, 7 pages. |
Canadian Office Action dated Jun. 6, 2012 in U.S. Appl. No. 2/669,552, 3 pages. |
European Communication dated Jul. 5, 2012 in Application No. 08838787.3, 6 pages. |
Supplementary European Search Report dated Jul. 17, 2012 in Application No. 09826735, 3 pages. |
Supplementary European Search Report dated Jul. 26, 2012 in Application No. 09767598, 7 pages. |
Chinese First Office Action mailed Aug. 31, 2012 in Application No. 200980118689.5, 12 pages. |
Chinese First Office Action mailed Feb. 21, 2013 in Application No. 200980145072.2, 16 pages. |
U.S. Non-Final Office Action mailed Jan. 18, 2012 in U.S. Appl. No. 12/617,015, 31 pages. |
U.S. Final Office Action mailed Jan. 19, 2012 in U.S. Appl. No. 12/124,779, 12 pages. |
U.S. Final Office Action mailed Feb. 17, 2012 in U.S. Appl. No. 11/627,452, 11 pages. |
U.S. Non-Final Office Action mailed Mar. 8, 2012 in U.S. Appl. No. 12/351,776, 31 pages. |
U.S. Final Office Action mailed Mar. 19, 2012 in U.S. Appl. No. 11/831,912, 20 pages. |
U.S. Non-Final Office Action mailed Mar. 26, 2012 in U.S. Appl. No. 12/395,676, 37 pages. |
U.S. Non-Final Office Action mailed Apr. 23, 2012 in U.S. Appl. No. 12/709,851, 29 pages. |
U.S. Non-Final Office Action mailed Apr. 25, 2012 in U.S. Appl. No. 12/141,019, 28 pages. |
U.S. Final Office Action mailed May 11, 2012 in U.S. Appl. No. 12/141,015, 25 pages. |
U.S. Final Office Action mailed May 18, 2012 in U.S. Appl. No. 12/492,117, 17 pages. |
U.S. Non-Final Office Action mailed May 23, 2012 in U.S. Appl. No. 12/616,974, 30 pages. |
U.S. Final Office Action mailed May 23, 2012 in U.S. 12/333,296, 21 pages. |
U.S. Final Office Action mailed May 23, 2012 in U.S. Appl. No. 12/333,301, 18 pages. |
U.S. Final Office Action mailed Jun. 11, 2012 in U.S. Appl. No. 12/141,017, 23 pages. |
U.S. Final Office Action mailed Jun. 4, 2012 in U.S. Appl. No. 12/252,632, 22 pages. |
U.S. Non-Final Office Action mailed Jun. 15, 2012 in U.S. Appl. No. 12/124,779, 12 pages. |
U.S. Non-Final Office Action mailed Jun. 20, 2012 in U.S. Appl. No. 12/722,117, 30 pages. |
U.S. Non-Final Office Action mailed Jun. 25, 2012 in U.S. Appl. No. 12/417,868, 37 pages. |
U.S. Final Office Action mailed Jul. 6, 2012 in U.S. Appl. No. 12/617,043, 26 pages. |
U.S. Non-Final Office Action mailed Jul. 10, 2012 in U.S. Appl. No. 12/417,869, 8 pages. |
U.S. Final Office Action mailed Jul. 16, 2012 in U.S. Appl. No. 12/351,776, 6 pages. |
U.S. Non-Final Office Action mailed Jul. 18, 2012 in U.S. Appl. No. 12/616,991, 25 pages. |
U.S. Non-Final Office Action mailed Aug. 10, 2012 in U.S. Appl. No. 12/483,925, 35 pages. |
U.S. Non-Final Office Action mailed Sep. 13, 2012 in U.S. Appl. No. 12/141,015, 22 pages. |
U.S. Non-Final Office Action mailed Oct. 2, 2012 in U.S. Appl. No. 12/417,864, 17 pages. |
U.S. Non-Final Office Action mailed Oct. 22, 2012 in U.S. Appl. No. 12/779,035, 33 pages. |
U.S. Final Office Action mailed Nov. 23, 2012 in U.S. Appl. No. 12/417,869, 16 pages. |
U.S. Final Office Action mailed Nov. 27, 2012 in U.S. Appl. No. 12/616,991, 34 pages. |
U.S. Final Office Action mailed Dec. 19, 2012 in U.S. Appl. No. 12/722,117, 24 pages. |
U.S. Final Office Action mailed Jan. 4, 2013 in U.S. Appl. No. 12/417,868, 19 pages. |
U.S. Non-Final Office Action mailed Jan. 24, 2013 in U.S. Appl. No. 12/713,153, 41 pages. |
U.S. Non-Final Office Action mailed Feb. 26, 2013 in U.S. Appl. No. 12/617,043, 31 pages. |
U.S. Final Office Action mailed Feb. 26, 2013 in U.S. Appl. No. 12/141,019, 14 pages. |
U.S. Final Office Action mailed Feb. 28, 2013 in U.S. Appl. No. 12/483,925, 37 pages. |
U.S. Final Office Action mailed Mar. 18, 2013 in U.S. Appl. No. 12/141,015, 23 pages. |
U.S. Final Office Action mailed Mar. 18, 2013 in U.S. Appl. No. 12/417,864, 13 pages. |
U.S. Non-Final Office Action mailed Mar. 20, 2013 in U.S. Appl. No. 11/831,912, 17 pages. |
U.S. Non-Final Office Action mailed Apr. 9, 2013 in U.S. Appl. No. 12/492,117, 20 pages. |
U.S. Non-Final Office Action mailed Apr. 9, 2013 in U.S. Appl. No. 11/627,452, 11 pages. |
D.T. Nguyen and J. Ostermann, “Congestion Control using Scalable Video Coding based on H. 264/AVC,” IEEE Journal of Selected Topics in Signal Processing, vol. 1 No. 2, Aug. 2007, 8 pages. |
Digital Video Image Quality and Perceptual Coding edited by H.R. Wu and K.R. Rao, CRC Press 2005, pp. 503-541. |
Author Unknown, SMPTE Standard for Television—Splice Points for MPEG-2 Transport Streams, The Society of Motion Picture and Television Engineers, Copyright 1999, http://www.ietf.org/mail-archive/web/avtext/current/pdf6u0ckuE66s.pdf, accessed May 30, 2012, 20 pages. |
Hannuksela et al., “H.264/AVC Video for Wireless Transmission,” IEEE Wireless Communications, IEEE Service Center, Piscataway, NJ, US, vol. 12, No. 4, Aug. 1, 2005, pp. 6-13. |
Psannis K. et al., “Efficient Flexible Macroblock Ordering Technique,” IEICE Transactions on Communications, Communications Society, Tokyo JP, vol. E19B, No. 8, Aug. 1, 2008, pp. 2692-2701. |
Tom A. S. et al., “Packet Video for Cell Loss Protection Using Deinterleaving and Scrambling,” Speech Processing 1. Toronto, May 14-17, 1991; [International Conference on Acoustics, Speech & Signal Processing. ICASSP], New York, IEEE, US, vol. Conf. 16, Apr. 14, 1991, pp. 2857-2860. |
Schwarz H. et al., “SVC Overview,” 21. JVT Metting; 78. MPEG Meeting; Oct. 20, 2006-Oct. 27, 2006; Hangzhou CN; (Joint Video Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), No. JVT-U145, Oct. 20, 2006, 20 pages. |
Yao Wang et al., “Error Control and Concealment for Video Communication: A Review,” Proceedings of the IEEE, New York, vol. 86, No. 5, May 1, 1998, 24 pages. |
European Communication dated Mar. 22, 2013 in Application No. 09 826 735.4, 7 pages. |
European Communication dated Mar. 22, 2013 in Application No. 09 767 598.7, 5 pages. |
European Communication dated Oct. 15, 2013 in Application No. 09 767 598.7, 6 pages. |
Chinese Second Office Action mailed Oct. 25, 2013 in Application No. 200980145072.2, 4 pages. |
Chinese Office Action mailed Nov. 13, 2013 in Appln No. 200980124140.7, 15 pgs. |
U.S. Final Office Action mailed Apr. 8, 2013 in U.S. Appl. No. 12/779,035, 19 pages. |
U.S. Final Office Action mailed Jun. 6, 2013 in U.S. Appl. No. 12/617,043, 27 pages. |
U.S. Final Office Action mailed Jun. 19, 2013 in U.S. Appl. No. 12/713,153, 19 pages. |
U.S. Non-Final Office Action mailed Jun. 21, 2013 in U.S. Appl. No. 12/483,925, 40 pages. |
U.S. Non-Final Office Action mailed Jul. 3, 2013 in U.S. Appl. No. 13/443,580, 25 pages. |
U.S. Non-Final Office Action mailed Jul. 16, 2013 in U.S. Appl. No. 12/333,296, 32 pages. |
U.S. Non-Final Office Action mailed Jul. 18, 2013 in U.S. Appl. No. 12/417,864, 14 pages. |
U.S. Non-Final Office Action mailed Aug. 7, 2013 in U.S. Appl. No. 12/333,301, 20 pages. |
U.S. Final Office Action mailed Sep. 6, 2013 in U.S. Appl. No. 12/492,117, 27 pages. |
U.S. Non-Final Office Action mailed Sep. 6, 2013 in U.S. Appl. No. 13/633,672, 22 pages. |
U.S. Non-Final Office Action mailed Sep. 11, 2013 in U.S. Appl. No. 12/722,117, 21 pages. |
U.S. Final Office Action mailed Sep. 26, 2013 in U.S. Appl. No. 11/831,912, 25 pages. |
U.S. Non-Final Office Action mailed Oct. 1, 2013 in U.S. Appl. No. 12/616,991, 18 pages. |
U.S. Final Office Action mailed Nov. 12, 2013 in U.S. Appl. No. 11/627,452, 22 pages. |
U.S. Final Office Action mailed Dec. 4, 2013 in U.S. Appl. No. 13/443,580, 9 pages. |
U.S. Non-Final Office Action mailed Dec. 13, 2013 in U.S. Appl. No. 12/141,019, 8 pages. |
U.S. Non-Final Office Action mailed Dec. 24, 2013 in U.S. Appl. No. 12/779,035, 15 pages. |
U.S. Final Office Action mailed Jan. 2, 2014 in U.S. Appl. No. 12/483,925, 47 pages. |
U.S. Final Office Action mailed Jan. 16, 2014 in U.S. Appl. No. 12/333,296, 18 pages. |
U.S. Final Office Action mailed Jan. 27, 2014 in U.S. Appl. No. 12/492,117, 23 pages. |
U.S. Non-Final Office Action mailed Jan. 29, 2014 in U.S. Appl. No. 12/252,632, 22 pages. |
U.S. Final Office Action mailed Jan. 30, 2014 in U.S. Appl. No. 12/722,117, 22 pages. |
U.S. Office Action mailed Feb. 10, 2014 in U.S. Appl. No. 12/713,153, 18 pages. |
U.S. Non-Final Office Action mailed Feb. 13, 2014 in U.S. Appl. No. 13/633,672, 5 pages. |
U.S. Office Action mailed Mar. 21, 2014 in U.S. Appl. No. 11/831,906, 20 pages. |
Zhu et al., “Coding and Cell-Loss Recovery in DCT-Based Packet Video,” IEEE Transactions on Circuits and Systems for Video Technology, Jun. 3, 1993, New York U.S., 11 pages. |
U.S. Appl. No. 14/253,043 filed Apr. 15, 2014, entitled “Methods and Systems for Processing Latticed Time-Skewed Video Streams,” Rodrigeuz et al. |
U.S. Office Action mailed Mar. 28, 2014 in U.S. Appl. No. 12/417,869, 12 pages. |
U.S. Non-Final Office Action mailed May 1, 2014 in U.S. Appl. No. 12/779,035, 21 pages. |
U.S. Office Action mailed Jun. 20, 2014 in U.S. Appl. No. 12/417,868, 41 pgs. |
U.S. Office Action mailed Jun. 20, 2014 in U.S. Appl. No. 13/633,672, 7 pgs. |
Number | Date | Country | |
---|---|---|---|
20090034627 A1 | Feb 2009 | US |